---
title: "Get Restriction Details"
method: GET
path: "/gw/api/v1/restrictions/restriction"
tags: ["preTradeComplianceRestrictions"]
---

# Get Restriction Details

`GET /gw/api/v1/restrictions/restriction`

Returns full details of a restriction including rules. The restriction must be owned by the caller. Returns 403 for both unauthorized and non-existent restrictions to prevent ID enumeration.<br><br>**Scope**: `restrictions.read`<br>**Security Policy**: `HTTPS`

## Query parameters

- `masterUserName` string, required
- `restrictionId` integer, required
- `isEmpTrack` string

## Headers

- `Authorization` string, required

## Response `200`

Full restriction details.

- RestrictionDetailsResponse — Response body for GET /external/restrdetails.
  - `status` string, required — Always `ok` on success.
  - `restrictionId` integer, required — Echoed from the request.
  - `name` string — Restriction name.
  - `description` string, nullable — Restriction description.
  - `message` string, nullable — Shown to users when the restriction triggers.
  - `applicationType` string — Example values: Restrict.
  - `usageType` string — Example values: Trading, Compliance, Monitor.
  - `allowOnly` string, nullable — Null when not applicable. The value `F` returned by the database is normalized to null.
  - `matchAll` string, nullable — Null when not applicable. The value `F` returned by the database is normalized to null.
  - `isWhiteList` string — Whitelist flag.
  - `rules` RestrictionRule[], required — Rules attached to this restriction. Empty array when none.
    - `ruleId` integer — Rule ID within the restriction.
    - `type` string — Example values: CLOSINGONLY, RESTRICTALLORDERS, CONCENTRATIONLIMIT, RESTRICTEDASSETCLASS, ISSUER, CONID, UNDERLYING, WHITELIST.
    - `validityType` string — GTC = Good Till Cancelled, GTD = Good Till Date.
    - `startDate` string — GTD rules only. Format: MM/dd/yyyy.
    - `endDate` string — GTD rules only. Format: MM/dd/yyyy.
    - `params` RuleParam[] — Rule parameters. Absent when the rule has no parameters.
  - `tmFrequency` string — Trade-monitoring recurrence. Present only when configured.
  - `tmFirstDate` integer — Trade-monitoring start timestamp in epoch milliseconds. Present only when configured.

## Other responses

- `400` — Missing, empty, non-numeric, or out-of-range parameter. The `error` field is always prefixed with `Bad Request:`.
- `401` — Missing, invalid, or unparseable Authorization token.
- `403` — Resource does not belong to the caller, does not exist, or an unsupported HTTP method was used. All cases return an identical body to prevent ID enumeration.
- `500` — Internal server error.

---

[API](https://skmtc.net/interactivebrokers/apis/api-reference.md) · [All operations](https://skmtc.net/interactivebrokers/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/interactivebrokers/api-reference/revisions/67f9f562c2c6/schema)
