Explanation of all of the Sugar Web Services APIs available

bsoremsugar —  December 21, 2010 — 8 Comments

UPDATED: 6/30/2011 – Includes information on the v4 API

UPDATED: 10/5/2012 – Includes information on the v4_1 API

A big question we have heard from developers lately is what’s the deal with the multiple web services APIs available. Which one should be used for development? What Sugar versions contain the a particular version of the API? And why did we create this whole mess?

Let me start off by explaining the rationale behind having many versions of the API. For developers, having a consistent and stable API is very important. Our web services API establishes a contract between you the developer and us the API producer, and part of that contract is not changing the terms of how it works. In that light, we made the decision last year when we released Sugar 5.5 that the API will never change going forward, but that if we decide to add new functionality or change existing functionality, that we instead create a new version of the API for you to use, leaving the old version intact. This means that upgrading Sugar versions will not break your web service code.

Below is a quick chart that outlines the various APIs available as of the latest version of Sugar released, and more information about them. We’ll keep this updated with any corrections or information on new API versions as they come out.

API version Entrypoint(s) Minimum Sugar Version Changes from previous
v1 /soap.php none N/A
v2 /services/v2/soap.php
/services/v2/rest.php
5.5 See documentation at http://developers.sugarcrm.com/docs/OS/6.1/-docs-Developer_Guides-Sugar_Developer_Guide_6.1.0-Chapter%202%20Application%20Framework.html#9000303. For most people, this is the version you want to use.
v2_1 /services/v2_1/soap.php
/services/v2_1/rest.php
6.0.2 Adds the following to the v2 API:

- Fixed problems with .NET clients not being able parse SOAP call response.

v3 /services/v3/soap.php
/services/v3/rest.php
6.0.1 Adds the following to the v2 API:

- Added method get_module_fields_md5
– Added method get_last_viewed
– Added method get_upcoming_activities
– Added assigned_user_id and select_fields parameters to search_by_module
– Added order_by parameter to get_relationships
– Added filter parameter to get_available_modules

v3_1 /services/v3_1/soap.php
/services/v3_1/rest.php
6.1.0 Adds the following to the v3 API:

- Added parameter track_view to get_entry
– Added parameter track_view to get_entries
– Added parameter favorites to get_entry_list
– Added parameter unified_search_only to search_by_module.

v4 /services/v4/soap.php
/services/v4/rest.php
6.2.0 Adds the following to the v3_1 API:

- Fixed more problems with .NET clients not being able parse SOAP call response. If you use .NET this is the version you should be using.
– Added parameter favorites to search_by_module.
– Various bug fixes.

v4_1 /services/v4_1/soap.php
/services/v4_1/rest.php
6.4.1 Adds the following to the v4 API:

- Adds pagination support for get_relationships
– Add get_modified_relationship

Recommended version to use for all clients.

8 responses to Explanation of all of the Sugar Web Services APIs available

  1. 

    The v2_1 SOAP API is broken when using SugarCRM 6.4.2 . The custom fields are not returned when calling get_entry_list method. If v4 SOAP API is used, then the custom fields are returned.

  2. 
    Tanya Madurapperuma October 4, 2012 at 2:20 am

    Under the services directory there are two API’s as v4 and v4_1 (at /service/v4/ and /service/v4_1/ ). So as developers which one should we use?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s