Docs Rest API vs SOAP - FIA TECH · Rest API Field SOAP API Field Description RateScheduleId Unique...

17
Docs Rest API vs SOAP 10/22/2019 v1.4 Revision Version Modified Date Revision Details V1.0 05/06/2019 Initial Version V1.1 06/05/2019 Error in agreement type table corrected V1.2 08/01/2019 Clarification surrounding population of BillWho V1.3 10/01/2019 Enumeration Types updated for Execution Type V1.4 10/21/2019 Included comprehensive SOAP to Rest enum value changes

Transcript of Docs Rest API vs SOAP - FIA TECH · Rest API Field SOAP API Field Description RateScheduleId Unique...

Docs Rest API vs SOAP 10/22/2019 v1.4

Revision Version Modified Date Revision Details

V1.0 05/06/2019 Initial Version

V1.1 06/05/2019 Error in agreement type table corrected V1.2 08/01/2019 Clarification surrounding population of

BillWho V1.3 10/01/2019 Enumeration Types updated for

Execution Type V1.4 10/21/2019 Included comprehensive SOAP to Rest

enum value changes

Accelerate DOCS Quick Start Guide

1

1. Introduction .................................................................................................................................... 2

2. Master list of API Response Fields .................................................................................................. 2

3. Business Dates ................................................................................................................................ 5

4. Enumeration types with values different from SOAP API ............................................................... 6

5. All other enumeration types ......................................................................................................... 10

6. Agreement .................................................................................................................................... 10

a. Get Agreement Details .................................................................................................................. 10

b. Get Updated Agreements .............................................................................................................. 12

7. Clearing Accounts ......................................................................................................................... 12

8. Agreement Risk ............................................................................................................................. 12

9. Rate Schedule ............................................................................................................................... 12

a. Upload Rate Schedule .................................................................................................................... 12

b. Delete Rate Schedule..................................................................................................................... 13

c. Download Rate Schedule ............................................................................................................... 13

d. Get Updated Rate Schedules ......................................................................................................... 13

10. Reference Data ............................................................................................................................. 14

a. Get Parties..................................................................................................................................... 14

b. Get Exchanges ............................................................................................................................... 15

c. Get Exchange Firms ....................................................................................................................... 15

d. Get Exchange Product Groups ....................................................................................................... 15

e. Get Enumerations.......................................................................................................................... 16

Accelerate DOCS Quick Start Guide

2

1. Introduction

This guide provides information about the differences between the Docs Rest and SOAP API. This should

not be treated as the definitive guide to differences, rather a summary of the most important ones. Firms

transitioning from the SOAP to the Rest API should perform their own testing on order to discern what

changes they may need to incorporate to accommodate the Rest API. Note that fields that appeared in

the SOAP API that do not appear in the Rest API are not mentioned here.

To provide a holistic view of the Rest API, this document contains a large number of fields and values that

remain unchanged between the two APIs. They appear in this document for reference purposes. For

additional information about fields and calls available in the Rest API, please refer to the Docs Rest API

Technical Specifications.

2. Master list of API Response Fields

Most of the API calls have some common request/response fields. In this section, the master list of these

fields are listed with a brief description. Note that these fields are listed here in alphabetical order, not

the order they may appear in the API response.

Bands

Rest API Field SOAP API Field Description

ApplyTo Apply Indicates whether this highest band rate should be applied to all contracts, or if all preceding bands should be used in calculation. One of the possible values from RateApplyTo enumeration

BandNum Sequence number of this Band

BandRateType One of the possible values from RateType for this band BandValueType One of the possible values from BandValueType

End The end value for this band based on BandValueType

Rate The rate applied when this band is matched

Start The start value for this Band based on BandValueType

ClearingAccount

Rest API Field SOAP API Field Description

AccountId Clearing account ID ClearingAccountType N/A Type of clearing account

Description Description of the account

EffectiveDate Effective Date for clearing account (this is a business date) ExpirationDate Expiration Date for clearing account (this is a business date)

Exchange

SOAP API Field Rest API Field Description

Accelerate DOCS Quick Start Guide

3

DirectBill ExchangeDirectBill Indicates if this exchange is to be directly billed e.g. YES/NO

ExchangeCode Exchange Indicates code for the exchange

Rates Rate List of Rates defined for this exchange

CreatedOn Indicates created on datetimestamp UpdatedOn Indicates updated on datetimestamp

ExecutingAccount

Field Description

