Endpoints and Contracts

You access the contract-based REST and SOAP API through endpoints that you configure on the Web Service Endpoints (SM207060) form.

Endpoints and Contracts

An endpoint is an entry point to the MYOB Advanced web services. For each endpoint that a web service API provides, a contract of the endpoint defines the entities, with their actions and fields, that are available through the endpoint and the methods that you can use to work with these entities.

The endpoint is identified by the URL that you use to access the web services API. You can see the name and version of an endpoint in its URL. For example, the endpoint http://localhost/AcumaticaDB/entity/Default/18.200.001?wsdl has the version 18.200.001 and the name Default. The version of an endpoint defines the list of entities, with their actions and fields you can work with through this endpoint.

The contract of an endpoint is identified by contract version. The version of a contract defines the list of methods for working with entities that you can use when working with MYOB Advanced through the endpoint with this version of the contract. For the difference between the contract versions, see Comparison of Contract Versions.
Note: Contract Version 1 is not supported starting from MYOB Advanced 2018 R2.

System and Custom Endpoints

You can use two types of endpoints to access the web services:
  • System endpoint: The system endpoints are precofigured in the system and have the Default name. Each of these endpoints has a predefined contract, which includes the API that is preconfigured in the system. You cannot change the contract of a system endpoint.
    If the API that is available in the contract of a system endpoint is sufficient for the requirements of your application, you should use the system endpoint for accessing MYOB Advanced web services. You can use the same system endpoint in future versions of MYOB Advanced. For example, if you use the system endpoint with Version 17.200.001 and Contract Version 3 to access MYOB Advanced 2017 R2, you can use the same endpoint to access future versions of MYOB Advanced.
    Note: MYOB Advanced can include endpoints preconfigured in the system that have names other than Default. The system uses these endpoints internally. We recommend that you not use these endpoints.
  • Custom endpoint: By default, there are no custom endpoints in the system. If the API provided by the system endpoint is not sufficient for the requirements of your application, you can create a custom endpoint. You can configure the contract of a custom endpoint by adding the needed elements of the API to the contract.

    If you need to use the same custom endpoint in future versions of MYOB Advanced, you should maintain it in future versions.

Note: Obsolete system endpoints may be removed in some version of MYOB Advanced. For example, the Default/6.00.001 endpoint has been removed in MYOB Advanced 2020 R2, and extensions of this endpoint cannot be used starting from MYOB Advanced 2020 R2.
The following diagram provides an example of multiple endpoints configured in the system. The diagram shows two system endpoints with Contract Versions 3 and 4 and two custom endpoints with the names EastEndpoint and WestEndpoint.
Figure 1. Contract-based web services