Perfex REST API
by Tecno Center
✕
👋 Introduction
Perfex API operates over HTTP/HTTPS and uses JSON as its data format. It is a RESTful API and utilizes HTTP methods and HTTP status codes to specify requests and responses. To get started using the API you first need an API token , after activating our module, through your API Management section (Perfex CRM’s admin dashboard) and assign the respective permissions to it.
👨💻 Installation
→ Download our API module from CodeCanyon and upload it in the Modules section of your Perfex CRM installation . → Press Activate and enter your license key.
✏️ Create an API token
→ Sign in into Perfex’s CRM backend as an admin, go to API → API Management , and create a new token. → Make sure to copy the token and that you fill all necessary information (permissions etc).
⛓️ Usage of the API
Available commands of the API are described below, along with their request-response examples for every endpoint. We are using authtoken header value for authentication and multipart-form type for data operations (POST/PUT).
If you are not familiar with REST APIs, we strongly suggest that you hire a professional, in order to have your third party connections done . Familiarization with REST APIs is a prerequisite for this item and getting you into its learning falls outside the scope of the support of this item.
📇 Sample usage (example command)
Scenario : Your token is jEheVytlAoFl7F8MqUQ7jAo2hOXAS and that you need to list all available customers of your Perfex’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.
Zapier
Zapier – List Available Resources
Returns a list of all available resources that can be used for polling and testing. This endpoint is used by automation platforms to discover available triggers.
GET yourdomain.com/api/zapier/resources
Header
Field Type Description authtoken String Authentication token, generated from admin area Authorization (optional) String Bearer token (alternative to authtoken header)
Success 200
Field Type Description status Boolean Request status data Array Array of available resources data[] String .key Resource key identifier
HTTP/1.1 200 OK
{
"status": true,
"data": [
{
"key": "customers",
"label": "Customers",
"description": "New or updated customers"
},
{
"key": "invoices",
"label": "Invoices",
"description": "New or updated invoices"
},
{
"key": "leads",
"label": "Leads",
"description": "New or updated leads"
},
{
"key": "tasks",
"label": "Tasks",
"description": "New or updated tasks"
},
{
"key": "tickets",
"label": "Tickets",
"description": "New or updated support tickets"
}
]
}
Zapier – Poll for New Data
Polling endpoint used by automation platforms (Zapier, Make.com, n8n) to retrieve new or updated records. Returns records that were created or modified after the specified timestamp.
GET yourdomain.com/api/zapier/poll/{resource}
Header
Field Type Description authtoken String Authentication token, generated from admin area Authorization (optional) String Bearer token (alternative to authtoken header)
Parameter
Field Type Description resource String Resource name. Must be one of: customers, invoices, leads, tasks, tickets since (optional) Number Unix timestamp to filter records created/updated after this time. Default: last 24 hours limit (optional) Number Maximum number of records to return. Default: 50
Success 200
Field Type Description status Boolean Request status data Array Array of resource records meta Object Metadata object since Number Timestamp used for filtering count Number Number of records returned next_poll Number Recommended timestamp for next poll
Error 4xx
Name Type Description status Boolean Request status message String Error message
HTTP/1.1 200 OK
{
"status": true,
"data": [
{
"id": "1",
"company": "Example Company",
"datecreated": "2024-01-15 10:30:00"
}
],
"meta": {
"since": 1705312200,
"count": 1,
"next_poll": 1705315800
}
}
HTTP/1.1 400 Bad Request
{
"status": false,
"message": "Resource parameter required"
}
Zapier – Test Trigger
Returns sample data for testing automation triggers. Used by automation platforms to validate trigger configuration and show sample data structure to users.
GET yourdomain.com/api/zapier/test/{resource}
Header
Field Type Description authtoken String Authentication token, generated from admin area Authorization (optional) String Bearer token (alternative to authtoken header)
Parameter
Field Type Description resource String Resource name. Must be one of: customers, invoices, leads, tasks, tickets
Success 200
Field Type Description status Boolean Request status data Object Sample data record for the specified resource
Error 4xx
Name Type Description status Boolean Request status message String Error message
HTTP/1.1 200 OK
{
"status": true,
"data": {
"id": 1,
"company": "Sample Company",
"email": "sample@example.com",
"phone": "+1234567890"
}
}
HTTP/1.1 400 Bad Request
{
"status": false,
"message": "Resource parameter required"
}
Zapier – Zapier Route Handler
This is a routing method that maps to specific Zapier endpoints. Use the direct endpoints (poll_get, test_get, resources_get) instead.
GET yourdomain.com/api/zapier/{method}/{resource}
Header
Field Type Description authtoken String Authentication token, generated from admin area Authorization (optional) String Bearer token (alternative to authtoken header)
Parameter
Field Type Description method String Method name (poll, test, resources) resource (optional) String Resource name (customers, invoices, leads, tasks, tickets) – required for poll and test methods
Success 200
Field Type Description status Boolean Request status data Mixed Response data
Error 4xx
Name Type Description status Boolean Request status error String Error message
HTTP/1.1 404 Not Found
{
"error": "Method not found: invalid_get"
}
Calendar Events
Calendar_Events – Create a new Calendar Event
POST yourdomain.com/api/calendar/
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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.
HTTP/1.1 200 OK
{
"status": true,
"message": "Data Added Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Data Creation Failed"
}
Calendar_Events – Delete a Calendar Event
DELETE yourdomain.com/api/calendar/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description ID Number ID for data deletion.
HTTP/1.1 200 OK
{
"status": true,
"message": "Data Deleted Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Data Delete Fail"
}
Calendar_Events – Get All Calendar Events
GET yourdomain.com/api/calendar/
Header
Field Type Description authtoken String Authentication token, generated from admin area
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"
}
]
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Calendar_Events – Request Specific Event Information
GET yourdomain.com/api/calendar/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id id Event data by id.
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"
}
]
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Calendar_Events – Update a Calendar Event
PUT yourdomain.com/api/calendar/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description unique id ID for update data.
HTTP/1.1 200 OK
{
"status": true,
"message": "Data Update Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Data Update Fail"
}
Common
Common – Get Common Data
Retrieves common system data based on the specified type. This endpoint is an alias for the Common controller’s data_get method.
GET yourdomain.com/api/common/{type}
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description type String Data type. Must be one of: expense_category, payment_mode, tax_data
Success 200
Field Type Description Array Array of common data records (format depends on type)
Error 4xx
Name Type Description status Boolean Request status message String Error message
HTTP/1.1 200 OK
[
{
"id": "1",
"name": "expense category name",
"description": "description"
}
]
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Not valid data"
}
HTTP/1.1 200 OK
[
{
"id": "1",
"name": "cloud server",
"description": "AWS server"
}
]
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Not valid data"
}
Contacts
Contacts – Add New Contact
POST yourdomain.com/api/contacts/
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description customer_id Number Mandatory Customer id. firstname String Mandatory First Name lastname String Mandatory Last Name email 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) 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
Field Type Description status Boolean Request status. message String Contact added successfully.
Error 4xx
Name Type Description status Boolean Request status message String Contact add fail email String This Email is already exists
HTTP/1.1 200 OK
{
"status": true,
"message": "Contact added successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contact add fail"
}
Contacts – Delete Contact
DELETE yourdomain.com/api/delete/contacts/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description customer_id Number unique Customer id
Success 200
Field Type Description status String Request status. message String Contact Deleted Successfully
Error 4xx
Name Type Description status Boolean Request status message String Contact Delete Fail
HTTP/1.1 200 OK
{
"status": true,
"message": "Contact Deleted Successfully"
}
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
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description customer_id Number Mandatory Customer unique ID contact_id Number Optional Contact unique IDNote : if you don’t pass Contact id then it will list all contacts of the customer
Success 200
Field Type Description Contact Object Contact information
Error 4xx
Name Type Description status Boolean Request status message String No data were found
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"
}
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
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search Keywords
Success 200
Field Type Description Contact Object Contact information
Error 4xx
Name Type Description status Boolean Request status message String No data were found
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"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Contacts – Update Contact Information
PUT yourdomain.com/api/contacts/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Mandatory Customer Contact id. firstname String Mandatory First Name lastname String Mandatory Last Name email 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) 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
Field Type Description status Boolean Request status message String Contact updated successful
Error 4xx
Name Type Description email String This Email is already exists status Boolean Request status message String Contact add fail
HTTP/1.1 200 OK
{
"status": true,
"message": "Contact Updated Successfully"
}
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 yourdomain.com/api/contracts
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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
Field Type Description status Boolean Request status. message String Contracts Added Successfully
Error 4xx
Name Type Description status Boolean Request status. message String Contract add fail
HTTP/1.1 200 OK
{
"status": true,
"message": "Contract Added Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contract ID Exists"
}
HTTP/1.1 200 OK
{
"status": true,
"message": "Contract Added Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contract ID Exists"
}
Contracts – Delete Contract
DELETE yourdomain.com/api/contracts/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Success 200
Field Type Description status Boolean Request status. message String Contract Deleted Successfully
Error 4xx
Name Type Description status Boolean Request status. message String Contract Delete Fail
HTTP/1.1 200 OK
{
"status": true,
"message": "Contract Deleted Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Contract Delete Fail"
}
Contracts – Request Contract information
GET yourdomain.com/api/contracts/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Contact unique ID
Success 200
Field Type Description Contracts Object information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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 yourdomain.com/api/credit_notes
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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
Field Type Description status Boolean Request status. message String Credit Note Added Successfully
Error 4xx
Name 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
HTTP/1.1 200 OK
{
"status": true,
"message": "Credit Note Added Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Credit Note Add Fail"
}
Credit_Notes – Delete Credit Note
DELETE yourdomain.com/api/credit_notes/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Success 200
Field Type Description status Boolean Request status. message String Credit Note Deleted Successfully
Error 4xx
Name Type Description status Boolean Request status. message String Credit Note Delete Fail
HTTP/1.1 200 OK
{
"status": true,
"message": "Credit Note Deleted Successfully"
}
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
Field Type Description authtoken String Authentication token, generated from admin area
Success 200
Field Type Description Credit Object notes information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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": []
}
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
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search Keywords
Success 200
Field Type Description credit Object notes Information
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": []
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Credit_Notes – Update a Credit Note
PUT yourdomain.com/api/credit_notes
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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
Field Type Description status Boolean Request status. message String Credit Note Updated Successfully
Error 4xx
Name 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
HTTP/1.1 200 OK
{
"status": true,
"message": "Credit Note Updated Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Credit Note Update Fail"
}
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 yourdomain.com/N/A
Parameter
Field Type Description custom_fields[customFieldType] string/array Custom Field Key should be same as field_name returned from Search custom field values’ information
HTTP/1.1 200 OK
Same as Original request
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 yourdomain.com/N/A
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 yourdomain.com/N/A
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": "<a>Link</a>"
}
]
},
{
"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": "<a>Link</a>"
}
]
}
],
"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": "<a>Link</a>"
}
]
}
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
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description FieldBelongsto string Belongs to Mandatory Field Belongs to.Allowed values: "Company", "Leads", "Customers", "Contacts", "Staff", "Contracts", "Tasks", "Expenses", "Invoice", "Items", "Note", "Estimate", "Contract", "Proposal", "Projects", "Tickets" id (optional) Number Optional unique ID.
Success 200
Field Type Description Custom Object Custom Fields information with values.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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": "<a href=\"https://google.com\" target=\"_blank\">google</a>"
}
]
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 yourdomain.com/N/A
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": "<a>Link</a>"
}
]
},
{
"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": "<a>Link</a>"
}
]
}
]
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 yourdomain.com/N/A
Parameter
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
HTTP/1.1 200 OK
Same as Original request
HTTP/1.1 404 Not Found
Same as Original request
Customers
Customers – Add New Customer
POST yourdomain.com/api/customers
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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) String Optional Shipping Address: State. shipping_zip (optional) String Optional Shipping Address: Zip. shipping_country (optional) String Optional Shipping Address: Country.
Success 200
Field Type Description status Boolean Request status. message String Customer add successful.
Error 4xx
Name Type Description status Boolean Request status. message String Customer add fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Customer add successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Customer add fail."
}
Customers – Delete a Customer
DELETE yourdomain.com/api/delete/customers/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Customer unique ID.
Success 200
Field Type Description status String Request status. message String Customer Delete Successful.
Error 4xx
Name Type Description status Boolean Request status. message String Customer Delete Fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Customer Delete Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Customer Delete Fail."
}
Customers – Request customer information
GET yourdomain.com/api/customers/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number customer unique ID.
Success 200
Field Type Description customer Object information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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",
...
}
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
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search Keywords.
Success 200
Field Type Description customer Object information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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",
...
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Customers – Update a Customer
PUT yourdomain.com/api/customers/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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) String Optional Shipping Address: Zip. shipping_country (optional) String Optional Shipping Address: Country.
Success 200
Field Type Description status Boolean Request status. message String Customer Update Successful.
Error 4xx
Name Type Description status Boolean Request status. message String Customer Update Fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Customer Update Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Customer Update Fail."
}
Estimates
Estimates – Add New Estimates
POST yourdomain.com/api/estimates
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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 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 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
Field Type Description status Boolean Request status. message String Estimates Added Successfully
Error 4xx
Name 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
HTTP/1.1 200 OK
{
"status": true,
"message": "Estimates Added Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Estimates Add Fail"
}
Estimates – Delete Estimate
DELETE yourdomain.com/api/estimates/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Success 200
Field Type Description status Boolean Request status. message String Estimates Deleted Successfully
Error 4xx
Name Type Description status Boolean Request status. message String Estimate Delete Fail
HTTP/1.1 200 OK
{
"status": true,
"message": "Estimate Deleted Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Estimate Delete Fail"
}
Estimates – Request Estimate information
GET yourdomain.com/api/estimates/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Contact unique ID
Success 200
Field Type Description Estimates Object information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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<br />\r\nShipping",
"billing_city": "Thangadh",
"billing_state": "Gujarat",
"billing_zip": "363630",
"billing_country": "102",
"shipping_street": "Thangadh, Gujarat, India<br />\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": []
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Estimates – Search Estimate information
GET yourdomain.com/api/estimates/search/:keysearch
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search Keywords.
Success 200
Field Type Description Estimate Object Information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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": []
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No Data Were Found"
}
Estimates – Update a estimate
PUT yourdomain.com/api/estimates/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description clientid String Mandatory. Customer. 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 include_shipping (optional) boolean Optional. set yes if you want add Shipping AddressDefault 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
Name Type Description number String The Estimate number is already in use
HTTP/1.1 200 OK
{
"status": false,
"message": "Estimate Updated Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Estimate Update Fail"
}
Expense Categories
Expense_Categories – Request Expense category
GET yourdomain.com/api/common/expense_category
Header
Field Type Description authtoken String Authentication token, generated from admin area
Success 200
Field Type Description Expense Array category information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
HTTP/1.1 200 OK
{
[
{
"id": "1",
"name": "cloud server",
"description": "AWS server"
},
{
"id": "2",
"name": "website domain",
"description": "domain Managment and configurations"
}
]
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Expenses
Expenses – Add Expense
POST yourdomain.com/api/expenses
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description expense_name (optional) String Optional. Expanse Name note (optional) 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
Field Type Description status Boolean Request status. message String Expense Added Successfully
Error 4xx
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.
HTTP/1.1 200 OK
{
"status": true,
"message": "Expense Added Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Expense Add Fail"
}
Expenses – Delete Expense
DELETE yourdomain.com/api/expenses/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Success 200
Field Type Description status Boolean Request status. message String Expense Deleted Successfully
Error 4xx
Name Type Description status Boolean Request status. message String Expense Delete Fail
HTTP/1.1 200 OK
{
"status": true,
"message": "Expense Deleted Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Expense Delete Fail"
}
Expenses – Request Expense information
GET yourdomain.com/api/expenses/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Expense unique ID.
Success 200
Field Type Description Expense Array Expense information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
[
{
"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": []
}
]
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Expenses – Search Expenses information
GET yourdomain.com/api/expenses/search/:keysearch
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search Keywords
Success 200
Field Type Description Expenses Array Expenses Information
Error 4xx
Name Type Description status Boolean Request status message String No data were found
[
{
"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": []
}
]
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Expenses – Update a Expense
PUT yourdomain.com/api/expenses
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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
Field Type Description status Boolean Request status. message String Expense Updated Successfully
Error 4xx
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.
HTTP/1.1 200 OK
{
"status": true,
"message": "Expense Updated Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Expense Update Fail"
}
Invoices
Invoices – Add New invoice
POST yourdomain.com/api/invoices
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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 AddressDefault 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
Field Type Description status Boolean Request status. message String Invoice Added Successfully
Error 4xx
Name Type Description status Boolean Request status. message String Invoice 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
HTTP/1.1 200 OK
{
"status": true,
"message": "Invoice Added Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Invoice Add Fail"
}
Invoices – Delete invoice
DELETE yourdomain.com/api/invoices/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Success 200
Field Type Description status Boolean Request status. message String Invoice Deleted Successfully
Error 4xx
Name Type Description status Boolean Request status. message String Invoice Delete Fail
HTTP/1.1 200 OK
{
"status": true,
"message": "Invoice Deleted Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Invoice Delete Fail"
}
Invoices – Request invoice information
GET yourdomain.com/api/invoices/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Contact unique ID
Success 200
Field Type Description Invoice Object Invoice information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Invoices – Search invoice information
GET yourdomain.com/api/invoices/search/:keysearch
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search Keywords.
Success 200
Field Type Description Invoice Object Information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No Data Were Found"
}
Invoices – Update invoice
PUT yourdomain.com/api/invoices/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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 AddressDefault 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 items (optional) Array Optional. Existing items with Id removed_items (optional) Array Optional. Items to be removed clientnote (optional) String Optional. client notes terms (optional) String Optional. Terms
Error 4xx
Name Type Description number String The Invoice number is already in use
HTTP/1.1 200 OK
{
"status": false,
"message": "Invoice Updated Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Invoice Update Fail"
}
Items
Items – Create New Item
POST yourdomain.com/api/items
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description description String Mandatory item description/name rate Number Mandatory item rate/price long_description (optional) String Optional long description tax (optional) Number Optional primary tax ID tax2 (optional) Number Optional secondary tax ID group_id (optional) Number Optional item group ID (default: 0) unit (optional) String Optional unit of measurement
Success 200
Field Type Description status Boolean Request status message String Item created successfully item_id Number The ID of the newly created item
Error 4xx
Name Type Description status Boolean Request status message String Item creation failed
HTTP/1.1 200 OK
{
"status": true,
"message": "Item created successfully",
"item_id": 123
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Item creation failed"
}
Items – Delete an Item
DELETE yourdomain.com/api/delete/items/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Item unique ID
Success 200
Field Type Description status Boolean Request status message String Item deleted successfully
Error 4xx
Name Type Description status Boolean Request status message String Item deletion failed
HTTP/1.1 200 OK
{
"status": true,
"message": "Item deleted successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Item deletion failed"
}
Items – Request Item information
GET yourdomain.com/api/items/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id (optional) Number Optional Item unique ID. If not provided, returns all items
Success 200
Field Type Description Item Object item information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
HTTP/1.1 200 OK
{
"id": "1",
"description": "JBL Soundbar",
"long_description": "The JBL Cinema SB110 is a hassle-free soundbar",
"rate": "100.00",
"tax": 1,
"tax2": 2,
"unit": "pcs",
"group_id": 0
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Items – Search Items
GET yourdomain.com/api/items/search/:keysearch
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search Keywords
Success 200
Field Type Description Item Object Item Information
Error 4xx
Name Type Description status Boolean Request status message String No data were found
HTTP/1.1 200 OK
{
"data": [
{
"id": "1",
"description": "JBL Soundbar",
"rate": "100.00",
...
}
],
"meta": {
"current_page": 1,
"per_page": 20,
"total": 45,
"last_page": 3
}
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Items – Update an Item
PUT yourdomain.com/api/items/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Item unique ID (in URL) description (optional) String Optional item description/name rate (optional) Number Optional item rate/price long_description (optional) String Optional long description tax (optional) Number Optional primary tax ID tax2 (optional) Number Optional secondary tax ID group_id (optional) Number Optional item group ID unit (optional) String Optional unit of measurement
Success 200
Field Type Description status Boolean Request status message String Item updated successfully
Error 4xx
Name Type Description status Boolean Request status message String Item update failed
HTTP/1.1 200 OK
{
"status": true,
"message": "Item updated successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Item update failed"
}
Leads
Leads – Add New Lead
POST yourdomain.com/api/leads
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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
Field Type Description status Boolean Request status. message String Lead add successful.
Error 4xx
Name Type Description status Boolean Request status. message String add fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Lead add successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Lead add fail."
}
Leads – Delete a Lead
DELETE yourdomain.com/api/delete/leads/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number lead unique ID.
Success 200
Field Type Description status String Request status. message String Lead Delete Successful.
Error 4xx
Name Type Description status Boolean Request status. message String Lead Delete Fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Lead Delete Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Lead Delete Fail."
}
Leads – Request Lead information
GET yourdomain.com/api/leads/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Lead unique ID.
Success 200
Field Type Description Lead Object information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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",
...
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Leads – Request all Leads
GET yourdomain.com/api/leads/
Header
Field Type Description authtoken String Authentication token, generated from admin area
Success 200
Field Type Description Lead Object information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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",
...
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Leads – Search Lead Information
GET yourdomain.com/api/leads/search/:keysearch
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search Keywords.
Success 200
Field Type Description Lead Object information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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",
...
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Leads – Update a lead
PUT yourdomain.com/api/leads/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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
Field Type Description status Boolean Request status. message String Lead Update Successful.
Error 4xx
Name Type Description status Boolean Request status. message String Lead Update Fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Lead Update Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Lead Update Fail."
}
Milestones
Milestones – Add New Milestone
POST yourdomain.com/api/milestones
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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
Field Type Description status String Request status. message String Milestone add successful.
Error 4xx
Name Type Description status String Request status. message String Milestone add fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Milestone add successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Milestone add fail."
}
Milestones – Delete a Milestone
DELETE yourdomain.com/api/delete/milestones/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Milestone unique ID.
Success 200
Field Type Description status String Request status. message String Milestone Delete Successful.
Error 4xx
Name Type Description status String Request status. message String Milestone Delete Fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Milestone Delete Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Milestone Delete Fail."
}
Milestones – Request Milestones information
GET yourdomain.com/api/milestones/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Milestones unique ID.
Success 200
Field Type Description Milestones Object information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Milestones – Search Milestones Information
GET yourdomain.com/api/milestones/search/:keysearch
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search Keywords.
Success 200
Field Type Description Milestones Object information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Milestones – Update a Milestone
PUT yourdomain.com/api/milestones/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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
Field Type Description status String Request status. message String Milestone Update Successful.
Error 4xx
Name Type Description status String Request status. message String Milestone Update Fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Milestone Update Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Milestone Update Fail."
}
Payment Modes
Payment_Modes – Request Payment Modes
GET yourdomain.com/api/common/payment_mode
Header
Field Type Description authtoken String Authentication token, generated from admin area
Success 200
Field Type Description Payment Array Modes.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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"
}
]
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Payments
Payments – Add New Payment
POST yourdomain.com/api/payments
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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
Field Type Description paymentmode Boolean Status of the request. message String Payment add successful.
Error 4xx
Name Type Description paymentmode Boolean Status of the request. message String Payment add fail.
HTTP/1.1 200 OK
{
"paymentmode": true,
"message": "Payment add successful."
}
HTTP/1.1 404 Not Found
{
"paymentmode": false,
"message": "Payment add fail."
}
Payments – List all Payments
GET yourdomain.com/api/payments/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description payment_id Number Optional payment unique IDNote : if you don’t pass Payment id then it will list all payments records
Success 200
Field Type Description Payments Array List all Payment Records.
Error 4xx
Name Type Description paymentmode Boolean Request paymentmode. message String No data were found.
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"
}
]
HTTP/1.1 404 Not Found
{
"paymentmode": false,
"message": "No data were found"
}
Payments – Search Payments Information
GET yourdomain.com/api/payments/search/:keysearch
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search Keywords
Success 200
Field Type Description Payments Array Payments information
Error 4xx
Name Type Description paymentmode Boolean Request paymentmode message String No data were found
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": "",
...
}
]
HTTP/1.1 404 Not Found
{
"paymentmode": false,
"message": "No data were found"
}
Projects
Projects – Add New Project
POST yourdomain.com/api/projects
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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
Field Type Description status Boolean Request status. message String Project add successful.
Error 4xx
Name Type Description status Boolean Request status. message String Project add fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Project add successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Project add fail."
}
Projects – Delete a Project
DELETE yourdomain.com/api/delete/projects/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number project unique ID.
Success 200
Field Type Description status Boolean Request status. message String Project Delete successful.
Error 4xx
Name Type Description status Boolean Request status. message String Project Delete Fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Project Delete Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Project Delete Fail."
}
Projects – Request project information
GET yourdomain.com/api/projects/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number project unique ID.
Success 200
Field Type Description Project Object information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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",
...
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Projects – Search Project Information
GET yourdomain.com/api/projects/search/:keysearch
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search keywords.
Success 200
Field Type Description Project Object information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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",
...
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Projects – Update a project
PUT yourdomain.com/api/projects/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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
Field Type Description status Boolean Request status. message String Project Update Successful.
Error 4xx
Name Type Description status Boolean Request status. message String Project Update Fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Project Update Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Project Update Fail."
}
Proposals
Proposals – Add New Proposals
POST yourdomain.com/api/proposals
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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. Email string Mandatory. Email id. newitems Array Mandatory. New Items to be added.
Success 200
Field Type Description status Boolean Request status. message String Proposal add successful.
Error 4xx
Name Type Description status Boolean Request status. message String Proposal add fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Proposal add successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Proposal add fail."
}
Proposals – Delete Proposal
DELETE yourdomain.com/api/proposals/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Proposal unique ID.
Success 200
Field Type Description status Boolean Request status. message String Proposals Deleted Successfully
Error 4xx
Name Type Description status Boolean Request status. message String Proposals Delete Fail
HTTP/1.1 200 OK
{
"status": true,
"message": "Proposals Deleted Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Proposal Delete Fail"
}
Proposals – Request Proposal information
GET yourdomain.com/api/proposals
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Proposal unique ID
Success 200
Field Type Description Proposal Object information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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"
}
]
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Proposals – Search proposals information
GET yourdomain.com/api/proposals/search/:keysearch
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search Keywords.
Success 200
Field Type Description Proposals Object Information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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"
}
]
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No Data Were Found"
}
Proposals – Update a proposal
PUT yourdomain.com/api/proposal/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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. Email 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
HTTP/1.1 200 OK
{
"status": false,
"message": "Proposal Updated Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Proposal Update Fail"
}
Staffs
Staffs – Add New Staff
POST yourdomain.com/api/staffs
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description firstname String Mandatory Staff Name. email 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
Field Type Description status String Request status. message String Staff add successful.
Error 4xx
Name Type Description status String Request status. message String Staff add fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Staff add successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Staff add fail."
}
Staffs – Delete a Staff
DELETE yourdomain.com/api/delete/staffs/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Staff unique ID.
Success 200
Field Type Description status String Request status. message String Staff registration successful.
Error 4xx
Name Type Description status String Request status. message String Not register your accout.
HTTP/1.1 200 OK
{
"status": true,
"message": "Staff Delete."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Staff Not Delete."
}
Staffs – Request Staff information
GET yourdomain.com/api/staffs/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Staff unique ID.
Success 200
Field Type Description Staff Object information.
Error 4xx
Name Description StaffNotFound The id of the Staff was not found.
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",
...
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Staffs – Search Staff Information
GET yourdomain.com/api/staffs/search/:keysearch
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search keywords.
Success 200
Field Type Description Staff Object information.
Error 4xx
Name Description StaffNotFound The id of the Staff was not found.
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",
...
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Staffs – Update a Staff
PUT yourdomain.com/api/staffs/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description firstname String Mandatory Staff Name. email 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
Field Type Description status String Request status. message String Staff Update Successful.
Error 4xx
Name Type Description status String Request status. message String Staff Update Fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Staff Update Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Staff Update Fail."
}
Subscriptions
Subscriptions – Add New Subscription
POST yourdomain.com/api/subscriptions/
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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 tax ID. 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
Field Type Description status Boolean Request status. message String Success message.
Error 4xx
Name Description DataNotAdded Data could not be added.
HTTP/1.1 200 OK
{
"status": true,
"message": "Data Added Successfully"
}
HTTP/1.1 400 Bad Request
{
"status": false,
"error": "Data not Added"
}
Subscriptions – Delete a Subscription
DELETE yourdomain.com/api/subscriptions/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id id ID for data Deletion.
Error 4xx
HTTP/1.1 200 OK
{
"status": true,
"message": "Delete Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Delete Fail."
}
Subscriptions – Request Subscription Information
GET yourdomain.com/api/subscriptions/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id id Data id ID.
Success 200
Field Type Description Data Object Information
Error 4xx
Name Description DataNotFound The id of the data was not found.
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'
}
]
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Subscriptions – Request all Subscriptions
GET yourdomain.com/api/subscriptions/
Header
Field Type Description authtoken String Authentication token, generated from admin area
Success 200
Field Type Description Data Object Information
Error 4xx
Name Description DataNotFound The id of the data was not found.
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'
}
]
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Subscriptions – Update a Subscription
PUT yourdomain.com/api/subscriptions/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id id ID for update data.
HTTP/1.1 200 OK
{
"status": true,
"message": "Data Update Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Data Not Acceptable OR Not Provided"
}
{
"status": false,
"message": "Data Update Fail."
}
Tasks
Tasks – Add Checklist Item to Task
POST yourdomain.com/api/tasks/:id/checklist
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Task unique ID. description String Mandatory Checklist item description. assigned (optional) Number Optional Staff ID to assign this item to. list_order (optional) Number Optional Sort order (defaults to highest + 1).
Success 200
Field Type Description status Boolean Request status. message String Success message. checklist_item_id Number ID of created checklist item.
Error 4xx
Name Type Description status Boolean Request status. message String Error message.
HTTP/1.1 200 OK
{
"status": true,
"message": "Checklist item added successfully",
"checklist_item_id": 15
}
HTTP/1.1 400 Bad Request
{
"status": false,
"message": "Description is required"
}
Tasks – Add New Task
POST yourdomain.com/api/tasks
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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. assignees (optional) Mixed Optional Task assignees. Can be: array of staff IDs, comma-separated string “1,2,3”, or JSON array “[1,2,3]”.
Success 200
Field Type Description status String Request status. message String Task add successful.
Error 4xx
Name Type Description status String Request status. message String Task add fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Task add successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Task add fail."
}
Tasks – Delete Checklist Item
DELETE yourdomain.com/api/tasks/:task_id/checklist/:item_id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description task_id Number Task unique ID. item_id Number Checklist item ID.
Success 200
Field Type Description status Boolean Request status. message String Success message.
Error 4xx
Name Type Description status Boolean Request status. message String Error message.
HTTP/1.1 200 OK
{
"status": true,
"message": "Checklist item deleted successfully"
}
Tasks – Delete a Task
DELETE yourdomain.com/api/delete/tasks/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Task unique ID.
Success 200
Field Type Description status String Request status. message String Task Delete Successful.
Error 4xx
Name Type Description status String Request status. message String Task Delete Fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Task Delete Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Task Delete Fail."
}
Tasks – Get Task Checklist Items
GET yourdomain.com/api/tasks/:id/checklist
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Task unique ID.
Success 200
Field Type Description checklist Object[] Array of checklist items. id Number Checklist item ID. taskid Number Task ID. description String Checklist item description. finished Number 0=unchecked, 1=checked. dateadded DateTime Date when item was added. addedfrom Number Staff ID who added the item. finished_from Number Staff ID who checked the item. list_order Number Sort order. assigned Number Staff ID assigned to this item.
Error 4xx
Name Type Description status Boolean Request status. message String Task not found or no checklist items.
HTTP/1.1 200 OK
[
{
"id": "1",
"taskid": "10",
"description": "Review documentation",
"finished": "0",
"dateadded": "2025-01-23 10:30:00",
"addedfrom": "1",
"finished_from": "0",
"list_order": "1",
"assigned": "2"
}
]
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Task not found or no checklist items"
}
Tasks – Request Task information
GET yourdomain.com/api/tasks/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Task unique ID.
Success 200
Field Type Description Tasks Object information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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,
...
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Tasks – Search Tasks Information
GET yourdomain.com/api/tasks/search/:keysearch
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search Keywords.
Success 200
Field Type Description Tasks Object information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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,
...
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Tasks – Update Checklist Item
PUT yourdomain.com/api/tasks/:task_id/checklist/:item_id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description task_id Number Task unique ID. item_id Number Checklist item ID. description (optional) String Optional Updated description. finished (optional) Number Optional 0=unchecked, 1=checked. assigned (optional) Number Optional Staff ID to assign. list_order (optional) Number Optional Sort order.
Success 200
Field Type Description status Boolean Request status. message String Success message.
Error 4xx
Name Type Description status Boolean Request status. message String Error message.
HTTP/1.1 200 OK
{
"status": true,
"message": "Checklist item updated successfully"
}
Tasks – Update a task
PUT yourdomain.com/api/tasks/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description name (optional) String Optional Task Name. startdate (optional) Date Optional Task Start Date. status (optional) Number Optional Task status (0-5). 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 Optional 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. assignees (optional) Mixed Optional Task assignees. Can be: array of staff IDs, comma-separated string “1,2,3”, or JSON array “[1,2,3]”.
Success 200
Field Type Description status String Request status. message String Task Update Successful.
Error 4xx
Name Type Description status String Request status. message String Task Update Fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Task Update Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Task Update Fail."
}
Taxes
Taxes – Request Taxes
GET yourdomain.com/api/common/tax_data
Header
Field Type Description authtoken String Authentication token, generated from admin area
Success 200
Field Type Description Tax Array information.
Error 4xx
Name Type Description status Boolean Request status. message String No data were found.
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"
}
]
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Thirdparty
Thirdparty – Delete Record from Custom Table
Deletes a record from the specified custom table by its ID.
DELETE yourdomain.com/api/thirdparty/customtable/:table_name/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description table_name String Name of the custom database table (exact table name as it exists in the database) id Number Record ID
Success 200
Field Type Description status Boolean Request status message String Success message
Error 4xx
Name Type Description status Boolean Request status message String Error message
HTTP/1.1 200 OK
{
"status": true,
"message": "Record deleted successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Record not found"
}
Thirdparty – Get All Records from Custom Table
Retrieves all records from the specified custom table. The table name should be the exact name as it exists in the database (no prefix will be added).
GET yourdomain.com/api/thirdparty/customtable/:table_name
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description table_name String Name of the custom database table (exact table name as it exists in the database)
Success 200
Field Type Description Array Array of records with all columns and values
Error 4xx
Name Type Description status Boolean Request status message String Error message
HTTP/1.1 200 OK
[
{
"id": "1",
"shoenumber": "39",
"winter": "40"
},
{
"id": "2",
"shoenumber": "41",
"winter": "42"
}
]
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Table 'giorgos' does not exist"
}
Thirdparty – Get Record from Custom Table by ID
Retrieves a specific record from the custom table by its ID.
GET yourdomain.com/api/thirdparty/customtable/:table_name/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description table_name String Name of the custom database table (exact table name as it exists in the database) id Number Record ID
Success 200
Field Type Description Record Object with all columns and values
Error 4xx
Name Type Description status Boolean Request status message String Error message
HTTP/1.1 200 OK
{
"id": "1",
"shoenumber": "39",
"winter": "40"
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Record not found"
}
Thirdparty – Insert Record into Custom Table
Inserts a new record into the specified custom table. All columns in the request body must exist in the table, otherwise an error will be returned.
POST yourdomain.com/api/thirdparty/customtable/:table_name
Header
Field Type Description authtoken String Authentication token, generated from admin area Content-Type String application/json
Parameter
Field Type Description table_name String Name of the custom database table (exact table name as it exists in the database)
Success 200
Field Type Description status Boolean Request status message String Success message id Number ID of the newly created record
Error 4xx
Name Type Description status Boolean Request status message String Error message
HTTP/1.1 201 Created
{
"status": true,
"message": "Record created successfully",
"id": 5
}
HTTP/1.1 400 Bad Request
{
"status": false,
"message": "Column 'invalid_column' does not exist in table 'george'"
}
Thirdparty – Update Record in Custom Table
Updates an existing record in the specified custom table. All columns in the request body must exist in the table, otherwise an error will be returned.
PUT yourdomain.com/api/thirdparty/customtable/:table_name/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area Content-Type String application/json
Parameter
Field Type Description table_name String Name of the custom database table (exact table name as it exists in the database) id Number Record ID
Success 200
Field Type Description status Boolean Request status message String Success message
Error 4xx
Name Type Description status Boolean Request status message String Error message
HTTP/1.1 200 OK
{
"status": true,
"message": "Record updated successfully"
}
HTTP/1.1 400 Bad Request
{
"status": false,
"message": "Column 'invalid_column' does not exist in table 'george'"
}
Tickets
Tickets – Add New Ticket
POST yourdomain.com/api/tickets
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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
Field Type Description status Boolean Request status. message String Ticket add successful.
Error 4xx
Name Type Description status Boolean Request status. message String Ticket add fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Ticket add successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Ticket add fail."
}
Tickets – Add reply to a ticket
POST yourdomain.com/api/tickets/reply/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Ticket unique ID. message String Mandatory Reply message. admin (optional) Number Optional Staff ID (if provided, reply is from staff member). status (optional) Number Optional Ticket status after reply (default: 1 for customer, 3 for staff). cc (optional) String Optional CC email addresses. file (optional) File Optional File attachments.
Success 200
Field Type Description status Boolean Request status. message String Ticket Reply Added Successful. reply_id Number Reply ID.
Error 4xx
Name Type Description status Boolean Request status. message String Ticket Reply Fail or Invalid Ticket ID.
HTTP/1.1 200 OK
{
"status": true,
"message": "Ticket Reply Added Successful.",
"reply_id": 123
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Ticket Reply Fail."
}
Tickets – Delete a Ticket
DELETE yourdomain.com/api/delete/tickets/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id Number Ticket unique ID.
Success 200
Field Type Description status Boolean Request status. message String Ticket Delete Successful.
Error 4xx
Name Type Description status Boolean Request status. message String Ticket Delete Fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Ticket Delete Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Ticket Delete Fail."
}
Tickets – Get Ticket(s)
GET yourdomain.com/api/tickets/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id (optional) Number Optional Ticket unique ID. If not provided, returns all tickets with pagination page (optional) Number Optional Page number for pagination (when ID is not provided)Default value: 1 per_page (optional) Number Optional Number of items per page (min: 1, max: 100, when ID is not provided)Default value: 20
Success 200
Field Type Description Ticket Object Ticket information (when ID provided) data Object[] Array of tickets (when ID not provided) meta Object Pagination metadata (when ID not provided) current_page Number Current page number per_page Number Items per page total Number Total number of tickets last_page Number Last page number
Error 4xx
Name Type Description status Boolean Request status. message String The id of the Ticket was not found.
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",
...
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Tickets – Search Ticket Information
GET yourdomain.com/api/tickets/search/:keysearch
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description keysearch String Search keywords.
Success 200
Field Type Description Ticket Object information.
Error 4xx
Name Type Description status Boolean Request status. message String The id of the Ticket was not found.
HTTP/1.1 200 OK
{
"data": [
{
"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",
...
}
],
"meta": {
"current_page": 1,
"per_page": 20,
"total": 45,
"last_page": 3
}
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Tickets – Update a ticket
PUT yourdomain.com/api/tickets/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
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
Field Type Description status Boolean Request status. message String Ticket Update Successful.
Error 4xx
Name Type Description status Boolean Request status. message String Ticket Update Fail.
HTTP/1.1 200 OK
{
"status": true,
"message": "Ticket Update Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Ticket Update Fail."
}
Timesheets
Timesheets – Add New Timesheet
POST yourdomain.com/api/timesheets/
Header
Field Type Description authtoken String Authentication token, generated from admin area
Error 4xx
HTTP/1.1 200 OK
{
"status": true,
"message": "Data Added Successfully"
}
HTTP/1.1 404 Not Found
{
"status": false,
"error": "Data not Added"
}
Timesheets – Delete a Timesheet
DELETE yourdomain.com/api/timesheets/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id id ID for data Deletion.
Error 4xx
HTTP/1.1 200 OK
{
"status": true,
"message": "Delete Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Delete Fail."
}
Timesheets – Request Timesheet Information
GET yourdomain.com/api/timesheets/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id id Data id ID.
Success 200
Field Type Description Data Object Information
Error 4xx
Name Description DataNotFound The id of the data was not found.
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",
}
]
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Timesheets – Request all Timesheets
GET yourdomain.com/api/timesheets/
Header
Field Type Description authtoken String Authentication token, generated from admin area
Success 200
Field Type Description Data Object Information
Error 4xx
Name Description DataNotFound The id of the data was not found.
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",
}
]
HTTP/1.1 404 Not Found
{
"status": false,
"message": "No data were found"
}
Timesheets – Update a Timesheet
PUT yourdomain.com/api/timesheets/:id
Header
Field Type Description authtoken String Authentication token, generated from admin area
Parameter
Field Type Description id id ID for update data.
HTTP/1.1 200 OK
{
"status": true,
"message": "Data Update Successful."
}
HTTP/1.1 404 Not Found
{
"status": false,
"message": "Data Not Acceptable OR Not Provided"
}
{
"status": false,
"message": "Data Update Fail."
}
🚀 Buy it now!
You can purchase our module by clicking 👉 here .
If you are nterested in other useful Perfex CRM modules, you can check out all available Perfex CRM modules of our team.