AccountId Executing account Id Description Description of the account

EffectiveDate Effective Date for executing account (this is a business date)

ExpirationDate Expiration Date for executing account (this is a business date)

Party

Rest API Field SOAP API Field Description

AgreementPartyRole Type The role for this party on the agreement. (This field is returned only if the Party is being returned as a result of a call to the Agreement API)

InstitutionId InstitutionId of the party. If the party is not a sub-party, this will be identical to the ParentId

Name Name of the party

ParentId Parent PartyId of the party. If the party is not a sub-party, this will be identical to the InstitutionId

PartyFirms ExchangeFirmCode List of Party Firms in associated to the party PartyId Code Unique identifier for the party

CreatedOn Date when the party was created

UpdatedOn Date when the party was last updated

PartyFirm

Field Description

ExchangeCode Exchange Code the FirmCode applies for

FirmCode Exchange Firm Code for the Party PrimaryFlag Indicates if the Exchange Firm Code is primary (Y/N)

CreatedOn Date when the partyfirm was created

UpdatedOn Date when the partyfirm was last updated

Product

Rest API Field SOAP API Field Description ProductCode Product Code

ProductName N/A Product Name

Accelerate DOCS Quick Start Guide

4

ProductType Type of instrument

CreatedOn Date when the product was created

UpdatedOn Date when the product was last updated

ProductGroup

Field Description ProductGroupCode Product group code for a Products

Products List of Products under this product group

Rate

Rest API Field SOAP API Field Description AddOnAmount Indicates Add On amount.

AddOnApply AOApply Indicates Add On Apply Type (Per Contract or Per Tradeype)

Amount Indicates Rate Amount. Bands List of Bands involved in the Rates

DefaultExecutionType Indicates if the Rate associated with the ExecutionType is default rate (Y/N)

ExecutionType Indicates which execution types the corresponding rate applies to. 1

ExecutionTypeName Indicates execution type name (text after “-“ from the execution type, if any)

Max Maximum amount for the Rate.

Min Minimum amount for the Rate. MinMaxApply MMApply Indicates Min Max Apply Type. One of the possible values

from RateApply enumeration. MinMaxDefine MMDefine Indicates Min Max Define type. Type of value in the Min

and Max fields ProductCode Indicates product code

ProductGroupCode Indicates product group code

ProductType Indicates product type Rank Indicates order in which to process the rate within the rate

schedule for trade matching RateCurrency 3-digit standard ISO currency code (for e.g. EUR, USD etc)

RateType Indicates the type of this Rate

SpreadType Spread Indicates the Spread Type of this Rate Tiers List of Tiers involved in the Rates. Returned only if rate

type is Vol Disc. If it’s not Vol Disc, this is not returned

1 Note that the Rest API will not pass ‘blank’ execution methods associated with the ‘default’ value of “Y”. Instead the default rate type should be determined using the “DefaultExecutionType” flag.

Accelerate DOCS Quick Start Guide

5

TradeType Indicate the Trade Type of this Rate

RateSchedule

Rest API Field SOAP API Field Description RateScheduleId Unique identifier for rate schedule Id

Exchanges List of Exchanges where this Rate Schedule is valid in the Rate Schedule

ExecutingAccounts List of Executing Accounts available on this Rrate Sschedule

FileName N/A Name of the Rate Schedule

Tier

Rest API Field SOAP API Field Description

Amount TierAmount Indicates Rate Amount for this tier

ApplyTo Indicates whether the tier applies to all activity for the period or Next activity for the period. One of the possible values from RateApplyTo enumeration

Period For Vol Disc rates, the period for which the tier applies.

StartType For Vol Disc rates, one of the StartType of tier for the rate. StartTypeValue For Vol Disc rates, the start number or amount of each tier

3. Dates

Business Dates

Business Dates (date only without a time component) on all the responses are:

EffectiveDate

ExpirationDate

TerminationDate

DateTimeStamps

In SOAP API all Date Time Stamps were provided in NYC time, in the Rest API, all dates are expressed

in UTC. All dates except those mentioned above are Date Time Stamps.

Accelerate DOCS Quick Start Guide

6

4. Enumeration types with values different from SOAP API

All of the below enumerations have differences in the Rest vs SOAP API values. If a value is not included

in the SOAP API Value column, it means that the value is unchanged in the Rest API, or that the value

was not applicable in the SOAP API. Note that the SOAP API inconsistently but frequently returned an

