# Query quote request (server ID)

Query the state of quote request by the RFS ID assigned by Integral. The response can include quotes, trades, and state of the Quote request.

Endpoint: GET /v2/rfs/{requestId}
Version: 1.0.1
Security: SSO_TOKEN

## Security:

  - `SSO_TOKEN` (unknown)
    apiKey in header SSO_TOKEN

## Path parameters:

  - `requestId` (string, required)
    Request ID assigned by Integral. Returned in `requestId` of the response to [Request quote](#operation/quoteRequest).

## Response 200:

  - `200` (unknown)
    A JSON object with the quote status. May include quotes and trades.

## Response 200 fields (application/json):

  - `clOrderId` (string)
    ID assigned by you from your request. You need to use this ID or the server ID `requestId` to query your request to get quotes and status.

  - `requestId` (string)
    Request ID assigned by Integral. Use this ID to accept a quote. You need to use this ID or your ID `clOrderId` to query your request to get quotes and status. Returned in `requestId` of [Request quote](#operation/quoteRequest).

  - `transactionId` (string)
    Request transaction ID assigned by Integral. Must be included on quote acceptance in the RFQ workflow.

  - `ttl` (number)
    Originating RFS request expiry time.

  - `event` (string)
    `QUOTE`: a quote in response to your request for quote.

  - `quotes` (array)
    Collection of quotes.

  - `quotes.requestId` (string)
    Request ID assigned by Integral. Returned in `requestId` of the response to [Request quote](#operation/quoteRequest).

  - `quotes.priceType` (string)
    - `Spot`
- `Outright`
- `NDF`
- `Swap`
- `FwdFwd`
- `NDFSwap`

  - `quotes.effectiveTime` (integer)
    Time in seconds when the quote is active. A value of `0` (zero) means that you can accept the quote immediately.

  - `quotes.symbol` (string)
    Base and term currency separated by a slash `/` (for example `EUR/USD`).

  - `quotes.ttl` (integer)
    Quote valid time (time to live) in seconds.

  - `quotes.dealtCurrency` (string)
    Dealt currency.

  - `quotes.status` (string)
    The status of the quote:
- `A`: Active
- `I`: Inactive

  - `quotes.nearValueDate` (string)
    Value date in the format `YYYY-MM-DD`.
- Spot, Outright: value date.
- Swap: near leg value date.
- NDF: value date if `farFixingDate` not specified.

  - `quotes.farValueDate` (string)
    Far-leg value date in the format `YYYY-MM-DD` for swaps (spot/forward, forward/forward, NDF).

  - `quotes.bids` (array)
    A collection of bid rates.

  - `quotes.bids.legType` (integer)
    Indicates near or far leg:
- `0`=Near
- `1`=Far

  - `quotes.bids.quoteId` (string)
    ID of the price in the quote. Use this ID for previously quoted orders.

  - `quotes.bids.type` (string)
    - `BID`
- `OFFER`
- `MID`

  - `quotes.bids.dealtAmount` (number)
    Dealt amount.

  - `quotes.bids.settledAmount` (number)
    Settled amount.

  - `quotes.bids.provider` (string)
    ID of provider supplying the price.

  - `quotes.bids.rate` (number)
    All-in rate.

  - `quotes.bids.spotRate` (number)
    Spot rate.

  - `quotes.bids.forwardPoint` (number)
    Forward points.

  - `quotes.bids.midRate` (number)
    Mid rate.

  - `quotes.offers` (array)
    A collection of offer rates.

  - `transactionId` (string)
    Request transaction ID assigned by Integral.

  - `expiryTimeInSeconds` (number)
    Originating RFS request expiry time.

  - `event` (string)
    The status of the request:
- `REQUEST_RECEIVED`: request for quote is received for processing, quoting has not started.
- `REQUEST_ACCEPTED`: request to trade a quote is accepted.
- `REQUEST_DECLINED`: request declined.
- `REQUEST_WITHDRAWN`: request was canceled by you.
- `REQUEST_EXPIRED`: request expired and inactive.
- `TRADE_VERIFIED`: executed trade in response to your request to trade a quote.
- `TRADE_PENDING`: request to trade a quote pending.
- `TRADE_REJECTED`: request to trade a quote rejected by one or more liquidity providers.

  - `event` (string)
    `TRADE_VERIFIED`: executed trade in response to your request to trade a quote.

  - `trades` (array)
    Collection of trades.

  - `trades.orderId` (string)
    Order ID.

  - `trades.tradeId` (string)
    Integral trade ID.

  - `trades.tradeType` (string)
    Trade type:
- `Spot`
- `Outright`
- `Swap`
- `FwdFwd`
- `NDF`
- `NDFSwap`

  - `trades.tenor` (string)
    Trade tenor:
- `Today`: today
- `TOD`: today
- `ON`: overnight (today)
- `TN`: tomorrow
- `SP`: spot
- `SPOT`: spot
- `SN`: spot next (spot+1)
- *n*`D`: a number of days after the current business date (for example, 1D, 2D, 10D)
- *n*`W`: a number of weeks after the current business date (for example, 1W, 2W, 3W)
- *n*`M`: a number of months after the current business date (for example, 1M, 2M, 3M)
- *n*`Y`: a number of years after the current business date (for example, 1Y, 2Y, 3Y)
- *n*`IMM`: The next International Monetary Market (IMM) settlement date. IMM dates are the third Wednesday of the last month of every quarter (March, June, September, December). `IMM` results in the next IMM date on or after the spot date. `2IMM` results in two IMM dates after the spot date.
- `S`*n*`IMM`: (spot + IMM) for swaps
- `T`*n*`IMM`: (tomorrow + IMM) for swaps

  - `trades.tradeDate` (string)
    Date the trade was initiated in the format `YYYY-MM-DD`.

  - `trades.valueDate` (string)
    Value date in the format `YYYY-MM-DD`.

  - `trades.fixingDate` (string)
    (NDF trades) Fixing date in the format `YYYY-MM-DD`.

  - `trades.fixingTenor` (string)
    (NDF trades) Fixing tenor.

  - `trades.executionTime` (string)
    Date and time trade was done in the format `yyyy-MM-dd HH:mm:ss,SSS Z`.

  - `trades.maker` (boolean)
    - `true`: Maker (the deal was initiated by submitting a request or from working the balance on an outstanding order).
- `false`: Taker (the deal was initiated by taking a dealable price in the app).

  - `trades.orderSide` (string)
    Side of the order from your perspective, either `Buy` or `Sell`.

  - `trades.status` (string)
    Status of the trade when the message was created:
- Pending
- Verified
- Rejected

  - `trades.rejectReason` (string)
    The reason for trade rejection, if any.

  - `trades.symbol` (string)
    Dealt instrument pair (currency, metal, energy, index, crypto), seven-character ISO code (for example, `AUD/USD`).

  - `trades.dealtIns` (string)
    Dealt instrument, three-character ISO code (for example, `AUD`).

  - `trades.dealtAmount` (number)
    Amount of the dealt instrument or near-leg instrument.

  - `trades.settledAmount` (number)
    Amount of the settlement instrument.

  - `trades.baseAmount` (number)
    Amount of base instrument.

  - `trades.termAmount` (number)
    Amount of term instrument.

  - `trades.spotRate` (number)
    Spot rate of the trade or near leg of the trade.

  - `trades.rate` (number)
    All-in rate.

  - `trades.orderType` (string)
    Type of order.

  - `trades.rateId` (string)
    ID of the originating rate, if any.

  - `trades.forwardPoints` (number)
    Forward points for outright trades and near leg of swaps.

  - `trades.swapPoints` (number)
    Swap points, if any.

  - `trades.customerAccount` (string)
    Customer legal entity ID.

  - `trades.customerOrg` (string)
    Customer org ID.

  - `trades.trader` (string)
    Customer trader user who did the trade.

  - `trades.counterparty` (string)
    Counterparty ID.

  - `trades.cptyLongName` (string)
    Counterparty name.

  - `trades.coverTradeIds` (array)
    List of ID for trades that cover this trade, if any.

  - `trades.cptyTradeId` (string)
    Trade ID assigned by counterparty.

  - `trades.counterpartyAccount` (string)
    Counterparty legal entity ID.

  - `trades.channel` (string)
    Workflow, app, and UI component that originated the request.

  - `trades.farTenor` (string)
    Far-leg tenor for swaps.

  - `trades.farFixingTenor` (string)
    Far-leg fixing tenor for NDF swaps.

  - `trades.farFixingDate` (string)
    Far-leg fixing date for NDF swaps in the format `YYYY-MM-DD`.

  - `trades.farValueDate` (string)
    Far-leg value date for swaps in the format `YYYY-MM-DD`.

  - `trades.farSide` (string)
    Side of the far leg for swaps.

  - `trades.farRate` (number)
    Far-leg rate for swaps.

  - `trades.farDealtAmount` (number)
    Far-leg amount in the dealt instrument for swaps.

  - `trades.farSettledAmount` (number)
    Far-leg amount in the settlement instrument for swaps.

  - `trades.farBaseAmount` (number)
    Far-leg amount in the base instrument for swap.

  - `trades.farTermAmount` (number)
    Far-leg amount in the term instrument for swaps.

  - `trades.farForwardPoints` (number)
    Far-leg forward points for swaps.

  - `trades.counterpartyALEI` (string)
    LEI code for counterpartyA.

  - `trades.counterpartyBLEI` (string)
    LEI code for counterpartyB.

  - `trades.externalRequestId` (string)
    The ID of the originating request for price from a system external to Integral.

  - `trades.requestId` (string)
    The ID of the originating request for price from Integral systems.

  - `trades.portfolioId` (string)
    Containing portfolio ID for batch trades and SSPs.

  - `trades.benchmarkRate` (number)
    Reference benchmark rate.

  - `trades.outright` (object)
    Forward pricing info for the trade.

  - `trades.outright.forwardPoints` (number)
    Forward points.

  - `trades.outright.maturityDate` (string)
    Maturity date in the format `YYYY-MM-DD`.

  - `trades.outright.spotRate` (number)
    Spot rate.

  - `trades.outright.fixingTenor` (string)
    NDF fixing tenor, if any.

  - `trades.outright.tenor` (string)
    Requested tenor, if any.

  - `trades.outright.fixingDate` (string)
    NDF fixing date in the format `YYYY-MM-DD`.

  - `trades.farLegISIN` (string)
    Far-leg International Securities Identification Number for multi-leg trades.

  - `trades.nearLegISIN` (string)
    Near-leg International Securities Identification Number for multi-leg trades.

  - `trades.regulatory` (object)
    An object containing regulatory information.

  - `trades.regulatory.orderSubmissionTime` (string)
    Date and time of order submission.

  - `trades.regulatory.tradeExecutionTime` (string)
    Date and time of trade execution.

  - `trades.regulatory.mtf` (boolean)
    Whether or not the trade done in a multilateral trading facility.

  - `trades.regulatory.mtfVenue` (string)
    ID of the MTF.

  - `trades.regulatory.investmentDecisionMaker` (string)
    User ID of the investment decision maker.

  - `trades.regulatory.takerCapacity` (string)
    Taker capacity represented by this trade.

  - `trades.regulatory.executingUser` (string)
    ID of the executing user.

  - `trades.regulatory.executingOrg` (string)
    ID of the executing organization.

  - `trades.regulatory.makerExecutingFirm` (string)
    ID of the executing maker organization.

  - `trades.regulatory.takerExecutingFirm` (string)
    ID of the executing taker organization.

  - `trades.regulatory.siExecution` (boolean)
    Whether or not the trade done by a systemic internalizer.

  - `trades.regulatory.siVenue` (string)
    The ID of the systemic internalizer venue.

  - `trades.regulatory.sft` (boolean)
    Whether or not the trade is a securities financing transaction.

  - `trades.regulatory.npft` (boolean)
    Whether or not the trade is a non-price forming transaction.

  - `trades.regulatory.preTradeWaiver` (string)
    Pre-trade transparency waiver.

  - `trades.regulatory.postTradeDeferral` (string)
    Post-trade deferral period.

  - `trades.regulatory.takerCountryCode` (string)
    Taker organization’s country code.

  - `trades.regulatory.makerCountryCode` (string)
    Maker organization’s country code.

  - `trades.regulatory.customerCountryCode` (string)
    Customer’s country code.

  - `trades.regulatory.customerAccount` (string)
    ID of the customer legal entity.

  - `trades.regulatory.counterpartyALEI` (string)
    Counterparty A's Legal Entity Identifier for MiFID II.

  - `trades.regulatory.counterpartyBLEI` (string)
    Counterparty B's Legal Entity Identifier for MiFID II.

  - `trades.fees` (number)
    Fees on the trade, if any.

  - `trades.initialSettledAmount` (number)
    The initial settled amount before any amendment.

  - `trades.notes` (string)
    Any notes on the order entered by the order submitting user.

  - `trades.midMarket` (boolean)
    Whether or not the trade was done at the mid-market rate.

  - `trades.uti` (string)
    The Unique Trade Identifier if the trade was done in a SEF.

  - `trades.upi` (string)
    The Unique Product Identifier if the trade was done in a SEF.

  - `trades.isinLinkId` (string)
    International Securities Identification Number link ID.

  - `trades.customParameters` (object)
    Collection of parameters that are unique to your organization. The number of parameters, their keynames, and values are defined by you.
Contact your Integral Customer Engineer to enable and configure custom parameters.
Your custom parameters are included in API responses and in STP trade download.
Custom parameters sent to Integral via API are stored in the database directly. No validation is performed.
The maximum size of the `customParameter` property is `3500` characters, including all keys, values, and JSON syntax characters.

  - `trades.customParameters.keyName` (string)
    The keyname of a custom parameter key/value pair as defined by your organization. Contact your Integral Customer Engineer to enable and configure custom parameters.

  - `trades.customParameters.value` (string)
    The value of a custom parameter key/value pair as defined by your organization. Contact your Integral Customer Engineer to enable and configure custom parameters.

## Response 404:

  - `404` (unknown)
    Your request was malformed.

## Response 200 examples:

  - `QUOTE (outright)` (unknown)

  - `QUOTE (forward/forward swap)` (unknown)

  - `REQUEST_RECEIVED` (unknown)

  - `REQUEST_ACCEPTED` (unknown)

  - `TRADE_PENDING` (unknown)

  - `TRADE_VERIFIED` (unknown)

  - `REQUEST_DECLINED` (unknown)

  - `TRADE_REJECTED` (unknown)

  - `REQUEST_WITHDRAWN` (unknown)

  - `REQUEST_EXPIRED` (unknown)

