All integrations

Alpaca

BUSINESS · COMMERCE & FINANCE

Orders, positions and market data on the paper or live account they connected.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

alpaca_delete_v2_ordersWRITE

Attempts to cancel all open orders. A response will be provided for each order that is attempted to be cancelled. If an order is no longer cancelable, the server will respond with status 500 and reject the request. via DELETE /v2/orders

trading
alpaca_delete_v2_orders_by_order_idWRITE

Attempts to cancel an Open Order. If the order is no longer cancelable, the request will be rejected with status 422; otherwise accepted with return status 204. via DELETE /v2/orders/{order_id}

trading
alpaca_delete_v2_positionsWRITE

Closes (liquidates) all of the account's open long and short positions. A response will be provided for each order that is attempted to be cancelled. If an order is no longer cancelable, the server will respond with status 500 and reject the request. via DELETE /v2/positions

trading
alpaca_delete_v2_positions_by_symbol_or_asset_idWRITE

Closes (liquidates) the account's open position for the given symbol. Works for both long and short positions. via DELETE /v2/positions/{symbol_or_asset_id}

trading
alpaca_delete_v2_wallets_whitelists_by_whitelisted_address_idWRITE

Deletes a whitelisted withdrawal address by ID. Subsequent withdrawals targeting the deleted address will be rejected. via DELETE /v2/wallets/whitelists/{whitelisted_address_id}

account:write
alpaca_delete_v2_watchlists_by_nameWRITE

Delete a watchlist. This is a permanent deletion. via DELETE /v2/watchlists:by_name

trading
alpaca_delete_v2_watchlists_by_watchlist_idWRITE

Delete a watchlist. This is a permanent deletion. via DELETE /v2/watchlists/{watchlist_id}

trading
alpaca_delete_v2_watchlists_by_watchlist_id_by_symbolWRITE

Delete one entry for an asset by symbol name via DELETE /v2/watchlists/{watchlist_id}/{symbol}

trading
alpaca_get_v1_corporate_actionsREAD

Market data: This endpoint provides data about the corporate actions for each given symbol over a specified time period. By default (`data_quality=complete`), corporate actions that are still incomplete (for example, missing required fields such as ex-date or CUSIP/ISIN) and have not yet been processed are excluded from the response. Pass `data_quality=all` to also receive those early, incomplete records. Already-processed corporate actions are always returned when `data_quality=complete`, even if they would otherwise be considered incomplete. > ⚠️ Warning > > Currently Alpaca has no guarantees on the creation time of corporate actions. There may be delays in receiving corporate actions from our data providers, and there may be delays in processing and making them available via this API. As a result, corporate actions may not be available immediately after they are announced. via GET /v1/corporate-actions

data
alpaca_get_v1_locatesREAD

Returns locates filtered by status, symbol, or date range. Results are sorted by `created_at` descending, with `id` descending as the tie-breaker. via GET /v1/locates

no provider scope
alpaca_get_v1_locates_by_locate_idREAD

Returns a locate by ID. via GET /v1/locates/{locate_id}

no provider scope
alpaca_get_v1_locates_quotesREAD

Returns locate availability and pricing for one or more symbols. via GET /v1/locates/quotes

no provider scope
alpaca_get_v1beta1_fixed_income_latest_pricesREAD

Market data: This endpoint returns the latest prices for the given fixed income securities. via GET /v1beta1/fixed_income/latest/prices

data
alpaca_get_v1beta1_fixed_income_latest_quotesREAD

Market data: This endpoint returns the latest quotes for the given fixed income securities. via GET /v1beta1/fixed_income/latest/quotes

data
alpaca_get_v1beta1_forex_latest_ratesREAD

Market data: Get the latest forex rates for the given currency pairs. via GET /v1beta1/forex/latest/rates

data
alpaca_get_v1beta1_forex_ratesREAD

Market data: Get historical forex rates for the given currency pairs in the given time interval and at the given timeframe (snapshot frequency). via GET /v1beta1/forex/rates