empty space to represent a missing value in a field. This behavior has been removed.

AgreementState Rest API Value SOAP API Value

Pending In Progress Draft In Progress

PendingInitiation In Progress

InitiationRejected In Progress

Composition Review Execution Approval

Executed

Terminated Stale

Deleted

CompositionLocked

AgreementType Rest API Value SOAP API Value

STDC Standard Agreement - Customer (STDC)

STDT Standard Agreement - Trader (STDT) STDO

EFPC EFP Agreement - Customer (EFPC)

EFPT EFP Agreement - Trader (EFPT) GUSA

CLSA

LMECCB LME Agreement - Customer, Carrying Broker (LMECCB)

AgreementPartyRole

Rest API Value SOAP API Value

Unknown Trader

ExecutionBroker ExecutingBroker

ClearingBroker Customer

ExecutingAdministrativeClearer

ClearingAdministrativeClearer CarryingBroker

OrderPassingBroker OrderPassingBrokerakaOrderPlacementAgent

LMEClearingMember ClearingBroker

LMEExecutingMember

Accelerate DOCS Quick Start Guide

7

LMECXM LME Agreement - Customer, Executing Member (LMECXM)

LMECXMCB LME Agreement - Customer, Executing Member, Carrying Broker (LMECXMCB)

LMECEAC

LMECCAC

LMECEACCAC LMECEACCB

LMECEACCACCB

LMETCB LME Agreement - Trader, Carrying Broker (LMETCB) LMETXM LME Agreement - Trader, Executing Member (LMETXM)

LMETXMCB LME Agreement - Trader, Executing Member, Carrying Broker (LMETXMCB)

LMETEAC

LMETCAC LMETEACCAC

LMETEACCB

LMETEACCACCB LMEC

LMET

ClearingAccountType CustomerClearingAccount FcmProcessingAccount

ExecutionType Rest API value ExecutionType

RestAPI value ExecutionTypeName

SOAP API Value ExecutionType

Y Electronic Y

Z ClientPit Z W Desk W

X DeskPit X

A PhoneSimple A B PhoneComplex B

LC FcmProvidedScreen C

LD OtherProvidedScreen D E ClientProvidedPlatformControlledByFcm E

F ClientProvidedPlatformDirectToExchange F

LG FcmApiOrFix G LH AlgoEngine H

J PriceAtExecution J

C VendorProvidedPlatformBilledByExecutingBroker

C

D OtherIncludingOtherProvidedScreen D H PremiumAlgorithmicTradingProviderBilled

ByExecutingBroker H

Accelerate DOCS Quick Start Guide

8

G SponsoredAccessViaExchangeApiOrFixProvidedByExecutingBroker

G

K K

M M

N N

P P Q Q

R R

S S T T

U U

V V 2 2

3 3

4 4 5 5

6 6

7 7 8 8

9 9

MinMaxDefine Rest API Value SOAP API Value Amount

PercentPremium %Premium

PercentNotional %Notional

BandValueType Rest API Value SOAP API Value

BPS

Notional NumberOfContracts Number of Contracts

Premium

TradePrice Trade Price

PartyRole Trader

ExecutionBroker

ClearingBroker Customer

RateType Rest API Value SOAP API Value

PerContract Per Contract PerTrade Per Trade

VolDisc Vol Disc

Accelerate DOCS Quick Start Guide

9

PercentPremium %Premium

PercentNotional %Notional

BPS

MWH BTU

MBTU

MMBTU TONNES

Barrels

MetricTons Metric Tons Vega

Band

SpreadType Rest API Value SOAP API Value Spread S

PitSpread 6

Roll RO Hedge HE

Fly F

Straddle STD Strangle STG

Switch SW

TAS T Condor CO

StartType Rest API Value SOAP API Value

Amount Number

PremiumPrice

NotionalPrice NumberOfContracts Number of Contracts

NumberOfTrades Number of Trades

TradeType Rest API Value SOAP API Value BlockTrade B

ExchangeForPhysical E

ExchangeForRisk N ExchangeForSwap T

BasisTrade BT

PerAllocation PA

Accelerate DOCS Quick Start Guide

10

RateApply Rest API Value SOAP API Value

PerContract Per Contract

PerTrade Per Trade

RateApplyTo Rest API Value SOAP API Value

UseOnlyOne Use Only One

UseAllThatApply Use All That Apply

5. All other enumeration types

Period Daily

Monthly

ProductType COMBO

Forwrd

