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.com/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.com/api/v2/#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
Integrate with us
Build a public integration with Scoro
You can build your own integration with Scoro and list it in our Marketplace to make it available for all Scoro users.
Why build a public integration?
- Your integration will be listed in Scoro's Marketplace, where it's showcased to Scoro customers and thousands of professional service businesses every month.
- You will get access to your own sandbox for development and testing without any expiration date.
- Scoro will announce the integration to its customers via its own channels to help you promote it.
- Scoro will provide proactive support throughout development and help you manage errors once the integration is live.
How to get started?
To build a public integration with Scoro, follow the steps below:
- Fill in this form to express your interest. We will contact you either by email or phone to validate your request.
- While waiting for our response:
- Create a trial account, which is free for 14 days, via our website. This way, you can already start developing and testing.
- Create an account at developers.scoro.com to register your integration and generate an AppId. The AppId is a requirement for public integrations. It must be used as a HTTP header called "scoro-app-id" in all API calls that the integration is doing against Scoro servers:
scoro-app-id: AppId
If the scoro-app-id is wrong, or the AppId is not registered, a 401 Unauthorized
HTTP error code will be returned.
- Once your integration is ready, let us know by submitting it for review via the developers portal. We'll help you publish it in Scoro's Marketplace. We might ask you to provide additional descriptions or documentation before publication, depending on the complexity of your integration.
Release notes
Here are current changes in API.
Changes in 24.2
Enhancements & New Features
Endpoint |
Description |
Roles with prices
|
Added new endpoint for fetching a list of roles with pricelist prices. Works only when roles are enabled.
|
Changes in 23.12
Enhancements & New Features
Endpoint |
Description |
Quotes
|
Field estimated_duration was added.
|
Changes in 23.11
Enhancements & New Features
Endpoint |
Description |
Invoices
|
Field pay_now_link was added. Used when payment processing platform (like Stripe) has been connected.
|
Projects,
Invoices,
Quotes,
Orders,
Prepayments,
Scheduled Invoices
|
Fields is_role_based and local_price_list_id were added.
|
Local price lists
|
Added new endpoint to modify or view local price lists which are related to a role based document or to a project.
|
Bill lines,
Expense lines,
Invoice lines,
Quote lines,
Order lines,
Prepayment lines,
Purchase order lines,
Scheduled Invoice lines
|
Field finance_account_symbol can now be used in modify requests.
|
Changes in 23.4
Enhancements & New Features
Changes in 22.9
Enhancements & New Features
Endpoint |
Description |
Invoices
|
Fields accounting_period_from and accounting_period_to added to Invoices list and view endpoint.
|
Changes in 22.8
Enhancements & New Features
Endpoint |
Description |
Orders
|
Field currency_rate added to Orders view endpoint.
|
Changes in 22.4
Enhancements & New Features
Endpoint |
Description |
Webhooks
|
Fields were added to webhooks.
|
Tasks
|
Field quote_line_id was added to Tasks endpoint.
|
Changes in 21.9
Enhancements & New Features
Endpoint |
Description |
Projects
|
Project phases were added to project actions.
|
Webhooks
|
Subscribing to purchase orders and expenses changes was added.
|
Changes in 21.8
Enhancements & New Features
Endpoint |
Description |
Custom Fields
|
Default value will be applied to a custom_field object field value in case if no value provided whilst creating the new object.
|
Products
|
Fields amount and amount2 added to Products actions.
|
Webhooks
|
Webhook id was added to webhooks. Subscribe response now includes full webhook object.
|
Webhooks
|
List action was added to webhooks.
|
Contacts,
Projects,
Calendar events,
Tasks,
Invoices,
Prepayments,
Scheduled Invoices,
Quotes,
Orders,
Bills,
Expenses,
Purchase Orders,
Custom modules
|
Manager email was added to contacts and projects. Owner email was added to calendar events, tasks,
invoices, prepayments, scheduled invoices, quotes, orders, bills, expenses, purchase orders and
custom modules.
|
Contacts
|
Contact's manager can be set by manager_email in contacts modify action
|
Webhooks
|
User group support added to webhooks actions.
|
Changes in 21.7
Bugfixes
Endpoint |
Description |
Prepayments
|
Prepayment status is now set correctly if prepayment_percent is not specified.
|
Changes in 21.6
Enhancements & New Features
Endpoint |
Description |
Time entries
|
Field modified_date added to Time entries.
|
Changes in 21.5
Enhancements & New Features
Endpoint |
Description |
Custom modules
|
New endpoint has been added for requesting available custom modules. Site based and user based requests are supported.
|
Custom modules endpoints
|
Owner email field added to custom module entries for view requests.
|
Changes in 21.4
Enhancements & New Features
Endpoint |
Description |
Comments
|
Filters are enabled for comment, parent_id, user_id and modified_date in list request.
|
Comments
|
Field user_id is now mandatory in case of creating new comment with API Key.
|
Purchase Order Lines
|
Field is_settled was added. The parameter shows if specific purchase order line
is settled (finished) or not.
|
Calendar events
|
Inactive users, who are related to the calendar event are displayed in the view response.
|
Webhooks
|
Added support for subscribing to bookmark specific webhooks
|
Finance Accounts
|
Fields is_sales_account and is_purchases_account were added.
In order to update the classification, both fields, is_sales_account and is_purchases_account, need to be included in the request.
|
Bugfixes
Endpoint |
Description |
Calendar events
|
Adding calendar event will return error, if user doesn't have permission to add events for all participants.
|
Changes in 21.3
Enhancements & New Features
Changes in 21.2
Enhancements & New Features
Changes in 21.1
Enhancements & New Features
Changes in 20.6
Enhancements & New Features
Endpoint |
Description |
Products
|
Field no_discounts was added.
|
Bills
|
Field purchase_order_id was added.
|
User groups
|
Removed the modify and delete endpoints.
|
Phases
|
Removed the possible value of phase_milestone from the type field.
|
Invoices
|
Validation rules added for quote_id,
order_id,
prepayment_id and credited_invoices.
Only existing objects can be related.
|
Changes in 20.4
Enhancements & New Features
Endpoint |
Description |
Users
|
Field is_active now is deprecated.
New field status should be used for requiring user's status.
|
Webhooks
|
Endpoint has now domain validation.
|
Tasks
|
Project_id field has validation that it must be an Integer.
|
Time entries
|
Added validation for duration fields. Duration field expected input is (HH:ii:ss).
|
Custom Fields
|
Custom field values that are of type select (checkbox) or
subheading will be returned as integers instead of strings.
|
Custom Module
|
Fields status_name and status added to custom modules.
|
Changes in 20.3
Enhancements & New Features
Endpoint |
Description |
Bookmarks
|
Endpoint was 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.
|
Tasks
|
Field start_datetime was added.
|
Time entries
|
Modification of calendar event's time entries has been limited to invoice_line_id field.
Inactive tax rates are now returned with vatCodes list request.
|
Sent e-mails
|
New API endpoint.
|
Project phases
|
New API endpoint.
|
Client profiles
|
New API endpoint.
|
Calendar events,
Tasks
|
Field project_phase_id was added.
|
Contacts
|
Field related_companies was added.
|
Price list
|
Modify request support was added.
|
Changes in 20.2
Enhancements & New Features
Endpoint |
Description |
Bill lines
|
Field amount2 was removed.
|
Bills
|
Fields recognition_date,
payment_type and
dateofpayment were added.
|
Activities
|
Field product_id was added.
|
Changes in 20.1
Enhancements & New Features
Endpoint |
Description |
Products
|
Fields sales_finance_account_id and
purchases_finance_account_id were added.
|
Bills
|
Field reference_number was added.
|
Orders,
Quotes
|
Field shipment_date was added.
|
Invoices
|
Fields generation_type and scheduled_invoice_id were added.
|
Finance Accounts
|
New API endpoint.
|
PDF Templates
|
New API endpoint. It allows to request all the templates that your site has. Available as a list action.
|
Invoices,
Prepayment invoices,
Quotes,
Purchase orders,
Orders
|
New pdf generation action was added. Generated PDF files are available only for 30 days after the generation.
|
Projects,
Tasks,
Calendar events
|
Field status_name was added to view response.
|
Bills,
Orders,
Prepayments,
Quotes,
Scheduled Invoices,
Purchase orders,
Invoices,
Contacts,
Projects,
Tasks,
Products,
Calendar events
|
Option detailed_response can be used in the API request object
for list request to have the same response as view request would return.
|
Contacts
|
Field means_of_contact can be used as filter option when user_token or apiKey is used.
|
Changes in 19.10
Enhancements & New Features
Endpoint |
Description |
Tasks
|
Added support for specifying task's completion time to setDone action.
|
Changes in 19.9
Enhancements & New Features
Endpoint |
Description |
Invoices,
Prepayment invoices,
Scheduled invoices,
Bills
|
Fields
finance_account_symbol and
finance_account_name were added.
|
Bills,
Prepayment invoices,
Scheduled invoices,
Purchase orders,
Orders
|
Fields
company_name,
person_name,
project_name,
owner_email and
vat_code were added.
|
Bill lines,
Prepayment invoice lines,
Scheduled invoice lines,
Purchase order lines,
Order lines
|
Fields
product_name,
product_code,
finance_object_name,
finance_object_symbol,
project_name,
vat_code were added.
|
Bills,
Prepayment invoices,
Scheduled invoices
|
Field currency_rate was added.
|
Orders,
Prepayment invoices,
Scheduled invoices
|
Field company_address was added.
|
Changes in 19.8
Enhancements & New Features
Changes in 19.5
Enhancements & New Features
Endpoint |
Description |
Products
|
Fields default_type, use_supplier,
default_doer_id and unit were added.
Field buying_price will now change
the buying price in the price list specified with price_list (similarly to
price field).
|
Invoice lines,
Order lines,
Quote lines,
Prepayment lines,
Scheduled invoice lines
|
Fields doer_id and is_internal were added.
|
Contacts
|
Field search_name was added. It will return contact's full name.
|
Receipts
|
Field invoice_no was added.
|
Receipt Groups,
Receipt Accounts
|
Endpoints supports access with user token.
|
Quotes
|
Fields
company_name,
person_name,
company_address,
project_name,
owner_email,
vat_code,
currency_rate and
status_name were added.
|
Quote lines
|
Fields
product_name,
product_code,
finance_account_name,
finance_object_name,
finance_object_symbol,
supplier_name,
project_name and
vat_code were added.
|
Invoices
|
Field prepayment_id was added.
|
Changes in 19.4
Enhancements & New Features
Endpoint |
Description |
Webhooks
|
Fields relation_type, owners and actors were added.
|
Invoices
|
Fields
company_name,
person_name,
company_address,
project_name,
owner_email,
vat_code,
currency_rate,
paid_sum and
receivable_sum were added.
|
Invoice lines
|
Fields
product_name,
product_code,
finance_account_name,
finance_object_name,
finance_object_symbol,
supplier_name,
project_name,
and vat_code were added.
|
Changes in 19.2
Enhancements & New Features
Endpoint |
Description |
Products
|
Fields product_accounts and account_id were added.
|
Changes in 19.1
Enhancements & New Features
Endpoint |
Description |
Time entries
|
Fields event_type, calendar_event_id and
time_entry_type were added.
|
Users
|
Field full_name was added.
|
Changes in 18.10
Enhancements & New Features
Endpoint |
Description |
Custom Fields
|
New API endpoint was added. It allows to request a list of custom fields that your site has.
|
Changes in 18.9
Enhancements & New Features
Changes in 18.8
Enhancements & New Features
Endpoint |
Description |
Bills
|
Field is_chargeable was added.
|
Price lists
|
Field account_id was added.
|
Projects
|
Field project_accounts was added. It will return all company accounts that project is accessible from.
|
Notice
Endpoint |
Description |
All endpoints
|
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).
|
Changes in 18.7
Enhancements & New Features
Endpoint |
Description |
Activities
|
Field parent_name was added.
|
Changes in 18.6
Enhancements & New Features
Endpoint |
Description |
Quotes
|
Field estimated_closing_date was added.
|
Request Limits
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. When detailed_response is used, the
maximum number of results will be
25.
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": {}
}
Rate Limiting
We limit the rate of API requests to ensure reliable and responsive services for all our customers. It helps
to prevent the system from getting overloaded and minimizes the risk of temporary performance issues.
The rate limit window duration is 2 seconds for any authentication method. We’ve also set a daily usage
limit, which always resets at midnight UTC. The limits apply per site/domain and vary based on your chosen
plan as follows:
|
Essential |
Standard |
Pro |
Ultimate |
2 sec limit |
10 |
20 |
40 |
80 |
Daily limit |
50,000 |
100,000 |
500,000 |
1,000,000 |
For example, if your Scoro site examplecompany.scoro.com is subscribed to a Pro plan, you can
send 40 API requests per 2 seconds and 500,000 requests per 24 hours.
HTTP headers and response codes
Every API call will return a message containing the following headers:
Header |
Description |
Example |
x-ratelimit-limit |
The maximum number of requests per domain for every 2 second window |
x-ratelimit-limit: 40 |
x-ratelimit-remaining |
The number of requests left for the 2 second window |
x-ratelimit-remaining: 39 |
x-ratelimit-reset |
The time remaining in seconds before the rate limit is reset |
x-ratelimit-reset: 1 |
x-daily-requests-limit |
The maximum number of requests per domain for the day* |
x-daily-requests-limit: 100000 |
x-daily-requests-remaining |
The number of requests left for the day* |
x-daily-requests-remaining: 99999 |
x-daily-requests-reset |
The time remaining in seconds before the rate limit is reset for the
day*
|
x-daily-requests-reset: 86400 |
* Daily limits reset at midnight UTC
Any request that comes after the limit has been reached is rejected and gets an
HTTP 429 Too many request error code in response.
The response message will look like this:
Response
HTTP/1.1 429 Too many requests
{
"status": "ERROR",
"statusCode": "429",
"messages": {
"error": [
"Too many requests"
]
}
}
What to do when the rate limit is reached and how to avoid it
If you reach the rate limit, consider using Webhooks to decrease the number of requests and/or upgrading your
plan to increase the limit. Alternatively, you could review the architecture of your integration to see if
the same result could be achieved with fewer requests.
In any case, your integration should be ready to handle the HTTP 429 error code and rate limit headers
properly. Here is an example of a possible solution scenario in pseudocode:
let response = await fetch(...);
if (response is OK) {
handleSuccess(...);
} else if (statusCode is 429) {
if (headerValue('x-ratelimit-remaining') is 0) {
delay(1000 * headerValue('x-ratelimit-reset'));
} else if (headerValue('x-daily-requests-remaining') is 0) {
delay(1000 * headerValue('x-daily-requests-reset'));
} else {
handleFailure(...);
}
} else {
handleOtherFailures(...);
}
Additional information
Zapier
Please note that API calls from Zapier are included in the rate limits. This means that Zapier will handle excessive API usage, which can result in your API calls becoming slower. Zapier will wait before retrying the API call. This might affect your workflow. To prevent any issues, we recommend adapting your architecture to reflect the limit of your subscription level. Our API rate limit is implementing a Retry-After functionality.
Webhooks
Webhooks are not subjected to rate limiting, but webhook endpoints are (subscribe, unsubscribe and list) since these are part of the API.
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 business entity’s data is used (formerly known as ‘company accounts’)
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.com/api/v2');
$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.
|
429 |
Too many requests |
The maximum number of requests 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.com/api/v2/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.com/api/v2/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.com/api/v2/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.com/api/v2/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. Please note, that if custom_field has a default value - it will be
applied if no value is provided while creating a new object.
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 |
(UTC) Coordinated Universal Time |
UTC |
(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, Vienna |
Europe/Berlin |
(GMT+01:00) Stockholm |
Europe/Stockholm |
(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_token
Name |
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
modify
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/userAuth/modify
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 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",
"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"
}
]
}
}
}
delete
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/userAuth/delete/(#id)
Description:
Invalidating current users token
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null
}
versionCheck
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/userAuth/versionCheck
Description:
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 returned
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": {
"access": "true"
}
}
verify
Request URL:
https://#companyname#.scoro.com/api/v2/userAuth/verify
Description:
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"
}
]
}
}
}
Business entity
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. |
email |
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
list
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/companyAccount/list
Description:
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. |
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 |
contact_picture |
String |
Contact profile image URL. |
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/contacts/list
Description:
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 key
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
modify
Request URL:
https://#companyname#.scoro.com/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 key
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {
"name": "New Name",
"addresses": [
{
"street": "Reading 13",
"zipcode": "123"
}
],
"means_of_contact": {
"email": [
"[email protected]",
{
"value": "[email protected]",
"is_default": 1
}
]
}
}
}
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.
view
Request URL:
https://#companyname#.scoro.com/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 key
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
delete
Request URL:
https://#companyname#.scoro.com/api/v2/contacts/delete/(#id)
Description:
Delete specific contact with user token. User needs to have permissions to delete the contact
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Description:
Delete specific contact with API key
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
filters
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/contacts/filters
Description:
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 values
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"page": "1",
"per_page": "50",
"request": {
"fields": [
"bookmark_users",
"bookmark_projects"
]
}
}
getRelatedObjects
Version: v2Request URL:
https://#companyname#.scoro.com/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": []
}
}
}
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.com/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.com/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.com/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
list
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/relationTypes/list
Description:
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 |
guests |
Array |
Array of guests linked to calendar event. Not filterable. |
call_link |
String |
Conference call link attached to calendar event. Not filterable. |
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 |
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. |
created_user |
Integer |
User ID of the user who created the event. |
modified_user |
Integer |
User ID of the user who modified the event. |
owner_email |
String |
User email of the user that is responsible for the event. |
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/calendar/list
Description:
Get list of calendar events 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 calendar events with API key.
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
modify
Request URL:
https://#companyname#.scoro.com/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"
}
}
view
Request URL:
https://#companyname#.scoro.com/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": {}
}
delete
Request URL:
https://#companyname#.scoro.com/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": {}
}
filters
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/calendar/filters
Description:
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 values
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"page": "1",
"per_page": "50",
"request": {
"fields": [
"bookmark_users",
"bookmark_projects"
]
}
}
getRelatedObjects
Version: v2Request URL:
https://#companyname#.scoro.com/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": []
}
}
}
check
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/calendar/check
Description:
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.com/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. The parameter is mandatory in case of comment creation with API Key. |
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/comments/list
Description:
Fields "module" and "object_id" are mandatory. Sample list request for module "tasks" with id "123" and filtering by modified date. 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"
},
"filter": {
"modified_date": {
"from_date": "2013-02-01",
"to_date": "2013-02-28"
}
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": [
{
"comment_id": 301,
"parent_id": 0,
"comment": "Example comment",
"user_id": 1,
"modified_date": "2020-12-29T09:48:22+02:00",
"permissions": {
"view": 1,
"modify": 1,
"delete": 1
}
},
{
"comment_id": 302,
"parent_id": 0,
"comment": "Example comment 2",
"user_id": 1,
"modified_date": "2020-12-29T09:48:18+02:00",
"permissions": {
"view": 1,
"modify": 1,
"delete": 1
}
}
]
}
modify
Request URL:
https://#companyname#.scoro.com/api/v2/comments/modify/(#id)
Description:
Modify existing comments or create a new one with user token. Adding "parent_id" parameter will create a response to the existing comment. Sample add/modify the 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": null,
"data": {
"comment_id": 1,
"parent_id": 0,
"comment": "Example",
"user_id": 1,
"modified_date": "2020-12-29T11:16:39+02:00",
"permissions": null,
"custom_fields": null
}
}
Description:
Modify existing comments or create a new one with API key. "user_id" parameter is mandatory. Adding "parent_id" parameter will create a response to the existing comment. Sample add/modify the request for module "tasks" with id "123".
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"module": "tasks",
"object_id": "123",
"user_id": 1,
"comment": "Example"
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"comment_id": 1,
"parent_id": 0,
"comment": "Example",
"user_id": 1,
"modified_date": "2020-12-29T11:16:39+02:00",
"permissions": null,
"custom_fields": null
}
}
delete
Request URL:
https://#companyname#.scoro.com/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. |
quote_line_id |
Integer |
Related quote line ID. |
priority_id |
Integer |
Priority of the task. Possible values: 1 -> high, 2 -> normal, 3 -> low. |
ete_id |
Integer |
Task time entry ID. Value will be filled only when task time entry is fetched 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 |
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. |
created_user |
Integer |
User ID of the user who created the event. |
modified_user |
Integer |
User ID of the user who modified the event. |
owner_email |
String |
User email of the user that is responsible for the event. |
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/tasks/list
Description:
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 key
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
modify
Request URL:
https://#companyname#.scoro.com/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 key
Example 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.
view
Request URL:
https://#companyname#.scoro.com/api/v2/tasks/view/(#id)
Description:
Get specific task object with user token
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Description:
Get specific task object with API key
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
delete
Request URL:
https://#companyname#.scoro.com/api/v2/tasks/delete/(#id)
Description:
Delete specific task with user token
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Description:
Delete specific task with API key
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
filters
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/tasks/filters
Description:
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"
}
}
]
}
sorting
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/tasks/sorting
Description:
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
}
getRelatedObjects
Version: v2Request URL:
https://#companyname#.scoro.com/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": []
}
}
}
setDone
Version: v2Request URL:
https://#companyname#.scoro.com/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.com/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. |
is_locked |
Boolean |
Is the time entry locked or not. The parameter is available only if the "Use time locking" setting is enabled. |
permissions |
Array |
Object user permissions. Used only for user based API |
modified_date |
Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) |
Date and time when the time entry was modified. If a new time entry is added - it will be set to the current time (created_date). |
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
setDone
Version: v2Request URL:
https://#companyname#.scoro.com/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
}
modify
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/timeEntries/modify/(#id)
Description:
Adding new and modifying current time entries. Event ID and user_id (when using apiKey) are 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
}
}
delete
Version: v2Request URL:
https://#companyname#.scoro.com/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
}
list
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/timeEntries/list
Description:
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
}
]
}
view
Version: v2Request URL:
https://#companyname#.scoro.com/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
list
Request URL:
https://#companyname#.scoro.com/api/v2/eventsResources/list
view
Request URL:
https://#companyname#.scoro.com/api/v2/eventsResources/view/(#id)
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. |
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. |
payment_fee |
Decimal (15,2) |
Payment fee. 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. |
accounting_period_from |
Date (YYYY-mm-dd) |
Accounting period start. Only used if "Use accounting period for invoices" is activated. Available in list and view request. |
accounting_period_to |
Date (YYYY-mm-dd) |
Accounting period end. Only used if "Use accounting period for invoices" is activated. Available in list and view request. |
pay_now_link |
String |
URL link from where the invoice can be paid by the invoice receiver. |
is_role_based |
Boolean |
If document is role based or service based. Available if roles are turned on. |
local_price_list_id |
Integer |
Local price list ID. Available for role based documents. |
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(6,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. |
owner_email |
String |
E-mail of 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 business entity. The entity 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
list
Request URL:
https://#companyname#.scoro.com/api/v2/invoices/list
Description:
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"
}
}
modify
Request URL:
https://#companyname#.scoro.com/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"
}
]
}
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/invoices/view/(#id)
Description:
View specific object.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
delete
Request URL:
https://#companyname#.scoro.com/api/v2/invoices/delete/(#id)
Description:
Delete specific object.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
pdf
Request URL:
https://#companyname#.scoro.com/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"
}
}
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/modify 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. |
doer_email |
string |
Email of the user doing the work. |
role_name |
string|null |
Name of the role doing the work. |
id |
Integer |
Document line ID |
product_id |
Integer |
ID of the product. |
comment |
String |
Line comment. For creating a new document, product's default description is used if the "comment" field is not set. |
comment2 |
String |
Second line comment. Only used if "Use additional comments on lines" setting is activated. For creating a new document, product's default secondary description is used if the "comment2" field is not set. |
price |
Decimal (15,4) |
Unit price. If user_token is used then for creating a new document, this user's default price is used if the "price" field is not set. If this user's default price doesn't exist, then site's default price for this product is used. If apiKey is used then for creating a new document, site's default price for this product is used. Price will be zero if "price" = 0. |
amount |
Decimal (15,2) |
Amount. For creating a new document, product's default quantity is used if the "amount" field is not set. Amount will be zero if "amount" = 0. |
amount2 |
Decimal (15,2) |
Additional amount. Only used if "Use additional amount" setting is activated. For creating a new document, product's secondary quantity is used if the "amount2" field is not set. Amount2 will be zero if "amount2" = 0. |
discount |
Float |
Line discount. Only used if "Use line based discount" setting is activated. |
sum |
Decimal (15,2) |
Line sum without VAT. |
vat |
Decimal (6,3) |
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. For creating a new document, product's default VAT for sales is used if the none of the fields "vat", "vat_code" or "vat_code_id" is set. If product doesn't have a default VAT for sales then user's default VAT for sales is used; is not set then site's general default VAT for sales is used. |
unit |
String |
Unit name. For creating a new document, product's default unit is used if the "unit" field is not set. If "unit" = empty string then unit won't be added. |
finance_object_id |
Integer |
ID of the related accounting object. Only used if "Use accounting objects" setting is activated. For creating a new document, product's default accounting object ID is used if the "finance_object_id" field is not set. |
finance_account_id |
Integer |
ID of the related finance account. Only used if "Use finance accounts" setting is activated. For creating a new document, product's default sales account is used if the "finance_account_id" field is not set. |
finance_account_symbol |
String |
Symbol of the related finance account. Only used if "Use finance accounts" setting is activated. Available in view and modify 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. For creating a new document, default supplier is used if the "supplier_id" field is not set; supplier won't be added if "supplier_id" = 0 or "supplier_name" = empty string. |
doer_id |
Integer |
ID of the user doing the work. For creating a new document, default doer is used if the "doer_id" field is not set; doer won't be added if "doer_id" = 0. |
role_id |
Integer|null |
ID of the role doing the work. Role won't be added if "role_id" = 0 or if it is not set. |
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. |
is_role_based |
Boolean |
If document is role based or service based. Available if roles are turned on. |
local_price_list_id |
Integer |
Local price list ID. Available for role based documents. |
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(6,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 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 business entity. The entity 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
list
Request URL:
https://#companyname#.scoro.com/api/v2/invoices/prepayments/list
Description:
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"
}
}
modify
Request URL:
https://#companyname#.scoro.com/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"
}
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/invoices/prepayments/view/(#id)
Description:
View specific object.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
delete
Request URL:
https://#companyname#.scoro.com/api/v2/invoices/prepayments/delete/(#id)
Description:
Delete specific object.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
pdf
Request URL:
https://#companyname#.scoro.com/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"
}
}
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. For creating a new document, product's default description is used if the "comment" field is not set. |
comment2 |
String |
Second line comment. Only used if "Use additional comments on lines" setting is activated. For creating a new document, product's default secondary description is used if the "comment2" field is not set. |
price |
Decimal (15,4) |
Unit price. If user_token is used then for creating a new document, this user's default price is used if the "price" field is not set. If this user's default price doesn't exist, then site's default price for this product is used. If apiKey is used then for creating a new document, site's default price for this product is used. Price will be zero if "price" = 0. |
amount |
Decimal (15,2) |
Amount. For creating a new document, product's default quantity is used if the "amount" field is not set. Amount will be zero if "amount" = 0. |
amount2 |
Decimal (15,2) |
Additional amount. Only used if "Use additional amount" setting is activated. For creating a new document, product's secondary quantity is used if the "amount2" field is not set. Amount2 will be zero if "amount2" = 0. |
discount |
Float |
Line discount. Only used if "Use line based discount" setting is activated. |
sum |
Decimal (15,2) |
Line sum without VAT. |
vat |
Decimal (6,3) |
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. For creating a new document, product's default VAT for sales is used if the none of the fields "vat", "vat_code" or "vat_code_id" is set. If product doesn't have a default VAT for sales then user's default VAT for sales is used; is not set then site's general default VAT for sales is used. |
unit |
String |
Unit name. For creating a new document, product's default unit is used if the "unit" field is not set. If "unit" = empty string then unit won't be added. |
finance_object_id |
Integer |
ID of the related accounting object. Only used if "Use accounting objects" setting is activated. For creating a new document, product's default accounting object ID is used if the "finance_object_id" field is not set. |
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. For creating a new document, product's default sales account is used if the "finance_account_id" field is not set. |
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 and modify 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. For creating a new document, default supplier is used if the "supplier_id" field is not set; supplier won't be added if "supplier_id" = 0 or "supplier_name" = empty string. |
doer_id |
Integer |
ID of the user doing the work. For creating a new document, default doer is used if the "doer_id" field is not set; doer won't be added if "doer_id" = 0. |
role_id |
Integer|null |
ID of the role doing the work. Role won't be added if "role_id" = 0 or if it is not set. |
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 |
is_role_based |
Boolean |
If document is role based or service based. Available if roles are turned on. |
local_price_list_id |
Integer |
Local price list ID. Available for role based documents. |
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(6,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 user that is responsible for the document. |
status |
String |
Status of the document(active, tentative, archived) |
description |
String |
Document description |
account_id |
String |
Related business entity. The entity 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
list
Version: v2
Request URL:
https://#companyname#.scoro.com/api/v2/invoices/scheduledInvoices/listDescription:
Adding detailed_response flag returns all fields available in view request.
modify
Version: v2
Request URL:
https://#companyname#.scoro.com/api/v2/invoices/scheduledInvoices/modify/(#id)
view
Version: v2
Request URL:
https://#companyname#.scoro.com/api/v2/invoices/scheduledInvoices/view/(#id)
delete
Version: v2
Request URL:
https://#companyname#.scoro.com/api/v2/invoices/scheduledInvoices/delete/(#id)
pdf
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. For creating a new document, product's default description is used if the "comment" field is not set. |
comment2 |
String |
Second line comment. Only used if "Use additional comments on lines" setting is activated. For creating a new document, product's default secondary description is used if the "comment2" field is not set. |
price |
Decimal (15,4) |
Unit price. If user_token is used then for creating a new document, this user's default price is used if the "price" field is not set. If this user's default price doesn't exist, then site's default price for this product is used. If apiKey is used then for creating a new document, site's default price for this product is used. Price will be zero if "price" = 0. |
amount |
Decimal (15,2) |
Amount. For creating a new document, product's default quantity is used if the "amount" field is not set. Amount will be zero if "amount" = 0. |
amount2 |
Decimal (15,2) |
Additional amount. Only used if "Use additional amount" setting is activated. For creating a new document, product's secondary quantity is used if the "amount2" field is not set. Amount2 will be zero if "amount2" = 0. |
discount |
Float |
Line discount. Only used if "Use line based discount" setting is activated. |
sum |
Decimal (15,2) |
Line sum without VAT. |
vat |
Decimal (6,3) |
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. For creating a new document, product's default VAT for sales is used if the none of the fields "vat", "vat_code" or "vat_code_id" is set. If product doesn't have a default VAT for sales then user's default VAT for sales is used; is not set then site's general default VAT for sales is used. |
unit |
String |
Unit name. For creating a new document, product's default unit is used if the "unit" field is not set. If "unit" = empty string then unit won't be added. |
finance_object_id |
Integer |
ID of the related accounting object. Only used if "Use accounting objects" setting is activated. For creating a new document, product's default accounting object ID is used if the "finance_object_id" field is not set. |
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. For creating a new document, product's default sales account is used if the "finance_account_id" field is not set. |
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 and modify 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. For creating a new document, default supplier is used if the "supplier_id" field is not set; supplier won't be added if "supplier_id" = 0 or "supplier_name" = empty string. |
doer_id |
Integer |
ID of the user doing the work. For creating a new document, default doer is used if the "doer_id" field is not set; doer won't be added if "doer_id" = 0. |
role_id |
Integer|null |
ID of the role doing the work. Role won't be added if "role_id" = 0 or if it is not set. |
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
Receipts can only be added. Existing receipts can't be modified.
This means the request must not contain id on modify requests.
This API endpoint supports requests authenticated by either
user_token or
apiKey.
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/receipts/list
modify
Request URL:
https://#companyname#.scoro.com/api/v2/receipts/modify
delete
Request URL:
https://#companyname#.scoro.com/api/v2/receipts/delete/(#id)
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
Receipt account information can only be viewed.
This API endpoint supports requests authenticated by either
user_token or
apiKey.
Name |
Type |
Description |
id |
Integer |
Receipt account ID. |
name |
String |
Name of the service provider. |
type |
String |
Type of service provider. |
Available actions are
list
Request URL:
https://#companyname#.scoro.com/api/v2/receiptAccounts/list Request URL
https://#companyname#.scoro.com/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. |
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 |
is_role_based |
Boolean |
If document is role based or service based. Available if roles are turned on. |
local_price_list_id |
Integer |
Local price list ID. Available for role based documents. |
estimated_duration |
Integer |
Estimated duration in months |
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(6,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. |
owner_email |
String |
E-mail of 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 business entity. The entity 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
list
Request URL:
https://#companyname#.scoro.com/api/v2/quotes/list
Description:
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"
}
}
modify
Request URL:
https://#companyname#.scoro.com/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"
}
]
}
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/quotes/view/(#id)
Description:
View specific object.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
delete
Request URL:
https://#companyname#.scoro.com/api/v2/quotes/delete/(#id)
Description:
Delete specific object.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
pdf
Request URL:
https://#companyname#.scoro.com/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"
}
}
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/modify 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. |
doer_email |
string |
Email of the user doing the work. |
role_name |
string|null |
Name of the role doing the work. |
id |
Integer |
Document line ID |
product_id |
Integer |
ID of the product. |
comment |
String |
Line comment. For creating a new document, product's default description is used if the "comment" field is not set. |
comment2 |
String |
Second line comment. Only used if "Use additional comments on lines" setting is activated. For creating a new document, product's default secondary description is used if the "comment2" field is not set. |
price |
Decimal (15,4) |
Unit price. If user_token is used then for creating a new document, this user's default price is used if the "price" field is not set. If this user's default price doesn't exist, then site's default price for this product is used. If apiKey is used then for creating a new document, site's default price for this product is used. Price will be zero if "price" = 0. |
amount |
Decimal (15,2) |
Amount. For creating a new document, product's default quantity is used if the "amount" field is not set. Amount will be zero if "amount" = 0. |
amount2 |
Decimal (15,2) |
Additional amount. Only used if "Use additional amount" setting is activated. For creating a new document, product's secondary quantity is used if the "amount2" field is not set. Amount2 will be zero if "amount2" = 0. |
discount |
Float |
Line discount. Only used if "Use line based discount" setting is activated. |
sum |
Decimal (15,2) |
Line sum without VAT. |
vat |
Decimal (6,3) |
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. For creating a new document, product's default VAT for sales is used if the none of the fields "vat", "vat_code" or "vat_code_id" is set. If product doesn't have a default VAT for sales then user's default VAT for sales is used; is not set then site's general default VAT for sales is used. |
unit |
String |
Unit name. For creating a new document, product's default unit is used if the "unit" field is not set. If "unit" = empty string then unit won't be added. |
finance_object_id |
Integer |
ID of the related accounting object. Only used if "Use accounting objects" setting is activated. For creating a new document, product's default accounting object ID is used if the "finance_object_id" field is not set. |
finance_account_id |
Integer |
ID of the related finance account. Only used if "Use finance accounts" setting is activated. For creating a new document, product's default sales account is used if the "finance_account_id" field is not set. |
finance_account_symbol |
String |
Symbol of the related finance account. Only used if "Use finance accounts" setting is activated. Available in view and modify 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. For creating a new document, default supplier is used if the "supplier_id" field is not set; supplier won't be added if "supplier_id" = 0 or "supplier_name" = empty string. |
doer_id |
Integer |
ID of the user doing the work. For creating a new document, default doer is used if the "doer_id" field is not set; doer won't be added if "doer_id" = 0. |
role_id |
Integer|null |
ID of the role doing the work. Role won't be added if "role_id" = 0 or if it is not set. |
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. |
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. |
shipment_date |
Date (YYYY-mm-dd) |
Order shipment date |
is_role_based |
Boolean |
If document is role based or service based. Available if roles are turned on. |
local_price_list_id |
Integer |
Local price list ID. Available for role based documents. |
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(6,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 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) |
description |
String |
Document description |
account_id |
String |
Related business entity. The entity 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
list
Request URL:
https://#companyname#.scoro.com/api/v2/orders/list
Description:
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"
}
}
modify
Request URL:
https://#companyname#.scoro.com/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"
}
]
}
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/orders/view/(#id)
Description:
View specific object.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
delete
Request URL:
https://#companyname#.scoro.com/api/v2/orders/delete/(#id)
Description:
Delete specific object.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
pdf
Request URL:
https://#companyname#.scoro.com/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"
}
}
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. |
doer_email |
string |
Email of the user doing the work. |
role_name |
string|null |
Name of the role doing the work. |
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. For creating a new document, product's default description is used if the "comment" field is not set. |
comment2 |
String |
Second line comment. Only used if "Use additional comments on lines" setting is activated. For creating a new document, product's default secondary description is used if the "comment2" field is not set. |
price |
Decimal (15,4) |
Unit price. If user_token is used then for creating a new document, this user's default price is used if the "price" field is not set. If this user's default price doesn't exist, then site's default price for this product is used. If apiKey is used then for creating a new document, site's default price for this product is used. Price will be zero if "price" = 0. |
amount |
Decimal (15,2) |
Amount. For creating a new document, product's default quantity is used if the "amount" field is not set. Amount will be zero if "amount" = 0. |
amount2 |
Decimal (15,2) |
Additional amount. Only used if "Use additional amount" setting is activated. For creating a new document, product's secondary quantity is used if the "amount2" field is not set. Amount2 will be zero if "amount2" = 0. |
discount |
Float |
Line discount. Only used if "Use line based discount" setting is activated. |
sum |
Decimal (15,2) |
Line sum without VAT. |
vat |
Decimal (6,3) |
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. For creating a new document, product's default VAT for sales is used if the none of the fields "vat", "vat_code" or "vat_code_id" is set. If product doesn't have a default VAT for sales then user's default VAT for sales is used; is not set then site's general default VAT for sales is used. |
unit |
String |
Unit name. For creating a new document, product's default unit is used if the "unit" field is not set. If "unit" = empty string then unit won't be added. |
finance_object_id |
Integer |
ID of the related accounting object. Only used if "Use accounting objects" setting is activated. For creating a new document, product's default accounting object ID is used if the "finance_object_id" field is not set. |
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. For creating a new document, product's default sales account is used if the "finance_account_id" field is not set. |
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 and modify 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. For creating a new document, default supplier is used if the "supplier_id" field is not set; supplier won't be added if "supplier_id" = 0 or "supplier_name" = empty string. |
doer_id |
Integer |
ID of the user doing the work. For creating a new document, default doer is used if the "doer_id" field is not set; doer won't be added if "doer_id" = 0. |
role_id |
Integer|null |
ID of the role doing the work. Role won't be added if "role_id" = 0 or if it is not set. |
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. |
purchase_order_id |
Integer |
Related purchase order ID. Available in view request and list request. |
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(6,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. |
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 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 business entity. The entity 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
list
Request URL:
https://#companyname#.scoro.com/api/v2/bills/list
Description:
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"
}
}
modify
Request URL:
https://#companyname#.scoro.com/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"
}
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/bills/view/(#id)
Description:
View specific object.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
delete
Request URL:
https://#companyname#.scoro.com/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 |
vat_code_id |
int |
Line tax id. Only used if "Use line based tax rates" setting is activated. For creating a new document, product's default VAT for purchases is used if none of the fields "vat", "vat_code" and "vat_code_id" is set. If product doesn't have a default VAT for purchases then user's default VAT for purchases is used; is not set then site's general default VAT for purchases is used. |
finance_account_id |
int |
ID of the related finance account. Only used if "Use finance accounts" setting is activated. For creating a new document, product's default expense account is used if the "finance_account_id" field is not set. |
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. For creating a new document, product's default description is used if the "comment" field is not set. |
comment2 |
String |
Second line comment. Only used if "Use additional comments on lines" setting is activated. For creating a new document, product's default secondary description is used if the "comment2" field is not set. |
price |
Decimal (15,4) |
Unit price. If user_token is used then for creating a new document, this user's default price is used if the "price" field is not set. If this user's default price doesn't exist, then site's default price for this product is used. If apiKey is used then for creating a new document, site's default price for this product is used. Price will be zero if "price" = 0. |
amount |
Decimal (15,2) |
Amount. For creating a new document, product's default quantity is used if the "amount" field is not set. Amount will be zero if "amount" = 0. |
discount |
Float |
Line discount. Only used if "Use line based discount" setting is activated. |
sum |
Decimal (15,2) |
Line sum without VAT. |
vat |
Decimal (6,3) |
Line tax percent. Only used if "Use line based tax rates" setting is activated. |
unit |
String |
Unit name. For creating a new document, product's default unit is used if the "unit" field is not set. If "unit" = empty string then unit won't be added. |
finance_object_id |
Integer |
ID of the related accounting object. Only used if "Use accounting objects" setting is activated. For creating a new document, product's default accounting object ID is used if the "finance_object_id" field is not set. |
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_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 and modify 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. |
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 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(6,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 business entity. 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. |
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. |
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_email |
String |
E-mail of user that is responsible for the document. |
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/expenses/list
Description:
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"
}
}
modify
Request URL:
https://#companyname#.scoro.com/api/v2/expenses/modify/(#id)
Description:
Modify specific object.
Example request body:
null
view
Request URL:
https://#companyname#.scoro.com/api/v2/expenses/view/(#id)
Description:
View specific object.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
delete
Request URL:
https://#companyname#.scoro.com/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. For creating a new document, product's default description is used if the "description" field is not set. |
additional_description |
String |
Second line description. Only used if "Use secondary product/service description on lines" setting is activated. For creating a new document, product's default secondary description is used if the "additional_description" field is not set. |
quantity |
Decimal (15,2) |
Quantity. For creating a new document, product's default quantity is used if the "quantity" field is not set. Quantity will be zero if "quantity" = 0. |
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 (6,3) |
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. For creating a new document, product's default VAT for purchases is used if none of the fields "tax_percentage", "tax_code" and "tax_code_id" is set. If product doesn't have a default VAT for purchases then user's default VAT for purchases is used; is not set then site's general default VAT for purchases is used. |
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. For creating a new document, product's default accounting object ID is used if the "accounting_object_id" field is not set. |
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. |
finance_account_id |
int |
ID of the related finance account. Only used if "Use finance accounts" setting is activated. For creating a new document, product's default expense account is used if the "finance_account_id" field is not set. |
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. If user_token is used then for creating a new document, this user's default price is used if the "price" field is not set. If this user's default price doesn't exist, then site's default price for this product is used. If apiKey is used then for creating a new document, site's default price for this product is used. Price will be zero if "price" = 0. |
unit |
String |
Unit name. For creating a new document, product's default unit is used if the "unit" field is not set. If "unit" = empty string then unit won't be added. |
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 and modify 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. |
currency_rate |
Decimal(25,15) |
Exchange rate when purchase order is issued. Indicates the purchase order currency against the base currency. For example if the base currency is EUR and purchase order currency is GBP then 1 GBP = X EUR. (X = currency_rate). 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(6,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 user that is responsible for the document. |
date |
Date (YYYY-mm-dd) |
Document date |
status |
String |
Status of the document() |
description |
String |
Document description |
account_id |
String |
Related business entity. The entity 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
list
Request URL:
https://#companyname#.scoro.com/api/v2/purchaseOrders/list
Description:
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"
}
}
modify
Request URL:
https://#companyname#.scoro.com/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"
}
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/purchaseOrders/view/(#id)
Description:
View specific object.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
delete
Request URL:
https://#companyname#.scoro.com/api/v2/purchaseOrders/delete/(#id)
Description:
Delete specific object.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
pdf
Request URL:
https://#companyname#.scoro.com/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 |
vat_code_id |
int |
Line tax id. Only used if "Use line based tax rates" setting is activated. For creating a new document, product's default VAT for purchases is used if none of the fields "vat", "vat_code" and "vat_code_id" is set. If product doesn't have a default VAT for purchases then user's default VAT for purchases is used; is not set then site's general default VAT for purchases is used. |
finance_account_id |
int |
ID of the related finance account. Only used if "Use finance accounts" setting is activated. For creating a new document, product's default expense account is used if the "finance_account_id" field is not set. |
is_settled |
boolean |
If specific Purchase order line is settled (finished) or not. |
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. For creating a new document, product's default description is used if the "comment" field is not set. |
comment2 |
String |
Second line comment. Only used if "Use additional comments on lines" setting is activated. For creating a new document, product's default secondary description is used if the "comment2" field is not set. |
price |
Decimal (15,4) |
Unit price. If user_token is used then for creating a new document, this user's default price is used if the "price" field is not set. If this user's default price doesn't exist, then site's default price for this product is used. If apiKey is used then for creating a new document, site's default price for this product is used. Price will be zero if "price" = 0. |
amount |
Decimal (15,2) |
Amount. For creating a new document, product's default quantity is used if the "amount" field is not set. Amount will be zero if "amount" = 0. |
amount2 |
Decimal (15,2) |
Additional amount. Only used if "Use additional amount" setting is activated. For creating a new document, product's secondary quantity is used if the "amount2" field is not set. Amount2 will be zero if "amount2" = 0. |
discount |
Float |
Line discount. Only used if "Use line based discount" setting is activated. |
sum |
Decimal (15,2) |
Line sum without VAT. |
vat |
Decimal (6,3) |
Line tax percent. Only used if "Use line based tax rates" setting is activated. |
unit |
String |
Unit name. For creating a new document, product's default unit is used if the "unit" field is not set. If "unit" = empty string then unit won't be added. |
finance_object_id |
Integer |
ID of the related accounting object. Only used if "Use accounting objects" setting is activated. For creating a new document, product's default accounting object ID is used if the "finance_object_id" field is not set. |
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_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 and modify 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. |
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. |
amount |
Decimal (15,4) |
Product quantity. |
amount2 |
Decimal (15,4) |
Product secondary quantity. |
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. |
default_role_id |
Integer|null |
Product default role id. This field expects Scoro role ID. Default value is null. |
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. |
no_discounts |
Boolean |
Not applicable to overall discounts. If no_discounts = 1, the overall discount on the sales document is not taken into account when calculating the selling price for this product/service. |
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. |
created_date |
Datetime (YYYY-mm-dd HH:ii:ss) |
The date when product was created. |
modified_date |
Datetime (YYYY-mm-dd HH:ii:ss) |
The date when product was last modified. |
account_id |
String |
Related business entity. |
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
list
Description:
Adding detailed_response flag returns all fields available in view request.
modify
Request URL:
https://#companyname#.scoro.com/api/v2/products/modify/(#id)
Example request body:
{
"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"
}
}
}
Example request body:
{
"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"
}
}
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/products/view/(#id)
Example request body:
{
"apiKey": "API_hash",
"lang": "est",
"company_account_id": "tutorial",
"request": {
"price_list": 2
}
}
Example response 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",
"no_discounts": 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"
}
}
delete
Request URL:
https://#companyname#.scoro.com/api/v2/products/delete/(#id)
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/productGroups/list
modify
Request URL:
https://#companyname#.scoro.com/api/v2/productGroups/modify/(#id)
view
Request URL:
https://#companyname#.scoro.com/api/v2/productGroups/view/(#id)
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 business entity. |
Available actions are
list
Request URL:
https://#companyname#.scoro.com/api/v2/priceLists/list
modify
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/priceLists/modify/(#id)
Description:
Sample price list add or modify request
Example 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": {}
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/priceLists/view/(#id)
Local price lists
This API endpoint supports requests authenticated by either
user_token or
apiKey.
Name |
Type |
Description |
id |
Integer |
Local price list primary ID. |
price_list_id |
Integer |
Related price list ID. |
name |
String |
Local price list name. |
currency |
String |
Local price list currency. |
role_prices |
Array |
Role prices. Format [{"role_id": 1, "selling_price":100}]. |
modified_date |
Datetime (YYYY-mm-dd HH:ii:ss) |
The date and time when local price list was last modified. |
modified_user |
Integer |
Local price list modifier User ID. |
created_date |
Datetime (YYYY-mm-dd HH:ii:ss) |
The date and time when local price list was created. |
created_user |
Integer |
Local price list creator User ID. |
Available actions are
modify
Request URL:
https://#companyname#.scoro.com/api/v2/localPriceLists/modify/(#id)
Description:
Modify specific local price list. Cannot add new local price lists. You can only modify role_prices field.
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"id": 1,
"role_prices": [
{
"role_id": 1,
"selling_price": 100
}
]
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": {},
"data": {
"id": 1,
"role_prices": [
{
"role_id": 1,
"selling_price": 100
}
]
}
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/localPriceLists/view/(#id)
Description:
View specific local price list
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": {},
"data": {
"id": 1,
"role_prices": [
{
"role_id": 1,
"selling_price": 100
}
]
}
}
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/depot/list
view
Request URL:
https://#companyname#.scoro.com/api/v2/depot/view/(#id)
Projects
This API endpoint supports requests authenticated by either
user_token or
apiKey.
Name |
Type |
Description |
project_id |
Integer |
Project ID |
no |
Integer |
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. |
date |
Date (YYYY-mm-dd) |
Project start date. |
deadline |
Date (YYYY-mm-dd) |
Project deadline. |
duration |
Time (HH:ii:ss) |
Project estimated duration. |
phases |
array |
Project phases. Phases will be only filled for view requests. |
account_id |
String |
Related account that created the project. |
budget_type |
String |
Project budget type. Possible values: quote, simple, advanced. Used only for list and view requests. |
modified_date |
Datetime (YYYY-mm-dd HH:ii:ss) |
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_customer_portal_users |
Array |
Project related customer portal users. It is used only for 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. |
is_role_based |
Boolean |
If project is role based or service based. Available if roles are turned on. |
local_price_list_id |
Integer |
Local price list ID. Available for role based projects. |
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/projects/list
Description:
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 key
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
modify
Request URL:
https://#companyname#.scoro.com/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-01",
"duration": "00:10:00",
"phases": [
{
"id": 25,
"type": "phase",
"title": "Phase 1",
"start_date": "2019-11-01",
"end_date": "2019-11-10"
}
],
"project_accounts": [
{
"id": "company_account_1"
},
{
"id": "company_account_2"
}
]
}
}
Description:
Modify specific object or create a new one with API key
Example 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-01",
"duration": "00:10:00",
"phases": [
{
"id": 25,
"type": "phase",
"title": "Phase 1",
"start_date": "2019-11-01",
"end_date": "2019-11-10"
}
],
"project_accounts": [
{
"id": "company_account_1"
},
{
"id": "company_account_2"
}
]
}
}
view
Request URL:
https://#companyname#.scoro.com/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 key
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
delete
Request URL:
https://#companyname#.scoro.com/api/v2/projects/delete/(#id)
Description:
Delete specific object with user token. User needs to have permissions to delete the object
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
Description:
Delete specific contact with API key
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
filters
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/projects/filters
Description:
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 values
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"page": "1",
"per_page": "50",
"request": {
"fields": [
"bookmark_users",
"bookmark_projects"
]
}
}
getRelatedObjects
Version: v2Request URL:
https://#companyname#.scoro.com/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": []
}
}
}
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" and "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
list
Request URL:
https://#companyname#.scoro.com/api/v2/projectPhases/list
Description:
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/activities/list
Description:
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
list
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/addresses/list
Description:
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, zipcode
Example 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
list
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/bookmarks/list
Description:
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
list
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/categories/list
Description:
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
list
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/search/list
Description:
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/files/list
modify
Request URL:
https://#companyname#.scoro.com/api/v2/files/modify/(#id)
Description:
File uploading format is described in the following
File Upload section.
view
Request URL:
https://#companyname#.scoro.com/api/v2/files/view/(#id)
delete
Request URL:
https://#companyname#.scoro.com/api/v2/files/delete/(#id)
download
Request URL:
https://#companyname#.scoro.com/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": {}
}
addRelation
Request URL:
https://#companyname#.scoro.com/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"
}
}
}
removeRelation
Request URL:
https://#companyname#.scoro.com/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.com/api/v2/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.com/api/v2/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
list
Request URL:
https://#companyname#.scoro.com/api/v2/notifications/list
Description:
Get a list of notifications.
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {}
}
modify
Request URL:
https://#companyname#.scoro.com/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 id
Example 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 |
String |
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
list
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/statuses/list
Description:
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
list
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/tags/list
Description:
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 |
id |
Integer |
Webhook ID |
module |
String |
Module name (calendar, tasks, projects, companies, persons, invoices, prepayments, bills, expenses, purchaseOrders, orders, quotes). |
fields |
Array |
Module fields. Potential values: (events) address, start_datetime, end_datetime, cal_user, resources, description, duration_planned, guests, is_accepted, custom_fields | (tasks) related_users, duration_actual, start_datetime, datetime_due, status, description, duration_planned, priority_id, is_confirmed, custom_fields | (project) description, status, manager_id, deadline, duration, tags, project_users, custom_fields | (company) name, bankaccount, manager_id, address, means_of_contact, tags, cat_id, description, custom_fields | (person) search_name, bankaccount, position, manager_id, address, means_of_contact, tags, cat_id, description, custom_fields | (invoice) deadline, status, is_sent, is_approved, custom_fields | (prepayment) deadline, status, is_sent, is_approved, custom_fields | (bill) deadline, status, custom_fields | (order) shipment_date, deadline, status, is_sent, custom_fields | (quote) confirmed_date, estimated_closing_date, shipment_date, deadline, status, is_sent, custom_fields |
action |
String |
Action type (any, create, modify, delete). |
status |
Boolean |
Webhook status. |
relation_type |
String |
Relation type. Potential values: (calendar) created_by, participated_by, bookmark | (tasks) created_by, assigned_to, responsible_user, bookmark | (projects) created_by, managed_by, with_member, bookmark | (companies, persons, invoices, prepayments, bills, orders, quotes, purchaseOrders, expenses) owned_by, bookmark |
owners |
Array |
Potential values: user_id, any, me. For user groups use "group_" prefix - group_(#id). Default is any user. |
actors |
Array |
Potential values: user_id, any, me. For user groups use "group_" prefix - group_(#id). Default is any user. |
bookmark_id |
Integer |
ID of the bookmark. Can be submitted only when relation_type is "bookmark". |
url |
String |
URL where the webhook should POST the affected entity. |
Available actions are
subscribe
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/webhooks/subscribe
Description:
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",
"id": 10,
"url": "https:\/\/example.com\/test",
"relation_type": "assigned_to",
"owners": [
1,
2,
3
],
"actors": [
"me"
],
"fields": [
"related_users",
"status"
]
}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": {
"id": 10,
"module": "tasks",
"action": "create",
"status": "active",
"url": "https:\/\/example.com\/test",
"relation_type": "assigned_to",
"owners": [
1,
2,
3
],
"actors": [
"me"
],
"fields": [
"related_users",
"status"
]
}
}
list
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/webhooks/list
Description:
Get a list of subscribed webhooks.
Example request body:
{
"user_token": "USER_API_token",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null,
"data": [
{
"id": 10,
"module": "tasks",
"action": "create",
"is_active": 1,
"url": "https:\/\/example.com\/test",
"relation_type": "assigned_to",
"owners": [
1,
2,
3
],
"actors": [
"me"
],
"fields": [
"related_users",
"status"
]
}
]
}
unsubscribe
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/webhooks/unsubscribe/(#id)
Description:
Provide the ID of the webhook to be unsubscribed.
Example request body:
{
"user_token": "USER_API_token",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null
}
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. |
email |
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 or customer portal. Default 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
list
Request URL:
https://#companyname#.scoro.com/api/v2/users/list
Description:
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"
}
]
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/users/view/(#id)
Description:
Getting users object by ID with user token
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": "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 key
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": "TT",
"email": "test[at]scoro.com",
"is_active": 1,
"status": "active",
"birthday": "1970-01-01",
"category": "admin",
"position": "Manager"
}
}
settings
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/users/settings/(#id)
Description:
Getting currently logged in users settings with its company accounts
Example 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"
}
]
}
}
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
list
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/userGroups/list
Description:
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
}
]
}
view
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/userGroups/view/(#id)
Description:
Getting user groups object by ID
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
}
}
User roles
This API endpoint supports requests authenticated by either
user_token or
apiKey.
Name |
Type |
Description |
role_id |
Integer |
User role ID |
role_name |
String |
User role name |
role_users |
Array |
User role users |
Available actions are
list
Request URL:
https://#companyname#.scoro.com/api/v2/userRoles/list
Description:
Get list of permission sets
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"role_id": 36,
"role_name": "Service team"
},
{
"role_id": 29,
"role_name": "Customer support"
}
]
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/userRoles/view/(#id)
Description:
View one permission set's data including all users in this permission set
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"role_id": 27,
"role_name": "Office administration",
"role_users": [
{
"id": 2,
"email": "test[at]scoro.com"
},
{
"id": 5,
"email": "test2[at]scoro.com"
}
]
}
]
}
Labor cost
This API endpoint supports requests authenticated by either
user_token or
apiKey.
Name |
Type |
Description |
user_id |
Integer |
Related user's id. User_id = 0 is used for site's default labor cost. |
date |
Date (YYYY-mm-dd) |
Date from which labor cost is active. |
hour_cost |
Decimal (15,2) |
User's hourly labor cost rate in base currency. |
labor_cost |
Array |
User labor costs |
Available actions are
list
Request URL:
https://#companyname#.scoro.com/api/v2/usersLaborCost/list
Description:
Get list of users labor costs.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"user_id": 7,
"labor_cost": [
{
"date": "2020-08-05",
"hour_cost": 210
},
{
"date": "2020-01-05",
"hour_cost": 180
}
]
},
{
"user_id": 5,
"labor_cost": [
{
"date": "2020-08-05",
"hour_cost": 210
},
{
"date": "2020-01-05",
"hour_cost": 180
}
]
}
]
}
modify
Request URL:
https://#companyname#.scoro.com/api/v2/usersLaborCost/modify/(#id)
Description:
To add or update labor cost for one user. The user id is required in the request URL.
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"user_token": "e238865f83e2b04c09c5c8b39696d37c",
"request": {
"labor_cost": [
{
"date": "2020-08-05",
"hour_cost": 210
},
{
"date": "2020-01-05",
"hour_cost": 180
}
]
}
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/usersLaborCost/view/(#id)
Description:
View one user's all available labor costs.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"user_id": 7,
"labor_cost": [
{
"date": "2020-08-05",
"hour_cost": 210
},
{
"date": "2020-01-05",
"hour_cost": 180
}
]
}
]
}
delete
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 (6,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
list
Request URL:
https://#companyname#.scoro.com/api/v2/vatCodes/list
modify
Request URL:
https://#companyname#.scoro.com/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 key
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {
"event_name": "New Name"
}
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/vatCodes/view/(#id)
delete
Request URL:
https://#companyname#.scoro.com/api/v2/vatCodes/delete/(#id)
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/financeObjects/list
view
Request URL:
https://#companyname#.scoro.com/api/v2/financeObjects/view/(#id)
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. |
is_sales_account |
Boolean |
Determine finance account sales classification. |
is_purchases_account |
Boolean |
Determine finance account expenses classification. |
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/financeAccounts/list
Description:
List all objects.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
modify
Request URL:
https://#companyname#.scoro.com/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 key
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {
"account_symbol": "222111",
"name": "Test2",
"parent_id": 6,
"is_active": "1"
}
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/financeAccounts/view/(#id)
Description:
View specific object.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
delete
Request URL:
https://#companyname#.scoro.com/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.com/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
list
Request URL:
https://#companyname#.scoro.com/api/v2/sendLog/list
Description:
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/clientProfiles/list
Description:
Getting list of client profiles.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial"
}
modify
Request URL:
https://#companyname#.scoro.com/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
}
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/clientProfiles/view/(#id)
Description:
View client profile.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial"
}
delete
Request URL:
https://#companyname#.scoro.com/api/v2/clientProfiles/delete/(#id)
Description:
Delete client profile.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial"
}
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/customFields/list
Description:
Get list of custom fields
Example 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"
}
]
}
]
}
Custom modules
This API endpoint supports requests authenticated by either
user_token or
apiKey.
Name |
Type |
Description |
id |
Integer |
Module ID |
title |
String |
Module title |
path |
String |
Module path |
full_path |
String |
Module full path |
parent_module_id |
Integer |
Parent module ID |
primary_custom_field_name |
String |
Primary custom field name |
modified_date |
Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) |
The date when resource was last modified. |
modified_user |
Integer |
Custom module modifier User ID. |
created_date |
Datetime (DATE_ISO8601 - Y-m-d\TH:i:sP) |
The date when contact was created. |
created_user |
Integer |
Custom module creator User ID. |
use_permissions |
Boolean |
If the custom module uses permissions. |
use_statuses |
Boolean |
If the custom module uses statuses. |
use_board_view |
Boolean |
If the custom module uses board view. |
Available actions are
list
Version: v2Request URL:
https://#companyname#.scoro.com/api/v2/customModules/list
Description:
Getting list of customModules.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial"
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"id": "-1",
"title": "Zapier Module",
"path": "zapiermodule",
"full_path": "settings\/zapiermodule",
"parent_module_id": "1",
"primary_custom_field_name": "c_entry_name",
"modified_date": "2021-04-15 10:34:36",
"modified_user": "2",
"created_date": "2021-04-15 10:31:40",
"created_user": "1",
"use_permissions": "1",
"use_statuses": "0",
"use_board_view": "0"
},
{
"id": "-2",
"title": "Custom Module",
"path": "custommodule",
"full_path": "custommodule",
"parent_module_id": "0",
"primary_custom_field_name": "c_entry_name",
"modified_date": "2021-04-15 10:34:36",
"modified_user": "2",
"created_date": "2021-04-15 10:31:40",
"created_user": "1",
"use_permissions": "1",
"use_statuses": "0",
"use_board_view": "0"
}
]
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/customModules/view/(#id)
Description:
View customModule.
Example request body:
{
"apiKey": "API_hash",
"lang": "eng",
"company_account_id": "tutorial"
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": {
"id": "-1",
"title": "Zapier Module",
"path": "zapiermodule",
"full_path": "settings\/zapiermodule",
"parent_module_id": "1",
"primary_custom_field_name": "c_entry_name",
"modified_date": "2021-04-15 10:34:36",
"modified_user": "2",
"created_date": "2021-04-15 10:31:40",
"created_user": "1",
"use_permissions": "1",
"use_statuses": "0",
"use_board_view": "0"
}
}
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
list
Request URL:
https://#companyname#.scoro.com/api/v2/pdfTemplates/list
Description:
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"
}
]
}
Triggers and actions
This API endpoint supports requests authenticated by either
user_token or
apiKey.
Name |
Type |
Description |
id |
Integer |
Trigger ID. |
module |
String |
Trigger module. |
name |
String |
Trigger name. |
status |
String |
Trigger status. Possible values: active, inactive, suspended. |
is_shared |
Boolean |
Is trigger shared. |
bookmark_id |
Integer |
Bookmark id which trigger is using for filtering. |
user_id |
Integer |
User ID who owns the trigger. |
filter_data |
array |
Trigger filter data. |
activities |
array |
Activities for which trigger acts. Possible values are modify, delete, create. Trigger can have multiple activities. Empty on list requests. |
actions |
array |
Actions which will be run after object matches specific trigger. Trigger can have multiple actions. Empty on list requests. |
Available actions are
list
Request URL:
https://#companyname#.scoro.com/api/v2/triggers/list
Description:
Get a list of your triggers.
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"id": 3,
"module": "test",
"is_active": 1,
"is_shared": 0,
"bookmark_id": 0,
"user_id": 0,
"filter_data": "",
"activities": [
{
"id": "3",
"trigger_id": "3",
"activity": "modify"
}
],
"actions": [
{
"id": "3",
"trigger_id": "3",
"type": "WebHook",
"action_data": "{\"urlToPost\":\"https:\\\/\\\/test.com\"}"
}
]
}
]
}
modify
Request URL:
https://#companyname#.scoro.com/api/v2/triggers/modify/(#id)
Description:
Adding a new and modifying current triggers.
Example request body:
{
"apiKey": "test",
"lang": "eng",
"company_account_id": "tutorial",
"request": {
"module": "test",
"filter_data": [],
"actions": [
{
"type": "WebHook",
"action_data": {
"urlToPost": "https:\/\/test.com"
}
}
],
"activities": [
{
"activity": "modify"
}
]
}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": {
"id": 3,
"module": "test",
"is_active": 1,
"is_shared": 0,
"bookmark_id": 0,
"user_id": 0,
"filter_data": "",
"activities": [
{
"id": "3",
"trigger_id": "3",
"activity": "modify"
}
],
"actions": [
{
"id": "3",
"trigger_id": "3",
"type": "WebHook",
"action_data": "{\"urlToPost\":\"https:\\\/\\\/test.com\"}"
}
]
}
}
view
Request URL:
https://#companyname#.scoro.com/api/v2/triggers/view/(#id)
Description:
View a trigger.
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": {
"id": 3,
"module": "test",
"is_active": 1,
"is_shared": 0,
"bookmark_id": 0,
"user_id": 0,
"filter_data": "",
"activities": [
{
"id": "3",
"trigger_id": "3",
"activity": "modify"
}
],
"actions": [
{
"id": "3",
"trigger_id": "3",
"type": "WebHook",
"action_data": "{\"urlToPost\":\"https:\\\/\\\/test.com\"}"
}
]
}
}
delete
Request URL:
https://#companyname#.scoro.com/api/v2/triggers/delete/(#id)
Description:
Deleting a trigger.
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": "200",
"messages": null
}
Trigger filter data
Sample filter data
{
"filters": {
"logical_operator": "AND",
"blocks": [
{
"logical_operator": "OR",
"rules": [
{
"field_type": "trigger_statuses",
"field_condition": "is",
"values": [
"testStatus",
"testStatus2"
]
}
]
}
]
},
"activities": {
"logical_operator": "AND",
"blocks": [
{
"logical_operator": "AND",
"rules": [
{
"field_type": "trigger_statuses",
"field_condition": "is_modified"
},
{
"field_type": "trigger_companies",
"field_condition": "is_modified_to",
"field_modified_to_condition": "is",
"values": [
55,
66,
77
]
}
]
}
]
},
"activity_doers": {
"group_values": [
"testUserGroup",
"mainUserGroup"
],
"values": [
5,
6
]
}
}
Module: tasks
Field name |
Filter conditions |
Activity conditions |
trigger_activity_types |
is |
is_modified, is_modified_to |
trigger_assignees |
is, is_not |
is_modified, is_modified_to, is_modified_from |
trigger_billable_hours |
is, greater_than, smaller_than |
- |
trigger_comment |
- |
is_added, is_modified, is_deleted |
trigger_companies |
is |
is_modified, is_modified_to |
trigger_completed_datetime |
is, greater_than, smaller_than |
- |
trigger_confirmed |
is |
is_modified |
trigger_contacts |
is, is_not |
- |
trigger_countries |
is |
- |
trigger_created_date |
is, between, smaller_than, greater_than |
- |
trigger_creators |
is, is_not |
- |
trigger_deadline |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_description |
is, is_not, contains |
is_modified |
trigger_done_state |
is |
is_modified, is_modified_to |
trigger_duration_actual |
is, greater_than, smaller_than |
is_modified |
trigger_duration_planned |
is, greater_than, smaller_than |
is_modified |
trigger_file |
- |
is_added, is_modified, is_deleted |
trigger_objects |
is |
- |
trigger_persons |
is |
- |
trigger_priorities |
is |
is_modified, is_modified_to, is_modified_from |
trigger_project_phases |
is |
is_modified, is_modified_to |
trigger_project_tags |
is, is_not |
- |
trigger_projects |
is, is_not |
is_modified, is_modified_to |
trigger_responsible_users |
is, is_not |
is_modified, is_modified_to, is_modified_from |
trigger_scheduled_date |
between, smaller_than, greater_than |
- |
trigger_start_datetime |
is, greater_than, smaller_than |
is_modified |
trigger_statuses |
is |
is_modified, is_modified_to, is_modified_from |
trigger_subject |
is, is_not, contains |
- |
trigger_users |
- |
is_modified |
Module: calendar
Field name |
Filter conditions |
Activity conditions |
trigger_accepted |
- |
is_modified |
trigger_activity_types |
is |
is_modified, is_modified_to |
trigger_address |
is, contains |
is_modified |
trigger_billable_hours |
is, greater_than, smaller_than |
- |
trigger_comment |
- |
is_added, is_modified, is_deleted |
trigger_companies |
is |
is_modified, is_modified_to |
trigger_confirmed |
is |
is_modified |
trigger_contacts |
is, is_not |
- |
trigger_created_date |
is, between, smaller_than, greater_than |
- |
trigger_creators |
is, is_not |
- |
trigger_description |
is, is_not, contains |
is_modified |
trigger_duration_planned |
is, greater_than, smaller_than |
is_modified |
trigger_end_datetime |
is, greater_than, smaller_than |
is_modified |
trigger_file |
- |
is_added, is_modified, is_deleted |
trigger_guests |
- |
is_modified |
trigger_objects |
is |
- |
trigger_participants |
is, is_not |
is_modified, is_modified_to, is_modified_from |
trigger_persons |
is |
- |
trigger_project_phases |
is |
is_modified, is_modified_to |
trigger_projects |
is, is_not |
is_modified, is_modified_to |
trigger_resources |
is |
is_modified, is_modified_to |
trigger_start_datetime |
is, greater_than, smaller_than |
is_modified |
trigger_statuses |
is |
is_modified, is_modified_to, is_modified_from |
trigger_subject |
is, is_not, contains |
- |
trigger_users |
- |
is_modified |
Module: projects
Field name |
Filter conditions |
Activity conditions |
trigger_activity_exists |
is, between, smaller_than, greater_than |
- |
trigger_activity_missing |
is, between, smaller_than, greater_than |
- |
trigger_clients |
is, is_not |
is_modified, is_modified_to |
trigger_comment |
- |
is_added, is_modified, is_deleted |
trigger_completed_date |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_created_date |
is, between, smaller_than, greater_than |
- |
trigger_creators |
is, is_not |
- |
trigger_deadline |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_description |
is, contains |
is_modified |
trigger_duration |
is, greater_than, smaller_than |
is_modified |
trigger_is_private |
is |
- |
trigger_manager |
is, is_not |
is_modified, is_modified_to, is_modified_from |
trigger_modified_date |
is, between, smaller_than, greater_than |
- |
trigger_objects |
is, is_not |
- |
trigger_project_name |
is, contains |
- |
trigger_project_number |
is |
- |
trigger_project_tags |
is, is_not |
is_modified, is_modified_to |
trigger_start_date |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_statuses |
is, is_not |
is_modified, is_modified_to, is_modified_from |
trigger_users |
is, is_not |
is_modified, is_modified_to, is_modified_from, is_added, is_deleted |
Module: invoices
Field name |
Filter conditions |
Activity conditions |
trigger_authors |
is, is_not |
is_modified, is_modified_from |
trigger_clients |
is, is_not |
- |
trigger_comment |
- |
is_added, is_modified, is_deleted |
trigger_contact_tags |
is, is_not |
- |
trigger_countries |
is |
- |
trigger_created_date |
is, between, smaller_than, greater_than |
- |
trigger_creators |
is, is_not |
- |
trigger_currency |
is |
- |
trigger_deadline |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_description |
is, contains |
- |
trigger_discount_sum |
is, between, smaller_than, greater_than |
is_modified |
trigger_file |
- |
is_added, is_modified, is_deleted |
trigger_interested_party |
is |
- |
trigger_is_approved |
- |
is_modified |
trigger_is_sent |
is |
is_modified, is_modified_to |
trigger_issue_date |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_last_modified_ago |
is |
- |
trigger_margin_percent |
is, greater_than, smaller_than |
is_modified |
trigger_objects |
is |
- |
trigger_payment_method |
is |
- |
trigger_products |
is |
- |
trigger_projects |
is |
is_modified, is_modified_to |
trigger_receipts |
- |
is_added, is_modified, is_deleted |
trigger_receivable_sum |
is, between, smaller_than, greater_than |
is_modified |
trigger_reminder_profiles |
is |
- |
trigger_statuses |
is |
is_modified, is_modified_to, is_modified_from |
trigger_sum |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
Module: prepayments
Field name |
Filter conditions |
Activity conditions |
trigger_authors |
is, is_not |
is_modified, is_modified_from |
trigger_clients |
is, is_not |
- |
trigger_comment |
- |
is_added, is_modified, is_deleted |
trigger_contact_tags |
is, is_not |
- |
trigger_countries |
is |
- |
trigger_created_date |
is, between, smaller_than, greater_than |
- |
trigger_creators |
is, is_not |
- |
trigger_currency |
is |
- |
trigger_deadline |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_description |
is, contains |
- |
trigger_discount_sum |
is, between, smaller_than, greater_than |
is_modified |
trigger_file |
- |
is_added, is_modified, is_deleted |
trigger_interested_party |
is |
- |
trigger_is_approved |
- |
is_modified |
trigger_is_sent |
is |
is_modified, is_modified_to |
trigger_issue_date |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_last_modified_ago |
is |
- |
trigger_margin_percent |
is, greater_than, smaller_than |
is_modified |
trigger_objects |
is |
- |
trigger_payment_method |
is |
- |
trigger_products |
is |
- |
trigger_projects |
is |
is_modified, is_modified_to |
trigger_receipts |
- |
is_added, is_modified, is_deleted |
trigger_receivable_sum |
is, between, smaller_than, greater_than |
is_modified |
trigger_reminder_profiles |
is |
- |
trigger_statuses |
is |
is_modified, is_modified_to, is_modified_from |
trigger_sum |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
Module: bills
Field name |
Filter conditions |
Activity conditions |
trigger_authors |
is, is_not |
is_modified, is_modified_from |
trigger_clients |
is, is_not |
- |
trigger_comment |
- |
is_added, is_modified, is_deleted |
trigger_contact_tags |
is, is_not |
- |
trigger_countries |
is |
- |
trigger_created_date |
is, between, smaller_than, greater_than |
- |
trigger_creators |
is, is_not |
- |
trigger_currency |
is |
- |
trigger_deadline |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_description |
is, contains |
- |
trigger_file |
- |
is_added, is_modified, is_deleted |
trigger_is_chargeable |
is |
- |
trigger_issue_date |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_last_modified_ago |
is |
- |
trigger_objects |
is |
- |
trigger_payment_method |
is |
- |
trigger_products |
is |
- |
trigger_projects |
is |
is_modified, is_modified_to |
trigger_receipts |
- |
is_added, is_modified, is_deleted |
trigger_recognition_date |
is, between, smaller_than, greater_than |
- |
trigger_statuses |
is |
is_modified, is_modified_to, is_modified_from |
trigger_sum |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
Module: expenses
Field name |
Filter conditions |
Activity conditions |
trigger_authors |
is, is_not |
is_modified, is_modified_from |
trigger_clients |
is, is_not |
- |
trigger_comment |
- |
is_added, is_modified, is_deleted |
trigger_contact_tags |
is, is_not |
- |
trigger_countries |
is |
- |
trigger_created_date |
is, between, smaller_than, greater_than |
- |
trigger_creators |
is, is_not |
- |
trigger_currency |
is |
- |
trigger_deadline |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_description |
is, contains |
- |
trigger_file |
- |
is_added, is_modified, is_deleted |
trigger_is_chargeable |
is |
is_modified |
trigger_is_reimbursable |
is |
is_modified |
trigger_issue_date |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_last_modified_ago |
is |
- |
trigger_objects |
is |
- |
trigger_owner |
is, is_not |
is_modified, is_modified_from |
trigger_payment_method |
is |
- |
trigger_products |
is |
- |
trigger_projects |
is |
is_modified, is_modified_to |
trigger_receipts |
- |
is_added, is_modified, is_deleted |
trigger_recognition_date |
is, between, smaller_than, greater_than |
is_modified |
trigger_statuses |
is |
is_modified, is_modified_to, is_modified_from |
trigger_sum |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
Module: purchaseOrders
Field name |
Filter conditions |
Activity conditions |
trigger_authors |
is, is_not |
is_modified, is_modified_from |
trigger_clients |
is, is_not |
- |
trigger_comment |
- |
is_added, is_modified, is_deleted |
trigger_confirmed_date |
- |
is_modified |
trigger_contact_tags |
is, is_not |
- |
trigger_countries |
is |
- |
trigger_created_date |
is, between, smaller_than, greater_than |
- |
trigger_creators |
is, is_not |
- |
trigger_currency |
is |
- |
trigger_deadline |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_delivery_date |
is, smaller_than, greater_than |
is_modified |
trigger_description |
is, contains |
- |
trigger_file |
- |
is_added, is_modified, is_deleted |
trigger_is_sent |
- |
is_modified |
trigger_issue_date |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_last_modified_ago |
is |
- |
trigger_objects |
is |
- |
trigger_payment_method |
is |
- |
trigger_products |
is |
- |
trigger_projects |
is |
is_modified, is_modified_to |
trigger_receipts |
- |
is_added, is_modified, is_deleted |
trigger_recognition_date |
is, between, smaller_than, greater_than |
- |
trigger_statuses |
is |
is_modified, is_modified_to, is_modified_from |
trigger_sum |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
Module: orders
Field name |
Filter conditions |
Activity conditions |
trigger_activity_exists |
is, between, smaller_than, greater_than |
- |
trigger_activity_missing |
is, between, smaller_than, greater_than |
- |
trigger_authors |
is, is_not |
is_modified, is_modified_from |
trigger_clients |
is, is_not |
- |
trigger_comment |
- |
is_added, is_modified, is_deleted |
trigger_confirmed_date |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_contact_tags |
is, is_not |
- |
trigger_countries |
is |
- |
trigger_created_date |
is, between, smaller_than, greater_than |
- |
trigger_creators |
is, is_not |
- |
trigger_currency |
is |
- |
trigger_deadline |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_description |
is, contains |
- |
trigger_file |
- |
is_added, is_modified, is_deleted |
trigger_invoice |
- |
is_added, is_modified, is_deleted |
trigger_is_sent |
is |
is_modified, is_modified_to |
trigger_issue_date |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_last_modified_ago |
is |
- |
trigger_objects |
is |
- |
trigger_payment_method |
is |
- |
trigger_products |
is |
- |
trigger_projects |
is |
is_modified, is_modified_to |
trigger_receipts |
- |
is_added, is_modified, is_deleted |
trigger_shipment_date |
- |
is_modified |
trigger_statuses |
is |
is_modified, is_modified_to, is_modified_from |
trigger_sum |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
Module: quotes
Field name |
Filter conditions |
Activity conditions |
trigger_activity_exists |
is, between, smaller_than, greater_than |
- |
trigger_activity_missing |
is, between, smaller_than, greater_than |
- |
trigger_authors |
is, is_not |
is_modified, is_modified_from |
trigger_clients |
is, is_not |
- |
trigger_comment |
- |
is_added, is_modified, is_deleted |
trigger_confirmed_date |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_contact_tags |
is, is_not |
- |
trigger_countries |
is |
- |
trigger_created_date |
is, between, smaller_than, greater_than |
- |
trigger_creators |
is, is_not |
- |
trigger_currency |
is |
- |
trigger_deadline |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_description |
is, contains |
- |
trigger_estimated_closing_date |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_file |
- |
is_added, is_modified, is_deleted |
trigger_is_sent |
is |
is_modified, is_modified_to |
trigger_issue_date |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
trigger_last_modified_ago |
is |
- |
trigger_objects |
is |
- |
trigger_products |
is |
- |
trigger_projects |
is |
is_modified, is_modified_to |
trigger_receipts |
- |
is_added, is_modified, is_deleted |
trigger_shipment_date |
is, between, smaller_than, greater_than |
is_modified |
trigger_statuses |
is |
is_modified, is_modified_to, is_modified_from |
trigger_sum |
is, between, smaller_than, greater_than |
is_modified, is_modified_to |
Module: persons
Field name |
Filter conditions |
Activity conditions |
trigger_activity_exists |
is, between, smaller_than, greater_than |
- |
trigger_activity_missing |
is, between, smaller_than, greater_than |
- |
trigger_address_city |
is, is_not |
is_modified, is_modified_to |
trigger_address_country_region |
is |
is_modified, is_modified_to |
trigger_address_county_state |
is, is_not |
is_modified, is_modified_to |
trigger_address_municipality |
is, is_not |
is_modified, is_modified_to |
trigger_address_street |
is, is_not, contains, starts_with, ends_with |
is_modified, is_modified_to |
trigger_address_zip |
is, is_not, contains, starts_with, ends_with |
is_modified, is_modified_to |
trigger_bankaccount |
- |
is_modified |
trigger_client_profile |
is, is_not |
is_modified, is_modified_to |
trigger_comment |
- |
is_added, is_modified, is_deleted |
trigger_contact_category |
is, is_not |
is_modified, is_modified_to |
trigger_contact_tag |
is, is_not |
is_modified, is_modified_to |
trigger_contact_type |
is |
is_modified, is_modified_to |
trigger_created_date |
is, greater_than, smaller_than |
is_modified, is_modified_to |
trigger_description |
is, contains |
is_modified |
trigger_is_client |
is |
- |
trigger_is_supplier |
is |
- |
trigger_job_title |
is, is_not, contains, starts_with, ends_with |
is_modified, is_modified_to |
trigger_manager |
is, is_not |
is_modified, is_modified_to |
trigger_means_of_contact_email |
- |
is_modified |
trigger_means_of_contact_phone |
- |
is_modified |
trigger_objects |
is, is_not |
- |
trigger_projects |
is |
- |
trigger_related_company |
is |
- |
trigger_search_name |
- |
is_modified |
trigger_users |
is, is_not |
is_modified, is_modified_to |
Module: companies
Field name |
Filter conditions |
Activity conditions |
trigger_activity_exists |
is, between, smaller_than, greater_than |
- |
trigger_activity_missing |
is, between, smaller_than, greater_than |
- |
trigger_address_city |
is, is_not |
is_modified, is_modified_to |
trigger_address_country_region |
is |
is_modified, is_modified_to |
trigger_address_county_state |
is, is_not |
is_modified, is_modified_to |
trigger_address_municipality |
is, is_not |
is_modified, is_modified_to |
trigger_address_street |
is, is_not, contains, starts_with, ends_with |
is_modified, is_modified_to |
trigger_address_zip |
is, is_not, contains, starts_with, ends_with |
is_modified, is_modified_to |
trigger_bankaccount |
- |
is_modified |
trigger_client_profile |
is, is_not |
is_modified, is_modified_to |
trigger_comment |
- |
is_added, is_modified, is_deleted |
trigger_contact_category |
is, is_not |
is_modified, is_modified_to |
trigger_contact_tag |
is, is_not |
is_modified, is_modified_to |
trigger_contact_type |
is |
is_modified, is_modified_to |
trigger_created_date |
is, greater_than, smaller_than |
is_modified, is_modified_to |
trigger_description |
is, contains |
is_modified |
trigger_is_client |
is |
- |
trigger_is_supplier |
is |
- |
trigger_manager |
is, is_not |
is_modified, is_modified_to |
trigger_means_of_contact_email |
- |
is_modified |
trigger_means_of_contact_phone |
- |
is_modified |
trigger_name |
- |
is_modified |
trigger_objects |
is, is_not |
- |
trigger_projects |
is |
- |
trigger_users |
is, is_not |
is_modified, is_modified_to |
Roles with prices
This API endpoint supports requests authenticated by either
user_token or
apiKey.
Name |
Type |
Description |
role_id |
Integer |
Role ID |
price_list_id |
Integer |
Pricelist ID |
role_name |
String |
Role name |
pricelist_name |
String |
Pricelist name |
selling_price |
Decimal(15,2) |
Selling price |
currency |
String |
Pricelist currency |
Available actions are
list
Request URL:
https://#companyname#.scoro.com/api/v2/rolesPrices/list
Description:
Fetch a list of roles with prices of all pricelists.
Example request body:
{
"lang": "eng",
"company_account_id": "tutorial",
"apiKey": "API_hash",
"request": {}
}
Example response body:
{
"status": "OK",
"statusCode": 200,
"messages": null,
"data": [
{
"role_id": 2,
"price_list_id": 1,
"role_name": "Designer",
"pricelist_name": "default",
"selling_price": "100.000000",
"currency": "EUR"
},
{
"role_id": 2,
"price_list_id": 2,
"role_name": "Designer",
"pricelist_name": "Dollar",
"selling_price": "114.000000",
"currency": "USD"
}
]
}