data
alpaca_get_v1beta1_newsREAD

Market data: Returns the latest news articles across stocks and crypto. By default, returns the latest 10 news articles. via GET /v1beta1/news

data
alpaca_get_v1beta1_options_barsREAD

Market data: The historical option bars API provides aggregates for a list of option symbols between the specified dates. The returned results are sorted by symbol first, then by bar timestamp. This means that you are likely to see only one symbol in your first response if there are enough bars for that symbol to hit the limit you requested. In these situations, if you keep requesting again with the `next_page_token` from the previous response, you will eventually reach the other symbols if any bars were found for them. via GET /v1beta1/options/bars

data
alpaca_get_v1beta1_options_meta_conditions_by_ticktypeREAD

Market data: Returns the mapping between the condition codes and names. via GET /v1beta1/options/meta/conditions/{ticktype}

data
alpaca_get_v1beta1_options_meta_exchangesREAD

Market data: Returns the mapping between the option exchange codes and the corresponding exchange names. via GET /v1beta1/options/meta/exchanges

data
alpaca_get_v1beta1_options_quotes_latestREAD

Market data: The latest multi-quotes endpoint provides the latest bid and ask prices for each given contract symbol. via GET /v1beta1/options/quotes/latest

data
alpaca_get_v1beta1_options_snapshotsREAD

Market data: The snapshots endpoint provides the latest trade, latest quote and greeks for each given contract symbol. via GET /v1beta1/options/snapshots

data
alpaca_get_v1beta1_options_snapshots_by_underlying_symbolREAD

Market data: The option chain endpoint provides the latest trade, latest quote, and greeks for each contract symbol of the underlying symbol. via GET /v1beta1/options/snapshots/{underlying_symbol}

data
alpaca_get_v1beta1_options_tradesREAD

Market data: The historical option trades API provides trade data for a list of contract symbols between the specified dates. The returned results are sorted by symbol first then by trade timestamp. This means that you are likely to see only one symbol in your first response if there are enough trades for that symbol to hit the limit you requested. In these situations, if you keep requesting again with the `next_page_token` from the previous response, you will eventually reach the other symbols if any trades were found for them. via GET /v1beta1/options/trades

data
alpaca_get_v1beta1_options_trades_latestREAD

Market data: The latest multi-trades endpoint provides the latest historical trade data for multiple given contract symbols. via GET /v1beta1/options/trades/latest

data
alpaca_get_v1beta1_screener_by_market_type_moversREAD

Market data: Returns the top market movers (gainers and losers) based on real time SIP data. The change for each symbol is calculated from the previous closing price and the latest closing price. For stocks, the endpoint resets at market open. Until then, it shows the previous market day's movers. The data is split-adjusted. Only tradable symbols in exchanges are included. For crypto, the endpoint resets at midnight. via GET /v1beta1/screener/{market_type}/movers

data
alpaca_get_v1beta1_screener_stocks_most_activesREAD

Market data: Returns the most active stocks by volume or trade count based on real time SIP data. By default, returns the top 10 symbols by volume. via GET /v1beta1/screener/stocks/most-actives

data
alpaca_get_v1beta3_crypto_by_loc_barsREAD

Market data: The crypto bars API provides historical aggregates for a list of crypto symbols between the specified dates. via GET /v1beta3/crypto/{loc}/bars

data
alpaca_get_v1beta3_crypto_by_loc_latest_barsREAD

Market data: The latest multi-bars endpoint returns the latest minute-aggregated historical bar data for each of the crypto symbols provided. via GET /v1beta3/crypto/{loc}/latest/bars

data
alpaca_get_v1beta3_crypto_by_loc_latest_orderbooksREAD

Market data: The latest orderbook endpoint returns the latest bid and ask orderbook for the crypto symbols provided. via GET /v1beta3/crypto/{loc}/latest/orderbooks

data
alpaca_get_v1beta3_crypto_by_loc_latest_quotesREAD

