{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"eb874875-6407-4173-be10-e5edcf631ddb","name":"Sage Sales Management Public API Documentation for Developers","description":"# Overview\n\n### WELCOME TO SAGE SALES MANAGEMENT API V4 DOCUMENTATION\n\nThis new version of our Application Programming Interface (API) represents a huge step forward. It is more powerful and easier to use than the previous version. Here you will find all the guidance you need to build integrations for the Sage Sales Management application.  \nSome of the biggest and most important changes are:\n\n- New authentication.\n    \n- New entities.\n    \n- More customisation.\n    \n- Better and faster response speed.\n    \n\n#### Requirements\n\nBefore you start you will need your **Public API key** and **Private API key**. If you already have a **Sage Sales Management** **account** and you are an admin, you can find your API key under [Settings &gt; Integrations &gt; API key](https://app.forcemanager.net/views/settings.aspx#) management of the Sage Sales Management web app or in the [Password](https://admin.forcemanager.net/#/app/apikeys) section of the ForceAdmin tool.\n\n#### Some info to get up to speed with the **Sage Sales Management** API\n\n- The API is organised around RESTful to query and update the data.\n    \n- All requests have to be made over SSL.\n    \n- All requests and response bodies, including errors, are encoded in JSON. Remember to specify the Content-Type header as `application/json`.\n    \n- Each entity has a unique integer ID.\n    \n\nYou can define the **pagination** data for the returned objects. The default page number is 0, otherwise you can optionally determine the page number.\n\n#### Three-column Design\n\nAll the example responses are in the right columns, so you can see the examples while you are looking at the resources description and parameters.\n\n#### Feedback\n\nYour Feedback matter, let us know what you want to see from Sage Sales Management API or let us know any issue you want to report. You can email us at [support@forcemanager.net](https://mailto:support@forcemanager.net).\n\n# Endpoints\n\nThe **Sage Sales Management** API is designed around the concept of resources.  \nA \"**resource**\" is related to an entity within Sage Sales Management. You may know these resources already as Account, Opportunities, Products, Contacts, and so on.  \nEndpoints are available through the API. These can be actions like retrieving an Opportunity, updating a Contact or deleting an Account. Every resource has its own endpoint that is used to receive data for a particular resource. Endpoints perform a specific function, taking some number of parameters and returning data.\n\n# Requests\n\n**Sage Sales Management** Users can use the RESTful - based API - to query and update their data. All data is sent and received in JSON format and all API requests require authentication. In order to do a proper JSON-formatted request, make sure you provide Content-Type: `application/json` in HTTP request headers.  \nFour HTTP verbs are supported. These \"verbs\" represent the type of action a HTTP client (e.g. Postman or REST Easy) might perform against a resource.  \nYou can filter Products by `dateCreated`, `familyId` and `model` for example.\n\n- GET request: retrieves data\n    \n- POST request: adds new records\n    \n- PUT request: partial update of records\n    \n- DELETE request: deletes records\n    \n\nYou can also **organise and view** the results for Rates in descendent order - at the top, the most recent results while the oldest results will be down the list.\n\nAll API calls in production must be made to [<code>https://api.forcemanager.com/api/v4</code>](https://api.forcemanager.com/api/v4) where v4 (version identifier) is the current version of the API.\n\nIf you want to test the API in your sandbox implementation, the API calls must be made to [https://sandbox-api.forcemanager.com](https://sandbox-api.forcemanager.com). To know how to create a sandbox implementation please refer to the [ForceAdmin Sandbox](https://admin.forcemanager.net/#/app/sandbox) section. You must also generate the properly public and private API key to interact with your sandbox implementation. You can do so accessing ForceAdmin with your sandbox credentials.\n\nThere you can find a list of endpoints and resources such as Accounts, Contacts, Activity, Opportunities, Calendar… Those can be accessible via the URL + resource name. For example, you would use the following endpoint to access Accounts: [<code>https://api.forcemanager.com/api/v4/accounts</code>](https://api.forcemanager.com/api/v4/accounts).\n\n##### Headers Parameters\n\nHeader parameters are included in the request header. Usually the header includes the content-type and the authentication parameters. The lasts are common across all endpoints. If you want to know how you can get the authentication, it is documented in [Authentication](https://developer.forcemanager.net/#d71501bb-a0e0-44dc-9bfb-586808942360).\n\n| RESOURCE | DESCRIPTION |\n| --- | --- |\n| Accounts | An Account represents a company or person with whom a business relationship is developed |\n| Related Accounts | A Related Account represents a company or person in a relationship with another company or person |\n| Warnings | A Warning is a recommendation, an important message that needs to be highlighted in the detail of a resource |\n| Activities | An Activity covers interactions with customers or prospective customers |\n| Calendar | A Calendar is an agenda that corresponds to a work and activity schedule you plan to carry out within a certain period of time |\n| Emails | All the e-mails recorded in **Sage Sales Management** in regards the communications of the employees with the Account and Contacts registered in ForceManager |\n| Documents | A document is a media file (pdf, jpg, mov, docx, xlsx, ...) that can be attached to a resource or to the document repository in **Sage Sales Management** |\n| Contacts | A Contact represents an individual associated with an existing Account |\n| Extra Fields | The Extra Fields are custom fields that allows you to enrich the information of a specific resource, to let you personalize it based on your business context |\n| Opportunities | An Opportunity is the possible sale of your products or services to a prospective customer or and existing account |\n| Products | A Product represents any good or service that you offer. All the products are available in a catalog in your account |\n| Rates | All the product's Rates you can add to a specific Sales Order |\n| Sales Orders | A Sale Order corresponds to an economic proposal that has been drawn up for an account |\n| Roles | Roles are a set of permissions that can be associated to any user |\n| Users | Users refers to employees that you have (activated or deactivated) in **Sage Sales Management** |\n| Value Lists | Value lists are groups of predetermined values (i.e. dropdown lists) that help you to classify and aggregate information of a resource |\n| Views | A View is a shortcut that helps users to quickly filter resource data. A View basically wraps an SQL command |\n| Webhooks | A Webhooks is an endpoint automatically called by **Sage Sales Management** when a linked action occurs (e.g. the update of an Account) |\n\n# Pagination\n\n**Sage Sales Management** accounts can have a lot of content - more than you would want to pull down in a single request. Pagination will help you when you work with large collection of resources, so you can control how many you receive from the API.  \nThe API endpoints provide a limited number of items per request, that is 50 by default. The call return a \\[\\] when you are at the last page. You can specify the page of results to be returned in two different ways:  \n\\* In the headers section you can define how many items you want to get in every page, using the `X-FM-Entity-Count` header parameter. E.g. if you set count as 20, in the first page you will receive the first 20 items.  \n\\* `page={{number}}`: it is a query parameter that specifies the page of results to return. E.g. `/api/v4/accounts?page=1` the API will return the second page of accounts results, since the first page is 0.\n\n# Filters, Orders and Language\n\nYou can **apply filters** using any query string parameter in SQL. Query string parameters appear after a question mark in the endpoint followed by the parameters and their values. In the query string, the operators to filter are: =, >, >=, <, <=, <>, AND, OR and LIKE.  \nThe order of the parameters does not matter.  \ne.g. `https://api.forcemanager.com/api/v4/{{entity}}?where=param1=value AND/OR param2=value2`e.g.[<code>https://api.forcemanager.com/api/v4/{{entity}}?where=param1&gt;=value</code>](https://api.forcemanager.com/api/v4/%7B%7Bentity%7D%7D?where=param1%3E=value)  \ne.g. `https://api.forcemanager.com/api/v4/{{entity}}?where=param1 LIKE \"value\" AND param2`  \nYou can also **order** the results in any call except value list. With this you will be able to view your results in descendent order - at the top, the most recent results while the oldest results will be down the list.  \ne.g. [<code>https://api.forcemanager.com/com/v4/{{entity}}?order={{attribute}}</code>](https://api.forcemanager.com/com/v4/%7B%7Bentity%7D%7D?order=%7B%7Battribute%7D%7D)  \nYou can define the **language** in which you want to receive the response.The available languages are: English (en), Spanish (es), Portuguese (pt), Italian (it), French (fr), Deutsch (de), Russian (ru).  \ne.g. [<code>https://api.forcemanager.com/api/v4/{{entity}}?lang={{language}}</code>](https://api.forcemanager.com/api/v4/%7B%7Bentity%7D%7D?lang=%7B%7Blanguage%7D%7D)\n\n# API Errors description\n\n**Sage Sales Management** API can response your requests with the following errors:\n\n| ID | Name | Description |\n| --- | --- | --- |\n| 900 | Connection Error | The database connection cannot be established |\n| 901 | Internal data Error | The SQL is not generated correctly |\n| 902 | Internal data Error | An error occurred while processing the SQL Transaction |\n| 903 | Internal data Error | The SQL for the Insert is not generated correctly |\n| 904 | Internal data Error | An error occurred during the Insert transaction in database |\n| 905 | Internal data Error | The SQL for the Update is not generated correctly |\n| 906 | Internal data Error | An error occurred during the Update transaction in database |\n| 907 | Internal data Error | An error occurred during the Delete transaction in database |\n| 908 | Internal data Error | Error executing the transaction in database |\n| 909 | Internal data Error | Error executing the Procedure |\n| 910 | Resource not exist | The resource you provide doesn't exist |\n\n# Security\n\nMake sure that all request to the **Sage Sales Management** API are made over SSL (https:// not http://).  \nUsing HTTPS, the computer sender and recipient agree on encrypting the information exchanged between them, so that no one in between can read the line of messages.\n\n# Data Transfer\n\nAll entities sent and received in the API are encoded using JSON objects.  \nThe **Sage Sales Management** RESTful API is compliant with the W3C CORS specification, which allows any properly-authorized requests to be made from any origin domain. This means that you should not need to wrap calls in JSONP callbacks in order to make calls from browser-based applications.  \nThis represents a log of all changes to the API and the versions that are related to each new addition. These are all of the changes that are introduced by an API version. Use them to check whether your app is compatible with an API version, and what changes you might need to make before you migrate your app.\n\n# Release Notes\n\n## Version: 01/08/2021\n\n\\* Changes in `Contacts` -> The property `gender` is now returned in a value list format, e.g. `{\"id\":1, \"value\": \"Male\"}`, instead of with just a binary value, e.g. `1`.\n\n## Version: 18/06/2020\n\n\\* Fixed issue: In entity Users. POST request was ignoring the field `isActive` in order to create the users as active or not.\n\n## Version: 08/05/2020\n\n\\* Changes in `tblFamiliasProd` -> The property `name` is renamed to `description`.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"3166151","team":74930,"collectionId":"eb874875-6407-4173-be10-e5edcf631ddb","publishedId":"TWDWLdWC","public":true,"publicUrl":"https://developer.forcemanager.com","privateUrl":"https://go.postman.co/documentation/3166151-eb874875-6407-4173-be10-e5edcf631ddb","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"00a310"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/4525a84f-243c-4a9d-a71c-569cd86d2d9e/ZmF2aWNvbi5wbmc=","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"00d369"}},{"name":"light","logo":"https://content.pstmn.io/4525a84f-243c-4a9d-a71c-569cd86d2d9e/ZmF2aWNvbi5wbmc=","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"00a310"}}]}},"version":"8.10.1","publishDate":"2025-01-13T15:53:49.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":"https://content.pstmn.io/4525a84f-243c-4a9d-a71c-569cd86d2d9e/ZmF2aWNvbi5wbmc=","logoDark":"https://content.pstmn.io/4525a84f-243c-4a9d-a71c-569cd86d2d9e/ZmF2aWNvbi5wbmc="}},"statusCode":200},"environments":[{"name":"Public  APIs","id":"bfe339ca-0eed-499f-aa92-d88112ce048a","owner":"3196375","values":[{"key":"api_url","value":"api.forcemanager.com","enabled":true},{"key":"publicKey","value":"","enabled":true},{"key":"privateKey","value":"","enabled":true},{"key":"X-FM-Token","value":"-rzZIHzxm","enabled":true},{"key":"account_schema","value":"[object Object]","enabled":true},{"key":"contact_schema","value":"[object Object]","enabled":true}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/fe4434f3157304a2c4e64ffcadae7c1c60f19c783304c6d2f0a4d696ab3ea408","favicon":"https://res.cloudinary.com/postman/image/upload/v1745393063/team/9267bafe72f16d47598e4dd83a2b9248.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"Public  APIs","value":"3196375-bfe339ca-0eed-499f-aa92-d88112ce048a"}],"canonicalUrl":"https://developer.forcemanager.com/view/metadata/TWDWLdWC"}