API Reference / Risk Parameters
Get Effective Margin Requirements
getAccountsAccountNumberMarginRequirementsUnderlyingSymbolEffective/accounts/{account_number}/margin-requirements/{underlying_symbol}/effectiveBase URL: https://api.cert.tastyworks.com (Sandbox) · https://api.tastyworks.com (Production)
Returns the margin requirements in effect for a single underlying symbol on the given account.
Code samples
curl -X GET 'https://api.cert.tastyworks.com/accounts/5WX01234/margin-requirements/{underlying_symbol}/effective' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'User-Agent: tastytrade-docs-example/1.0'import requests
url = "https://api.cert.tastyworks.com/accounts/5WX01234/margin-requirements/{underlying_symbol}/effective"
headers = {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"User-Agent": "tastytrade-docs-example/1.0",
}
resp = requests.get(url, headers=headers)
print(resp.status_code, resp.json())const resp = await fetch("https://api.cert.tastyworks.com/accounts/5WX01234/margin-requirements/{underlying_symbol}/effective", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN",
"User-Agent": "tastytrade-docs-example/1.0",
},
})
const data = await resp.json()
console.log(resp.status, data)package main
import (
"net/http"
"io"
"fmt"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.cert.tastyworks.com/accounts/5WX01234/margin-requirements/{underlying_symbol}/effective", nil)
req.Header.Set("Authorization", "Bearer YOUR_ACCESS_TOKEN")
req.Header.Set("User-Agent", "tastytrade-docs-example/1.0")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
out, _ := io.ReadAll(resp.Body)
fmt.Println(resp.Status, string(out))
}import java.net.URI;
import java.net.http.*;
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://api.cert.tastyworks.com/accounts/5WX01234/margin-requirements/{underlying_symbol}/effective"))
.header("Authorization", "Bearer YOUR_ACCESS_TOKEN")
.header("User-Agent", "tastytrade-docs-example/1.0")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> resp = client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.statusCode() + " " + resp.body());Parameters
| Name | In | Type | Description |
|---|---|---|---|
| account_number* | path | string | e.g. "5WX01234" |
| underlying_symbol* | path | string |
Responses
Example response
{
"data": {
"long-equity-initial": "string",
"long-equity-maintenance": "string",
"naked-option-floor": "string",
"naked-option-minimum": "string",
"naked-option-standard": "string",
"short-equity-initial": "string",
"short-equity-maintenance": "string",
"underlying-symbol": "AAPL",
"clearing-identifier": "string",
"is-deleted": false
},
"context": "/accounts/{account_number}/margin-requirements/{underlying_symbol}/effective"
}Schema
datarequiredobject (MarginRequirement)The effective margin requirement rates for a single underlying symbol.
long-equity-initialstring <decimal>Initial margin rate charged on long equity positions in this underlying, as a decimal rate of market value (the Reg T standard is `0.50`; higher-risk symbols carry higher rates). Decimal value serialized as a JSON string (e.g. "150.25").
long-equity-maintenancestring <decimal>Maintenance margin rate charged on long equity positions in this underlying (standard `0.25`). Decimal value serialized as a JSON string (e.g. "150.25").
naked-option-floorstring <decimal>Absolute per-contract dollar floor for naked (uncovered) option requirements; for puts the floor is capped at the cash-secured requirement. The naked requirement charged is the greatest of the standard, minimum, and floor calculations. Decimal value serialized as a JSON string (e.g. "150.25").
naked-option-minimumstring <decimal>Rate used in the alternative minimum naked (uncovered) option calculation: rate × underlying price for calls, or rate × strike price for puts, plus the option premium, per contract. Decimal value serialized as a JSON string (e.g. "150.25").
naked-option-standardstring <decimal>Rate used in the standard naked (uncovered) option calculation: rate × underlying price, minus the out-of-the-money amount, plus the option premium, per contract. Decimal value serialized as a JSON string (e.g. "150.25").
short-equity-initialstring <decimal>Initial margin rate charged on short equity positions in this underlying (standard `0.50`). Decimal value serialized as a JSON string (e.g. "150.25").
short-equity-maintenancestring <decimal>Maintenance margin rate charged on short equity positions in this underlying (standard `0.30`). Decimal value serialized as a JSON string (e.g. "150.25").
underlying-symbolstringThe underlying symbol these requirements apply to.
example:
"AAPL"clearing-identifierstringClearing-firm identifier associated with the underlying, when present.
is-deletedbooleanWhether this margin requirement record has been soft-deleted and is no longer active.
example:
false
contextrequiredstringexample:
"/accounts/{account_number}/margin-requirements/{underlying_symbol}/effective"
Example response
{
"error": {
"code": "unauthorized",
"message": "No valid access token was provided; access tokens expire after 15 minutes."
}
}Schema
errorrequiredobjectcoderequiredstringMachine-readable error code (see the Error reference).
messagerequiredstringHuman-readable explanation.
errorsarray<object>{3 fields}Present for multi-error / validation failures; one entry per problem.
Example response
{
"error": {
"code": "not_permitted",
"message": "User not permitted access"
}
}Schema
errorrequiredobjectcoderequiredstringMachine-readable error code (see the Error reference).
messagerequiredstringHuman-readable explanation.
errorsarray<object>{3 fields}Present for multi-error / validation failures; one entry per problem.
Example response
{
"error": {
"code": "string",
"message": "string",
"errors": [
{
"code": "string",
"message": "string",
"domain": "string"
}
]
}
}Schema
errorrequiredobjectcoderequiredstringMachine-readable error code (see the Error reference).
messagerequiredstringHuman-readable explanation.
errorsarray<object>{3 fields}Present for multi-error / validation failures; one entry per problem.
Example response
{
"error": {
"code": "string",
"message": "string",
"errors": [
{
"code": "string",
"message": "string",
"domain": "string"
}
]
}
}Schema
errorrequiredobjectcoderequiredstringMachine-readable error code (see the Error reference).
messagerequiredstringHuman-readable explanation.
errorsarray<object>{3 fields}Present for multi-error / validation failures; one entry per problem.
Related
- Rate-limit class:
read· idempotent — Rate limits & backoff - Error reference — codes, causes, and fixes
Agents: this page is also Markdown (with the embedded OpenAPI definition) — append .md or send Accept: text/markdown. Index at /llms.txt.