Market data: The latest quotes endpoint returns the latest bid and ask prices for the crypto symbols provided. via GET /v1beta3/crypto/{loc}/latest/quotes

data
alpaca_get_v1beta3_crypto_by_loc_latest_tradesREAD

Market data: The latest trades endpoint returns the latest trade data for the crypto symbols provided. via GET /v1beta3/crypto/{loc}/latest/trades

data
alpaca_get_v1beta3_crypto_by_loc_quotesREAD

Market data: The crypto quotes API provides historical quote data for a list of crypto symbols between the specified dates. The oldest date to retrieve historical quotes of us-1 location is 14th October, 2025 12AM UTC. via GET /v1beta3/crypto/{loc}/quotes

data
alpaca_get_v1beta3_crypto_by_loc_snapshotsREAD

Market data: The snapshots endpoint returns the latest trade, latest quote, latest minute bar, latest daily bar, and previous daily bar data for crypto symbols. via GET /v1beta3/crypto/{loc}/snapshots

data
alpaca_get_v1beta3_crypto_by_loc_tradesREAD

Market data: The crypto trades API provides historical trade data for a list of crypto symbols between the specified dates. via GET /v1beta3/crypto/{loc}/trades

data
alpaca_get_v2_accountREAD

Returns your account details. via GET /v2/account

no provider scope
alpaca_get_v2_account_activitiesREAD

Returns a list of activities Notes: * Pagination is handled using the `page_token` and `page_size` parameters. * `page_token` represents the ID of the last item on your current page of results. For example, if the ID of the last activity in your first response is `20220203000000000::045b3b8d-c566-4bef-b741-2bf598dd6ae7`, you would pass that value as `page_token` to retrieve the next page of results. via GET /v2/account/activities

no provider scope
alpaca_get_v2_account_activities_by_activity_typeREAD

Returns account activity entries for a specific type of activity. via GET /v2/account/activities/{activity_type}

no provider scope
alpaca_get_v2_account_configurationsREAD

gets the current account configuration values via GET /v2/account/configurations

no provider scope
alpaca_get_v2_account_portfolio_historyREAD

Returns timeseries data about equity and profit/loss (P/L) of the account in requested timespan. via GET /v2/account/portfolio/history

no provider scope
alpaca_get_v2_assetsREAD

The assets API serves as the master list of assets available for trade and data consumption from Alpaca. Assets are sorted by asset class, exchange and symbol. via GET /v2/assets

no provider scope
alpaca_get_v2_assets_by_symbol_or_asset_idREAD

Get the asset model for a given symbol or asset_id. The symbol or asset_id should be passed in as a path parameter. **Note**: For crypto, the symbol has to follow old symbology, e.g. BTCUSD. **Note**: For coin pairs, the symbol should be separated by a slash (/), e.g. BTC/USDT. Since the slash is a special character in HTTP, use the URL encoded version instead, e.g. /v2/assets/BTC%2FUSDT via GET /v2/assets/{symbol_or_asset_id}

no provider scope
alpaca_get_v2_calendarREAD

The calendar API serves the full list of market days from 1970 to 2029. It can also be queried by specifying a start and/or end time to narrow down the results. In addition to the dates, the response also contains the specific open and close times for the market days, taking into account early closures. via GET /v2/calendar

no provider scope
alpaca_get_v2_clockREAD

The clock API serves the current market timestamp, whether or not the market is currently open, as well as the times of the next market open and close. via GET /v2/clock

no provider scope
alpaca_get_v2_corporate_actions_announcementsREAD