FUT Future

Mixed

OFF OOC

OOF

OPT

Option PHY

Spot

Swap Swaps

6. Agreement a. Get Agreement Details

The Agreement Details API allows you to request agreement details based on API user’s party

entitlements. This API returns agreement details for all agreement states except “Deleted”.

Request

GET /DocsApi/agreement/details?agreementId=13423

Field Description

AgreementId Unique identifier for the Agreement to the details for.

Accelerate DOCS Quick Start Guide

11

Response

Rest API Field SOAP API Field Description AgreementId Unique identifier for an Agreement

AgreementTransitionedFrom N/A The agreement Id from which it was cloned (may be empty if this agreement was not part of a give-up agreement transition

AgreementTransitionedTo N/A The agreement Id to which it was cloned (may be empty if this agreement was not part of a give-up agreement transition

AgreementType Type of the agreement BillWho2 Party to which you can bill for this agreement

(except Executing Broker). ClearingAccounts List of ClearingAccounts in the agreement

CreatedOn N/A Date Agreement initiated or created in UTC

CustomerReference Name of Customer party for which the details are being downloaded. If there is no customer party on the agreement, then the Trader party name is returned

EffectiveDate Date on which Agreement becomes effective (this is a business date)

ExecutedDate ApprovalDate Executed date time stamp of the agreement in UTC

FollowingAgreementId Agreement Id to which it was amended (may be empty if this agreement was not amended)

GroupId Unique identifier for the agreements which are related

InitiatedOn CreationDate Initiated date time stamp in UTC

LastModified UpdateDate Last modified (touched) date time stamp in UTC Parties List of Parties involved in the agreement

PriorAgreementId Agreement Id from which it was amended (may be empty if this agreement is not an amendment)

ProfitCenter Profit Center for this agreement. This is a client defined value, it is not validated by Docs.

RateSchedules3 List of RateSchedules in the agreement

State Status State of the agreement SuppDocCount Count of supplemental docs on the agreement

TerminationDate Date on which agreement becomes terminated (this is a business date)

2 The BillWho value will only populate over the Rest API once the Rate Schedule workstream is saved, regardless whether or not the default value is selected. This is a difference from the SOAP API 3 Note that the Rest API will not pass ‘blank’ execution methods associated with the ‘default’ value of “Y”. Instead the default rate type should be determined using the “DefaultExecutionType” flag.

Accelerate DOCS Quick Start Guide

12

b. Get Updated Agreements

The Agreement Updates API allows you to retrieve agreement IDs based on API user’s party entitlements.

The maximum duration allowed between the From and To date is 1095 days (~ 3 years).

Request

GET/DocsApi/agreement/updates?fromDate=2018-02-25T20%3A29%3A54.115Z&toDate=2018-02-27T20%3A29%3A54.115Z

Field Description

FromDate Indicates From date and time

ToDate Indicates To date and time

Response

Rest API Field SOAP API Field Description

AgreementId Unique identifier for an Agreement

AgreementType N/A Type of the agreement

EffectiveDate Date on which Agreement becomes effective (this is a business date)

InitiatedOn N/A Initiated DateTimeStamp for the agreement in UTC

LastModified UpdateDate LastModified DateTimeStamp for the agreement in UTC

State Status State of the agreement

TerminationDate Date on which agreement becomes terminated (this is a business date)

7. Clearing Accounts

New calls unique to Docs Rest API, not present in Docs SOAP API. See Docs Rest API specifications for

additional information

8. Agreement Risk

New calls unique to Docs Rest API, not present in Docs SOAP API. See Docs Rest API specifications for

additional information

9. Rate Schedule a. Upload Rate Schedule

The Rate schedule upload API allows you to upload a rate schedule to a party’s rate schedule library.

Request

Accelerate DOCS Quick Start Guide

13

POST /DocsApi/rateschedule/upload?partyId=257

Field Description

Exchanges List of Exchanges where this Rate Schedule is valid

FileName The downloaded rate schedule’s filename

b. Delete Rate Schedule

The Rate schedule delete API allows deleting a rate schedule from a party’s rate schedule library.

Request

DELETE /DocsApi/rateschedule/delete?partyId=257&fileName=MONDAY_v10.xlsm

Field Description

PartyId Unique identifier for the party the rate schedule to be deleted should be associated with

FileName Filename of the Rate Schedule to be deleted

c. Download Rate Schedule

The Rate schedule download API allows you to download a rate schedule from a party’s rate schedule

library.

Request

GET /DocsApi/rateschedule/download?partyId=257&fileName=MONDAY_v10.xlsm

Field Description

PartyId Unique identifier for the party the rate schedule to be downloaded should be associated with

FileName Filename of the Rate Schedule to be downloaded

Response

Field Description

Exchanges List of Exchanges where this Rate Schedule is valid

ExecutingAccounts List of Executing Accounts available on this rate schedule FileName The downloaded rate schedule’s filename

RateScheduleId Unique identifier for rate schedule Id

d. Get Updated Rate Schedules

Accelerate DOCS Quick Start Guide

14

The Update Rate Schedule API allows you to retrieve a list of filenames based on the updated date of the

rate schedules.

Request

GET /DocsApi/rateschedule/updates?fromDate=2018-04-10T20%3A29%3A54.115Z&toDate=2018-05-26T20%3A29%3A54.115Z&institutionId=111&partyId=257

Field Description FromDate Indicates From date and time

ToDate Indicates To date and time

PartyId Unique identifier for the party the rate schedule to be retrieved should be associated with

Response

Field Description FileName The downloaded rate schedule’s filename

RateScheduleId Unique identifier for rate schedule Id

10. Reference Data a. Get Parties

The Get parties API retrieves a list of parties based on the comma-separated list of PartyIds passed and/or

based on the From and/or To date range passed which match the last modified timestamp for the party.

If any part of the request is not passed or cannot be parsed, then the response will include all the entitled

parties.

Request

PUT /DocsApi/referenceData/parties

Response

Rest API Field

SOAP API Field Description

Code N/A Alphanumeric unique code for the party

CreatedOn Date when the party was created InstitutionId InstitutionId of the party. If the party is not a sub-party, this will be

identical to the ParentId IsActive Indicates whether the Party is active or inactive

Name Name of the party

Accelerate DOCS Quick Start Guide

15

ParentId N/A Parent PartyId of the party. If the party is not a sub-party, this will be identical to the InstitutionId

PartyId PartyCode Unique identifier for the party

UpdatedOn Date when the party was last updated

b. Get Exchanges

The Get Exchanges API retrieves a list of exchanges based on the exchange code passed and/or based on

the From and/or To date range passed which match the last modified datetime for the exchange. If any

part of the request is not passed or cannot be parsed, then the response will include all the exchanges.

Request

PUT /DocsApi/referenceData/exchanges

Response

Rest API Field

SOAP API Field Description

Code Alphanumeric unique code for the exchange

Name Name of the exchange

CreatedOn CreationDate Date when the exchange was created UpdatedOn Date when the exchange was last updated

c. Get Exchange Firms

The Get Exchange Firms API retrieves a list of exchange firms based on the PartyId passed and/or based

on the From and/or To date range passed which match the last modified datetime for the party. If any

part of the request is not passed or cannot be parsed, then the response will include all the exchange

firms.

Request

PUT /DocsApi/referenceData/exchangeFirms

Response

Field Description

PartyFirms List of PartyFirms PartyId Unique identifier for the party

d. Get Exchange Product Groups

Accelerate DOCS Quick Start Guide

16

The Get Exchange Product Groups API retrieves a list of exchange product groups based on the Exchange

Code passed and/or based on the From and/or To date range passed which match the last modified

datetime for the Exchange. If any part of the request is not passed or cannot be parsed, then the response

will include all the exchange product groups.

Request

PUT /DocsApi/referenceData/exchangeProductGroups

Response

Field Description ProductGroups List of Product Groups for the exchange

ExchangeCode The unique alphanumeric code for the Exchange

e. Get Enumerations

The Get Enumerations API allows to retrieve all the valid enums used in Docs Api.

Request

GET /DocsApi/referenceData/enumerations

Response

Field Description AgreementPartyRole List of AgreementPartyRole enum values

AgreementState List of AgreementState enum values

AgreementType List of AgreementType enum values BandValueType List of BandValueType enum values

ClearingAccountType List of ClearingAccountType enum values

ExecutionType List of ExecutionType enum values MinMaxDefine List of MinMaxDefine enum values

PartyRole List of PartyRole enum values

Period List of Period enum values

ProductType List of ProductType enum values RateApply List of RateApply enum values

RateApplyTo List of RateApplyTo enum values

RateType List of RateType enum values SpreadType List of SpreadType enum values

StartType List of StartType enum values

TradeType List of TradeType enum values