Index

Overview

The Midwinter Data Services API is a web services-based API for integrating Midwinter’s AdviceOS software with 3rd party data sources. The services are written in C# and are hosted on the Amazon Web Services platform (in Sydney region). Currently the API supports Request Response and RESTful calls.

Midwinter has two API programs:

  1. V1 is available in XML
  2. V2 is in JSON and available on swagger

The documentation covers the V2 (JSON) API program; this is the preferred API program. If you require the use of the V1 (XML) API program, you can download documentation here.

Intended audience

This information is targeted at Development staff both Internal to Midwinter and 3rd party integrators. It requires an understanding of the .Net framework and programming, API authentication, OAuth 2.0, JSON and Web Services. 

Glossary

AdviceOS

The application that hosts the web API outlined in this document.

Source Application

The client application (3rd party to AdviceOS) that is making/originating the AdviceOS call.

Source Application User

The user (username and password) of the source application that is prompting the call (Note the application user is not an administration user).

Source Application ID

A client ID to identify the source application in AdviceOS.

Source Application URL

A URL provided to AdviceOS that is used as part of the authorisation of each web API call.

Secret Key

A code provided to the Source Application (by AdviceOS) to use as part of the authorisation of each web API.

Token

A value generated by AdviceOS (using the Source application – ID and Secret Key) when the Source Application calls the authorisation service.

AdviceOS User

The corresponding user in AdviceOS (ie a Source Application user who has access to AdviceOS).

OAuth

A framework used to authenticate a web service call between AdviceOS and the Source Application.

Swagger

An API developer tools for the OpenAPI Specification enabling development across the entire API lifecycle. Midwinter provide the AdviceOS web App API documentation and specification in swagger for more technical details of request and responses. It helps developer to integrate their application with using our API. The service can be accessed via

Production: https://adviceos.com.au/appapidocsui/index

Staging: https://staging.adviceos.com.au/appapidocsui/index

Authorisation 

AdviceOS uses the Microsoft Identity Framework and implemented OAuth 2.0 Authorisation framework to authenticate and authorize each web App API call based on the originating source user.

AdviceOS Authorise requests from the Source application based on following process:

  1. The Source Application prepares a request for user authorisation or directly runs the security API from postman. The request should contain Secret and WipeTokens (set value as false) in the body as JSON format. The header for ‘ContentType’ also needs to be set. 

Header:

Request body: 

Note: Client Access Controls

  • Each business or practice in the Source Application will need at least one of its users to have a token to ensure they can only access clients/Data in that business/practice in AdviceOS. I.e. the user that the token is created for dictates the client data that the source application can access in AdviceOS using that Token.
  • If the authorisation request was valid (based on the user Secret), the client will receive a token in response. 
  1.  The Source client application will use this access token to Authorise calls to AdviceOS web App APIs from this user or (possibly any other user in the business with access to the clients in AdviceOS).
  2. The Client Application can create multiple token for one user based on the maximum limit which is fixed by Midwinter.

Client access permissions

The AdviceOS App APIs use the authenticated AdviceOS user to limit/restrict access (Read/write) to clients that the AdviceOS user can access. If the AdviceOS user cannot access the client via AdviceOS they will not be able to access the client (info) via an App API call. I.e. the same permissions that restrict access to clients in AdviceOS are used in the web service via the token that is used in the request.

This will generally mean that each adviser who has a log in to AdviceOS and a Login to the Source Application may need to authenticate and have a token generated. It is possible to have one user in the practice/business/client hierarchy be authenticated and all other user are provided that token to authenticate – however client access will always be restricted to the user that authenticated the token.

Partner application process

To be able to use the Midwinter Data Services you must first register your application with Midwinter. We will then provide details on how to authenticate your calls to AdviceOS.

