POST
Add New Subscription
DEL
Delete a Subscription
GET
Request Subscription Information
GET
Request all Subscriptions
PUT
Update a Subscription
POST
Add New Timesheet
DEL
Delete a Timesheet
GET
Request Timesheet Information
GET
Request all Timesheets
PUT
Update a Timesheet
POST
Create a new Calendar Event
DEL
Delete a Calendar Event
GET
Get All Calendar Events
GET
Request Specific Event Information
PUT
Update a Calendar Event
POST
Add New Contact
DEL
Delete Contact
GET
List all Contacts of a Customer
GET
Search Contact Information
PUT
Update Contact Information
POST
Add New Credit Notes
DEL
Delete Credit Note
GET
Request Credit notes information
GET
Search credit notes item information
PUT
Update a Credit Note
POST
Add Custom Fields
DEL
Delete Custom Fields
GET
Request Custom Fields
GET
Request Values of Custom Fields
GET
Search custom field values' information
PUT
Update Custom Fields
POST
Add New Customer
DEL
Delete a Customer
GET
Request customer information
GET
Search Customer Information
PUT
Update a Customer
POST
Add New Estimates
DEL
Delete Estimate
GET
Request Estimate information
GET
Search Estimate information
PUT
Update a estimate
POST
Add Expense
DEL
Delete Expense
GET
Request Expense information
GET
Search Expenses information
PUT
Update a Expense
POST
Add New invoice
DEL
Delete invoice
GET
Request invoice information
GET
Search invoice information
PUT
Update invoice
POST
Add New Lead
DEL
Delete a Lead
GET
Request Lead information
GET
Request all Leads
GET
Search Lead Information
PUT
Update a lead
POST
Add New Milestone
DEL
Delete a Milestone
GET
Request Milestones information
GET
Search Milestones Information
PUT
Update a Milestone
POST
Add New Project
DEL
Delete a Project
GET
Request project information
GET
Search Project Information
PUT
Update a project
POST
Add New Proposals
DEL
Delete Proposal
GET
Request Proposal information
GET
Search proposals information
PUT
Update a proposal
POST
Add New Staff
DEL
Delete a Staff
GET
Request Staff information
GET
Search Staff Information
PUT
Update a Staff
POST
Add New Task
DEL
Delete a Task
GET
Request Task information
GET
Search Tasks Information
PUT
Update a task
Introduction
The Emawerly API runs over HTTP/HTTPS and talks JSON — clean, lightweight, and easy to debug.
It’s a RESTful API that uses standard HTTP methods and status codes to handle all requests and responses
Create an API token
→ Log into your Emawerly Platform backend as an admin, go to API → API Management, and spin up a new token.
→ Make sure you copy it somewhere safe and configure all the required permissions before saving.
Using the API
All available endpoints are listed below, along with sample request/response payloads.
Authentication is handled via the authtoken header, and data operations (POST/PUT) use the multipart-form type.
If REST APIs aren’t really your playground, it’s a good idea to bring in a pro to handle third-party integrations. A basic understanding of REST architecture is required — this module assumes you already know your way around it.
Sample usage (example command)
Scenario: Your token is jEheVytlAoFl7F8MqUQ7jAo2hOXAS and that you need to list all available customers of your Emawerly’s installation, through a cURL request.
Use Case: You will need to execute the following terminal command:
curl -H "authtoken: jEheVytlAoFl7F8MqUQ7jAo2hOXAS" https://mysite.com/api/customers
The response that you are supposed to receive, under a 200 OK status code, will be similar to the following:
[
{
"stripe_id" : null,
"active" : "1",
"vat" : "1234567890",
"address" : "Test Address",
"billing_country" : "0",
"phonenumber" : "1234567890",
"registration_confirmed" : "1",
"longitude" : null,
"billing_city" : "",
"state" : "Test State",
"shipping_zip" : "",
"billing_zip" : "",
"city" : "Test City",
"shipping_country" : "0",
"billing_street" : "",
"datecreated" : "2019-11-29 12:34:56",
"company" : "Jk Technologies",
"shipping_street" : "",
"zip" : "123456",
"billing_state" : "",
"leadid" : null,
"addedfrom" : "8",
"userid" : "3",
"default_language" : "english",
"shipping_state" : "",
"show_primary_contact" : "0",
"country" : "102",
"default_currency" : "3",
"shipping_city" : "",
"latitude" : null,
"website" : "https://example.com"
},
{
"website" : "https://example2.com",
"latitude" : null,
"default_currency" : "0",
"shipping_city" : "London",
"country" : "235",
"show_primary_contact" : "0",
"shipping_state" : "Greater London",
"default_language" : "",
"addedfrom" : "1",
"userid" : "1",
"leadid" : null,
"billing_state" : "Greater London",
"zip" : "WC1 ASW",
"shipping_street" : "123 Road Street",
"company" : "Sample Company LTD",
"datecreated" : "2019-04-02 13:38:28",
"billing_street" : "123 Road Street",
"shipping_country" : "235",
"city" : "London",
"billing_zip" : "WC1 ASW",
"shipping_zip" : "WC1 ASW",
"longitude" : null,
"registration_confirmed" : "1",
"billing_city" : "London",
"state" : "Greater London",
"phonenumber" : "+44 210 7298299",
"billing_country" : "235",
"address" : "123 Road Street",
"vat" : "123456789",
"active" : "1",
"stripe_id" : null
}
]
Custom fields
All commands do support custom fields (starting from version 1.0.2).
Please take a look at the Custom Fields section in order to ensure the correct implementation of each request that includes Custom Fields.
Items
Items - Request Invoice Item's information
GET
yourdomain.com/api/items/:id
Header
GetItem - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
authtoken | String | Authentication token, generated from admin area |
Success 200
GetItem - success Success 200
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
Item | Object | item information. |
Error 4xx
GetItem - error Error 4xx
2
3
4
5
6
7
8
9
10
11
12
{
"type": "object",
"properties": {
"status": {
"type": "boolean"
},
"message": {
"type": "string"
}
}
}
| Name | Type | Description |
|---|---|---|
| status | Boolean | Request status. |
| message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"itemid": "1",
"rate": "100.00",
"taxrate": "5.00",
"taxid": "1",
"taxname": "PAYPAL",
"taxrate_2": "9.00",
"taxid_2": "2",
"taxname_2": "CGST",
"description": "JBL Soundbar",
"long_description": "The JBL Cinema SB110 is a hassle-free soundbar",
"group_id": "0",
"group_name": null,
"unit": ""
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Items - Search Invoice Item's information
GET
yourdomain.com/api/items/search/:keysearch
Header
GetItemSearch - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
authtoken | String | Authentication token, generated from admin area |
Parameter
GetItemSearch - parameter Parameter
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"keysearch": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords |
Success 200
GetItemSearch - success Success 200
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Item | Object | Item Information |
Error 4xx
GetItemSearch - error Error 4xx
2
3
4
5
6
7
8
9
10
11
12
{
"type": "object",
"properties": {
"status": {
"type": "boolean"
},
"message": {
"type": "string"
}
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"rate": "100.00",
"id": "1",
"name": "(100.00) JBL Soundbar",
"subtext": "The JBL Cinema SB110 is a hassle-free soundbar..."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Subscriptions
Subscriptions - Add New Subscription
POST
Header
AddNewSubscription - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
AddNewSubscription - parameter Parameter
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"name": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
name | String | New subscription name. |
description | Text | Detailed description of the subscription. |
description_in_item | TinyInt | Indicates if the description is included in the item (1 or 0). |
clientid | Int | Client ID. |
date | Date | Subscription start date (YYYY-MM-DD). |
terms | Text | Subscription terms. |
currency | Int | Currency ID. |
tax_id | Int | Tax ID. |
stripe_tax_id_2 | Varchar |
|
stripe_plan_id | Text | Stripe plan ID. |
stripe_subscription_id | Text | Stripe Subscription ID. |
tax_id_2 | Int | Second tax ID. |
next_billing_cycle | BigInt | Next billing cycle timestamp. |
ends_at | BigInt | Subscription end timestamp. |
status | Varchar | Subscription status (e.g., active). |
quantity | Int | Subscription quantity. |
project_id | Int | Associated project ID. |
hash | Varchar | Unique hash identifier. |
created | DateTime | Creation timestamp (YYYY-MM-DD HH:MM:SS). |
created_from | Int | ID of the creator. |
date_subscribed | DateTime | Subscription date (YYYY-MM-DD HH:MM:SS). |
in_test_environment | Int | Indicates if the subscription is in a test environment (1 or 0). |
last_sent_at | DateTime | Last sent timestamp (YYYY-MM-DD HH:MM:SS). |
Success 200
AddNewSubscription - success Success 200
2
3
4
5
6
7
8
9
10
11
12
{
"type": "object",
"properties": {
"status": {
"type": "boolean"
},
"message": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Success message. |
Error 4xx
| Name | Description |
|---|---|
| DataNotAdded | Data could not be added. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Data Added Successfully"
}
Error-Response:
HTTP/1.1 400 Bad Request
{
"status": false,
"error": "Data not Added"
}
Subscriptions - Delete a Subscription
DELETE
Header
Delete a Subscription - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
Delete a Subscription - parameter Parameter
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| id | id | ID for data Deletion. |
Error 4xx
| Name | Description |
|---|---|
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Delete Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Delete Fail."
}
Subscriptions - Request Subscription Information
GET
Header
Request Subscription Information - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
Request Subscription Information - parameter Parameter
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
id | id | Data id ID. |
Success 200
Request Subscription Information - success Success 200
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Data | Object | Information |
Error 4xx
| Name | Description |
|---|---|
DataNotFound | The id of the data was not found. |
Success-Response:
HTTP/1.1 200 OK
[
{
'name' => varchar 'New subscription'
'description' => text 'This is a detailed description of subscription'
'description_in_item' => tinyint '1'
'clientid' => int '123'
'date' => date '2024-01-31'
'terms' => text 'subscription payment is due'
'currency ' => int '4'
'tax_id ' => int '456'
'stripe_tax_id_2' => varchar 'tax-789'
'stripe_plan_id' => text 'subscription_ABC'
'stripe_subscription_id' => text 'subscription_ABC'
'tax_id_2': int '12',
'stripe_subscription_id' => text 'sub_123456789'
'next_billing_cycle' => bigint '1643808000'
'ends_at' => bigint '1646486400'
'status' => varchar 'active'
'quantity' => int '5'
'project_id' => int '789'
'hash' => varchar 'a1b2c3'
'created' => datetime '2024-01-31 12:34:56'
'created_from' => int '1'
'date_subscribed' => datetime '2024-01-31 10:00:00'
'in_test_environment' => int '1'
'last_sent_at' => datetime '2024-01-31 14:45:00'
}
]
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Subscriptions - Request all Subscriptions
GET
Header
Request Subscriptions - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Success 200
Request Subscriptions - success Success 200
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Data | Object | Information |
Error 4xx
| Name | Description |
|---|---|
DataNotFound | The id of the data was not found. |
Success-Response:
HTTP/1.1 200 OK
[
{
'name' => varchar 'New subscription'
'description' => text 'This is a detailed description of subscription'
'description_in_item' => tinyint '1'
'clientid' => int '123'
'date' => date '2024-01-31'
'terms' => text 'subscription payment is due'
'currency ' => int '4'
'tax_id ' => int '456'
'stripe_tax_id_2' => varchar 'tax-789'
'stripe_plan_id' => text 'subscription_ABC'
'stripe_subscription_id' => text 'subscription_ABC'
'tax_id_2': int '12',
'stripe_subscription_id' => text 'sub_123456789'
'next_billing_cycle' => bigint '1643808000'
'ends_at' => bigint '1646486400'
'status' => varchar 'active'
'quantity' => int '5'
'project_id' => int '789'
'hash' => varchar 'a1b2c3'
'created' => datetime '2024-01-31 12:34:56'
'created_from' => int '1'
'date_subscribed' => datetime '2024-01-31 10:00:00'
'in_test_environment' => int '1'
'last_sent_at' => datetime '2024-01-31 14:45:00'
}
]
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Subscriptions - Update a Subscription
PUT
Header
Update a Subscription - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
Update a Subscription - parameter Parameter
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| id | id | ID for update data. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Data Update Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Data Not Acceptable OR Not Provided"
}
{
"status": false,
"message": "Data Update Fail."
}
Timesheets
Timesheets - Add New Timesheet
POST
Header
Add a Timesheet - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
Add a Timesheet - parameter Parameter
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"type": "object",
"properties": {
"task_id": {
"type": "number"
},
"start_time": {
"type": "string"
},
"end_time": {
"type": "string"
},
"staff_id": {
"type": "number"
},
"hourly_rate": {
"type": "number"
},
"note": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| task_id | Number | Task ID related to the timesheet. |
| start_time | String | Start time in HH:MM:SS format. |
| end_time | String | End time in HH:MM:SS format. |
| staff_id | Number | Staff ID who is logging time. |
| hourly_rate | Number | Hourly rate (e.g., 5.00). |
| note | String | Notes related to the timesheet. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Data Added Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Data not Added"
}
Timesheets - Delete a Timesheet
DELETE
Header
Delete a Timesheet - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
Delete a Timesheet - parameter Parameter
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| id | id | ID for data Deletion. |
Error 4xx
| Name | Description |
|---|---|
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Delete Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Delete Fail."
}
Timesheets - Request Timesheet Information
GET
Header
Request Timesheet Information - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
Request Timesheet Information - parameter Parameter
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
id | id | Data id ID. |
Success 200
Request Timesheet Information - success Success 200
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Data | Object | Information |
Error 4xx
| Name | Description |
|---|---|
DataNotFound | The id of the data was not found. |
Success-Response:
HTTP/1.1 200 OK
[
{
"task_id": "2",
"start_time": "10:00:00",
"end_time": "12:00:00",
"staff_id ": "2",
"hourly_rate": "5.00",
"note": "testing note",
}
]
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Timesheets - Request all Timesheets
GET
Header
Request All Timesheets - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Success 200
Request All Timesheets - success Success 200
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Data | Object | Information |
Error 4xx
| Name | Description |
|---|---|
DataNotFound | The id of the data was not found. |
Success-Response:
HTTP/1.1 200 OK
[
{
"task_id": "2",
"start_time": "10:00:00",
"end_time": "12:00:00",
"staff_id ": "2",
"hourly_rate": "5.00",
"note": "testing note",
}
]
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Timesheets - Update a Timesheet
PUT
Header
Update a Timesheet - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
Update a Timesheet - parameter Parameter
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| id | id | ID for update data. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Data Update Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Data Not Acceptable OR Not Provided"
}
{
"status": false,
"message": "Data Update Fail."
}
Calendar Events
Calendar_Events - Create a new Calendar Event
POST
Header
PostCalendarEvent - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostCalendarEvent - parameter Parameter
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"reminder_before_type": {
"type": "string"
},
"reminder_before": {
"type": "number"
},
"color": {
"type": "string"
},
"userid": {
"type": "number"
},
"isstartnotified": {
"type": "number"
},
"public": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
| title | String | Required event title. |
| description | String | Optional event description. |
| start | Date | Required event start date. |
| reminder_before_type | String | Required value of reminder before type. |
| reminder_before | Number | Required value of reminder before. |
| color | String | Optional event color. |
| userid | Number | Required user id. |
| isstartnotified | Number | Required isstartnotified status. |
| public | Number | Required public status. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Data Added Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Data Creation Failed"
}
Calendar_Events - Delete a Calendar Event
DELETE
Header
DeleteCalendarEvent - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
DeleteCalendarEvent - parameter Parameter
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"ID": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
| ID | Number | ID for data Deletion. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Data Deleted Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Data Delete Fail"
}
Calendar_Events - Get All Calendar Events
GET
Header
GetCalendarEvents - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Success-Response:
HTTP/1.1 200 OK
[
{
"eventid": "1",
"title": "Hello",
"description": "test",
"userid": "1",
"start": "2023-12-12 07:00:00",
"end": 2023-12-12 07:00:00,
"public": "1",
"color": "#03a9f4",
"isstartnotified": "0",
"reminder_before": "30",
"reminder_before_type": "minutes"
},
{
"eventid": "2",
"title": "Hello2",
"description": "test2",
"userid": "2",
"start": "2022-12-12 07:00:00",
"end": 2022-12-12 07:00:00,
"public": "0",
"color": "#03a9f4",
"isstartnotified": "0",
"reminder_before": "3",
"reminder_before_type": "hours"
}
]
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Calendar_Events - Request Specific Event Information
GET
Header
GetCalendarEvent - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetCalendarEvent - parameter Parameter
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| id | id | Event data by id. |
Success-Response:
HTTP/1.1 200 OK
[
{
"eventid": "1",
"title": "Hello",
"description": "test",
"userid": "1",
"start": "2023-12-12 07:00:00",
"end": 2023-12-12 07:00:00,
"public": "1",
"color": "#03a9f4",
"isstartnotified": "0",
"reminder_before": "30",
"reminder_before_type": "minutes"
}
]
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Calendar_Events - Update a Calendar Event
PUT
Header
UpdateCalendarEvent - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
UpdateCalendarEvent - parameter Parameter
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| unique | id | ID for update data. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Data Update Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Data Update Fail"
}
Contacts
Contacts - Add New Contact
POST
Header
PostContact - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostContact - parameter Parameter
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
{
"type": "object",
"properties": {
"customer_id": {
"type": "number"
},
"firstname": {
"type": "string"
},
"lastname": {
"type": "string"
},
"email": {
"type": "string"
},
"title": {
"type": "string"
},
"phonenumber": {
"type": "string"
},
"direction": {
"type": "string"
},
"password": {
"type": "string"
},
"is_primary": {
"type": "string"
},
"donotsendwelcomeemail": {
"type": "string"
},
"send_set_password_email": {
"type": "string"
},
"permissions": {
"type": "array",
"items": {}
},
"invoice_emails": {
"type": "string"
},
"estimate_emails": {
"type": "string"
},
"credit_note_emails": {
"type": "string"
},
"project_emails": {
"type": "string"
},
"ticket_emails": {
"type": "string"
},
"task_emails": {
"type": "string"
},
"contract_emails": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| customer_id | Number | Mandatory Customer id. |
| firstname | String | Mandatory First Name |
| lastname | String | Mandatory Last Name |
String | Mandatory E-mail | |
| title (optional) | String | Optional Position |
| phonenumber (optional) | String | Optional Phone Number |
| direction (optional) | String | Optional Direction (rtl or ltr) Default value: rtl |
| password (optional) | String | Optional password (only required if you pass send_set_password_email parameter) |
| is_primary (optional) | String | Optional Primary Contact (set on or don't pass it) Default value: on |
| donotsendwelcomeemail (optional)(optional) | String | Optional Do Not Send Welcome Email (set on or don't pass it) |
| send_set_password_email (optional) | String | Optional Send Set Password Email (set on or don't pass it) |
| permissions (optional) | Array | Optional Permissions for this contact(["1", "2", "3", "4", "5", "6" ]) [ "1", // Invoices permission "2", // Estimates permission "3", // Contracts permission "4", // Proposals permission "5", // Support permission "6" // Projects permission ] |
| invoice_emails (optional) | String | Optional E-Mail Notification for Invoices (set value same as name or don't pass it) Default value: invoice_emails |
| estimate_emails (optional) | String | Optional E-Mail Notification for Estimate (set value same as name or don't pass it) Default value: estimate_emails |
| credit_note_emails (optional) | String | Optional E-Mail Notification for Credit Note (set value same as name or don't pass it) Default value: credit_note_emails |
| project_emails (optional) | String | Optional E-Mail Notification for Project (set value same as name or don't pass it) Default value: project_emails |
| ticket_emails (optional) | String | Optional E-Mail Notification for Tickets (set value same as name or don't pass it) Default value: ticket_emails |
| task_emails (optional) | String | Optional E-Mail Notification for Task (set value same as name or don't pass it) Default value: task_emails |
| contract_emails (optional) | String | Optional E-Mail Notification for Contract (set value same as name or don't pass it) Default value: contract_emails |
Success 200
PostContact - success Success 200
2
3
4
5
6
7
8
9
10
11
12
{
"type": "object",
"properties": {
"status": {
"type": "boolean"
},
"message": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Contact added successfully. |
Error 4xx
PostContact - error Error 4xx
2
3
4
5
6
7
8
9
10
11
12
13
{
"type": "object",
"properties": {
"status": {
"type": "boolean"
},
"message": {
"type": "string"
},
"email": {
"type": "string"
}
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Contact add fail |
String | This Email is already exists |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Contact added successfully"
}
Error-Response:
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contact add fail"
}
Contacts - Delete Contact
DELETE
Header
DeleteContact - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
DeleteContact - parameter Parameter
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"customer_id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
| customer_id | Number | unique Customer id |
Success 200
DeleteContact - success Success 200
2
3
4
5
6
7
8
9
10
11
12
{
"type": "object",
"properties": {
"status": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Contact Deleted Successfully |
Error 4xx
DeleteContact - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": {
"type": "boolean"
},
"message": {
"type": "string"
}
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Contact Delete Fail |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Contact Deleted Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contact Delete Fail"
}
Contacts - List all Contacts of a Customer
GET
yourdomain.com/api/contacts/:customer_id/:contact_id
Header
GetContact - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetContact - parameter Parameter
2
3
4
5
6
7
8
9
10
{
"type": "object",
"properties": {
"customer_id": {
"type": "number"
},
"contact_id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
customer_id | Number | Mandatory Customer unique ID |
| contact_id | Number | Optional Contact unique ID Note : if you don't pass Contact id then it will list all contacts of the customer |
Success 200
GetContact - success Success 200
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Contact | Object | Contact information |
Error 4xx
GetContact - error Error 4xx
2
3
4
5
6
7
{
"type": "object",
"properties": {
"status": {
"type": "boolean"
},
"message": {
"type": "string"
}
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found |
Success-Response:
HTTP/1.1 200 OK
{
"id": "6",
"userid": "1",
"company": "xyz",
"vat": "",
"phonenumber": "1234567890",
"country": "0",
"city": "",
"zip": "360005",
"state": "",
"address": "",
"website": "",
"datecreated": "2020-08-19 20:07:49",
"active": "1",
"leadid": null,
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"longitude": null,
"latitude": null,
"default_language": "english",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"addedfrom": "1"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Contacts - Search Contact Information
GET
yourdomain.com/api/contacts/search/:keysearch
Header
GetContactSearch - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetContactSearch - parameter Parameter
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"keysearch": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords |
Success 200
GetContact - success Success 200
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Contact | Object | Contact information |
Error 4xx
GetContactSearch - error Error 4xx
2
3
4
5
6
7
{
"type": "object",
"properties": {
"status": {
"type": "boolean"
},
"message": {
"type": "string"
}
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found |
Success-Response:
HTTP/1.1 200 OK
{
"id": "8",
"userid": "1",
"is_primary": "0",
"firstname": "chirag",
"lastname": "jagani",
"email": "useremail@gmail.com",
"phonenumber": "",
"title": null,
"datecreated": "2020-05-19 20:07:49",
"password": "$2a$08$6DLJFalqvJGVymCwW2ppNe9HOG5YUP04vzthXZjOFFUQknxfG6QHe",
"new_pass_key": null,
"new_pass_key_requested": null,
"email_verified_at": "2020-08-28 21:36:06",
"email_verification_key": null,
"email_verification_sent_at": null,
"last_ip": null,
"last_login": null,
"last_password_change": null,
"active": "1",
"profile_image": null,
"direction": null,
"invoice_emails": "0",
"estimate_emails": "0",
"credit_note_emails": "0",
"contract_emails": "0",
"task_emails": "0",
"project_emails": "0",
"ticket_emails": "0",
"company": "trueline",
"vat": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"leadid": null,
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"longitude": null,
"latitude": null,
"default_language": "english",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"addedfrom": "1"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Contacts - Update Contact Information
PUT
Header
PutContact - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PutContact - parameter Parameter
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
"type": "object",
"properties": {
"id": { "type": "number" },
"firstname": { "type": "string" },
"lastname": { "type": "string" },
"email": { "type": "string" },
"title": { "type": "string" },
"phonenumber": { "type": "string" },
"direction": { "type": "string" },
"password": { "type": "string" },
"is_primary": { "type": "string" },
"donotsendwelcomeemail": { "type": "string" },
"send_set_password_email": { "type": "string" },
"permissions": { "type": "array", "items": {} },
"invoice_emails": { "type": "string" },
"estimate_emails": { "type": "string" },
"credit_note_emails": { "type": "string" },
"project_emails": { "type": "string" },
"ticket_emails": { "type": "string" },
"task_emails": { "type": "string" },
"contract_emails": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
id | Number | Mandatory Customer Contact id. |
firstname | String | Mandatory First Name |
lastname | String | Mandatory Last Name |
String | Mandatory E-mail | |
title (optional) | String | Optional Position |
phonenumber (optional) | String | Optional Phone Number |
direction (optional) | String | Optional Direction (rtl or ltr) Default value: rtl |
password (optional) | String | Optional password (only required if you pass send_set_password_email parameter) |
is_primary (optional) | String | Optional Primary Contact (set on or don't pass it) Default value: on |
donotsendwelcomeemail (optional)(optional) | String | Optional Do Not Send Welcome Email (set on or don't pass it) |
send_set_password_email (optional) | String | Optional Send Set Password Email (set on or don't pass it) |
permissions (optional) | Array | Optional Permissions for this contact(["1", "2", "3", "4", "5", "6" ]) |
invoice_emails (optional) | String | Optional E-Mail Notification for Invoices (set value same as name or don't pass it) Default value: invoice_emails |
estimate_emails (optional) | String | Optional E-Mail Notification for Estimate (set value same as name or don't pass it) Default value: estimate_emails |
credit_note_emails (optional) | String | Optional E-Mail Notification for Credit Note (set value same as name or don't pass it) Default value: credit_note_emails |
project_emails (optional) | String | Optional E-Mail Notification for Project (set value same as name or don't pass it) Default value: project_emails |
ticket_emails (optional) | String | Optional E-Mail Notification for Tickets (set value same as name or don't pass it) Default value: ticket_emails |
task_emails (optional) | String | Optional E-Mail Notification for Task (set value same as name or don't pass it) Default value: task_emails |
contract_emails (optional) | String | Optional E-Mail Notification for Contract (set value same as name or don't pass it) Default value: contract_emails |
Success 200
PutContact - success Success 200
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Contact updated successful |
Error 4xx
PutContact - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"email": {
"type": "string"
},
"status": {
"type": "boolean"
},
"message": {
"type": "string"
}
}
}
| Name | Type | Description |
|---|---|---|
| String | This Email is already exists | |
status | Boolean | Request status. |
message | String | Contact add fail |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Contact Updated Successfully"
}
Error-Response:
Error-Response:
HTTP/1.1 409 Conflict
{
"status": false,
"error": {
"email":"This Email is already exists"
},
"message": "This Email is already exists"
}
Contracts
Contracts - Add New Contract
POST
Header
PostContract - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostContract - parameter Parameter
2
3
4
5
6
7
8
9
10
11
12
13
{
"type": "object",
"properties": {
"subject": { "type": "string" },
"client": { "type": "number" },
"contract_type": { "type": "number" },
"contract_value": { "type": "number" },
"description": { "type": "string" },
"content": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
| subject | String | Mandatory. Contract subject |
| datestart | Date | Mandatory. Contract start date |
| client | Number | Mandatory. Customer ID |
| dateend | Date | Optional. Contract end date |
| contract_type | Number | Optional. Contract type |
| contract_value | Number | Optional. Contract value |
| description | String | Optional. Contract description |
| content | String | Optional. Contract content |
Success 200
PostContract - success Success 200
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Contracts Added Successfully |
Error 4xx
PostContract - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Contract add fail |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Contract Added Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contract ID Exists"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"newitems[]": "The Start date field is required"
},
"message": "The Start date field is required
\n"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"subtotal": "The Subject field is required"
},
"message": "The Subject field is required
\n"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"total": "The Customer ID is required"
},
"message": "The Customer ID is required
\n"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contract ID Exists"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contract ID Exists"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contract ID Exists"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contract ID Exists"
}
Contracts - Delete Contract
DELETE
Header
DeleteContract - header Header
2
3
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Success 200
DeleteContract - success Success 200
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Contact Deleted Successfully |
Error 4xx
DeleteContract - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Contract Delete Fail |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Contract Deleted Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contract Delete Fail"
}
Contracts - Request Contract information
GET
Header
GetContract - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetContract - parameter Parameter
2
3
4
5
6
7
8
9
10
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
| id | Number | Contact unique ID |
Success 200
GetContract - success Success 200
2
3
4
5
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
Contact | Object | information. |
Error 4xx
GetContract - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found |
Success-Response:
HTTP/1.1 200 OK
{
"id": "1",
"content": "",
"description": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.",
"subject": "New Contract",
"client": "9",
"datestart": "2022-11-21",
"dateend": "2027-11-21",
"contract_type": "1",
"project_id": "0",
"addedfrom": "1",
"dateadded": "2022-11-21 12:45:58",
"isexpirynotified": "0",
"contract_value": "13456.00",
"trash": "0",
"not_visible_to_client": "0",
"hash": "31caaa36b9ea1f45a688c7e859d3ae70",
"signed": "0",
"signature": null,
"marked_as_signed": "0",
"acceptance_firstname": null,
"acceptance_lastname": null,
"acceptance_email": null,
"acceptance_date": null,
"acceptance_ip": null,
"short_link": null,
"name": "Development Contracts",
"userid": "9",
"company": "8web",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"datecreated": "2022-08-11 14:07:26",
"active": "1",
"leadid": null,
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"type_name": "Development Contracts",
"attachments": [],
"customfields": [],
}
Credit Notes
Credit_Notes - Add New Credit Notes
POST
Header
PostCredit notes - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostCredit notes - parameter Parameter
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"type": "object",
"properties": {
"clientid": { "type": "number" },
"number": { "type": "number" },
"currency": { "type": "number" },
"newitems": { "type": "array", "items": {} },
"billing_street": { "type": "string" },
"billing_city": { "type": "string" },
"billing_state": { "type": "string" },
"billing_zip": { "type": "number" },
"billing_country": { "type": "number" },
"shipping_street": { "type": "string" },
"shipping_city": { "type": "string" },
"shipping_state": { "type": "string" },
"shipping_zip": { "type": "number" },
"shipping_country": { "type": "number" },
"discount_type": { "type": "string" },
"Admin": { "type": "string" },
"clientnote": { "type": "string" },
"terms": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
clientid | Number | Mandatory. Customer id |
date | Date | Mandatory. Credit Note Date |
number | Number | Mandatory. Credit Note Number |
currency | Number | Mandatory. currency field |
newitems | Array | Mandatory. New Items to be added |
billing_street | String | Optional. Street Address |
billing_city (optional) | String | Optional. City Name for billing |
billing_state (optional) | String | Optional. Name of state for billing |
| billing_zip (optional) | Number | Optional. Zip code |
| billing_country (optional) | Number | Optional. Country code |
| shipping_street (optional) | String | Optional. Address of shipping |
| shipping_city (optional) | String | Optional. City name for shipping |
| shipping_state (optional) | String | Optional. Name of state for shipping |
| shipping_zip (optional) | Number | Optional. Zip code for shipping |
| shipping_country (optional) | Number | Optional. Country code |
| discount_type (optional) | String | Optional. before_tax / after_tax discount type |
| Admin (optional) | String | Note] Optional. Admin Note |
| subtotal | Decimal | Mandatory. calculation based on item Qty, Rate and Tax |
| total | Decimal | Mandatory. calculation based on subtotal, Discount and |
| clientnote (optional) | String | Optional. client notes |
| terms (optional) | String | Optional. Terms |
Success 200
PostCredit notes - success Success 200
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Credit Note Added Successfully |
Error 4xx
PostCredit notes - error Error 4xx
2
3
4
5
6
7
8
9
10
11
12
13
14
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" },
"newitems[]": { "type": "string" },
"number": { "type": "string" },
"subtotal": { "type": "string" },
"total": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Credit Note add fail |
newitems[] | String | The Items field is required |
number | String | The Credit Note number is already in use |
subtotal | String | The Sub Total field is required |
total | String | The Total field is required |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Credit Note Added Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Credit Note Add Fail"
}
Error-Response:
HTTP/1.1 409 Conflict
{
"status": false,
"error": {
"number":"The Credit Note number is already in use"
},
"message": "The Credit Note number is already in use"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"newitems[]": "The Items field is required"
},
"message": "The Items field is required
\n"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"subtotal": "The Sub Total field is required"
},
"message": "The Sub Total field is required
\n"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"total": "The Total field is required"
},
"message": "The Total field is required
\n"
}
Credit_Notes - Delete Credit Note
DELETE
Header
DeleteCreditNote - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Success 200
DeleteCreditNote - success Success 200
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Credit Note Deleted Successfully |
Error 4xx
DeleteCreditNote - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Credit Note Delete Fail |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Credit Note Deleted Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Credit Note Delete Fail"
}
Credit_Notes - Request Credit notes information
GET
yourdomain.com/api/credit_notes/:id
Header
GetCreditNotes - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Success 200
GetCreditNotes - success Success 200
2
3
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Credit | Object | notes information. |
Error 4xx
GetCreditNotes - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "2",
"clientid": "1",
"deleted_customer_name": null,
"number": "2",
"prefix": "CN-",
"number_format": "1",
"datecreated": "2021-07-30 16:29:46",
"date": "2021-08-02",
"adminnote": "adminnote2",
"terms": "",
"clientnote": "",
"currency": "1",
"subtotal": "1200.00",
"total_tax": "0.00",
"total": "1200.00",
"adjustment": "0.00",
"addedfrom": "1",
"status": "1",
"project_id": "0",
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"billing_street": "Test",
"billing_city": "Test",
"billing_state": "Test",
"billing_zip": "3000",
"billing_country": "102",
"shipping_street": "Test",
"shipping_city": "Test",
"shipping_state": "Test",
"shipping_zip": "3000",
"shipping_country": "102",
"include_shipping": "1",
"show_shipping_on_credit_note": "1",
"show_quantity_as": "1",
"reference_no": "",
"userid": "1",
"company": "Test",
"vat": "",
"phonenumber": "01324568903",
"country": "102",
"city": "Test",
"zip": "3000",
"state": "Test",
"address": "Test",
"website": "",
"active": "1",
"leadid": null,
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"credit_note_id": "2",
"customfields": []
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Credit_Notes - Search credit notes item information
GET
yourdomain.com/api/credit_notes/search/:keysearch
Header
GetCreditNotesSearch - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetCreditNotesSearch - parameter Parameter
2
3
4
5
{
"type": "object",
"properties": {
"keysearch": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords |
Success 200
GetCreditNotesSearch - success Success 200
2
3
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| credit | Object | notes Information |
Success-Response:
HTTP/1.1 200 OK
{
"id": "2",
"clientid": "1",
"deleted_customer_name": null,
"number": "2",
"prefix": "CN-",
"number_format": "1",
"datecreated": "2021-07-30 16:29:46",
"date": "2021-08-02",
"adminnote": "adminnote2",
"terms": "",
"clientnote": "",
"currency": "1",
"subtotal": "1200.00",
"total_tax": "0.00",
"total": "1200.00",
"adjustment": "0.00",
"addedfrom": "1",
"status": "1",
"project_id": "0",
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"billing_street": "Test",
"billing_city": "Test",
"billing_state": "Test",
"billing_zip": "3000",
"billing_country": "102",
"shipping_street": "Test",
"shipping_city": "Test",
"shipping_state": "Test",
"shipping_zip": "3000",
"shipping_country": "102",
"include_shipping": "1",
"show_shipping_on_credit_note": "1",
"show_quantity_as": "1",
"reference_no": "",
"userid": "1",
"company": "test",
"vat": "",
"phonenumber": "01324568903",
"country": "102",
"city": "Test",
"zip": "3000",
"state": "Test",
"address": "Test",
"website": "",
"active": "1",
"leadid": null,
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"credit_note_id": "2",
"customfields": []
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Credit_Notes - Update a Credit Note
PUT
Header
PutCredit notes - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PutCredit notes - parameter Parameter
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
"type": "object",
"properties": {
"clientid": { "type": "number" },
"number": { "type": "number" },
"currency": { "type": "number" },
"newitems": { "type": "array", "items": {} },
"items": { "type": "array", "items": {} },
"removed_items": { "type": "array", "items": {} },
"billing_street": { "type": "string" },
"billing_city": { "type": "string" },
"billing_state": { "type": "string" },
"billing_zip": { "type": "number" },
"billing_country": { "type": "number" },
"shipping_street": { "type": "string" },
"shipping_city": { "type": "string" },
"shipping_state": { "type": "string" },
"shipping_zip": { "type": "number" },
"shipping_country": { "type": "number" },
"discount_type": { "type": "string" },
"Admin": { "type": "string" },
"clientnote": { "type": "string" },
"terms": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
clientid | Number | Mandatory. Customer id |
date | Date | Mandatory. Credit Note Date |
number | Number | Mandatory. Credit Note Number |
currency | Number | Mandatory. currency field |
newitems | Array | Mandatory. New Items to be added |
| items | Array | Mandatory. Existing items with Id |
| removed_items | Array | Optional. Items to be removed |
billing_street | String | Optional. Street Address |
billing_city (optional) | String | Optional. City Name for billing |
billing_state (optional) | String | Optional. Name of state for billing |
billing_zip (optional) | Number | Optional. Zip code |
billing_country (optional) | Number | Optional. Country code |
shipping_street (optional) | String | Optional. Address of shipping |
shipping_city (optional) | String | Optional. City name for shipping |
shipping_state (optional) | String | Optional. Name of state for shipping |
shipping_zip (optional) | Number | Optional. Zip code for shipping |
shipping_country (optional) | Number | Optional. Country code |
discount_type (optional) | String | Optional. before_tax / after_tax discount type |
Admin (optional) | String | Note] Optional. Admin Note |
subtotal | Decimal | Mandatory. calculation based on item Qty, Rate and Tax |
total | Decimal | Mandatory. calculation based on subtotal, Discount and |
clientnote (optional) | String | Optional. client notes |
terms (optional) | String | Optional. Terms |
Success 200
PutCredit notes - success Success 200
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Credit Note Updated Successfully |
Error 4xx
PutCredit notes - error Error 4xx
2
3
4
5
6
7
8
9
10
11
12
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" },
"newitems[]": { "type": "string" },
"number": { "type": "string" },
"subtotal": { "type": "string" },
"total": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Credit Note Update Fail |
newitems[] | String | The Items field is required |
number | String | The Credit Note number is already in use |
subtotal | String | The Sub Total field is required |
total | String | The Total field is required |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Credit Note Updated Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Credit Note Update Fail"
}
Error-Response:
HTTP/1.1 409 Conflict
{
"status": false,
"error": {
"number":"The Credit Note number is already in use"
},
"message": "The Credit Note number is already in use"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"newitems[]": "The Items field is required"
},
"message": "The Items field is required
\n"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"subtotal": "The Sub Total field is required"
},
"message": "The Sub Total field is required
\n"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"total": "The Total field is required"
},
"message": "The Total field is required
\n"
}
Custom Fields
Custom_Fields - Add Custom Fields
Submit URL for POST request of the custom fields remains the same for each endpoint (ie api/contacts for Contacts endpoint, api/invoices for Invoices endpoint, etc..)
In this example, we will use the following form data which corresponds to the following custom field types:
custom_fields[invoice][1] = Input Type
custom_fields[invoice][2] = Number
custom_fields[invoice][3] = Textarea
custom_fields[invoice][4] = Radio
custom_fields[invoice][5] = Checkbox
custom_fields[invoice][6] = Multiselect
custom_fields[invoice][7] = Date
custom_fields[invoice][8] = Datetime
custom_fields[invoice][9] = Color
custom_fields[invoice][10] = Link
POST
Parameter
PostActionExample - parameter Parameter
2
3
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
custom_fields[customFieldType] | string/array | Custom Field Key should be same as field_name returned from Search custom field values' information |
Success-Response:
HTTP/1.1 200 OK
Same as Original request
Error-Response:
HTTP/1.1 404 Not Found
Same as Original request
Custom_Fields - Delete Custom Fields
To remove particular custom field value you can use Update action and an empty value in the custom field. Note: When you delete any record the corresponding custom field data will be automatically deleted.
DELETE
Custom_Fields - Request Custom Fields
Custom fields’ data will be returned combined with other request’s information during the initial GET request of each available endpoint (Contacts, Invoices etc) with their respective label and value key
GET
Success-Response:
HTTP/1.1 200 OK
{
"id": "1",
"sent": "0",
"datesend": null,
"clientid": "1",
"deleted_customer_name": null,
"number": "10",
"prefix": "INV-",
"number_format": "1",
"datecreated": "2021-05-14 00:44:52",
"date": "2021-08-28",
"duedate": "2021-09-27",
"currency": "1",
"subtotal": "110.00",
"total_tax": "0.00",
"total": "110.00",
"adjustment": "0.00",
"addedfrom": "0",
"hash": "4222d2f53404324ea73535d3c0f2c3f0",
"status": "1",
"clientnote": "",
"adminnote": "",
"last_overdue_reminder": null,
"cancel_overdue_reminders": "1",
"allowed_payment_modes": "a:2:{i:0;s:1:\"1\";i:1;s:1:\"2\";}",
"token": null,
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"recurring": "0",
"recurring_type": null,
"custom_recurring": "0",
"cycles": "0",
"total_cycles": "0",
"is_recurring_from": null,
"last_recurring_date": null,
"terms": "",
"sale_agent": "0",
"billing_street": "billing address",
"billing_city": "billing city name",
"billing_state": "billing state name",
"billing_zip": "billing zip code",
"billing_country": "0",
"shipping_street": "shipping address",
"shipping_city": "city name",
"shipping_state": "state name",
"shipping_zip": "zip code",
"shipping_country": "0",
"include_shipping": "1",
"show_shipping_on_invoice": "1",
"show_quantity_as": "1",
"project_id": "0",
"subscription_id": "0",
"short_link": null,
"symbol": "$",
"name": "USD",
"decimal_separator": ".",
"thousand_separator": ",",
"placement": "before",
"isdefault": "1",
"currencyid": "1",
"currency_name": "USD",
"total_left_to_pay": "110.00",
"items": [
{
"id": "1",
"rel_id": "1",
"rel_type": "invoice",
"description": "item description",
"long_description": "item long description",
"qty": "1.00",
"rate": "10.00",
"unit": "1",
"item_order": "1",
"customfields": [
{
"label": "Input 1",
"value": "test 12 item 1"
},
{
"label": "Number 1",
"value": "10"
},
{
"label": "Textarea 1",
"value": "Lorem Ipsum is simply dummy text of the printing and typesetting industry"
},
{
"label": "Select 1",
"value": "Option 1"
},
{
"label": "Multiselect 1",
"value": "Option 1, Option 2"
},
{
"label": "Checkbox 1",
"value": "Option 1, Option 3"
},
{
"label": "Datepicker 1",
"value": "2021-05-06"
},
{
"label": "Datetime Picker 1",
"value": "2021-05-06 00:23:25"
},
{
"label": "Colorpicker 1",
"value": "#ffffff"
},
{
"label": "Hyperlink 1",
"value": "Link"
}
]
},
{
"id": "2",
"rel_id": "1",
"rel_type": "invoice",
"description": "updated item 2 description",
"long_description": "updated item 2 logn description",
"qty": "1.00",
"rate": "100.00",
"unit": "",
"item_order": "2",
"customfields": [
{
"label": "Input 1",
"value": "test 12 item 2"
},
{
"label": "Number 1",
"value": "10"
},
{
"label": "Textarea 1",
"value": "Lorem Ipsum is simply dummy text of the printing and typesetting industry"
},
{
"label": "Select 1",
"value": "Option 1"
},
{
"label": "Multiselect 1",
"value": "Option 1, Option 2"
},
{
"label": "Checkbox 1",
"value": "Option 1, Option 3"
},
{
"label": "Datepicker 1",
"value": "2021-05-06"
},
{
"label": "Datetime Picker 1",
"value": "2021-05-06 00:23:25"
},
{
"label": "Colorpicker 1",
"value": "#ffffff"
},
{
"label": "Hyperlink 1",
"value": "Link"
}
]
}
],
"attachments": [],
"visible_attachments_to_customer_found": false,
"client": {
"userid": "1",
"company": "updated company",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"datecreated": "2021-05-14 00:15:06",
"active": "1",
"leadid": null,
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"addedfrom": "0"
},
"payments": [],
"scheduled_email": null,
"customfields": [
{
"label": "Input 1",
"value": "test 12"
},
{
"label": "Number 1",
"value": "10"
},
{
"label": "Textarea 1",
"value": "Lorem Ipsum is simply dummy text of the printing and typesetting industry"
},
{
"label": "Select 1",
"value": "Option 1"
},
{
"label": "Multiselect 1",
"value": "Option 1, Option 2"
},
{
"label": "Checkbox 1",
"value": "Option 1, Option 3"
},
{
"label": "Datepicker 1",
"value": "2021-05-06"
},
{
"label": "Datetime Picker 1",
"value": "2021-05-06 00:23:25"
},
{
"label": "Colorpicker 1",
"value": "#ffffff"
},
{
"label": "Hyperlink 1",
"value": "Link"
}
]
}
Error-Response:
HTTP/1.1 404 Not Found
Same as Original request
Custom_Fields - Request Values of Custom Fields
GET
yourdomain.com/api/custom_fields/:FieldBelongsto/:id
Header
GetCustomFieldswithValue - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetCustomFieldswithValue - parameter Parameter
2
3
4
5
6
{
"type": "object",
"properties": {
"FieldBelongsto": { "type": "string" },
"id": { "type": "number" }
}
}
| Field | Type | Description |
|---|---|---|
FieldBelongsto | string | Belongs to Mandatory Field Belongs to. Allowed values: |
| id (optional) | Number | Optional unique ID. |
Success 200
GetCustomFieldswithValue - success Success 200
2
3
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Custom | Object | Custom Fields information with values. |
Error 4xx
GetCustomFieldswithValue - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
[
{
"field_name": "custom_fields[invoice][1]",
"custom_field_id": "1",
"label": "Input 1",
"required": "0",
"type": "input",
"value": "input1 data"
},
{
"field_name": "custom_fields[invoice][2]",
"custom_field_id": "2",
"label": "Number 1",
"required": "0",
"type": "number",
"value": "12"
},
{
"field_name": "custom_fields[invoice][3]",
"custom_field_id": "3",
"label": "Textarea 1",
"required": "0",
"type": "textarea",
"value": "textarea content"
},
{
"field_name": "custom_fields[invoice][4]",
"custom_field_id": "4",
"label": "Select 1",
"required": "0",
"type": "select",
"value": "[\"Option 1\"]",
"options": "[\"Option 1\",\"Option 2\",\"Option 3\"]"
},
{
"field_name": "custom_fields[invoice][5]",
"custom_field_id": "5",
"label": "Multiselect 1",
"required": "0",
"type": "multiselect",
"value": "[\"Option 1\",\" Option 2\"]",
"options": "[\"Option 1\",\"Option 2\",\"Option 3\"]"
},
{
"field_name": "custom_fields[invoice][6]",
"custom_field_id": "6",
"label": "Checkbox 1",
"required": "0",
"type": "checkbox",
"value": "[\"Option 1\",\" Option 2\"]",
"options": "[\"Option 1\",\"Option 2\",\"Option 3\"]"
},
{
"field_name": "custom_fields[invoice][7]",
"custom_field_id": "7",
"label": "Datepicker 1",
"required": "0",
"type": "date_picker",
"value": "2021-05-16"
},
{
"field_name": "custom_fields[invoice][8]",
"custom_field_id": "8",
"label": "Datetime Picker 1",
"required": "0",
"type": "date_picker_time",
"value": "2021-05-25 23:06:00"
},
{
"field_name": "custom_fields[invoice][9]",
"custom_field_id": "9",
"label": "Colorpicker 1",
"required": "0",
"type": "colorpicker",
"value": "#8f1b1b"
},
{
"field_name": "custom_fields[invoice][10]",
"custom_field_id": "10",
"label": "Hyperlink 1",
"required": "0",
"type": "link",
"value": "google"
}
]
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Custom_Fields - Search custom field values' information
Custom fields’ data will be returned combined with other request’s information during the initial SEARCH request of each available endpoint (Contacts, Invoices etc) with their respective label and value key
GET
Success-Response:
HTTP/1.1 200 OK
[
{
"id": "1",
"sent": "0",
"datesend": null,
"clientid": "1",
"deleted_customer_name": null,
"number": "10",
"prefix": "INV-",
"number_format": "1",
"datecreated": "2021-05-14 00:15:06",
"date": "2021-08-28",
"duedate": "2021-09-27",
"currency": "1",
"subtotal": "110.00",
"total_tax": "0.00",
"total": "110.00",
"adjustment": "0.00",
"addedfrom": "0",
"hash": "4222d2f53404324ea73535d3c0f2c3f0",
"status": "1",
"clientnote": "",
"adminnote": "",
"last_overdue_reminder": null,
"cancel_overdue_reminders": "1",
"allowed_payment_modes": "a:2:{i:0;s:1:\"1\";i:1;s:1:\"2\";}",
"token": null,
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"recurring": "0",
"recurring_type": null,
"custom_recurring": "0",
"cycles": "0",
"total_cycles": "0",
"is_recurring_from": null,
"last_recurring_date": null,
"terms": "",
"sale_agent": "0",
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"include_shipping": "1",
"show_shipping_on_invoice": "1",
"show_quantity_as": "1",
"project_id": "0",
"subscription_id": "0",
"short_link": null,
"userid": "1",
"company": "updated company",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"active": "1",
"leadid": null,
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"invoiceid": "1",
"customfields": [
{
"label": "Input 1",
"value": "test 12"
},
{
"label": "Number 1",
"value": "10"
},
{
"label": "Textarea 1",
"value": "Lorem Ipsum is simply dummy text of the printing and typesetting industry"
},
{
"label": "Select 1",
"value": "Option 1"
},
{
"label": "Multiselect 1",
"value": "Option 1, Option 2"
},
{
"label": "Checkbox 1",
"value": "Option 1, Option 3"
},
{
"label": "Datepicker 1",
"value": "2021-05-06"
},
{
"label": "Datetime Picker 1",
"value": "2021-05-06 00:23:25"
},
{
"label": "Colorpicker 1",
"value": "#ffffff"
},
{
"label": "Hyperlink 1",
"value": "Link"
}
]
},
{
"id": "2",
"sent": "0",
"datesend": null,
"clientid": "1",
"deleted_customer_name": null,
"number": "4",
"prefix": "INV-",
"number_format": "1",
"datecreated": "2021-05-14 00:15:06",
"date": "2021-05-28",
"duedate": "2021-06-27",
"currency": "1",
"subtotal": "110.00",
"total_tax": "0.00",
"total": "110.00",
"adjustment": "0.00",
"addedfrom": "0",
"hash": "630f8cc7ed2e6a70c4113ab24041bdf5",
"status": "6",
"clientnote": "",
"adminnote": "",
"last_overdue_reminder": null,
"cancel_overdue_reminders": "1",
"allowed_payment_modes": "a:2:{i:0;s:1:\"1\";i:1;s:1:\"2\";}",
"token": null,
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"recurring": "0",
"recurring_type": null,
"custom_recurring": "0",
"cycles": "0",
"total_cycles": "0",
"is_recurring_from": null,
"last_recurring_date": null,
"terms": "",
"sale_agent": "0",
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"include_shipping": "1",
"show_shipping_on_invoice": "1",
"show_quantity_as": "1",
"project_id": "0",
"subscription_id": "0",
"short_link": null,
"userid": "1",
"company": "updated company",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"active": "1",
"leadid": null,
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"invoiceid": "2",
"customfields": [
{
"label": "Input 1",
"value": "test 12"
},
{
"label": "Number 1",
"value": "10"
},
{
"label": "Textarea 1",
"value": "Lorem Ipsum is simply dummy text of the printing and typesetting industry"
},
{
"label": "Select 1",
"value": "Option 1"
},
{
"label": "Multiselect 1",
"value": "Option 1, Option 2"
},
{
"label": "Checkbox 1",
"value": "Option 1, Option 3"
},
{
"label": "Datepicker 1",
"value": "2021-05-06"
},
{
"label": "Datetime Picker 1",
"value": "2021-05-06 00:23:25"
},
{
"label": "Colorpicker 1",
"value": "#ffffff"
},
{
"label": "Hyperlink 1",
"value": "Link"
}
]
}
]
Error-Response:
HTTP/1.1 404 Not Found
Same as Original request
Custom_Fields - Update Custom Fields
Submit URL for PUT request of the custom fields remains the same for each endpoint (ie api/contacts for Contacts endpoint, api/invoices for Invoices endpoint, etc..)
In this example, we will use the following form data which corresponds to the following custom field types:
custom_fields[invoice][1] = Input Type
custom_fields[invoice][2] = Number
custom_fields[invoice][3] = Textarea
custom_fields[invoice][4] = Radio
custom_fields[invoice][5] = Checkbox
custom_fields[invoice][6] = Multiselect
custom_fields[invoice][7] = Date
custom_fields[invoice][8] = Datetime
custom_fields[invoice][9] = Color
custom_fields[invoice][10] = Link
PUT
Parameter
PutActionExample - parameter Parameter
2
3
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
custom_fields[customFieldType] | string/array | Custom Field JSON should be same as below with field_name and custom_field_id returned from Search custom field values' information |
Success-Response:
HTTP/1.1 200 OK
Same as Original request
Error-Response:
HTTP/1.1 404 Not Found
Same as Original request
Customers
Customers - Add New Customer
POST
Header
PostCustomer - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostCustomer - parameter Parameter
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
"type": "object",
"properties": {
"company": { "type": "string" },
"vat": { "type": "string" },
"phonenumber": { "type": "string" },
"website": { "type": "string" },
"default_language": { "type": "string" },
"default_currency": { "type": "string" },
"address": { "type": "string" },
"city": { "type": "string" },
"state": { "type": "string" },
"zip": { "type": "string" },
"partnership_type": { "type": "string" },
"country": { "type": "string" },
"billing_street": { "type": "string" },
"billing_city": { "type": "string" },
"billing_state": { "type": "number" },
"billing_zip": { "type": "string" },
"billing_country": { "type": "string" },
"shipping_street": { "type": "string" },
"shipping_city": { "type": "string" },
"shipping_state": { "type": "string" },
"shipping_zip": { "type": "string" },
"shipping_country": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
| company | String | Mandatory Customer company. |
| vat (optional) | String | Optional Vat. |
| phonenumber (optional) | String | Optional Customer Phone. |
| website (optional) | String | Optional Customer Website. |
| groups_in (optional) | Number[] | Optional Customer groups. |
| default_language (optional) | String | Optional Customer Default Language. |
| default_currency (optional) | String | Optional default currency. |
| address (optional) | String | Optional Customer address. |
| city (optional) | String | Optional Customer City. |
| state (optional) | String | Optional Customer state. |
| zip (optional) | String | Optional Zip Code. |
| partnership_type (optional) | String | Optional Customer partnership type. |
| country (optional) | String | Optional country. |
| billing_street (optional) | String | Optional Billing Address: Street. |
| billing_city (optional) | String | Optional Billing Address: City. |
| billing_state (optional) | Number | Optional Billing Address: State. |
| billing_zip (optional) | String | Optional Billing Address: Zip. |
| billing_country (optional) | String | Optional Billing Address: Country. |
| shipping_street (optional) | String | Optional Shipping Address: Street. |
| shipping_city (optional) | String | Optional Shipping Address: City. |
| shipping_state (optional)terms (optional) | String | Optional Shipping Address: State. |
| shipping_zip (optional) | String | Optional Shipping Address: Zip. |
| shipping_country (optional) | String | Optional Shipping Address: Country. |
Success 200
PostCustomer - success Success 200
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Customer add successful. |
Error 4xx
PostCustomer - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Customer add fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Customer add successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Customer add fail."
}
Customers - Delete a Customer
DELETE
Header
DeleteCustomer - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
DeleteCustomer - parameter Parameter
2
3
4
{
"type": "object",
"properties": {
"id": { "type": "number" }
}
}
| Field | Type | Description |
|---|---|---|
| id | Number | Customer unique ID. |
Success 200
DeleteCustomer - success Success 200
2
3
4
5
6
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Customer Delete Successful. |
Error 4xx
DeleteCustomer - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Customer Delete Fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Customer Delete Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Customer Delete Fail."
}
Customers - Request customer information
GET
Header
GetCustomer - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetCustomer - parameter Parameter
2
3
4
{
"type": "object",
"properties": {
"id": { "type": "number" }
}
}
| Field | Type | Description |
|---|---|---|
| id | Number | customer unique ID. |
Success 200
GetCustomerSearch - success Success 200
2
3
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| customer | Object | information. |
Error 4xx
GetCustomer - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "28",
"name": "Test1",
"description": null,
"status": "1",
"clientid": "11",
"billing_type": "3",
"start_date": "2019-04-19",
"deadline": "2019-08-30",
"customer_created": "2019-07-16",
"date_finished": null,
"progress": "0",
"progress_from_tasks": "1",
"customer_cost": "0.00",
"customer_rate_per_hour": "0.00",
"estimated_hours": "0.00",
"addedfrom": "5",
"rel_type": "customer",
"potential_revenue": "0.00",
"potential_margin": "0.00",
"external": "E",
...
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Customers - Search Customer Information
GET
yourdomain.com/api/customers/search/:keysearch
Header
GetCustomerSearch - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetCustomerSearch - parameter Parameter
2
3
4
{
"type": "object",
"properties": {
"keysearch": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords. |
Success 200
GetCustomerSearch - success Success 200
2
3
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| customer | Object | information. |
Error 4xx
GetCustomerSearch - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "28",
"name": "Test1",
"description": null,
"status": "1",
"clientid": "11",
"billing_type": "3",
"start_date": "2019-04-19",
"deadline": "2019-08-30",
"customer_created": "2019-07-16",
"date_finished": null,
"progress": "0",
"progress_from_tasks": "1",
"customer_cost": "0.00",
"customer_rate_per_hour": "0.00",
"estimated_hours": "0.00",
"addedfrom": "5",
"rel_type": "customer",
"potential_revenue": "0.00",
"potential_margin": "0.00",
"external": "E",
...
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Customers - Update a Customer
PUT
Header
PutCustomer - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PutCustomer - parameter Parameter
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
{
"type": "object",
"properties": {
"company": { "type": "string" },
"vat": { "type": "string" },
"phonenumber": { "type": "string" },
"website": { "type": "string" },
"default_language": { "type": "string" },
"default_currency": { "type": "string" },
"address": { "type": "string" },
"city": { "type": "string" },
"state": { "type": "string" },
"zip": { "type": "string" },
"country": { "type": "string" },
"billing_street": { "type": "string" },
"billing_city": { "type": "string" },
"billing_state": { "type": "number" },
"billing_zip": { "type": "string" },
"billing_country": { "type": "string" },
"shipping_street": { "type": "string" },
"shipping_city": { "type": "string" },
"shipping_state": { "type": "string" },
"shipping_zip": { "type": "string" },
"shipping_country": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
company | String | Mandatory Customer company. |
vat (optional) | String | Optional Vat. |
phonenumber (optional) | String | Optional Customer Phone. |
website (optional) | String | Optional Customer Website. |
groups_in (optional) | Number[] | Optional Customer groups. |
default_language (optional) | String | Optional Customer Default Language. |
default_currency (optional) | String | Optional default currency. |
address (optional) | String | Optional Customer address. |
city (optional) | String | Optional Customer City. |
state (optional) | String | Optional Customer state. |
zip (optional) | String | Optional Zip Code. |
country (optional) | String | Optional country |
billing_street (optional) | String | Optional Billing Address: Street. |
billing_city (optional) | String | Optional Billing Address: City. |
billing_state (optional) | Number | Optional Billing Address: State. |
billing_zip (optional) | String | Optional Billing Address: Zip. |
billing_country (optional) | String | Optional Billing Address: Country. |
shipping_street (optional) | String | Optional Shipping Address: Street. |
shipping_city (optional) | String | Optional Shipping Address: City. |
shipping_state (optional) | String | Optional Shipping Address: State. |
shipping_zip (optional)/strong> | String | Optional Shipping Address: Zip. |
shipping_country (optional) | String |
|
Success 200
PutCustomer - success Success 200
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Customer Update Successful. |
Error 4xx
PutCustomer - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Customer Update Fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Customer Update Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Customer Update Fail."
}
Estimates
Estimates - Add New Estimates
POST
Header
PostEstimates - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostEstimates - parameter Parameter
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{
"type": "object",
"properties": {
"clientid": { "type": "number" },
"number": { "type": "number" },
"currency": { "type": "number" },
"newitems": {
"type": "array",
"items": {}
},
"billing_street": { "type": "string" },
"billing_city": { "type": "string" },
"billing_state": { "type": "string" },
"billing_zip": { "type": "number" },
"billing_country": { "type": "number" },
"shipping_street": { "type": "string" },
"shipping_city": { "type": "string" },
"shipping_state": { "type": "string" },
"shipping_zip": { "type": "number" },
"shipping_country": { "type": "number" },
"tags": { "type": "string" },
"status": { "type": "number" },
"Reference": { "type": "string" },
"sale_agent": { "type": "number" },
"adminnote": { "type": "string" },
"clientnote": { "type": "string" },
"terms": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
clientid | Number | Mandatory. Customer id |
number | Number | Mandatory. Estimates Number |
date | Date | Mandatory. Estimates Date |
| duedate (optional) | Date | Optional. Expiry Date of Estimates |
currency | Number | Mandatory. currency field |
| subtotal | Decimal | Mandatory. calculation based on item Qty, Rate and Tax |
| total | Decimal | Mandatory. calculation based on subtotal, Discount and Adjustment |
billing_street | String | Optional. Street Address |
billing_city (optional) | String | Optional. City Name for billing |
billing_state (optional) | String | Optional. Name of state for billing |
billing_zip (optional) | Number | Optional. Zip code |
billing_country (optional) | Number | Optional. Country code |
shipping_street (optional) | String | Optional. Address of shipping |
shipping_city (optional) | String | Optional. City name for shipping |
shipping_state (optional) | String | Optional. Name of state for shipping |
shipping_zip (optional) | Number | Optional. Zip code for shipping |
shipping_country (optional) | Number | Optional. Country code |
| tags (optional) | String | Optional. TAGS comma separated |
| status (optional) | Number | Optional. Status id (default status is Accepted) |
| Reference (optional) | String | Optional. Reference name |
| sale_agent (optional) | Number | Optional. Sale Agent name |
| adminnote (optional) | String | Optional. notes by admin |
| clientnote (optional) | String | Optional. client notes |
| terms (optional) | String | Optional. Terms |
Success 200
PostEstimates - success Success 200
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Estimates Added Successfully |
Error 4xx
PostEstimates - error Error 4xx
2
3
4
5
6
7
8
9
10
11
12
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" },
"newitems[]": { "type": "string" },
"number": { "type": "string" },
"subtotal": { "type": "string" },
"total": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Estimates add fail |
newitems[] | String | The Items field is required |
number | String | The Estimates number is already in use |
subtotal | String | The Sub Total field is required |
total | String | The Total field is required |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Estimates Added Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Estimates Add Fail"
}
Error-Response:
HTTP/1.1 409 Conflict
{
"status": false,
"error": {
"number":"The Estimates number is already in use"
},
"message": "The Estimates number is already in use"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"newitems[]": "The Items field is required"
},
"message": "The Items field is required
\n"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"subtotal": "The Sub Total field is required"
},
"message": "The Sub Total field is required
\n"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"total": "The Total field is required"
},
"message": "The Total field is required
\n"
}
Estimates - Delete Estimate
DELETE
Header
DeleteEstimate - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Success 200
DeleteEstimate - success Success 200
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Estimates Deleted Successfully |
Error 4xx
DeleteEstimate - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Estimate Delete Fail |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Estimate Deleted Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Estimate Delete Fail"
}
Estimates - Request Estimate information
GET
Header
GetEstimate - header Header
2
3
4
5
6
7
8
9
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetEstimate - parameter Parameter
2
3
4
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
| id | Number | Contact unique ID |
Success 200
GetEstimate - success Success 200
2
3
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Estimates | Object | information. |
Error 4xx
GetEstimate - error Error 4xx
2
3
4
5
6
7
8
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "1",
"sent": "0",
"datesend": null,
"clientid": "1",
"deleted_customer_name": null,
"project_id": "0",
"number": "1",
"prefix": "EST-",
"number_format": "1",
"hash": "b12ae9de6471d0cf153d7846f05128af",
"datecreated": "2021-07-31 11:06:49",
"date": "2021-07-31",
"expirydate": "2021-08-07",
"currency": "1",
"subtotal": "1200.00",
"total_tax": "0.00",
"total": "1200.00",
"adjustment": "0.00",
"addedfrom": "1",
"status": "1",
"clientnote": "",
"adminnote": "",
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"invoiceid": null,
"invoiced_date": null,
"terms": "",
"reference_no": "",
"sale_agent": "0",
"billing_street": "Thangadh, Gujarat, India
\r\nShipping",
"billing_city": "Thangadh",
"billing_state": "Gujarat",
"billing_zip": "363630",
"billing_country": "102",
"shipping_street": "Thangadh, Gujarat, India
\r\nShipping",
"shipping_city": "Thangadh",
"shipping_state": "Gujarat",
"shipping_zip": "363630",
"shipping_country": "102",
"include_shipping": "1",
"show_shipping_on_estimate": "1",
"show_quantity_as": "1",
"pipeline_order": "0",
"is_expiry_notified": "0",
"acceptance_firstname": null,
"acceptance_lastname": null,
"acceptance_email": null,
"acceptance_date": null,
"acceptance_ip": null,
"signature": null,
"short_link": null,
"symbol": "$",
"name": "USD",
"decimal_separator": ".",
"thousand_separator": ",",
"placement": "before",
"isdefault": "1",
"currencyid": "1",
"currency_name": "USD",
"attachments": [],
"visible_attachments_to_customer_found": false,
"items": [
{
"id": "2",
"rel_id": "1",
"rel_type": "estimate",
"description": "test",
"long_description": "test",
"qty": "1.00",
"rate": "1200.00",
"unit": "1",
"item_order": "1"
}
],
"client": {
"userid": "1",
"company": "test",
"vat": "",
"phonenumber": "01324568903",
"country": "102",
"city": "test",
"zip": "3000",
"state": "Test",
"address": "Test",
"website": "",
"datecreated": "2021-07-30 16:29:46",
"active": "1",
"leadid": null,
"billing_street": "Test",
"billing_city": "Test",
"billing_state": "Test",
"billing_zip": "3000",
"billing_country": "102",
"shipping_street": "Test",
"shipping_city": "Test",
"shipping_state": "Test",
"shipping_zip": "3000",
"shipping_country": "102",
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"addedfrom": "1"
},
"scheduled_email": null,
"customfields": []
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Estimates - Search Estimate information
GET
Header
GetEstimateSearch - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetEstimateSearch - parameter Parameter
{
"type": "object",
"properties": {
"keysearch": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords |
Success 200
GetEstimateSearch - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Estimates | Object | information. |
Error 4xx
GetEstimateSearch - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "2",
"sent": "0",
"datesend": null,
"clientid": "1",
"deleted_customer_name": null,
"project_id": "0",
"number": "2",
"prefix": "EST-",
"number_format": "1",
"hash": "ac754972999f948ade369c70bb44d696",
"datecreated": "2021-07-30 16:29:46",
"date": "2021-08-01",
"expirydate": "2021-08-08",
"currency": "1",
"subtotal": "1200.00",
"total_tax": "0.00",
"total": "1200.00",
"adjustment": "0.00",
"addedfrom": "1",
"status": "1",
"clientnote": "",
"adminnote": "adminnote",
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"invoiceid": null,
"invoiced_date": null,
"terms": "",
"reference_no": "",
"sale_agent": "0",
"billing_street": "Test",
"billing_city": "Test",
"billing_state": "Test",
"billing_zip": "3000",
"billing_country": "102",
"shipping_street": "Test",
"shipping_city": "Test",
"shipping_state": "Test",
"shipping_zip": "3000",
"shipping_country": "102",
"include_shipping": "1",
"show_shipping_on_estimate": "1",
"show_quantity_as": "1",
"pipeline_order": "0",
"is_expiry_notified": "0",
"acceptance_firstname": null,
"acceptance_lastname": null,
"acceptance_email": null,
"acceptance_date": null,
"acceptance_ip": null,
"signature": null,
"short_link": null,
"userid": "1",
"company": "test",
"vat": "",
"phonenumber": "01324568903",
"country": "102",
"city": "Test",
"zip": "3000",
"state": "Test",
"address": "Test",
"website": "",
"active": "1",
"leadid": null,
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"estimateid": "2",
"customfields": []
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No Data Were Found"
}
Estimates - Update a estimate
PUT
Header
PutEstimate - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PutEstimate - parameter Parameter
{
"type": "object",
"properties": {
"clientid": { "type": "string" },
"billing_street": { "type": "string" },
"billing_city": { "type": "string" },
"billing_state": { "type": "string" },
"billing_zip": { "type": "number" },
"billing_country": { "type": "number" },
"include_shipping": { "type": "boolean" },
"show_shipping_on_estimate": { "type": "boolean" },
"shipping_street": { "type": "string" },
"shipping_city": { "type": "string" },
"shipping_state": { "type": "string" },
"shipping_zip": { "type": "number" },
"shipping_country": { "type": "number" },
"number": { "type": "number" },
"tags": { "type": "string" },
"currency": { "type": "number" },
"status": { "type": "number" },
"reference_no": { "type": "string" },
"sale_agent": { "type": "number" },
"discount_type": { "type": "string" },
"adminnote": { "type": "string" },
"items": { "type": "array", "items": {} },
"removed_items": { "type": "array", "items": {} },
"newitems": { "type": "array", "items": {} },
"clientnote": { "type": "string" },
"terms": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
clientid | String | Mandatory. Customer id |
| billing_street | String | Mandatory. Street Address |
| billing_city (optional) | String | Optional. City Name for billing |
| billing_state (optional) | String | Optional. Name of state for billing |
| billing_zip (optional) | Number | Optional. Zip code |
| billing_country (optional) | Number | Optional. Country code |
| rinclude_shipping (optional) | boolean | Optional. set yes if you want add Shipping Address Default value: no |
| show_shipping_on_estimate (optional) | boolean | Optional. Shows shipping details in estimate. |
| shipping_street (optional) | String | Optional. Address of shipping |
| shipping_city (optional) | String | Optional. City name for shipping |
| shipping_state (optional) | String | Optional. Name of state for shipping |
| shipping_zip (optional) | Number | Optional. Zip code for shipping |
| shipping_country (optional) | Number | Optional. Country code |
| number | Number | Mandatory. Estimate Number |
| date | Date | Mandatory. Estimate Date |
| expirydate (optional) | Date | Optional. Expiry Date of Estimate |
| tags (optional) | String | Optional. TAGS comma separated |
| currency | Number | Mandatory. currency field |
| status | Number | Mandatory. Estimate Status(eg. Draft, Sent) |
| reference_no (optional) | String | Optional. Reference # |
| sale_agent (optional) | Number | Optional. Sale Agent name |
| discount_type (optional) | String | Optional. before_tax / after_tax discount type |
| adminnote (optional) | String | Optional. notes by admin |
| items (optional) | Array | Mandatory. Existing items with Id |
removed_items (optional) | Array | Optional. Items to be removed |
newitems (optional) | Array | Optional. New Items to be added |
| subtotal | Decimal | Mandatory. calculation based on item Qty, Rate and Tax |
total | Decimal | Mandatory. calculation based on subtotal, Discount and Adjustment |
clientnote (optional) | String | Optional. client notes |
| terms (optional) | String | Optional. Terms |
Error 4xx
PutEstimate - error Error 4xx
{
"type": "object",
"properties": {
"number": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
| number | String | The Estimate number is already in use |
Success-Response:
HTTP/1.1 200 OK
{
"status": false,
"message": "Estimate Updated Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Estimate Update Fail"
}
Error-Response:
HTTP/1.1 409 Conflict
{
"status": false,
"error": {
"number":"The Estimate number is already in use"
},
"message": "The Estimate number is already in use"
}
Expense Categories
Expense_Categories - Request Expense category
GET
yourdomain.com/api/common/expense_category
Header
GetExpense category - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Success 200
GetExpense category - success Success 200
{
"type": "object",
"properties": {
"Expense": {
"type": "array",
"items": {}
}
}
}
| Field | Type | Description |
|---|---|---|
| Expense | Array | category information. |
Error 4xx
GetExpense category - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
[
{
"id": "1",
"name": "cloud server",
"description": "AWS server"
},
{
"id": "2",
"name": "website domain",
"description": "domain Managment and configurations"
}
]
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Expenses
Expenses - Add Expense
POST
Header
AddExpense - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
AddExpense - parameter Parameter
{
"type": "object",
"properties": {
"expense_name": { "type": "string" },
"note": { "type": "string" },
"category": { "type": "number" },
"clientid": { "type": "number" },
"currency": { "type": "number" },
"tax": { "type": "number" },
"tax2": { "type": "number" },
"paymentmode": { "type": "number" },
"reference_no": { "type": "string" },
"recurring": { "type": "string" },
"repeat_every_custom": { "type": "number" },
"repeat_type_custom": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
| expense_name (optional) | String | Optional. Expanse Name |
| note (optional)date | String | Optional. Expanse Note |
| category | Number | Mandatory. Expense Category |
| amount | Decimal | Mandatory. Expense Amount |
| date | Date | Mandatory. Expense Date |
| clientid | Number | Optional. Customer id |
| currency | Number | Mandatory. Currency Field |
| tax | Number | Optional. Tax 1 |
| tax2 | Number | Optional. Tax 2 |
| paymentmode | Number | Optional. Payment mode |
| reference_no (optional) | String | Optional. Reference # |
| recurring (optional) | String | Optional. recurring 1 to 12 or custom |
| repeat_every_custom (optional) | Number | Optional. if recurring is custom set number gap |
| repeat_type_custom (optional) | String | Optional. if recurring is custom set gap option day/week/month/year |
Success 200
AddExpense - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Expense Added Successfully |
Error 4xx
AddExpense - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" },
"category": { "type": "string" },
"date": { "type": "string" },
"amount": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Credit Note add fail |
| category | String | The Expense Category is not found. |
| date | String | The Expense date field is required. |
| amount | String | The Amount field is required. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Expense Added Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Expense Add Fail"
}
Error-Response:
HTTP/1.1 409 Conflict
{
"status": false,
"error": {
"category":"The Expense Category is not found"
},
"message": "The Expense Category is not found"
}
Error-Response:
HTTP/1.1 409 Conflict
{
"status": false,
"error": {
"date":"The Expense date field is required."
},
"message": "The Expense date field is required."
}
Error-Response:
HTTP/1.1 409 Conflict
{
"status": false,
"error": {
"amount":"The Amount field is required."
},
"message": "The Amount field is required."
}
Expenses - Delete Expense
DELETE
Header
DeleteExpenses - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Success 200
DeleteExpenses - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Expense Deleted Successfully |
Error 4xx
DeleteExpenses - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Expense Delete Fail |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Expense Deleted Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Expense Delete Fail"
}
Expenses - Request Expense information
GET
Header
GetExpense - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetExpense - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
| id | Number | Expense unique ID. |
Success 200
GetExpense - success Success 200
{
"type": "object",
"properties": {
"Expense": {
"type": "array",
"items": {}
}
}
}
| Field | Type | Description |
|---|---|---|
| Expense | Array | Expense information. |
Error 4xx
GetExpense - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
[
{
"id": "1",
"category": "1",
"currency": "1",
"amount": "50.00",
"tax": "0",
"tax2": "0",
"reference_no": "012457893",
"note": "AWS server hosting charges",
"expense_name": "Cloud Hosting",
"clientid": "1",
"project_id": "0",
"billable": "0",
"invoiceid": null,
"paymentmode": "2",
"date": "2021-09-01",
"recurring_type": "month",
"repeat_every": "1",
"recurring": "1",
"cycles": "12",
"total_cycles": "0",
"custom_recurring": "0",
"last_recurring_date": null,
"create_invoice_billable": "0",
"send_invoice_to_customer": "0",
"recurring_from": null,
"dateadded": "2021-09-01 12:26:34",
"addedfrom": "1",
"is_expense_created_in_xero": "0",
"userid": "1",
"company": "Company A",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"datecreated": "2020-05-25 22:55:49",
"active": "1",
"leadid": null,
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"name": "Hosting Management",
"description": "server space and other settings",
"show_on_pdf": "0",
"invoices_only": "0",
"expenses_only": "0",
"selected_by_default": "0",
"taxrate": null,
"category_name": "Hosting Management",
"payment_mode_name": "Paypal",
"tax_name": null,
"tax_name2": null,
"taxrate2": null,
"expenseid": "1",
"customfields": []
}
]
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Expenses - Search Expenses information
GET
Header
GetExpenseSearch - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetExpenseSearch - parameter Parameter
{
"type": "object",
"properties": {
"keysearch": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords |
Success 200
GetExpenseSearch - success Success 200
{
"type": "object",
"properties": {
"Expenses": {
"type": "array",
"items": {}
}
}
}
| Field | Type | Description |
|---|---|---|
| Expenses | Array | Expenses Information |
Error 4xx
GetExpenseSearch - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
[
{
"id": "1",
"category": "1",
"currency": "1",
"amount": "50.00",
"tax": "0",
"tax2": "0",
"reference_no": "012457893",
"note": "AWS server hosting charges",
"expense_name": "Cloud Hosting",
"clientid": "1",
"project_id": "0",
"billable": "0",
"invoiceid": null,
"paymentmode": "2",
"date": "2021-09-01",
"recurring_type": "month",
"repeat_every": "1",
"recurring": "1",
"cycles": "12",
"total_cycles": "0",
"custom_recurring": "0",
"last_recurring_date": null,
"create_invoice_billable": "0",
"send_invoice_to_customer": "0",
"recurring_from": null,
"dateadded": "2021-09-01 12:26:34",
"addedfrom": "1",
"is_expense_created_in_xero": "0",
"userid": "1",
"company": "Company A",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"datecreated": "2020-05-25 22:55:49",
"active": "1",
"leadid": null,
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"name": "Hosting Management",
"description": "server space and other settings",
"show_on_pdf": "0",
"invoices_only": "0",
"expenses_only": "0",
"selected_by_default": "0",
"taxrate": null,
"category_name": "Hosting Management",
"payment_mode_name": "Paypal",
"tax_name": null,
"tax_name2": null,
"taxrate2": null,
"expenseid": "1",
"customfields": []
}
]
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Expenses - Update a Expense
PUT
Header
PutExpense - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PutExpense - parameter Parameter
{
"type": "object",
"properties": {
"expense_name": { "type": "string" },
"note": { "type": "string" },
"category": { "type": "number" },
"clientid": { "type": "number" },
"currency": { "type": "number" },
"tax": { "type": "number" },
"tax2": { "type": "number" },
"paymentmode": { "type": "number" },
"reference_no": { "type": "string" },
"recurring": { "type": "string" },
"repeat_every_custom": { "type": "number" },
"repeat_type_custom": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
| expense_name (optional) | String | Optional. Name |
| note (optional) | String | Optional. Note |
| category | Number | Mandatory. Expense Category |
| amount | Decimal | Mandatory. Expense Amount |
| date | Date | Mandatory. Expense Date |
| clientid | Number | Optional. Customer id |
| currency | Number | Mandatory. currency field |
| tax | Number | Optional. Tax 1 |
| tax2 | Number | Optional. Tax 2 |
| paymentmode | Number | Optional. Payment mode |
| reference_no (optional) | String | Optional. Reference # |
| recurring (optional) | String | Optional. recurring 1 to 12 or custom |
| repeat_every_custom (optional) | Number | Optional. if recurring is custom set number gap |
| repeat_type_custom (optional) | String | Optional. if recurring is custom set gap option day/week/month/year |
Success 200
PutExpense - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Expense Updated Successfully |
Error 4xx
PutExpense - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" },
"category": { "type": "string" },
"date": { "type": "string" },
"amount": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Expense Update Fail |
| category | String | The Expense Category is not found. |
| date | String | The Expense date field is required. |
| amount | String | The Amount field is required. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Expense Updated Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Expense Update Fail"
}
Error-Response:
HTTP/1.1 409 Conflict
{
"status": false,
"error": {
"category":"The Expense Category is not found"
},
"message": "The Expense Category is not found"
}
Error-Response:
HTTP/1.1 409 Conflict
{
"status": false,
"error": {
"date":"The Expense date field is required."
},
"message": "The Expense date field is required."
}
Error-Response:
HTTP/1.1 409 Conflict
{
"status": false,
"error": {
"amount":"The Amount field is required."
},
"message": "The Amount field is required."
}
Invoices
Invoices - Add New invoice
POST
Header
PostInvoice - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostInvoice - parameter Parameter
{
"type": "object",
"properties": {
"clientid": { "type": "number" },
"number": { "type": "number" },
"currency": { "type": "number" },
"newitems": { "type": "array", "items": {} },
"billing_street": { "type": "string" },
"allowed_payment_modes": { "type": "array", "items": {} },
"billing_city": { "type": "string" },
"billing_state": { "type": "string" },
"billing_zip": { "type": "number" },
"billing_country": { "type": "number" },
"include_shipping": { "type": "boolean" },
"show_shipping_on_invoice": { "type": "boolean" },
"shipping_street": { "type": "string" },
"shipping_city": { "type": "string" },
"shipping_state": { "type": "string" },
"shipping_zip": { "type": "number" },
"shipping_country": { "type": "number" },
"cancel_overdue_reminders": { "type": "boolean" },
"tags": { "type": "string" },
"sale_agent": { "type": "number" },
"recurring": { "type": "string" },
"discount_type": { "type": "string" },
"repeat_every_custom": { "type": "number" },
"repeat_type_custom": { "type": "string" },
"cycles": { "type": "number" },
"adminnote": { "type": "string" },
"removed_items": { "type": "array", "items": {} },
"clientnote": { "type": "string" },
"terms": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
clientid | Number | Mandatory. Customer id |
number | Number | Mandatory. Invoice Number |
date | Date | Mandatory. Invoice Date |
currency | Number | Mandatory. currency field |
newitems | Array | Mandatory. New Items to be added |
subtotal | Decimal | Mandatory. calculation based on item Qty, Rate and Tax |
total | Decimal | Mandatory. calculation based on subtotal, Discount and Adjustment |
billing_street | String | Mandatory. Street Address |
allowed_payment_modes | Array | Mandatory. Payment modes |
billing_city (optional) | String | Optional. City Name for billing |
billing_state (optional) | String | Optional. Name of state for billing |
billing_zip (optional) | Number | Optional. Zip code |
billing_country (optional) | Number | Optional. Country code |
include_shipping (optional) | boolean | Optional. set yes if you want add Shipping Address Default value: no |
show_shipping_on_invoice (optional) | boolean | Optional. Shows shipping details in invoice. |
shipping_street (optional) | String | Optional. Address of shipping |
shipping_city (optional) | String | Optional. City name for shipping |
shipping_state (optional) | String | Optional. Name of state for shipping |
shipping_zip (optional) | Number | Optional. Zip code for shipping |
shipping_country (optional) | Number | Optional. Country code |
duedate (optional) | Date | Optional. Due date for Invoice |
cancel_overdue_reminders (optional) | boolean | Optional. Prevent sending overdue remainders for invoice |
tags (optional) | String | Optional. TAGS comma separated |
sale_agent (optional) | Number | Optional. Sale Agent name |
recurring (optional) | String | Optional. recurring 1 to 12 or custom |
discount_type (optional) | String | Optional. before_tax / after_tax discount type |
repeat_every_custom (optional) | Number | Optional. if recurring is custom set number gap |
repeat_type_custom (optional) | String | Optional. if recurring is custom set gap option day/week/month/year |
cycles (optional) | Number | Optional. number of cycles 0 for infinite |
adminnote (optional) | String | Optional. notes by admin |
removed_items (optional) | Array | Optional. Items to be removed |
clientnote (optional) | String | Optional. client notes |
terms (optional) | String | Optional. Terms |
Success 200
PostInvoice - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Invoice Added Successfully |
Error 4xx
PostInvoice - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" },
"newitems[]": { "type": "string" },
"number": { "type": "string" },
"allowed_payment_modes[]": { "type": "string" },
"billing_street": { "type": "string" },
"subtotal": { "type": "string" },
"total": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Credit Note add fail |
| newitems[] | String | The Items field is required |
| number | String | The Invoice number is already in use |
allowed_payment_modes[] | String | The Allow Payment Mode field is required |
| billing_street | String | The Billing Street field is required |
subtotal | String | The Sub Total field is required |
| total | String | The Total field is required |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Invoice Added Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Invoice Add Fail"
}
Error-Response:
HTTP/1.1 409 Conflict
{
"status": false,
"error": {
"number":"The Invoice number is already in use"
},
"message": "The Invoice number is already in use"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"allowed_payment_modes[]": "The Allow Payment Mode field is required."
},
"message": "The Allow Payment Mode field is required.
\n"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"billing_street": "The Billing Street field is required"
},
"message": "The Billing Street field is required
\n"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"newitems[]": "The Items field is required"
},
"message": "The Items field is required
\n"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"subtotal": "The Sub Total field is required"
},
"message": "The Sub Total field is required
\n"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"error": {
"total": "The Total field is required"
},
"message": "The Total field is required
\n"
}
Invoices - Delete invoice
DELETE
Header
DeleteInvoice - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Success 200
DeleteInvoice - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Invoice Deleted Successfully |
Error 4xx
DeleteInvoice - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Invoice Delete Fail |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Invoice Deleted Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Invoice Delete Fail"
}
Invoices - Request invoice information
GET
Header
GetInvoice - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetInvoice - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | Contact unique ID |
Success 200
GetInvoice - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Invoice | Object | Invoice information. |
Error 4xx
GetInvoice - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "2",
"sent": "0",
"datesend": null,
"clientid": "1",
"deleted_customer_name": null,
"number": "2",
"prefix": "INV-",
"number_format": "1",
"datecreated": "2020-05-26 19:53:11",
"date": "2020-05-26",
"duedate": "2020-06-25",
"currency": "1",
"subtotal": "5.00",
"total_tax": "0.00",
"total": "5.00",
"adjustment": "0.00",
"addedfrom": "0",
"hash": "7bfac86da004df5364407574d4d1dbf2",
"status": "1",
"clientnote": null,
"adminnote": null,
"last_overdue_reminder": null,
"cancel_overdue_reminders": "0",
"allowed_payment_modes": "['1']",
"token": null,
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"recurring": "0",
"recurring_type": null,
"custom_recurring": "0",
"cycles": "0",
"total_cycles": "0",
"is_recurring_from": null,
"last_recurring_date": null,
"terms": null,
"sale_agent": "0",
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": null,
"shipping_street": null,
"shipping_city": null,
"shipping_state": null,
"shipping_zip": null,
"shipping_country": null,
"include_shipping": "0",
"show_shipping_on_invoice": "1",
"show_quantity_as": "1",
"project_id": "0",
"subscription_id": "0",
"symbol": "$",
"name": "USD",
"decimal_separator": ".",
"thousand_separator": ",",
"placement": "before",
"isdefault": "1",
"currencyid": "1",
"currency_name": "USD",
"total_left_to_pay": "5.00",
"items": [
{
"id": "2",
"rel_id": "2",
"rel_type": "invoice",
"description": "12MP Dual Camera with cover",
"long_description": "The JBL Cinema SB110 is a hassle-free soundbar",
"qty": "1.00",
"rate": "5.00",
"unit": "",
"item_order": "1"
}
],
"attachments": [],
"visible_attachments_to_customer_found": false,
"client": {
"userid": "1",
"company": "trueline",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"datecreated": "2020-05-19 20:07:49",
"active": "1",
"leadid": null,
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"longitude": null,
"latitude": null,
"default_language": "english",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"addedfrom": "1"
},
"payments": [],
"scheduled_email": null
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Invoices - Search invoice information
GET
Header
GetInvoiceSearch - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetInvoiceSearch - parameter Parameter
{
"type": "object",
"properties": {
"keysearch": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords |
Success 200
GetInvoiceSearch - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Invoice | Object | Information. |
Error 4xx
GetInvoiceSearch - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "19",
"sent": "0",
"datesend": null,
"clientid": "3",
"deleted_customer_name": null,
"number": "19",
"prefix": "INV-",
"number_format": "1",
"datecreated": "2020-08-18 21:19:51",
"date": "2020-07-04",
"duedate": "2020-08-03",
"currency": "1",
"subtotal": "20.00",
"total_tax": "1.80",
"total": "21.80",
"adjustment": "0.00",
"addedfrom": "1",
"hash": "809c0e4c9efba2a3bedfdb5871dc6240",
"status": "2",
"clientnote": "",
"adminnote": "",
"last_overdue_reminder": null,
"cancel_overdue_reminders": "0",
"allowed_payment_modes": "['1']",
"token": null,
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"recurring": "0",
"recurring_type": null,
"custom_recurring": "0",
"cycles": "0",
"total_cycles": "0",
"is_recurring_from": null,
"last_recurring_date": null,
"terms": "",
"sale_agent": "0",
"billing_street": "",
"billing_city": "",
"billing_state": "",
"billing_zip": "",
"billing_country": "0",
"shipping_street": "",
"shipping_city": "",
"shipping_state": "",
"shipping_zip": "",
"shipping_country": "0",
"include_shipping": "0",
"show_shipping_on_invoice": "1",
"show_quantity_as": "1",
"project_id": "0",
"subscription_id": "0",
"userid": "3",
"company": "xyz",
"vat": "",
"phonenumber": "",
"country": "0",
"city": "",
"zip": "",
"state": "",
"address": "",
"website": "",
"active": "1",
"leadid": null,
"longitude": null,
"latitude": null,
"default_language": "",
"default_currency": "0",
"show_primary_contact": "0",
"stripe_id": null,
"registration_confirmed": "1",
"invoiceid": "19"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No Data Were Found"
}
Invoices - Update invoice
PUT
Header
PutInvoice - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PutInvoice - parameter Parameter
{
"type": "object",
"properties": {
"clientid": { "type": "number" },
"number": { "type": "number" },
"currency": { "type": "number" },
"newitems": { "type": "array", "items": {} },
"billing_street": { "type": "string" },
"allowed_payment_modes": { "type": "array", "items": {} },
"billing_city": { "type": "string" },
"billing_state": { "type": "string" },
"billing_zip": { "type": "number" },
"billing_country": { "type": "number" },
"include_shipping": { "type": "boolean" },
"show_shipping_on_invoice": { "type": "boolean" },
"shipping_street": { "type": "string" },
"shipping_city": { "type": "string" },
"shipping_state": { "type": "string" },
"shipping_zip": { "type": "number" },
"shipping_country": { "type": "number" },
"cancel_overdue_reminders": { "type": "boolean" },
"tags": { "type": "string" },
"sale_agent": { "type": "number" },
"recurring": { "type": "string" },
"discount_type": { "type": "string" },
"repeat_every_custom": { "type": "number" },
"repeat_type_custom": { "type": "string" },
"cycles": { "type": "number" },
"adminnote": { "type": "string" },
"items": { "type": "array", "items": {} },
"removed_items": { "type": "array", "items": {} },
"clientnote": { "type": "string" },
"terms": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
clientid | Number | Mandatory. Customer id |
number | Number | Mandatory. Invoice Number |
date | Date | Mandatory. Invoice Date |
currency | Number | Mandatory. currency field |
newitems | Array | Mandatory. New Items to be added |
subtotal | Decimal | Mandatory. calculation based on item Qty, Rate and Tax |
total | Decimal | Mandatory. calculation based on subtotal, Discount and Adjustment |
billing_street | String | Mandatory. Street Address |
allowed_payment_modes | Array | Mandatory. Payment modes |
billing_city (optional) | String | Optional. City Name for billing |
billing_state (optional) | String | Optional. Name of state for billing |
billing_zip (optional) | Number | Optional. Zip code |
billing_country (optional) | Number | Optional. Country code |
include_shipping (optional) | boolean | Optional. set yes if you want add Shipping Address Default value: no |
show_shipping_on_invoice (optional) | boolean | Optional. Shows shipping details in invoice. |
shipping_street (optional) | String | Optional. Address of shipping |
shipping_city (optional) | String | Optional. City name for shipping |
shipping_state (optional) | String | Optional. Name of state for shipping |
shipping_zip (optional) | Number | Optional. Zip code for shipping |
shipping_country (optional) | Number | Optional. Country code |
duedate (optional) | Date | Optional. Due date for Invoice |
cancel_overdue_reminders (optional) | boolean | Optional. Prevent sending overdue remainders for invoice |
tags (optional) | String | Optional. TAGS comma separated |
sale_agent (optional) | Number | Optional. Sale Agent name |
recurring (optional) | String | Optional. recurring 1 to 12 or custom |
discount_type (optional) | String | Optional. before_tax / after_tax discount type |
repeat_every_custom (optional) | Number | Optional. if recurring is custom set number gap |
repeat_type_custom (optional) | String | Optional. if recurring is custom set gap option day/week/month/year |
cycles (optional) | Number | Optional. number of cycles 0 for infinite |
adminnote (optional) | String | Optional. notes by admin |
removed_items (optional) | Array | Optional. Items to be removed |
clientnote (optional) | String | Optional. client notes |
terms (optional) | String | Optional. Terms |
Error 4xx
PutInvoice - error Error 4xx
{
"type": "object",
"properties": {
"number": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
| number | String | The Invoice number is already in use |
Success-Response:
HTTP/1.1 200 OK
{
"status": false,
"message": "Invoice Updated Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Invoice Update Fail"
}
Error-Response:
HTTP/1.1 409 Conflict
{
"status": false,
"error": {
"number":"The Invoice number is already in use"
},
"message": "The Invoice number is already in use"
}
Leads
Leads - Add New Lead
POST
Header
PostLead - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostLead - parameter Parameter
{
"type": "object",
"properties": {
"source": { "type": "string" },
"status": { "type": "string" },
"name": { "type": "string" },
"assigned": { "type": "string" },
"client_id": { "type": "string" },
"tags": { "type": "string" },
"contact": { "type": "string" },
"title": { "type": "string" },
"email": { "type": "string" },
"website": { "type": "string" },
"phonenumber": { "type": "string" },
"company": { "type": "string" },
"address": { "type": "string" },
"city": { "type": "string" },
"zip": { "type": "string" },
"state": { "type": "string" },
"country": { "type": "string" },
"default_language": { "type": "string" },
"description": { "type": "string" },
"custom_contact_date": { "type": "string" },
"contacted_today": { "type": "string" },
"is_public": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
source | String | Mandatory Lead source. |
status | String | Mandatory Lead Status. |
name | String | Mandatory Lead Name. |
assigned | String | Mandatory Lead assigned. |
client_id (optional) | String | Optional Lead From Customer. |
tags (optional) | String | Optional Lead tags. |
contact (optional) | String | Optional Lead contact. |
title (optional) | String | Optional Position. |
email (optional) | String | Optional Lead Email Address. |
website (optional) | String | Optional Lead Website. |
phonenumber (optional) | String | Optional Lead Phone. |
company (optional) | String | Optional Lead company. |
address (optional) | String | Optional Lead address. |
city (optional) | String | Optional Lead City. |
zip (optional) | String | Optional Zip code. |
state (optional) | String | Optional Lead state. |
country (optional) | String | Optional Lead Country. |
default_language (optional) | String | Optional Lead Default Language. |
description (optional) | String | Optional Lead description. |
custom_contact_date (optional) | String | Optional Lead From Customer. |
contacted_today (optional) | String | Optional Lead Contacted Today. |
is_public (optional) | String | Optional Lead google sheet id. |
Success 200
PostLead - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Lead add successful. |
Error 4xx
PostLead - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | add fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Lead add successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Lead add fail."
}
Leads - Delete a Lead
DELETE
Header
DeleteLead - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
DeleteLead - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | lead unique ID. |
Success 200
DeleteLead - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Lead Delete Successful. |
Error 4xx
DeleteLead - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Lead Delete Fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Lead Delete Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Lead Delete Fail."
}
Leads - Request Lead information
GET
Header
GetLead - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetLead - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | Lead unique ID |
Success 200
GetLead - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Lead | Object | information. |
Error 4xx
GetLead - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "17",
"hash": "c6e938f8b7a40b1bcfd98dc04f6eeee0-60d9c039da373a685fc0f74d4bfae631",
"name": "Lead name",
"contact": "",
"title": "",
"company": "Themesic Interactive",
"description": "",
"country": "243",
"zip": null,
"city": "London",
"zip": "WC13KJ",
"state": "London",
"address": "1a The Alexander Suite Silk Point",
"assigned": "5",
"dateadded": "2019-07-18 08:59:28",
"from_form_id": "0",
"status": "0",
"source": "4",
...
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Leads - Request all Leads
GET
Header
GetLeads - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Success 200
GetLeads - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Lead | Object | information. |
Error 4xx
GetLeads - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "17",
"hash": "c6e938f8b7a40b1bcfd98dc04f6eeee0-60d9c039da373a685fc0f74d4bfae631",
"name": "Lead name",
"contact": "",
"title": "",
"company": "Themesic Interactive",
"description": "",
"country": "243",
"zip": null,
"city": "London",
"zip": "WC13KJ",
"state": "London",
"address": "1a The Alexander Suite Silk Point",
"assigned": "5",
"dateadded": "2019-07-18 08:59:28",
"from_form_id": "0",
"status": "0",
"source": "4",
...
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Leads - Search Lead Information
GET
Header
GetLeadSearch - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetLeadSearch - parameter Parameter
{
"type": "object",
"properties": {
"keysearch": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords |
Success 200
GetLeadSearch - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Lead | Object | information. |
Error 4xx
GetLeadSearch - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "17",
"hash": "c6e938f8b7a40b1bcfd98dc04f6eeee0-60d9c039da373a685fc0f74d4bfae631",
"name": "Lead name",
"contact": "",
"title": "",
"company": "Themesic Interactive",
"description": "",
"country": "243",
"zip": null,
"city": "London",
"zip": "WC13KJ",
"state": "London",
"address": "1a The Alexander Suite Silk Point",
"assigned": "5",
"dateadded": "2019-07-18 08:59:28",
"from_form_id": "0",
"status": "0",
"source": "4",
...
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Leads - Update a lead
PUT
Header
PutLead - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PutLead - parameter Parameter
{
"type": "object",
"properties": {
"source": { "type": "string" },
"status": { "type": "string" },
"name": { "type": "string" },
"assigned": { "type": "string" },
"client_id": { "type": "string" },
"tags": { "type": "string" },
"contact": { "type": "string" },
"title": { "type": "string" },
"email": { "type": "string" },
"website": { "type": "string" },
"phonenumber": { "type": "string" },
"company": { "type": "string" },
"address": { "type": "string" },
"city": { "type": "string" },
"zip": { "type": "string" },
"state": { "type": "string" },
"country": { "type": "string" },
"default_language": { "type": "string" },
"description": { "type": "string" },
"lastcontact": { "type": "string" },
"is_public": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
source | String | Mandatory Lead source. |
status | String | Mandatory Lead Status. |
name | String | Mandatory Lead Name. |
assigned | String | Mandatory Lead assigned. |
client_id (optional) | String | Optional Lead From Customer. |
tags (optional) | String | Optional Lead tags. |
contact (optional) | String | Optional Lead contact. |
title (optional) | String | Optional Position. |
email (optional) | String | Optional Lead Email Address. |
website (optional) | String | Optional Lead Website. |
phonenumber (optional) | String | Optional Lead Phone. |
company (optional) | String | Optional Lead company. |
address (optional) | String | Optional Lead address. |
city (optional) | String | Optional Lead City. |
zip (optional) | String | Optional Zip code. |
state (optional) | String | Optional Lead state. |
country (optional) | String | Optional Lead Country. |
default_language (optional) | String | Optional Lead Default Language. |
description (optional) | String | Optional Lead description. |
lastcontact (optional) | String | Optional Lead Last Contact. |
is_public (optional) | String | Optional Lead google sheet id. |
Success 200
PutLead - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Lead Update Successful. |
Error 4xx
PutLead - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Lead Update Fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Lead Update Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Lead Update Fail."
}
Milestones
Milestones - Add New Milestone
POST
Header
PostMilestone - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostMilestone - parameter Parameter
{
"type": "object",
"properties": {
"project_id": { "type": "string" },
"name": { "type": "string" },
"description": { "type": "string" },
"description_visible_to_customer": { "type": "string" },
"milestone_order": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
| project_id | String | Mandatory project id. |
| name | String | Mandatory Milestone Name. |
| due_date | Date | Mandatory Milestone Due date. |
| description (optional) | String | Optional Milestone Description. |
| description_visible_to_customer (optional) | String | Show description to customer. |
| milestone_order (optional) | String | Optional Milestone Order. |
Success 200
PostMilestone - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Milestone add successful. |
Error 4xx
PostMilestone - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Milestone add fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Milestone add successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Milestone add fail."
}
Milestones - Delete a Milestone
DELETE
Header
DeleteMilestone - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
DeleteMilestone - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | Milestone unique ID. |
Success 200
DeleteMilestone - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Milestone Delete Successful. |
Error 4xx
DeleteMilestone - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Milestone Delete Fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Milestone Delete Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Milestone Delete Fail."
}
Milestones - Request Milestones information
GET
Header
GetMilestones - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetMilestones - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | Milestone unique ID. |
Success 200
GetMilestones - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Milestones | Object | information. |
Error 4xx
GetMilestones - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "5",
"name": "MIlestone A",
"description": "",
"description_visible_to_customer": "0",
"due_date": "2019-09-30",
"project_id": "2",
"color": null,
"milestone_order": "1",
"datecreated": "2019-07-19",
"total_tasks": "0",
"total_finished_tasks": "0"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Milestones - Search Milestones Information
GET
Header
GetMilestoneSearch - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetMilestoneSearch - parameter Parameter
{
"type": "object",
"properties": {
"keysearch": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords. |
Success 200
GetMilestoneSearch - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Milestones | Object | information. |
Error 4xx
GetMilestoneSearch - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "5",
"name": "MIlestone A",
"description": "",
"description_visible_to_customer": "0",
"due_date": "2019-09-30",
"project_id": "2",
"color": null,
"milestone_order": "1",
"datecreated": "2019-07-19",
"total_tasks": "0",
"total_finished_tasks": "0"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Milestones - Update a Milestone
PUT
Header
PutMilestone - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PutMilestone - parameter Parameter
{
"type": "object",
"properties": {
"project_id": { "type": "string" },
"name": { "type": "string" },
"description": { "type": "string" },
"description_visible_to_customer": { "type": "string" },
"milestone_order": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
| project_id | String | Mandatory project id. |
| name | String | Mandatory Milestone Name. |
| due_date | Date | Mandatory Milestone Due date. |
| description (optional) | String | Optional Milestone Description. |
| description_visible_to_customer (optional) | String | Show description to customer. |
| milestone_order (optional) | String | Optional Milestone Order. |
Success 200
PutMilestone - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Milestone Update Successful. |
Error 4xx
PutMilestone - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Milestone Update Fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Milestone Update Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Milestone Update Fail."
}
Payment Modes
Payment_Modes - Request Payment Modes
GET
Header
GetExpense category - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Success 200
GetExpense category - success Success 200
{
"type": "object",
"properties": {
"Expense": {
"type": "array",
"items": {}
}
}
}
| Field | Type | Description |
|---|---|---|
| Payment | Array | Modes. |
Error 4xx
GetExpense category - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
[
{
"id": "1",
"name": "Bank",
"description": null,
"show_on_pdf": "0",
"invoices_only": "0",
"expenses_only": "0",
"selected_by_default": "1",
"active": "1"
}
]
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Payments
Payments - Add New Payment
POST
Header
PostPayment - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostPayment - parameter Parameter
{
"type": "object",
"properties": {
"invoiceid": { "type": "string" },
"amount": { "type": "string" },
"paymentmode": { "type": "string" },
"paymentmethod": { "type": "string" },
"note": { "type": "string" },
"transactionid": { "type": "string" },
"custom_fields": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
| invoiceid | String | Mandatory Invoice ID associated with the payment. |
| amount | String | Mandatory Payment amount. |
| paymentmode | String | Mandatory Payment mode (e.g., cash, credit card, etc.). |
| paymentmethod (optional) | String | Optional Payment method details. |
| note (optional) | String | Optional Additional payment note. |
| transactionid (optional) | String | Optional Transaction ID. |
| custom_fields (optional) | String | Optional Custom fields data. |
Success 200
PostPayment - success Success 200
{
"type": "object",
"properties": {
"paymentmode": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
| paymentmode | Boolean | Status of the request. |
message | String | Payment add successful. |
Error 4xx
PostPayment - error Error 4xx
{
"type": "object",
"properties": {
"paymentmode": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
paymentmode | Boolean | Status of the request. |
message | String | Payment add fail. |
Success-Response:
HTTP/1.1 200 OK
{
"paymentmode": true,
"message": "Payment add successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"paymentmode": false,
"message": "Payment add fail."
}
Payments - List all Payments
GET
Header
GetPayment - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetPayment - parameter Parameter
{
"type": "object",
"properties": {
"payment_id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
| payment_id | Number | Optional payment unique ID Note : if you don't pass Payment id then it will list all payments records |
Success 200
GetPayment - success Success 200
{
"type": "object",
"properties": {
"Payments": {
"type": "array",
"items": {}
}
}
}
| Field | Type | Description |
|---|---|---|
| Payments | Array | List all Payment Records. |
Error 4xx
GetPayment - error Error 4xx
{
"type": "object",
"properties": {
"paymentmode": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
paymentmode | Boolean | Request paymentmode. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
[
{
"id": "3",
"invoiceid": "7",
"amount": "1000.00",
"paymentmode": "3",
"paymentmethod": "",
"date": "2020-06-08",
"daterecorded": "2020-06-08 20:29:54",
"note": "",
"transactionid": "000355795931",
"invoiceid": "UPI",
"description": "",
"show_on_pdf": "0",
"invoices_only": "0",
"expenses_only": "0",
"selected_by_default": "0",
"active": "1",
"paymentid": "1"
},
{
"id": "4",
"invoiceid": "12",
"amount": "-3.00",
"paymentmode": "4",
"paymentmethod": "",
"date": "2020-07-04",
"daterecorded": "2020-07-04 15:32:59",
"note": "",
"transactionid": "P228210122733439",
"invoiceid": "Stripe",
"description": "",
"show_on_pdf": "0",
"invoices_only": "0",
"expenses_only": "0",
"selected_by_default": "0",
"active": "1",
"paymentid": "2"
},
{
"id": "1",
"invoiceid": "14",
"amount": "8.00",
"paymentmode": "1",
"paymentmethod": "",
"date": "2020-07-04",
"daterecorded": "2020-07-04 15:47:30",
"note": "",
"transactionid": "000360166374",
"invoiceid": "Bank",
"description": null,
"show_on_pdf": "0",
"invoices_only": "0",
"expenses_only": "0",
"selected_by_default": "1",
"active": "1",
"paymentid": "3"
},
{
"id": "2",
"invoiceid": "13",
"amount": "3.00",
"paymentmode": "2",
"paymentmethod": "Credit card",
"date": "2020-07-04",
"daterecorded": "2020-07-04 15:49:56",
"note": "",
"transactionid": "0124875873",
"invoiceid": "paypal",
"description": "",
"show_on_pdf": "0",
"invoices_only": "0",
"expenses_only": "0",
"selected_by_default": "0",
"active": "1",
"paymentid": "4"
}
]
Error-Response:
HTTP/1.1 404 Not Found
{
"paymentmode": false,
"message": "No data were found"
}
Payments - Search Payments Information
GET
Header
GetPaymentSearch - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetPaymentSearch - parameter Parameter
{
"type": "object",
"properties": {
"keysearch": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords. |
Success 200
GetPaymentSearch - success Success 200
{
"type": "object",
"properties": {
"Payments": {
"type": "array",
"items": {}
}
}
}
| Field | Type | Description |
|---|---|---|
Payments | Array | Payments information |
Error 4xx
GetPaymentSearch - error Error 4xx
{
"type": "object",
"properties": {
"paymentmode": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
paymentmode | Boolean | Request paymentmode. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
[
{
"id": "3",
"invoiceid": "14",
"amount": "8.00",
"paymentmode": "2",
"paymentmethod": "",
"date": "2020-07-04",
"daterecorded": "2020-07-04 15:47:30",
"note": "",
"transactionid": "",
...
}
]
Error-Response:
HTTP/1.1 404 Not Found
{
"paymentmode": false,
"message": "No data were found"
}
Projects
Projects - Add New Project
POST
Header
PostProject - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostProject - parameter Parameter
{
"type": "object",
"properties": {
"name": { "type": "string" },
"rel_type": { "type": "string" },
"clientid": { "type": "number" },
"billing_type": { "type": "number" },
"status": { "type": "number" },
"progress_from_tasks": { "type": "string" },
"project_cost": { "type": "string" },
"progress": { "type": "string" },
"project_rate_per_hour": { "type": "string" },
"estimated_hours": { "type": "string" },
"tags": { "type": "string" },
"description": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
name | String | Mandatory Project Name. |
rel_type | String | Mandatory Project Related. Allowed values: "lead", "customer", "internal" |
clientid | Number | Mandatory Related ID. |
billing_type | Number | Mandatory Billing Type. |
start_date | Date | Mandatory Project Start Date. |
status | Number | Mandatory Project Status. |
progress_from_tasks (optional) | String | Optional on or off progress from tasks. |
project_cost (optional) | String | Optional Project Cost. |
progress (optional) | String | Optional project progress. |
project_rate_per_hour (optional) | String | Optional project rate per hour. |
estimated_hours (optional) | String | Optional Project estimated hours. |
project_members (optional) | Number[] | Optional Project members. |
deadline (optional) | Date | Optional Project deadline. |
tags (optional) | String | Optional Project tags. |
description (optional) | String | Optional Project description. |
Success 200
PostProject - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Project add successful. |
Error 4xx
PostProject - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Project add fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Project add successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Project add fail."
}
Projects - Delete a Project
DELETE
Header
DeleteProject - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
DeleteProject - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | project unique ID. |
Success 200
DeleteProject - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Project Delete successful. |
Error 4xx
DeleteProject - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Project Delete Fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Project Delete Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Project Delete Fail."
}
Projects - Request project information
GET
Header
GetProject - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetProject - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | project unique ID. |
Success 200
GetProject - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Project | Object | information. |
Error 4xx
GetProject - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "28",
"name": "Test1",
"description": null,
"status": "1",
"clientid": "11",
"billing_type": "3",
"start_date": "2019-04-19",
"deadline": "2019-08-30",
"project_created": "2019-07-16",
"date_finished": null,
"progress": "0",
"progress_from_tasks": "1",
"project_cost": "0.00",
"project_rate_per_hour": "0.00",
"estimated_hours": "0.00",
"addedfrom": "5",
"rel_type": "lead",
"potential_revenue": "0.00",
"potential_margin": "0.00",
"external": "E",
...
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Projects - Search Project Information
GET
Header
GetProjectSearch - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetProjectSearch - parameter Parameter
{
"type": "object",
"properties": {
"keysearch": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords. |
Success 200
GetProjectSearch - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Project | Object | information. |
Error 4xx
GetProjectSearch - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "28",
"name": "Test1",
"description": null,
"status": "1",
"clientid": "11",
"billing_type": "3",
"start_date": "2019-04-19",
"deadline": "2019-08-30",
"project_created": "2019-07-16",
"date_finished": null,
"progress": "0",
"progress_from_tasks": "1",
"project_cost": "0.00",
"project_rate_per_hour": "0.00",
"estimated_hours": "0.00",
"addedfrom": "5",
"rel_type": "lead",
"potential_revenue": "0.00",
"potential_margin": "0.00",
"external": "E",
...
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Projects - Update a project
PUT
Header
PutMilestone - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PutMilestone - parameter Parameter
{
"type": "object",
"properties": {
"project_id": { "type": "string" },
"name": { "type": "string" },
"description": { "type": "string" },
"description_visible_to_customer": { "type": "string" },
"milestone_order": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
name | String | Mandatory Project Name. |
rel_type | String | Mandatory Project Related. Allowed values: "lead", "customer", "internal" |
clientid | Number | Mandatory Related ID. |
billing_type | Number | Mandatory Billing Type. |
start_date | Date | Mandatory Project Start Date. |
status | Number | Mandatory Project Status. |
progress_from_tasks (optional) | String | Optional on or off progress from tasks. |
project_cost (optional) | String | Optional Project Cost. |
progress (optional) | String | Optional project progress. |
project_rate_per_hour (optional) | String | Optional project rate per hour. |
estimated_hours (optional) | String | Optional Project estimated hours. |
project_members (optional) | Number[] | Optional Project members. |
deadline (optional) | Date | Optional Project deadline. |
tags (optional) | String | Optional Project tags. |
description (optional) | String | Optional Project description. |
Success 200
PutMilestone - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Project Update Successful. |
Error 4xx
PutMilestone - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Project Update Fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Project Update Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Project Update Fail."
}
Proposals
Proposals - Add New Proposals
POST
Header
PostProposals - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostProposals - parameter Parameter
{
"type": "object",
"properties": {
"subject": { "type": "string" },
"Related": { "type": "string" },
"rel_id": { "type": "number" },
"proposal_to": { "type": "string" },
"currency": { "type": "string" },
"discount_type": { "type": "string" },
"status": { "type": "string" },
"Assigned": { "type": "string" },
"Email": { "type": "string" },
"newitems": { "type": "array", "items": {} }
}
}
| Field | Type | Description |
|---|---|---|
| subject | String | Mandatory. Proposal Subject Name. |
| Related | String | Mandatory. Proposal Related. Allowed values: "lead", "customer" |
| rel_id | Number | Mandatory. Related ID. |
| proposal_to | string | Mandatory. Lead / Customer name. |
| date | Date | Mandatory. Proposal Start Date. |
| open_till | Date | Optional. Proposal Open Till Date. |
| currency | String | Mandatory. currency id. |
| discount_type | String | Optional. Proposal Open Till Date. |
| status | String | Optional. status id. |
| Assigned | String | Optional. Assignee id. |
String | Mandatory. Email id. | |
| newitems | Array | Mandatory. New Items to be added. |
Success 200
PostProposals - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Proposal add successful. |
Error 4xx
PostProposals - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Proposal add fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Proposal add successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Proposal add fail."
}
Proposals - Delete Proposal
DELETE
Header
DeleteProposal - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
DeleteProposal - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | Proposal unique ID. |
Success 200
DeleteProposal - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Proposals Deleted Successfully |
Error 4xx
DeleteProposal - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Proposals Delete Fail |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Proposals Deleted Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Proposal Delete Fail"
}
Proposals - Request Proposal information
GET
Header
GetProposal - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetProposal - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | Proposal unique ID. |
Success 200
GetProposal - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Proposal | Object | information. |
Error 4xx
GetProposal - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "1",
"subject": "Test Proposal",
"content": "{proposal_items}",
"addedfrom": "1",
"datecreated": "2021-08-01 13:38:08",
"total": "10.00",
"subtotal": "10.00",
"total_tax": "0.00",
"adjustment": "0.00",
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"show_quantity_as": "1",
"currency": "1",
"open_till": "2021-08-08",
"date": "2021-08-01",
"rel_id": "1",
"rel_type": "customer",
"assigned": "0",
"hash": "9fc38e5ad2f8256b1b8430ee41069f75",
"proposal_to": "test",
"country": "102",
"zip": "30000202",
"state": "Test",
"city": "Test",
"address": "Test",
"email": "test@gmail.com",
"phone": "01324568903",
"allow_comments": "1",
"status": "6",
"estimate_id": null,
"invoice_id": null,
"date_converted": null,
"pipeline_order": "0",
"is_expiry_notified": "0",
"acceptance_firstname": null,
"acceptance_lastname": null,
"acceptance_email": null,
"acceptance_date": null,
"acceptance_ip": null,
"signature": null,
"short_link": null,
"symbol": "$",
"name": "USD",
"decimal_separator": ".",
"thousand_separator": ",",
"placement": "before",
"isdefault": "1",
"currencyid": "1",
"currency_name": "USD",
"attachments": [],
"items": [
{
"id": "4",
"rel_id": "1",
"rel_type": "proposal",
"description": "item 1",
"long_description": "item 1 description",
"qty": "1.00",
"rate": "10.00",
"unit": "1",
"item_order": "1"
}
],
"visible_attachments_to_customer_found": false,
"customfields": [
{
"label": "Custom Field",
"value": "Custom Field value"
}
]
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Proposals - Search proposals information
GET
Header
GetProposalSearch - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetProposalSearch - parameter Parameter
{
"type": "object",
"properties": {
"keysearch": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords. |
Success 200
GetProposalSearch - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Proposal | Object | information. |
Error 4xx
GetProposalSearch - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "2",
"subject": "Test 2",
"content": "{proposal_items}",
"addedfrom": "1",
"datecreated": "2021-08-01 13:43:49",
"total": "10.00",
"subtotal": "10.00",
"total_tax": "0.00",
"adjustment": "0.00",
"discount_percent": "0.00",
"discount_total": "0.00",
"discount_type": "",
"show_quantity_as": "1",
"currency": "1",
"open_till": "2021-08-08",
"date": "2021-08-01",
"rel_id": "1",
"rel_type": "customer",
"assigned": "0",
"hash": "6fe6cd0bc66dff03663154660acc1a93",
"proposal_to": "test",
"country": "102",
"zip": "300000",
"state": "test",
"city": "test",
"address": "test",
"email": "test@gmail.com",
"phone": "01324568903",
"allow_comments": "1",
"status": "6",
"estimate_id": null,
"invoice_id": null,
"date_converted": null,
"pipeline_order": "0",
"is_expiry_notified": "0",
"acceptance_firstname": null,
"acceptance_lastname": null,
"acceptance_email": null,
"acceptance_date": null,
"acceptance_ip": null,
"signature": null,
"short_link": null,
"symbol": "$",
"name": "USD",
"decimal_separator": ".",
"thousand_separator": ",",
"placement": "before",
"isdefault": "1",
"customfields": [
{
"label": "Custom Field",
"value": "Custom Field value"
}
]
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No Data Were Found"
}
Proposals - Update a proposal
PUT
Header
PutProposal - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PutProposal - parameter Parameter
{
"type": "object",
"properties": {
"subject": { "type": "string" },
"Mandatory": {
"type": "object",
"properties": {
"": { "type": "string" }
}
},
"rel_id": { "type": "number" },
"proposal_to": { "type": "string" },
"currency": { "type": "string" },
"discount_type": { "type": "string" },
"status": { "type": "string" },
"Assigned": { "type": "string" },
"Email": { "type": "string" },
"newitems": { "type": "array", "items": {} },
"items": { "type": "array", "items": {} },
"removed_items": { "type": "array", "items": {} }
}
}
| Field | Type | Description |
|---|---|---|
subject | String | Mandatory. Proposal Subject Name. |
String | Proposal Related. Allowed values: "lead", "customer" | |
rel_id | Number | Mandatory. Related ID. |
proposal_to | string | Mandatory. Lead / Customer name. |
date | Date | Mandatory. Proposal Start Date. |
open_till | Date | Optional. Proposal Open Till Date. |
currency | String | Mandatory. currency id. |
discount_type | String | Optional. Proposal Open Till Date. |
status | String | Optional. status id. |
Assigned | String | Optional. Assignee id. |
String | Mandatory. Email id. | |
newitems | Array | Mandatory. New Items to be added. |
| items | Array | Optional. Existing items with Id |
| removed_items | Array | Optional. Items to be removed |
Success-Response:
HTTP/1.1 200 OK
{
"status": false,
"message": "Proposal Updated Successfully"
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Proposal Update Fail"
}
Staffs
Staffs - Add New Staff
POST
Header
PostStaffs - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostStaffs - parameter Parameter
{
"type": "object",
"properties": {
"firstname": { "type": "string" },
"email": { "type": "string" },
"password": { "type": "string" },
"hourly_rate": { "type": "number" },
"phonenumber": { "type": "string" },
"facebook": { "type": "string" },
"linkedin": { "type": "string" },
"skype": { "type": "string" },
"default_language": { "type": "string" },
"email_signature": { "type": "string" },
"direction": { "type": "string" },
"send_welcome_email": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
| firstname | String | Mandatory Staff Name. |
String | Mandatory Staff Related. | |
| password | String | Mandatory Staff password. |
| hourly_rate (optional) | Number | Optional hourly rate. |
| phonenumber (optional) | String | Optional Staff phonenumber. |
| facebook (optional) | String | Optional Staff facebook. |
| linkedin (optional) | String | Optional Staff linkedin. |
| skype (optional) | String | Optional Staff skype. |
| default_language (optional) | String | Optional Staff default language. |
| email_signature (optional) | String | Optional Staff email signature. |
| direction (optional) | String | Optional Staff direction. |
send_welcome_email (optional) | String | Optional Staff send welcome email. |
| departments (optional) | Number[] | Optional Staff departments. |
Success 200
PostStaffs - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Staff add successful. |
Error 4xx
PostStaffs - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Staff add fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Staff add successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Staff add fail."
}
Staffs - Delete a Staff
DELETE
Header
DeleteStaff - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
DeleteStaff - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | Staff unique ID. |
Success 200
DeleteStaff - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Staff registration successful. |
Error 4xx
DeleteStaff - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Not register your accout. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Staff Delete."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Staff Not Delete."
}
Staffs - Request Staff information
GET
Header
GetStaff - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetStaff - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | Staff unique ID. |
Success 200
GetStaff - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Staff | Object | information. |
Error 4xx
| Name | Description |
|---|---|
| StaffNotFound | The id of the Staff was not found. |
Success-Response:
HTTP/1.1 200 OK
{
"staffid": "8",
"email": "data1.gsts@gmail.com",
"firstname": "Đào Quang Dân",
"lastname": "",
"facebook": "",
"linkedin": "",
"phonenumber": "",
"skype": "",
"password": "$2a$08$ySLokLAM.AqmW9ZjY2YREO0CIrd5K4Td\/Bpfp8d9QJamWNUfreQuK",
"datecreated": "2019-02-25 09:11:31",
"profile_image": "8.png",
...
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Staffs - Search Staff Information
GET
Header
GetStaffSearch - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetStaffSearch - parameter Parameter
{
"type": "object",
"properties": {
"keysearch": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords. |
Success 200
GetStaffSearch - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Staff | Object | information. |
Error 4xx
| Name | Description |
|---|---|
StaffNotFound | The id of the Staff was not found. |
Success-Response:
HTTP/1.1 200 OK
{
"staffid": "8",
"email": "data1.gsts@gmail.com",
"firstname": "Đào Quang Dân",
"lastname": "",
"facebook": "",
"linkedin": "",
"phonenumber": "",
"skype": "",
"password": "$2a$08$ySLokLAM.AqmW9ZjY2YREO0CIrd5K4Td\/Bpfp8d9QJamWNUfreQuK",
"datecreated": "2019-02-25 09:11:31",
"profile_image": "8.png",
...
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Staffs - Update a Staff
PUT
Header
PutStaff - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PutStaff - parameter Parameter
{
"type": "object",
"properties": {
"firstname": { "type": "string" },
"email": { "type": "string" },
"password": { "type": "string" },
"hourly_rate": { "type": "number" },
"phonenumber": { "type": "string" },
"facebook": { "type": "string" },
"linkedin": { "type": "string" },
"skype": { "type": "string" },
"default_language": { "type": "string" },
"email_signature": { "type": "string" },
"direction": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
firstname | String | Mandatory Staff Name. |
String | Mandatory Staff Related. | |
password | String | Mandatory Staff password. |
hourly_rate (optional) | Number | Optional hourly rate. |
phonenumber (optional) | String | Optional Staff phonenumber. |
facebook (optional) | String | Optional Staff facebook. |
linkedin (optional) | String | Optional Staff linkedin. |
skype (optional) | String | Optional Staff skype. |
default_language (optional) | String | Optional Staff default language. |
email_signature (optional) | String | Optional Staff email signature. |
direction (optional) | String | Optional Staff direction. |
departments (optional) | Number[] | Optional Staff departments. |
Success 200
PutStaff - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Staff Update Successful. |
Error 4xx
PutStaff - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Staff Update Fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Staff Update Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Staff Update Fail."
}
Tasks
Tasks - Add New Task
POST
Header
PostTask - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostTask - parameter Parameter
{
"type": "object",
"properties": {
"name": { "type": "string" },
"is_public": { "type": "string" },
"billable": { "type": "string" },
"hourly_rate": { "type": "string" },
"milestone": { "type": "string" },
"priority": { "type": "string" },
"repeat_every": { "type": "string" },
"repeat_every_custom": { "type": "number" },
"repeat_type_custom": { "type": "string" },
"cycles": { "type": "number" },
"rel_type": { "type": "string" },
"rel_id": { "type": "number" },
"tags": { "type": "string" },
"description": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
name | String | Mandatory Task Name. |
startdate | Date | Mandatory Task Start Date. |
is_public (optional) | String | Optional Task public. |
billable (optional) | String | Optional Task billable. |
hourly_rate (optional) | String | Optional Task hourly rate. |
milestone (optional) | String | Optional Task milestone. |
| duedate (optional) | Date | Optional Task deadline. |
priority (optional) | String | Optional Task priority. |
repeat_every (optional) | String | Optional Task repeat every. |
repeat_every_custom (optional) | Number | Optional Task repeat every custom. |
repeat_type_custom (optional) | String | Optional Task repeat type custom. |
cycles (optional) | Number | Optional cycles. |
rel_type | string | Mandatory Task Related. Allowed values: "lead", "customer", "invoice", "project", "quotation", "contract", "annex", "ticket", "expense", "proposal" |
rel_id | Number | Optional Related ID. |
tags (optional) | String | Optional Task tags. |
description (optional) | String | Optional Task description. |
Success 200
PostTask - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Staff add successful. |
Error 4xx
PostTask - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Staff add fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Task add successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Task add fail."
}
Tasks - Delete a Task
DELETE
Header
DeleteTask - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
DeleteTask - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | Task unique ID. |
Success 200
DeleteTask - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Task Delete Successful. |
Error 4xx
DeleteTask - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Task Delete Fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Task Delete Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Task Delete Fail."
}
Tasks - Request Task information
GET
Header
GetTask - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetTask - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | Task unique ID. |
Success 200
GetTask - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Tasks | Object | information. |
Error 4xx
GetTask - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "10",
"name": "This is a task",
"description": "",
"priority": "2",
"dateadded": "2019-02-25 12:26:37",
"startdate": "2019-01-02 00:00:00",
"duedate": "2019-01-04 00:00:00",
"datefinished": null,
"addedfrom": "9",
"is_added_from_contact": "0",
"status": "4",
"recurring_type": null,
"repeat_every": "0",
"recurring": "0",
"is_recurring_from": null,
...
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Tasks - Search Tasks Information
GET
Header
GetTaskSearch - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetTaskSearch - parameter Parameter
{
"type": "object",
"properties": {
"keysearch": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords. |
Success 200
GetTaskSearch - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Tasks | Object | information. |
Error 4xx
GetTaskSearch - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "10",
"name": "This is a task",
"description": "",
"priority": "2",
"dateadded": "2019-02-25 12:26:37",
"startdate": "2019-01-02 00:00:00",
"duedate": "2019-01-04 00:00:00",
"datefinished": null,
"addedfrom": "9",
"is_added_from_contact": "0",
"status": "4",
"recurring_type": null,
"repeat_every": "0",
"recurring": "0",
"is_recurring_from": null,
...
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Tasks - Update a task
PUT
Header
PutTask - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PutTask - parameter Parameter
{
"type": "object",
"properties": {
"name": { "type": "string" },
"is_public": { "type": "string" },
"billable": { "type": "string" },
"hourly_rate": { "type": "string" },
"milestone": { "type": "string" },
"priority": { "type": "string" },
"repeat_every": { "type": "string" },
"repeat_every_custom": { "type": "number" },
"repeat_type_custom": { "type": "string" },
"cycles": { "type": "number" },
"rel_type": { "type": "string" },
"rel_id": { "type": "number" },
"tags": { "type": "string" },
"description": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
name | String | Mandatory Task Name. |
startdate | Date | Mandatory Task Start Date. |
is_public (optional) | String | Optional Task public. |
billable (optional) | String | Optional Task billable. |
hourly_rate (optional) | String | Optional Task hourly rate. |
milestone (optional) | String | Optional Task milestone. |
| duedate (optional) | Date | Optional Task deadline. |
priority (optional) | String | Optional Task priority. |
repeat_every (optional) | String | Optional Task repeat every. |
repeat_every_custom (optional) | Number | Optional Task repeat every custom. |
repeat_type_custom (optional) | String | Optional Task repeat type custom. |
cycles (optional) | Number | Optional cycles. |
rel_type | string | Mandatory Task Related. Allowed values: "lead", "customer", "invoice", "project", "quotation", "contract", "annex", "ticket", "expense", "proposal" |
rel_id | Number | Optional Related ID. |
tags (optional) | String | Optional Task tags. |
description (optional) | String | Optional Task description. |
Success 200
PutTask - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Task Update Successful. |
Error 4xx
PutTask - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "string" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | String | Request status. |
message | String | Task Update Fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Task Update Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Task Update Fail."
}
Taxes
Taxes - Request Taxes
GET
Header
GetTaxes - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Success 200
GetTaxes - success Success 200
{
"type": "object",
"properties": {
"Tax": {
"type": "array",
"items": {}
}
}
}
| Field | Type | Description |
|---|---|---|
| Tax | Array | information. |
Error 4xx
GetTaxes - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | No data were found. |
Success-Response:
HTTP/1.1 200 OK
[
{
"id": "4",
"name": "PAYPAL",
"taxrate": "5.00"
},
{
"id": "1",
"name": "CGST",
"taxrate": "9.00"
},
{
"id": "2",
"name": "SGST",
"taxrate": "9.00"
},
{
"id": "3",
"name": "GST",
"taxrate": "18.00"
}
]
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Tickets
Tickets - Add New Ticket
POST
Header
PostTicket - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PostTicket - parameter Parameter
{
"type": "object",
"properties": {
"subject": { "type": "string" },
"department": { "type": "string" },
"contactid": { "type": "string" },
"userid": { "type": "string" },
"project_id": { "type": "string" },
"message": { "type": "string" },
"service": { "type": "string" },
"assigned": { "type": "string" },
"cc": { "type": "string" },
"priority": { "type": "string" },
"tags": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
subject | String | Mandatory Ticket name . |
department | String | Mandatory Ticket Department. |
contactid | String | Mandatory Ticket Contact. |
userid | String | Mandatory Ticket user. |
project_id (optional) | String | Optional Ticket Project. |
message (optional) | String | Optional Ticket message. |
service (optional) | String | Optional Ticket Service. |
assigned (optional) | String | Optional Assign ticket. |
cc (optional) | String | Optional Ticket CC. |
| priority (optional) | String | Optional Priority. |
| tags (optional) | String | Optional ticket tags. |
Success 200
PostTicket - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Ticket add successful. |
Error 4xx
PostTicket - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Ticket add fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Ticket add successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Ticket add fail."
}
Tickets - Delete a Ticket
DELETE
Header
DeleteTicket - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
DeleteTicket - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | Ticket unique ID. |
Success 200
DeleteTicket - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Ticket Delete Successful. |
Error 4xx
DeleteTicket - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Ticket Delete Fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Ticket Delete Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Ticket Delete Fail."
}
Tickets - Request Ticket information
GET
Header
GetTicket - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetTicket - parameter Parameter
{
"type": "object",
"properties": {
"id": {
"type": "number"
}
}
}
| Field | Type | Description |
|---|---|---|
id | Number | Ticket unique ID. |
Success 200
GetTicket - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Ticket | Object | information. |
Error 4xx
GetTicket - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | The id of the Ticket was not found. |
Success-Response:
HTTP/1.1 200 OK
{
"id": "7",
"ticketid": "7",
"adminreplying": "0",
"userid": "0",
"contactid": "0",
"email": null,
"name": "Trung bình",
"department": "1",
"priority": "2",
"status": "1",
"service": "1",
"ticketkey": "8ef33d61bb0f26cd158d56cc18b71c02",
"subject": "Ticket ER",
"message": "Ticket ER",
"admin": "5",
"date": "2019-04-10 03:08:21",
"project_id": "5",
"lastreply": null,
"clientread": "0",
"adminread": "1",
"assigned": "5",
"line_manager": "8",
"milestone": "27",
...
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Tickets - Search Ticket Information
GET
Header
GetTicketSearch - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
GetTicketSearch - parameter Parameter
{
"type": "object",
"properties": {
"keysearch": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| keysearch | String | Search Keywords. |
Success 200
GetTicketSearch - success Success 200
{
"type": "object",
"properties": {}
}
| Field | Type | Description |
|---|---|---|
| Ticket | Object | information. |
Error 4xx
GetTicketSearch - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | The id of the Ticket was not found. |
Success-Response:
HTTP/1.1 200 OK
{
"ticketid": "7",
"adminreplying": "0",
"userid": "0",
"contactid": "0",
"email": null,
"name": "Trung bình",
"department": "1",
"priority": "2",
"status": "1",
"service": "1",
"ticketkey": "8ef33d61bb0f26cd158d56cc18b71c02",
"subject": "Ticket ER",
"message": "Ticket ER",
"admin": "5",
"date": "2019-04-10 03:08:21",
"project_id": "5",
"lastreply": null,
"clientread": "0",
"adminread": "1",
"assigned": "5",
"line_manager": "8",
"milestone": "27",
...
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Tickets - Update a ticket
PUT
Header
PutTicket - header Header
{
"type": "object",
"properties": {
"authtoken": {
"type": "string"
}
}
}
| Field | Type | Description |
|---|---|---|
| authtoken | String | Authentication token, generated from admin area |
Parameter
PutTicket - parameter Parameter
{
"type": "object",
"properties": {
"subject": { "type": "string" },
"department": { "type": "string" },
"contactid": { "type": "string" },
"userid": { "type": "string" },
"priority": { "type": "string" },
"project_id": { "type": "string" },
"message": { "type": "string" },
"service": { "type": "string" },
"assigned": { "type": "string" },
"tags": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
subject | String | Mandatory Ticket name . |
department | String | Mandatory Ticket Department. |
contactid | String | Mandatory Ticket Contact. |
userid | String | Mandatory Ticket user. |
| priority | String | Mandatory Priority. |
project_id (optional) | String | Optional Ticket Project. |
message (optional) | String | Optional Ticket message. |
service (optional) | String | Optional Ticket Service. |
assigned (optional) | String | Optional Assign ticket. |
tags (optional) | String | Optional ticket tags. |
Success 200
PutTicket - success Success 200
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Field | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Ticket Update Successful. |
Error 4xx
PutTicket - error Error 4xx
{
"type": "object",
"properties": {
"status": { "type": "boolean" },
"message": { "type": "string" }
}
}
| Name | Type | Description |
|---|---|---|
status | Boolean | Request status. |
message | String | Ticket Update Fail. |
Success-Response:
HTTP/1.1 200 OK
{
"status": true,
"message": "Ticket Update Successful."
}
Error-Response:
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Ticket Update Fail."
}