Accelo provides two different APIs - a Forms API that makes it easy for people to get data into their Accelo account without the need for any server-side programming, and a full-scale RESTful API which allows developers to write full applications that interact with Accelo using their own code.
The RESTful API is a full API for interacting with many of the objects inside Accelo. Supporting full security (service accounts, user grants via oAuth), this API allows you to interact with dozens of object endpoints (with more being added all the time) through REST HTTPS actions (POST, GET, PUT, DELETE, etc) and with request/response data formats in JSON, XML and YAML.
This API is the same API we use to power our mobile apps, which means:
It isn't a second-class citizen; we treat uptime, performance and stability of this API as seriously as we do for the main Accelo web app
It is being frequently enhanced and extended to support new features; please keep an eye on the changelog for new features as they are released.
If you're a developer wanting to write server-side code, this is the API you'll want.
The Forms API is ideal for people who want to get data into Accelo from "Forms" that people submit from websites, intranets and other web-based environments. The Forms API has the advantage of being simpler to use than the full RESTful API - you simply create a <form> in your web page, populate it with tags (eg, <input type="text" name="company_name"/>) that the user submits and when you point the form's POST Action at your Accelo domain, we'll take your data, provide some light validation, and then save the data to your account in real time.
Currently, the Forms API provides interfaces for:
Company: create a client company, contact and affiliation (link) through this endpoint, and optionally create activities (emails) to individuals or groups or users, and even upload files (attachments). This endpoint also supports custom fields and categories.
Contact: create a contact (without a company) through this endpoint, and optionally create activities (emails) to individuals or groups or users, and even upload files (attachments). This endpoint also supports custom fields and categories.
Request: create a request in the request queue of your choice through this endpoint, along with the client, contact and affiliation (link) and optionally even upload files (attachments). This endpoint also supports custom fields and categories (for the company/contact objects; requests do not have custom fields at this time).
Sale: create a sale (aka a prospect) of a specific type and at a specific status. In addition to creating the company and contact (or finding and using existing records), you can also specify the values for the sale (due dates, star rating, salesperson assigned), set custom fields, upload files and send emails/activities to individuals or groups of users.
Project: creates a project (aka a job) of a specific type and at a specific status. In addition to creating the company and contact (or finding and using existing records if they're already in Accelo), you can also specify the values for the project (description, manager, fixed-budget), the template to use, specific custom milestones to add, budget information and to set custom fields, upload files and send emails/activities to individuals or groups of users.
Ticket: create a ticket (aka an issue) of a specific type and at a specific status. In addition to creating the company and contact (or finding and using existing records), you can also specify the values for the ticket (classification, priority, due date, who the ticket is assigned to, etc), set custom fields, upload files and send emails/activities to individuals or groups of users.
Retainer: creates a new retainer/contract of a specific type and at a specific status. In addition to creating the company and contact (or finding and using existing records if they're already in Accelo), you can also specify the values for the Contract and its Period Template (how often to renew, including prepaid hours or value, what it should cost, whether it should roll over, etc). If you don't provide these additional values, the defaults for the "type" will be used. The features of setting custom fields, uploading files and sending emails/activities to individuals or groups of users are also supported.
Click here for more information about this API, with detailed documentation and examples.