To register your application, please send the following information to [email protected] and [email protected].

  1. Company name
  2. Application name
  3. Application return URL
  4. Expected go live date for first web service
  5. Company IT contact person
  6. Company IT contact email
  7. Company IT contact phone
  8. Existing client Id (if any)
  9. Existing client secret key (if any)

Testing and development

Midwinter provides secure testing environments that use real data (a copy of the live database during a deployment). The authentication mechanisms are the same, just with different URL’s for testing.

The URL for the test environment is  https://test.adviceos.com.au  

The URL for staging environment is https://staging.adviceos.com.au  

The URL for production ishttps://adviceos.com.au  

When a secret is requested, Midwinter will provide access to this testing environment only.

A second request will be required to allow the service to work in production with a particular partner.

For approved groups, the following resources are made available:

  • Documentation (this document) that includes calls and call parameters with example JSON
  • Test URL’s to real data (copy of live data based on release cycles)
  • Test Postman to test the web APIs request and response
  • Developer or BA support to assist (at call)

Process for establishing a 3rd Party application

This is the process for establishing a 3rd party application as an approved partner to the AdviceOS web services:

  • Request Approval to become a Midwinter’s API program partner
  • Provide Midwinter with an Application Return URL
  • Midwinter will provide a Source Application ID
  • Midwinter will provide a Source Application Secret Key
  • Midwinter will provide an authorisation service (URL) for the Partner to use (staging environment)
  • After the testing has been successful for the partner application Midwinter will provide access to the production environment.

Although Midwinter provides a public (open) API – it is required that every partner has a relationship with Midwinter before access will be granted to the 3rd party application.

When developing a 3rd Party Application to consume AdviceOS web APIs the following should first be known and analysed:

  • Is the data required from the APIs mastered in AdviceOS or synchronised from the 3rd party?
  • Will the 3rd party require identifiers (typically client identifiers) from the 3rd party system to be persisted in AdviceOS – or will it adopt AdviceOS identifiers?
  • User/adviser hierarchy – will the 3rd party system force each user in a business to authenticate, or have one user authenticate and other users in the business use that certificate? 

To view the JSON for Midwinter services refer to this document. You can also see the details in swagger document and test using Postman.

Midwinter API – Swagger

The Midwinter Data Services ‘App API’ is a web services-based API for integrating Midwinter’s AdviceOS software with 3rd party data sources. Swagger documentation and functionality is integrated into the public API for rapid integration. The services are hosted on the Amazon Web Services platform (in the Sydney region). Currently the API supports Request, Response and RESTful calls. Methods marked with ^ are in testing and those marked with ^^ have been tested successfully. 

This API documentation provides all the technical specification of the APIs, request parameters and body, and response body in more details. It helps other developers to integrate these App APIs to other applications.  The services are accessible via:

Production: https://adviceos.com.au/appapidocsui/index  

Staging: https://staging.adviceos.com.au/appapidocsui/index  

Test: https://test.adviceos.com.au/appapidocsui/index  

Midwinter API – Test Postman

Introduction

Google Postman is a great resource to initiate your integration work and to aid in testing.

To access App API in postman please use the token that is received from security API response. 

The tool provides authenticated access (via Oauth or Forms) to the staging environment and the production environment.

Using the tool

