Read up to 20 resources in one request, each answered exactly as its own GET.
Operation
API-key scopes
Permission in the app
Batch reads POST /api/v1/batch
None
None
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"TetraFi","colors":{"primary":"#2c5282","light":"#3b6db5","dark":"#1e3a8a"},"logo":{"light":"https://mintcdn.com/tetrafi/hT7nGse44PNS7QpH/logo/tetrafi-mark-light.svg?fit=max\u0026auto=format\u0026n=hT7nGse44PNS7QpH\u0026q=85\u0026s=cd79dd1bf9d966d0f47e539b4d3775f6","dark":"https://mintcdn.com/tetrafi/hT7nGse44PNS7QpH/logo/tetrafi-mark-dark.svg?fit=max\u0026auto=format\u0026n=hT7nGse44PNS7QpH\u0026q=85\u0026s=e2f93f71b83104dc5a7ca71c43afe890"},"favicon":"https://mintcdn.com/tetrafi/hT7nGse44PNS7QpH/favicon.svg?fit=max\u0026auto=format\u0026n=hT7nGse44PNS7QpH\u0026q=85\u0026s=e599c74d138eb2e52fd6405556f494a3","api":{"params":{"expanded":"closed"},"playground":{"display":"simple"}},"appearance":{"default":"dark"},"footer":{"socials":{"github":"https://github.com/TetraFi","linkedin":"https://www.linkedin.com/company/tetrafi","telegram":"https://t.me/TetraFi_Team","website":"https://tetrafi.io"}},"seo":{"metatags":{"og:image":"https://tetrafi.mintlify.app/images/og-default.png","og:image:width":"1200","og:image:height":"630","twitter:card":"summary_large_image"}},"fonts":{"family":"Inter"},"banner":{"content":"The API may change until launch. Every change is in the [Changelog](/changelog).","dismissible":true},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tetrafi","hasAudioNarration":false,"actualSubdomain":"tetrafi","customDomains":[],"gitSource":{"type":"github","owner":"tetrafi","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af5c842c7a2465f28869588","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"API reference","count":54},{"language":"default","tag":"Discover","count":32},{"language":"default","tag":"Introduction","count":22},{"language":"default","tag":"Guides","count":19},{"language":"default","tag":"Trades and settlement","count":13},{"language":"default","tag":"Webhooks","count":10},{"language":"default","tag":"Balances and accounts","count":9},{"language":"default","tag":"Use Cases","count":9},{"language":"default","tag":"Multilateral Netting","count":8},{"language":"default","tag":"Resources","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"#banner{background-color:#8b13cc!important}.home-page{max-width:768px;margin:0px auto;padding:2rem 1.5rem 4rem;color:rgb(23, 23, 23)}:root.dark .home-page{color:rgb(255, 255, 255)}.home-hero{text-align:center;padding:3rem 0px 2.5rem}.home-hero h1{font-size:2.5rem;font-weight:700;margin:0px 0px 0.75rem}.home-hero p{font-size:1.125rem;margin:0px}.home-hero p+p{font-size:1rem;line-height:1.6;margin:1rem auto 0px;max-width:42rem;opacity:0.8}.home-section{margin-top:3.5rem}.home-section h2{font-size:1.25rem;font-weight:600;margin-bottom:0.75rem}.color-grid{display:grid;grid-template-columns:repeat(6, 1fr);gap:1rem;margin:1rem 0px 2rem}@media (max-width: 768px){.color-grid{grid-template-columns:repeat(3, 1fr)}}@media (max-width: 480px){.color-grid{grid-template-columns:repeat(2, 1fr)}}.color-swatch{display:flex;flex-direction:column;gap:0.5rem}.color-swatch-block{aspect-ratio:1 / 1;border-radius:16px;display:flex;align-items:flex-end;padding:0.625rem}.color-swatch-block span{font-size:0.75rem;font-weight:600;font-family:monospace}.color-swatch-label{font-size:0.8125rem;font-weight:600}.logo-showcase-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0px 2rem}.logo-showcase{border-radius:16px;padding:1.25rem 1.5rem;display:grid;grid-template-columns:auto auto;grid-template-rows:1fr auto;gap:0.75rem 1.5rem;align-items:center}.logo-showcase-dark{background:rgb(23, 23, 23);color:rgb(255, 255, 255)}.logo-showcase-light{background:rgb(245, 245, 245);color:rgb(23, 23, 23)}.logo-showcase-left{display:flex;flex-direction:column;gap:0.75rem;align-items:flex-start}.logo-showcase-right{display:flex;justify-content:center;align-items:center}.logo-showcase img.logo-sm{height:32px;width:auto}.logo-showcase img.logo-md{height:32px;width:auto}.logo-showcase img.logo-lg{height:110px;width:auto}.logo-showcase-label{grid-column:1 / -1;font-size:0.75rem;opacity:0.5;text-align:center}@media (max-width: 640px){.logo-showcase-row{grid-template-columns:1fr}}"}],"page":{"pagePath":"reference/permissions","slug":"/reference/permissions","pageMetadata":{"title":"Permissions","description":"API-key scopes and the app permissions that grant them, for each API operation.","href":"/reference/permissions"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"API-key scopes and the app permissions that grant them, for each API operation.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Each API operation below lists the API-key scopes it needs and the matching checkbox under `,_jsx(_components.strong,{children:`Permissions`}),` when you create a key (`,_jsx(_components.a,{href:`/authentication#permissions`,children:`Authentication`}),`).`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Entry`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Two scopes in one cell`}),_jsx(_components.td,{style:{textAlign:`left`},children:`The key needs both.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Scopes joined by “or”`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Either set is enough.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`None`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Any valid key may call it; it still needs authentication.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`Session only`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Signed-in app users only; an API key is refused.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.strong,{children:`No API key required`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Called without an API key; the request carries its own credentials.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`scopes`,children:`Scopes`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Scope`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Permission in the app`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`compliance_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read compliance`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`fee_schedule_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read fee schedule`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`orders_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read orders`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`orders_write`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Submit orders`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`prices_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read quotes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`quotes_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read quotes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`quotes_request`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read quotes + Submit orders`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`settlements_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read settlements`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`trades_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read trades`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`treasury_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Treasury read`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`webhooks_manage`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manage webhooks`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`auth`,children:`Auth`}),`\n`,_jsx(_components.p,{children:`Exchange service-account credentials for a token, and read the credential you are calling with: its identity, scopes and rate limits.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Operation`}),_jsx(_components.th,{style:{textAlign:`left`},children:`API-key scopes`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Permission in the app`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get current credential`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/me`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:`None`}),_jsx(_components.td,{style:{textAlign:`left`},children:`None`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Create access token`,_jsx(`br`,{}),`POST `,_jsx(_components.code,{children:`/api/v1/oauth/token`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:`No API key required`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Not applicable`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`trading`,children:`Trading`}),`\n`,_jsx(_components.p,{children:`Discover the assets, chains and venues you can trade, and read or stream their indicative prices.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Operation`}),_jsx(_components.th,{style:{textAlign:`left`},children:`API-key scopes`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Permission in the app`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`List assets`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/assets`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`prices_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read quotes`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get prices`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/prices`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`prices_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read quotes`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Stream prices`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/prices/stream`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`prices_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read quotes`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`quotes`,children:`Quotes`}),`\n`,_jsx(_components.p,{children:`Request firm or indicative quotes for an asset pair from every eligible venue, requote one, and read a quote request again.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Operation`}),_jsx(_components.th,{style:{textAlign:`left`},children:`API-key scopes`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Permission in the app`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Request quotes`,_jsx(`br`,{}),`POST `,_jsx(_components.code,{children:`/api/v1/quotes`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`quotes_request`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read quotes + Submit orders`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get quote request`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/quotes/requests/{quoteRequestId}`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`quotes_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read quotes`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`orders`,children:`Orders`}),`\n`,_jsx(_components.p,{children:`Place an order from a quote you hold, follow its status, and cancel it before it is sent to a venue.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Operation`}),_jsx(_components.th,{style:{textAlign:`left`},children:`API-key scopes`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Permission in the app`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`List orders`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/orders`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`orders_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read orders`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Place order`,_jsx(`br`,{}),`POST `,_jsx(_components.code,{children:`/api/v1/orders`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`orders_write`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Submit orders`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get order by quote`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/orders/by-quote/{quoteId}`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`orders_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read orders`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get order`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/orders/{orderId}`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`orders_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read orders`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Cancel order`,_jsx(`br`,{}),`POST `,_jsx(_components.code,{children:`/api/v1/orders/{orderId}/cancel`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`orders_write`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Submit orders`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`trades`,children:`Trades`}),`\n`,_jsx(_components.p,{children:`Your trade history: every order and venue trade, with its settlement and settlement obligations.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Operation`}),_jsx(_components.th,{style:{textAlign:`left`},children:`API-key scopes`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Permission in the app`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`List trades`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/trades`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`trades_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read trades`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get trade`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/trades/{tradeId}`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`trades_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read trades`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get trade settlement`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/trades/{tradeId}/settlement`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`settlements_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read settlements`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`List trade obligations`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/trades/{tradeId}/settlement/obligations`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`settlements_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read settlements`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`settlements`,children:`Settlements`}),`\n`,_jsx(_components.p,{children:`Your venue accounts’ settlement windows, obligations, movements and schedules, and the plan of what is due across them.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Operation`}),_jsx(_components.th,{style:{textAlign:`left`},children:`API-key scopes`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Permission in the app`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get settlement plan`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/settlement/plan`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`settlements_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read settlements`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`List account movements`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/movements`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`settlements_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read settlements`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get account movement`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/movements/{movementId}`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`settlements_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read settlements`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`List account obligations`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/obligations`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`settlements_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read settlements`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get account obligation`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/obligations/{obligationId}`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`settlements_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read settlements`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get account schedules`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/schedules`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`settlements_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read settlements`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`List account windows`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/windows`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`settlements_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read settlements`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get account window`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/windows/{windowId}`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`settlements_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read settlements`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`List account window matches`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/windows/{windowId}/matches`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`settlements_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read settlements`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`treasury`,children:`Treasury`}),`\n`,_jsx(_components.p,{children:`Balances across the workspace’s wallets and venue accounts.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Operation`}),_jsx(_components.th,{style:{textAlign:`left`},children:`API-key scopes`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Permission in the app`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`List workspace balances`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/balances`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`treasury_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Treasury read`})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`venue-accounts`,children:`Venue accounts`}),`\n`,_jsx(_components.p,{children:`One venue account’s balances, deposit instructions and history, credit and ledger.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Operation`}),_jsx(_components.th,{style:{textAlign:`left`},children:`API-key scopes`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Permission in the app`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get account balances`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/balances`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`treasury_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Treasury read`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get account credit`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/credit`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`treasury_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Treasury read`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`List account deposits`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/deposit-history`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`treasury_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Treasury read`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get deposit instructions`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/deposit-instructions`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`treasury_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Treasury read`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get account ledger`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/ledger`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`treasury_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Treasury read`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`venue-enablements`,children:`Venue enablements`}),`\n`,_jsx(_components.p,{children:`The workspace’s venue accounts, with where their funds are held and each venue’s key state.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Operation`}),_jsx(_components.th,{style:{textAlign:`left`},children:`API-key scopes`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Permission in the app`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`List venue accounts`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/venue-enablements`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`treasury_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Treasury read`})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`webhooks`,children:`Webhooks`}),`\n`,_jsx(_components.p,{children:`Register endpoints for signed event deliveries, rotate their secrets, send test deliveries and read the delivery log.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Operation`}),_jsx(_components.th,{style:{textAlign:`left`},children:`API-key scopes`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Permission in the app`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`List webhooks`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/webhooks`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`webhooks_manage`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manage webhooks`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Create webhook`,_jsx(`br`,{}),`POST `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/webhooks`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`webhooks_manage`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manage webhooks`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Delete webhook`,_jsx(`br`,{}),`DELETE `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/webhooks/{webhookId}`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`webhooks_manage`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manage webhooks`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get webhook`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/webhooks/{webhookId}`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`webhooks_manage`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manage webhooks`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Update webhook`,_jsx(`br`,{}),`PATCH `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/webhooks/{webhookId}`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`webhooks_manage`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manage webhooks`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`List deliveries`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/deliveries`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`webhooks_manage`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manage webhooks`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Send test delivery`,_jsx(`br`,{}),`POST `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/deliveries`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`webhooks_manage`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manage webhooks`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Retry delivery`,_jsx(`br`,{}),`POST `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/deliveries/{deliveryId}/retry`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`webhooks_manage`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manage webhooks`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Resume webhook`,_jsx(`br`,{}),`POST `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/resume`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`webhooks_manage`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manage webhooks`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Rotate webhook secret`,_jsx(`br`,{}),`POST `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/rotate`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`webhooks_manage`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Manage webhooks`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`workspaces`,children:`Workspaces`}),`\n`,_jsx(_components.p,{children:`The workspace’s verification state, the capabilities it allows, and its fee schedule.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Operation`}),_jsx(_components.th,{style:{textAlign:`left`},children:`API-key scopes`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Permission in the app`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get capabilities`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/capabilities`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`compliance_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read compliance`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Get fee schedule`,_jsx(`br`,{}),`GET `,_jsx(_components.code,{children:`/api/v1/workspaces/{workspaceId}/fee-schedule`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`fee_schedule_read`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Read fee schedule`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`batch`,children:`Batch`}),`\n`,_jsx(_components.p,{children:`Read up to 20 resources in one request, each answered exactly as its own GET.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Operation`}),_jsx(_components.th,{style:{textAlign:`left`},children:`API-key scopes`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Permission in the app`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[`Batch reads`,_jsx(`br`,{}),`POST `,_jsx(_components.code,{children:`/api/v1/batch`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:`None`}),_jsx(_components.td,{style:{textAlign:`left`},children:`None`})]})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Permissions","description":"API-key scopes and the app permissions that grant them, for each API operation.","href":"/reference/permissions"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Scopes","slug":"scopes","depth":2,"children":[]},{"title":"Auth","slug":"auth","depth":2,"children":[]},{"title":"Trading","slug":"trading","depth":2,"children":[]},{"title":"Quotes","slug":"quotes","depth":2,"children":[]},{"title":"Orders","slug":"orders","depth":2,"children":[]},{"title":"Trades","slug":"trades","depth":2,"children":[]},{"title":"Settlements","slug":"settlements","depth":2,"children":[]},{"title":"Treasury","slug":"treasury","depth":2,"children":[]},{"title":"Venue accounts","slug":"venue-accounts","depth":2,"children":[]},{"title":"Venue enablements","slug":"venue-enablements","depth":2,"children":[]},{"title":"Webhooks","slug":"webhooks","depth":2,"children":[]},{"title":"Workspaces","slug":"workspaces","depth":2,"children":[]},{"title":"Batch","slug":"batch","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"tetrafi","siteName":"TetraFi","title":"Permissions - TetraFi","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T14:08:16.645Z","originalFileLocation":"reference/permissions.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"API-key scopes and the app permissions that grant them, for each API operation.\">\u003cmeta data-mint-head name=\"application-name\" content=\"TetraFi\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tetrafi/KyIavbnRkast31EL/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/tetrafi/KyIavbnRkast31EL/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tetrafi/KyIavbnRkast31EL/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tetrafi/KyIavbnRkast31EL/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tetrafi/KyIavbnRkast31EL/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tetrafi/KyIavbnRkast31EL/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tetrafi/KyIavbnRkast31EL/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tetrafi/KyIavbnRkast31EL/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tetrafi/KyIavbnRkast31EL/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Permissions - TetraFi\">\u003cmeta data-mint-head property=\"og:description\" content=\"API-key scopes and the app permissions that grant them, for each API operation.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"TetraFi\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://tetrafi.mintlify.app/reference/permissions\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tetrafi.mintlify.app/images/og-default.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Permissions - TetraFi\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"API-key scopes and the app permissions that grant them, for each API operation.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tetrafi.mintlify.app/images/og-default.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/tetrafi/KyIavbnRkast31EL/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"TetraFi\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2c5282\">\u003clink data-mint-head rel=\"canonical\" href=\"https://tetrafi.mintlify.app/reference/permissions\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/reference/permissions.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://tetrafi.mintlify.app/#organization\",\"name\":\"TetraFi\",\"url\":\"https://tetrafi.mintlify.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tetrafi/hT7nGse44PNS7QpH/logo/tetrafi-mark-light.svg?fit=max\u0026auto=format\u0026n=hT7nGse44PNS7QpH\u0026q=85\u0026s=cd79dd1bf9d966d0f47e539b4d3775f6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://tetrafi.mintlify.app#website\",\"name\":\"TetraFi\",\"url\":\"https://tetrafi.mintlify.app\",\"publisher\":{\"@id\":\"https://tetrafi.mintlify.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://tetrafi.mintlify.app/reference/permissions#webpage\",\"url\":\"https://tetrafi.mintlify.app/reference/permissions\",\"name\":\"Permissions\",\"description\":\"API-key scopes and the app permissions that grant them, for each API operation.\",\"dateModified\":\"2026-11-12T14:08:16.645Z\",\"isPartOf\":{\"@id\":\"https://tetrafi.mintlify.app#website\"},\"breadcrumb\":{\"@id\":\"https://tetrafi.mintlify.app/reference/permissions#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://tetrafi.mintlify.app/reference/permissions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Rules\",\"item\":\"https://tetrafi.mintlify.app/reference/conventions\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Permissions\",\"item\":\"https://tetrafi.mintlify.app/reference/permissions\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://tetrafi.mintlify.app/reference/permissions#article\",\"headline\":\"Permissions\",\"name\":\"Permissions\",\"description\":\"API-key scopes and the app permissions that grant them, for each API operation.\",\"url\":\"https://tetrafi.mintlify.app/reference/permissions\",\"mainEntityOfPage\":{\"@id\":\"https://tetrafi.mintlify.app/reference/permissions#webpage\"},\"image\":\"https://tetrafi.mintlify.app/images/og-default.png\",\"dateModified\":\"2026-11-12T14:08:16.645Z\",\"publisher\":{\"@id\":\"https://tetrafi.mintlify.app/#organization\"},\"isPartOf\":{\"@id\":\"https://tetrafi.mintlify.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"TetraFi\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"TetraFi\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/reference/permissions.md","siteName":"TetraFi","nav":{"global":null,"tabs":[{"tab":"Discover","pages":[{"title":"Discover","href":"/why-tetrafi"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/overview"}]},{"tab":"API reference","groups":[{"group":"Overview","pages":[{"title":"API reference","href":"/reference/introduction"},{"title":"Endpoints at a glance","href":"/reference/endpoints"}]},{"group":"Authentication","pages":[{"title":"Get current credential","openapi":"api-reference/openapi.json GET /api/v1/me","href":"/api-reference/auth/get-current-credential"},{"title":"Create access token","openapi":"api-reference/openapi.json POST /api/v1/oauth/token","href":"/api-reference/auth/create-access-token"}]},{"group":"Assets and prices","pages":[{"title":"List assets","openapi":"api-reference/openapi.json GET /api/v1/assets","href":"/api-reference/trading/list-assets"},{"title":"Get prices","openapi":"api-reference/openapi.json GET /api/v1/prices","href":"/api-reference/trading/get-prices"},{"title":"Stream prices","openapi":"api-reference/openapi.json GET /api/v1/prices/stream","href":"/api-reference/trading/stream-prices"}]},{"group":"Quotes","pages":[{"title":"Request quotes","openapi":"api-reference/openapi.json POST /api/v1/quotes","href":"/api-reference/quotes/request-quotes"},{"title":"Get quote request","openapi":"api-reference/openapi.json GET /api/v1/quotes/requests/{quoteRequestId}","href":"/api-reference/quotes/get-quote-request"}]},{"group":"Orders","pages":[{"title":"List orders","openapi":"api-reference/openapi.json GET /api/v1/orders","href":"/api-reference/orders/list-orders"},{"title":"Place order","openapi":"api-reference/openapi.json POST /api/v1/orders","href":"/api-reference/orders/place-order"},{"title":"Get order by quote","openapi":"api-reference/openapi.json GET /api/v1/orders/by-quote/{quoteId}","href":"/api-reference/orders/get-order-by-quote"},{"title":"Get order","openapi":"api-reference/openapi.json GET /api/v1/orders/{orderId}","href":"/api-reference/orders/get-order"},{"title":"Cancel order","openapi":"api-reference/openapi.json POST /api/v1/orders/{orderId}/cancel","href":"/api-reference/orders/cancel-order"}]},{"group":"Trades and settlement","pages":[{"title":"List trades","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/trades","href":"/api-reference/trades/list-trades"},{"title":"Get trade","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/trades/{tradeId}","href":"/api-reference/trades/get-trade"},{"title":"Get trade settlement","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/trades/{tradeId}/settlement","href":"/api-reference/trades/get-trade-settlement"},{"title":"List trade obligations","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/trades/{tradeId}/settlement/obligations","href":"/api-reference/trades/list-trade-obligations"},{"title":"Get settlement plan","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/settlement/plan","href":"/api-reference/settlements/get-settlement-plan"},{"title":"List account movements","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/movements","href":"/api-reference/settlements/list-account-movements"},{"title":"Get account movement","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/movements/{movementId}","href":"/api-reference/settlements/get-account-movement"},{"title":"List account obligations","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/obligations","href":"/api-reference/settlements/list-account-obligations"},{"title":"Get account obligation","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/obligations/{obligationId}","href":"/api-reference/settlements/get-account-obligation"},{"title":"Get account schedules","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/schedules","href":"/api-reference/settlements/get-account-schedules"},{"title":"List account windows","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/windows","href":"/api-reference/settlements/list-account-windows"},{"title":"Get account window","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/windows/{windowId}","href":"/api-reference/settlements/get-account-window"},{"title":"List account window matches","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/settlement/windows/{windowId}/matches","href":"/api-reference/settlements/list-account-window-matches"}]},{"group":"Balances and accounts","pages":[{"title":"List workspace balances","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/balances","href":"/api-reference/treasury/list-workspace-balances"},{"title":"Get account balances","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/balances","href":"/api-reference/venue-accounts/get-account-balances"},{"title":"Get account credit","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/credit","href":"/api-reference/venue-accounts/get-account-credit"},{"title":"List account deposits","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/deposit-history","href":"/api-reference/venue-accounts/list-account-deposits"},{"title":"Get deposit instructions","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/deposit-instructions","href":"/api-reference/venue-accounts/get-deposit-instructions"},{"title":"Get account ledger","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-accounts/{venueAccountId}/ledger","href":"/api-reference/venue-accounts/get-account-ledger"},{"title":"List venue accounts","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/venue-enablements","href":"/api-reference/venue-enablements/list-venue-accounts"},{"title":"Get capabilities","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/capabilities","href":"/api-reference/workspaces/get-capabilities"},{"title":"Get fee schedule","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/fee-schedule","href":"/api-reference/workspaces/get-fee-schedule"}]},{"group":"Webhooks","pages":[{"title":"List webhooks","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/webhooks","href":"/api-reference/webhooks/list-webhooks"},{"title":"Create webhook","openapi":"api-reference/openapi.json POST /api/v1/workspaces/{workspaceId}/webhooks","href":"/api-reference/webhooks/create-webhook"},{"title":"Get webhook","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}","href":"/api-reference/webhooks/get-webhook"},{"title":"Update webhook","openapi":"api-reference/openapi.json PATCH /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}","href":"/api-reference/webhooks/update-webhook"},{"title":"Delete webhook","openapi":"api-reference/openapi.json DELETE /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}","href":"/api-reference/webhooks/delete-webhook"},{"title":"List deliveries","openapi":"api-reference/openapi.json GET /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/deliveries","href":"/api-reference/webhooks/list-deliveries"},{"title":"Send test delivery","openapi":"api-reference/openapi.json POST /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/deliveries","href":"/api-reference/webhooks/send-test-delivery"},{"title":"Retry delivery","openapi":"api-reference/openapi.json POST /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/deliveries/{deliveryId}/retry","href":"/api-reference/webhooks/retry-delivery"},{"title":"Resume webhook","openapi":"api-reference/openapi.json POST /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/resume","href":"/api-reference/webhooks/resume-webhook"},{"title":"Rotate webhook secret","openapi":"api-reference/openapi.json POST /api/v1/workspaces/{workspaceId}/webhooks/{webhookId}/rotate","href":"/api-reference/webhooks/rotate-webhook-secret"}]},{"group":"Batch","pages":[{"title":"Batch reads","openapi":"api-reference/openapi.json POST /api/v1/batch","href":"/api-reference/batch/batch-reads"}]},{"group":"Rules","pages":[{"title":"Conventions","href":"/reference/conventions"},{"title":"Rate limits","description":"The limits on quotes, prices and every other request, the headers that report them, and how to wait before retrying a 429.","href":"/reference/rate-limits"},{"title":"Permissions","href":"/reference/permissions"},{"title":"Error codes","description":"Every API refusal and source reason, grouped by HTTP status, with its meaning, what to do and whether to retry.","href":"/reference/error-codes"},{"title":"Webhook events","href":"/reference/webhook-events"},{"title":"Compatibility policy","href":"/compatibility"},{"title":"Changelog","href":"/changelog"}]}]},{"tab":"Resources","pages":[{"title":"Resources","href":"/support"}]}]},"basePath":"","title":"Permissions - TetraFi","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["10e4515597"],"chunks":["BannerMarkdown-DV3Oq1fY.js","dist-C-XZBk9h.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-D3Isdib3.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}