This endpoint is deprecated, please use [the new corporate actions endpoint](https://docs.alpaca.markets/reference/corporateactions-1) instead. via GET /v2/corporate_actions/announcements

no provider scope
alpaca_get_v2_corporate_actions_announcements_by_idREAD

This endpoint is deprecated, please use [the new corporate actions endpoint](https://docs.alpaca.markets/reference/corporateactions-1) instead. via GET /v2/corporate_actions/announcements/{id}

no provider scope
alpaca_get_v2_options_contractsREAD

This endpoint allows you to retrieve a list of option contracts based on various filtering criteria. By default only active contracts that expire before the upcoming weekend are returned. via GET /v2/options/contracts

no provider scope
alpaca_get_v2_options_contracts_by_symbol_or_idREAD

Get an option contract by symbol or contract ID. The symbol or id should be passed in as a path parameter. via GET /v2/options/contracts/{symbol_or_id}

no provider scope
alpaca_get_v2_ordersREAD

Retrieves a list of orders for the account, filtered by the supplied query parameters. via GET /v2/orders

no provider scope
alpaca_get_v2_orders_by_client_order_idREAD

Retrieves a single order specified by the client order ID. via GET /v2/orders:by_client_order_id

no provider scope
alpaca_get_v2_orders_by_order_idREAD

Retrieves a single order for the given order_id. via GET /v2/orders/{order_id}

no provider scope
alpaca_get_v2_positionsREAD

The positions API provides information about an account's current open positions. The response will include information such as cost basis, shares traded, and market value, which will be updated live as price information is updated. Once a position is closed, it will no longer be queryable through this API Retrieves a list of the account's open positions via GET /v2/positions

no provider scope
alpaca_get_v2_positions_by_symbol_or_asset_idREAD

Retrieves the account's open position for the given symbol or assetId. via GET /v2/positions/{symbol_or_asset_id}

no provider scope
alpaca_get_v2_stocks_auctionsREAD

Market data: The historical auctions endpoint provides auction prices for a list of stock symbols between the specified dates. via GET /v2/stocks/auctions

data
alpaca_get_v2_stocks_barsREAD

Market data: The historical stock bars API provides aggregates for a list of stock symbols between the specified dates. The returned results are sorted by symbol first, then by bar timestamp. This means that you are likely to see only one symbol in your first response if there are enough bars for that symbol to hit the limit you requested. In these situations, if you keep requesting again with the `next_page_token` from the previous response, you will eventually reach the other symbols if any bars were found for them. via GET /v2/stocks/bars

data
alpaca_get_v2_stocks_bars_latestREAD

Market data: The latest bars endpoint provides the latest minute bar for the given ticker symbols. via GET /v2/stocks/bars/latest

data
alpaca_get_v2_stocks_by_symbol_auctionsREAD

Market data: The historical auctions endpoint provides auction prices for the given stock symbol between the specified dates. via GET /v2/stocks/{symbol}/auctions

data
alpaca_get_v2_stocks_by_symbol_barsREAD

Market data: The historical stock bars API provides aggregates for the stock symbol between the specified dates. via GET /v2/stocks/{symbol}/bars

data
alpaca_get_v2_stocks_by_symbol_bars_latestREAD

Market data: The latest bar endpoint returns the latest minute bar for the given ticker symbol. via GET /v2/stocks/{symbol}/bars/latest

data
alpaca_get_v2_stocks_by_symbol_quotesREAD

Market data: The historical stock quotes API provides quote data for a stock symbol between the specified dates. via GET /v2/stocks/{symbol}/quotes

data
alpaca_get_v2_stocks_by_symbol_quotes_latestREAD

Market data: The latest quote endpoint provides the latest best bid and ask prices for a given ticker symbol. via GET /v2/stocks/{symbol}/quotes/latest

data
alpaca_get_v2_stocks_by_symbol_snapshotREAD

Market data: The snapshot endpoint provides the latest trade, latest quote, minute bar, daily bar, and previous daily bar data for a given ticker symbol. via GET /v2/stocks/{symbol}/snapshot

data
alpaca_get_v2_stocks_by_symbol_tradesREAD

Market data: The historical stock trades API provides trade data for a stock symbol between the specified dates. via GET /v2/stocks/{symbol}/trades

data
alpaca_get_v2_stocks_by_symbol_trades_latestREAD

Market data: The latest trade endpoint provides the latest trade for the given ticker symbol. Trades with any conditions that causes them to not update the bar price are excluded. For example a trade with condition `I` (odd lot) will never appear on this endpoint. You can find the complete list of excluded conditions in [this FAQ](https://docs.alpaca.markets/docs/market-data-faq#how-are-bars-aggregated). via GET /v2/stocks/{symbol}/trades/latest

data
alpaca_get_v2_stocks_meta_conditions_by_ticktypeREAD

Market data: Returns the mapping between the condition codes and names. via GET /v2/stocks/meta/conditions/{ticktype}

data
alpaca_get_v2_stocks_meta_exchangesREAD

Market data: Returns the mapping between the stock exchange codes and the corresponding exchange names. via GET /v2/stocks/meta/exchanges

data
alpaca_get_v2_stocks_quotesREAD

Market data: The historical stock quotes API provides quote data for a list of stock symbols between the specified dates. The returned results are sorted by symbol first, then by the quote timestamp. This means that you are likely to see only one symbol in your first response if there are enough quotes for that symbol to hit the limit you requested. In these situations, if you keep requesting again with the `next_page_token` from the previous response, you will eventually reach the other symbols if any quotes were found for them. via GET /v2/stocks/quotes

data
alpaca_get_v2_stocks_quotes_latestREAD

Market data: The latest quotes endpoint provides the latest best bid and ask prices for the given ticker symbols. via GET /v2/stocks/quotes/latest

data
alpaca_get_v2_stocks_snapshotsREAD

Market data: The snapshot endpoint for multiple tickers provides the latest trade, latest quote, minute bar, daily bar, and previous daily bar data for each given ticker symbol. via GET /v2/stocks/snapshots

data
alpaca_get_v2_stocks_tradesREAD

Market data: The historical stock trades API provides trade data for a list of stock symbols between the specified dates. The returned results are sorted by symbol first then by trade timestamp. This means that you are likely to see only one symbol in your first response if there are enough trades for that symbol to hit the limit you requested. In these situations, if you keep requesting again with the `next_page_token` from the previous response, you will eventually reach the other symbols if any trades were found for them. via GET /v2/stocks/trades

data
alpaca_get_v2_stocks_trades_latestREAD

Market data: The latest trades endpoint provides the latest trades for the given ticker symbols. Trades with any conditions that causes them to not update the bar price are excluded. For example a trade with condition `I` (odd lot) will never appear on this endpoint. You can find the complete list of excluded conditions in [this FAQ](https://docs.alpaca.markets/docs/market-data-faq#how-are-bars-aggregated). via GET /v2/stocks/trades/latest

data
alpaca_get_v2_tokenization_requestsREAD

An Authorized Participant can use this endpoint to list the tokenization requests performed on the Instant Tokenization Network (ITN). via GET /v2/tokenization/requests

no provider scope
alpaca_get_v2_tokenization_requests_by_client_request_idREAD

An Authorized Participant can use this endpoint to retrieve a single mint tokenization request by their own `client_request_id` -- the AP-supplied label originally passed on the mint request. If the AP has reused a `client_request_id` across multiple requests, the most recently created request is returned. via GET /v2/tokenization/requests:by_client_request_id

no provider scope
alpaca_get_v2_tokenization_requests_by_tokenization_request_idREAD

An Authorized Participant can use this endpoint to retrieve a single tokenization request, mint or redeem, by its `tokenization_request_id`. via GET /v2/tokenization/requests/{tokenization_request_id}

no provider scope
alpaca_get_v2_walletsREAD

Lists wallets for the account given in the path parameter. If an asset is specified and no wallet for the account and asset pair exists one will be created. If no asset is specified only existing wallets will be listed for the account. An account may have at most one wallet per asset. via GET /v2/wallets

no provider scope
alpaca_get_v2_wallets_fees_estimateREAD

Returns the estimated on-chain network (gas) fee for a proposed crypto withdrawal at current chain conditions. Pass the `asset`, `from_address`, `to_address`, and `amount` you intend to send; the response reports the network fee that would be charged for the corresponding transaction. via GET /v2/wallets/fees/estimate

no provider scope
alpaca_get_v2_wallets_transfersREAD

Returns an array of all transfers associated with the given account across all wallets. via GET /v2/wallets/transfers

no provider scope
alpaca_get_v2_wallets_transfers_by_transfer_idREAD

Returns a specific wallet transfer by passing into the query the transfer_id. via GET /v2/wallets/transfers/{transfer_id}

no provider scope
alpaca_get_v2_wallets_travel_rule_vaspsREAD

Search for Virtual Asset Service Providers, or crypto exchanges, on Notabene's network. This endpoint can be used to find the VASP DID for your beneficiary's exchange when submitting travel rule information for your whitelisted wallets. Use the `q` parameter to search for exchanges. via GET /v2/wallets/travel-rule/vasps

no provider scope
alpaca_get_v2_wallets_whitelistsREAD

Returns the list of whitelisted withdrawal addresses for your account. via GET /v2/wallets/whitelists

no provider scope
alpaca_get_v2_watchlistsREAD

Returns the list of watchlists registered under the account. via GET /v2/watchlists

no provider scope
alpaca_get_v2_watchlists_by_nameREAD

You can also call GET, PUT, POST and DELETE with watchlist name with another endpoint /v2/watchlists:by_name and query parameter name=<watchlist_name>, instead of /v2/watchlists/{watchlist_id} endpoints Returns a watchlist by name via GET /v2/watchlists:by_name

no provider scope
alpaca_get_v2_watchlists_by_watchlist_idREAD

Returns a watchlist identified by the ID. via GET /v2/watchlists/{watchlist_id}

no provider scope
alpaca_get_v3_calendar_by_marketREAD

This endpoint returns the market calendar. via GET /v3/calendar/{market}

no provider scope
alpaca_get_v3_clockREAD

This API serves information about multiple markets: the current time, if it's a market day, the current phase of the market, etc. via GET /v3/clock

no provider scope
alpaca_patch_v2_account_configurationsWRITE

Updates and returns the current account configuration values via PATCH /v2/account/configurations

account:write
alpaca_patch_v2_orders_by_order_idWRITE

Replaces a single order with updated parameters. Each parameter overrides the corresponding attribute of the existing order. The other attributes remain the same as the existing order. A success return code from a replaced order does NOT guarantee the existing open order has been replaced. If the existing open order is filled before the replacing (new) order reaches the execution venue, the replacing (new) order is rejected, and these events are sent in the trade_updates stream channel. While an order is being replaced, buying power is reduced by the larger of the two orders that have been placed (the old order being replaced, and the newly placed order to replace it). If you are replacing a buy entry order with a higher limit price than the original order, the buying power is calculated based on the newly placed order. If you are replacing it with a lower limit price, the buying power is calculated based on the old order. Note: Order cannot be replaced when the status is `accepted`, `pending_new`, `pending_cancel` or `pending_replace`. Note: Notional orders for non-IPO asset classes cannot be replaced. Any attempt to modify a non-IPO notional order via this endpoint will be rejected; cancel it and submit a new one instead. Note: IPO indications of interest (`asset_class: "ipo"`) **are** notional and **can** be replaced via this endpoint by providing a new `notional` value. `qty` and `notional` are mutually exclusive on a single replace request. via PATCH /v2/orders/{order_id}

trading
alpaca_patch_v2_wallets_whitelists_by_whitelisted_address_id_travel_rule_infoWRITE

You are required to supply travel rule information for the crypto wallets you're withdrawing to. It is preferred that you use the `Search VASPs` endpoint to find the VASP DID for the exchange you are withdrawing to, otherwise, if it's a self-hosted wallet, please set `beneficiary_is_self_hosted` to true. If the exchange cannot be found in our directory, please supply the information manually using the `beneficiary_manual_entry` object. via PATCH /v2/wallets/whitelists/{whitelisted_address_id}/travel-rule-info

account:write
alpaca_post_v1_locatesWRITE

Creates a locate request for a short sale. **Idempotency**: Reusing the same key with the same request returns the original locate response. Reusing the same key with a different request returns HTTP 422. via POST /v1/locates

trading
alpaca_post_v2_ordersWRITE

Places a new order for the given account. An order request may be rejected if the account is not authorized for trading, or if the tradable balance is insufficient to fill the order. via POST /v2/orders

trading
alpaca_post_v2_positions_by_symbol_or_contract_id_do_not_exerciseWRITE

This endpoint enables users to submit a do-not-exercise (DNE) instruction for a held option contract, preventing automatic exercise at expiry. By default, Alpaca will automatically exercise in-the-money (ITM) contracts at expiry. This endpoint allows users to override that behavior. To override this behavior and submit an exercise instruction, please contact our support team. via POST /v2/positions/{symbol_or_contract_id}/do-not-exercise

trading
alpaca_post_v2_positions_by_symbol_or_contract_id_exerciseWRITE

This endpoint enables users to exercise a held option contract, converting it into the underlying asset based on the specified terms. All available held shares of this option contract will be exercised. By default, Alpaca will automatically exercise in-the-money (ITM) contracts at expiry. Exercise requests will be processed immediately once received. Exercise requests submitted between market close and midnight will be rejected to avoid any confusion about when the exercise will settle. To cancel an exercise request or to submit a Do-not-exercise (DNE) instruction, you can use the do-not-exercise endpoint or contact our support team. via POST /v2/positions/{symbol_or_contract_id}/exercise

trading
alpaca_post_v2_tokenization_mintWRITE

This endpoint is used by an Authorized Participant to request the minting of a tokenized asset. **Idempotency**: When the `Idempotency-Key` header is supplied, this endpoint is idempotent. Multiple requests with the same key and identical request body will create only one mint request. A subsequent request returns the previously created request with the same response (no duplicate is created). If the same key is used with a different request body, the API returns `422 Unprocessable Entity`. **Recommended for production**: Always supply `Idempotency-Key` when requesting a mint. This allows safe retries on timeouts, network errors, or 5xx responses without risking duplicate requests. Use a client-generated unique value (e.g. UUID). via POST /v2/tokenization/mint

trading
alpaca_post_v2_wallets_transfersWRITE

Creates a withdrawal request. Note that outgoing withdrawals must be sent to a whitelisted address and you must whitelist addresses at least 24 hours in advance. If you attempt to withdraw funds to a non-whitelisted address then the transfer will be rejected. via POST /v2/wallets/transfers

account:write
alpaca_post_v2_wallets_whitelistsWRITE

Submits a new whitelisted withdrawal address for your account. The chain is derived from the supplied asset symbol and address, and the same address cannot be whitelisted twice on the same chain. Where travel rule reporting applies to your account, supply travel rule information for the destination wallet. Use the `Search VASPs` endpoint to find the VASP DID for the destination exchange. For a self-hosted wallet, set `beneficiary_is_self_hosted` to true. If the exchange is not in the directory, provide its information in `beneficiary_manual_entry`. Note that whitelisted addresses must wait at least 24 hours before they can be used as a withdrawal destination. via POST /v2/wallets/whitelists

account:write
alpaca_post_v2_watchlistsWRITE

Create a new watchlist with initial set of assets. via POST /v2/watchlists

trading
alpaca_post_v2_watchlists_by_nameWRITE

Append an asset for the symbol to the end of watchlist asset list via POST /v2/watchlists:by_name

trading
alpaca_post_v2_watchlists_by_watchlist_idWRITE

Append an asset for the symbol to the end of watchlist asset list via POST /v2/watchlists/{watchlist_id}

trading
alpaca_put_v2_watchlists_by_nameWRITE

Update the name and/or content of watchlist via PUT /v2/watchlists:by_name

trading
alpaca_put_v2_watchlists_by_watchlist_idWRITE

Update the name and/or content of watchlist via PUT /v2/watchlists/{watchlist_id}

trading

Put Alpaca behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.