Follow these steps to use the tool:

  1. Select the environment: Production (https://adviceos.com.au) or Staging (https://staging.adviceos.com.au).
  1. Use authentication details in the header for all API (using Token).
  1. Select the HTTP request type – refer to the CRUD services section for more information on each call.
  1. If you are testing a post (i.e. create or update), enter the JSON in request body of Postman.
  1. Press the Send button to the right.
  1. It will show the outcomes at the bottom section of postman called response body.  

Hints and tricks

The test App API is used internally for testing all of our API services and response messages.

  • If you are new, ask for your Secret Key and then run the security API to get the token. Use that token for authorisation for all API in the header.
  • We recommend using postman for API testing. 
  • The best way to get started is by using the Get method. 

Warning on testing in the staging environment

The data in the test environment is reset (back to the production state) every Saturday. If you create clients or make any changes to data in this test environment, it will be lost the next Saturday.

This may cause some confusion around testing, so please be keep this in mind when making your test plan.

If you have created or changed data in the test environment today, and you go back in after a reset, to perform a “GET” and the data is no longer there, it maybe because a production release has gone out overnight (which, on occasions, may reset the data in the test environment).

AdviceOS APP APIs

The following are the API services available through the Midwinter APIs. Each service or resource can be consumed in different ways. 

Root URL:

Production URL: https://adviceos.com.au  

Staging URL: https://staging.adviceos.com.au

List of API services 

Address

GET by clientId

URL: {RootURL}/appapi/v1/address/clientId/{clientId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Address/AddressApi_GetByClientId

GET by clientGroupId

URL: {RootURL}/appapi/v1/address/clientgroupId/{clientGroupId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Address/AddressApi_GetByClientGroupId

CashFlow

GET by clientId and includeGroup

URL: {RootURL}/appapi/v1/address/clientgroupId/{clientGroupId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Address/AddressApi_GetByClientId

POST

URL: {RootURL}/appapi/v1/cashFlow

Swagger: https://adviceos.com.au/appapidocsui/index#!/CashFlow/CashFlowApi_Post

PUT by clientId

URL: {RootURL}/appapi/v1/cashFlow/ClientId/{clientId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/CashFlow/CashFlowApi_PutById

ClientEntity

GET by clientId

URL: {RootURL}/appapi/v1/clientEntity/ClientId/{clientId}

https://adviceos.com.au/appapidocsui/index#!/ClientEntity/ClientEntityApi_GetByClientId

GET by clientGroupId

URL: {RootURL}/appapi/v1/clientEntity/clientGroupId/{clientGroupId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientEntity/ClientEntityApi_GetByClientGroupId

POST

URL: {RootURL}/appapi/v1/clientEntity

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientEntity/ClientEntityApi_Post

PATCH by id

URL: {RootURL}/appapi/v1/clientEntity/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientEntity/ClientEntityApi_PatchById

PUT by id

URL: {RootURL}/appapi/v1/clientEntity/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientEntity/ClientEntityApi_PutById  

 

ClientGroup

GET

URL: {RootURL}/appapi/v1/clientgroup

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientGroup/ClientGroupApi_GetClientGroup

GET by clientId

URL: {RootURL}/appapi/v1/clientgroup/clientId/{clientId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientGroup/ClientGroupApi_FindByClientId

GET by clientGroupId

URL: {RootURL}/appapi/v1/clientgroup/clientGroupId/{clientGroupId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientGroup/ClientGroupApi_FindByClientGroupId

POST

URL: {RootURL}/appapi/v1/clientgroup

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientGroup/ClientGroupApi_Post

PATCH by id

URL: {RootURL}/appapi/v1/clientgroup/{id} https://adviceos.com.au/appapidocsui/index#!/ClientGroup/ClientGroupApi_PatchById

PUT by id

URL: {RootURL}/appapi/v1/clientgroup/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientGroup/ClientGroupApi_PutById

PUT by clientGroupId

URL: {RootURL}/appapi/v1/clientgroup/SwapClient/{clientGroupId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientGroup/ClientGroupApi_SwapClient

PUT by clientGroupId and newMaritalStatus

URL: {RootURL}/appapi/v1/clientgroup/splitClient/{clientGroupId}/{newMaritalStatus}

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientGroup/ClientGroupApi_SplitClient

DELETE by clientGroupId

URL: {RootURL}/appapi/v1/clientgroup/{clientGroupId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientGroup/ClientGroupApi_DeleteById

ClientInfo

GET

URL: {RootURL}/appapi/v1/clientinfo

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientInfo/ClientInfoApi_Get  

GET by clientId

URL: {RootURL}/appapi/v1/clientinfo/clientId/{clientId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientInfo/ClientInfoApi_FindByClientId  

GET by clientGroupId

URL: {RootURL}/appapi/v1/clientinfo/clientGroupId/{clientGroupId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientInfo/ClientInfoApi_GetByClientGroupId

GET by adviserName

URL: {RootURL}/appapi/v1/clientinfo/adviserName/{adviserName}

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientInfo/ClientInfoApi_GetByAdviserName  

ClientPerson

GET by clientId

URL: {RootURL}/appapi/v1/clientPerson/ClientId/{clientId} https://adviceos.com.au/appapidocsui/index#!/ClientPerson/ClientPersonApi_GetByClientId   

GET by clientGroupId

URL: {RootURL}/appapi/v1/clientPerson/clientGroupId/{clientGroupId} 

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientPerson/ClientPersonApi_GetByClientGroupId

POST

URL: {RootURL}/appapi/v1/clientPerson

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientPerson/ClientPersonApi_Post

POST Join

URL: {RootURL}/appapi/v1/clientPerson/Join

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientPerson/ClientPersonApi_Join

PUT by clientId

URL: {RootURL}/appapi/v1/clientPerson/ClientId/{clientId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientPerson/ClientPersonApi_PutById

PATCH by clientId

URL: {RootURL}/appapi/v1/clientPerson/ClientId/{clientId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/ClientPerson/ClientPersonApi_PatchById

File

GET by fileId

URL: {RootURL}/appapi/v1/file/{fileId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/File/FileApi_GetById  

GET all by adviser/clientId/clientgroupId/folder

URL: {RootURL}/appapi/v1/file/GetAll/{adviser}/{clientId}/{clientGroupId}/{folder}
Swagger: https://adviceos.com.au/appapidocsui/index#!/File/FileApi_Get

GET upload URL by fileName

URL: {RootURL}/appapi/v1/file/GetURL/{fileName}

Swagger: https://adviceos.com.au/appapidocsui/index#!/File/FileApi_GetURL

POST – file upload

URL: {RootURL}/appapi/v1/file/FileUpload

Swagger: https://adviceos.com.au/appapidocsui/index#!/File/FileApi_Post_0

POST – file data

URL: {RootURL}/appapi/v1/file

Swagger: https://adviceos.com.au/appapidocsui/index#!/File/FileApi_Post

PUT by fileId

URL: {RootURL}/appapi/v1/file/{fileId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/File/FileApi_Put

DELETE by fileId

URL: {RootURL}/appapi/v1/file/{fileId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/File/FileApi_DeleteById

 

Holding

GET by id

URL: {RootURL}/appapi/v1/holding/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Holding/HoldingApi_FindById

GET by externalId

URL: {RootURL}/appapi/v1/holding/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Holding/HoldingApi_FindByExternalId

GET by accountNumber

URL: {RootURL}/appapi/v1/holding/accountNumber/{accountNumber}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Holding/HoldingApi_FindByAccountNumber  

GET by clientId

URL: {RootURL}/appapi/v1/holding/clientId/{clientId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Holding/HoldingApi_GetByClientId

GET by clientGroupId

URL: {RootURL}/appapi/v1/holding/clientgroupId/{clientGroupId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Holding/HoldingApi_GetByClientGroupId

POST

URL: {RootURL}/appapi/v1/holding

Swagger: https://adviceos.com.au/appapidocsui/index#!/Holding/HoldingApi_Post

PUT by id

URL: {RootURL}/appapi/v1/holding/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Holding/HoldingApi_PutById

PUT by externalId

URL: {RootURL}/appapi/v1/holding/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Holding/HoldingApi_PutByExternalId

PATCH by id

URL: {RootURL}/appapi/v1/holding/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Holding/HoldingApi_PatchById

PATCH by externalId

URL: {RootURL}/appapi/v1/holding/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Holding/HoldingApi_PatchByExternalId

DELETE by id

URL: {RootURL}/appapi/v1/holding/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Holding/HoldingApi_DeleteById

DELETE by externalId

URL: {RootURL}/appapi/v1/holding/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Holding/HoldingApi_DeleteByExternalId

Insurance

GET by id

URL: {RootURL}/appapi/v1/insurance/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Insurance/InsuranceApi_FindById  

GET by externalId

URL: {RootURL}/appapi/v1/insurance/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Insurance/InsuranceApi_FindByExternalId

GET by policyNumber

URL: {RootURL}/appapi/v1/insurance/policyNumber/{policyNumber}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Insurance/InsuranceApi_FindByPolicyNumber

GET by clientId

URL: {RootURL}/appapi/v1/insurance/clientId/{clientId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Insurance/InsuranceApi_GetByClientId

GET by clientGroupId

URL: {RootURL}/appapi/v1/insurance/clientgroupId/{clientGroupId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Insurance/InsuranceApi_GetByClientGroupId  

POST

URL: {RootURL}/appapi/v1/insurance

Swagger: https://adviceos.com.au/appapidocsui/index#!/Insurance/InsuranceApi_Post

PUT by id

URL: {RootURL}/appapi/v1/insurance/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Insurance/InsuranceApi_PutById

PUT by externalId

URL: {RootURL}/appapi/v1/insurance/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Insurance/InsuranceApi_PutByExternalId

PATCH by id

URL: {RootURL}/appapi/v1/insurance/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Insurance/InsuranceApi_PatchById

PATCH by externalId

URL: {RootURL}/appapi/v1/insurance/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Insurance/InsuranceApi_PatchByExternalId

DELETE by id

URL: {RootURL}/appapi/v1/insurance/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Insurance/InsuranceApi_DeleteById

DELETE by externalId

URL: {RootURL}/appapi/v1/insurance/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Insurance/InsuranceApi_DeleteByExternalId

Loan

GET by id

URL: {RootURL}/appapi/v1/loan/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Loan/LoanApi_FindById 

GET by externalId

URL: {RootURL}/appapi/v1/loan/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Loan/LoanApi_FindByExternalId

GET by loanNumber

URL: {RootURL}/appapi/v1/loan/loanNumber/{loanNumber}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Loan/LoanApi_FindByLoanNumber   

GET by clientId

URL: {RootURL}/appapi/v1/loan/clientId/{clientId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Loan/LoanApi_GetByClientId

GET by clientGroupId

URL: {RootURL}/appapi/v1/loan/clientgroupId/{clientGroupId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Loan/LoanApi_GetByClientGroupId  

POST

URL: {RootURL}/appapi/v1/loan

Swagger: https://adviceos.com.au/appapidocsui/index#!/Loan/LoanApi_Post

PUT by id

URL: {RootURL}/appapi/v1/loan/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Loan/LoanApi_PutById

PUT by externalId

URL: {RootURL}/appapi/v1/loan/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Loan/LoanApi_PutByExternalId

PATCH by id

URL: {RootURL}/appapi/v1/loan/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Loan/LoanApi_PatchById

PATCH by externalId

URL: {RootURL}/appapi/v1/insurance/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Insurance/InsuranceApi_PatchByExternalId

DELETE by id

URL: {RootURL}/appapi/v1/loan/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Loan/LoanApi_DeleteById

DELETE by externalId

URL: {RootURL}/appapi/v1/loan/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Loan/LoanApi_DeleteByExternalId

PersonalAsset

GET by id

URL: {RootURL}/appapi/v1/personalasset/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/PersonalAsset/PersonalAssetApi_FindById 

GET by externalId

URL: {RootURL}/appapi/v1/personalasset/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/PersonalAsset/PersonalAssetApi_FindByExternalId

GET by clientId

URL: {RootURL}/appapi/v1/personalasset/clientId/{clientId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/PersonalAsset/PersonalAssetApi_GetByClientId

GET by clientGroupId

URL: {RootURL}/appapi/v1/personalasset/clientgroupId/{clientGroupId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/PersonalAsset/PersonalAssetApi_GetByClientGroupId

POST

URL: {RootURL}/appapi/v1/personalasset

Swagger: https://adviceos.com.au/appapidocsui/index#!/PersonalAsset/PersonalAssetApi_Post

PUT by id

URL: {RootURL}/appapi/v1/personalasset/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/PersonalAsset/PersonalAssetApi_PutById

PUT by externalId

URL: {RootURL}/appapi/v1/personalasset/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/PersonalAsset/PersonalAssetApi_PutByExternalId

PATCH by id

URL: {RootURL}/appapi/v1/personalasset/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/PersonalAsset/PersonalAssetApi_PatchById

PATCH by externalId

URL: {RootURL}/appapi/v1/insurance/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/Insurance/InsuranceApi_PatchByExternalId DELETE by id

URL: {RootURL}/appapi/v1/personalasset/{id}

Swagger: https://adviceos.com.au/appapidocsui/index#!/PersonalAsset/PersonalAssetApi_DeleteById

DELETE by externalId

URL: {RootURL}/appapi/v1/personalasset/externalId/{externalId}

Swagger: https://adviceos.com.au/appapidocsui/index#!/PersonalAsset/PersonalAssetApi_DeleteByExternalId

 

Security

POST

URL: {RootURL}/appapi/v1/security/token

Swagger: https://adviceos.com.au/appapidocsui/index#!/Security/SecurityApi_Token

UserAccount

GET by userName

URL: {RootURL}/appapi/v1/useraccount/userName/{userName}

Swagger: https://adviceos.com.au/appapidocsui/index#!/UserAccount/UserAccount_GetByUserName

GET by crmUserName

URL: {RootURL}/appapi/v1/useraccount/crmUserName/{crmUserName} 

Swagger: https://adviceos.com.au/appapidocsui/index#!/UserAccount/UserAccount_GetUserByCrmUserName

GET by primaryOfficeName

URL: {RootURL}/appapi/v1/useraccount/primaryOffice/{primaryOfficeName}

Swagger: https://adviceos.com.au/appapidocsui/index#!/UserAccount/UserAccount_GetUsersByPrimaryOffice

POST

URL: {RootURL}/appapi/v1/useraccount/Get

Swagger: https://adviceos.com.au/appapidocsui/index#!/UserAccount/UserAccount_GetAllUsers

HTTP status code summary

HTTP CodeDescription
200 OkEverything worked as expected.
401 UnauthorizedAccess token is invalid or expired.
400 Bad RequestInvalid data.
402 Not FoundNo link record exists for externalId for this user.
403 ForbiddenAuthentication was provided, but the authenticated user is not permitted to perform the requested operation. 
500 Internal Server ErrorSomething wrong in API server. 

Error Result messages 

If there was an error in executing services, the error description will be presented in the response. The list below shows common errors in the App API service.

Service Name/methodError DescriptionCause
Common Errors  
Get(ID)No link record exists for externalId { } for this user.For Get(ID) calls the provided ID does not exist or user has not permission to access it. 
Post(ID)Entity to be updated from ID { } does not exist for this user.For Post(ID) calls, there is no entity based on provided ID to be updated from XML or user has not permission to access it.   
Delete(ID)No Entity found for ID {}For Delete(ID) calls, there is no entity based on provided ID or user has not permission to access it.
Put(ID)/Delete(ID)/Get(ID)User doesn’t have permission to access the client with ID.The login user has no permission to the externalID that is provided.
Post/Put{fieldname} data is not valid.There are some master data fields are in payload which need to be match with Midwinter master data. Master data links are available in swagger model sample. 

Subscribe to receive news & insights from Midwinter