Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Alpaca Accounts API

The Accounts API from Alpaca — 14 operation(s) for accounts.

Alpaca Accounts API is one of 23 APIs that Alpaca publishes on the APIs.io network, described by a machine-readable OpenAPI specification and an AsyncAPI event-driven specification.

Tagged areas include Accounts. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an AsyncAPI specification.

This API exposes 20 operations across 14 paths, and defines 42 schemas. It is described by OpenAPI 3.0.0, at version 1.0.0.

Requests are made against 2 base URLs: https://broker-api.sandbox.alpaca.markets, https://broker-api.alpaca.markets.

20 operations 14 paths 42 schemas 4 DELETE10 GET1 PATCH5 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
1.0.0
Base URL
https://api.alpaca.markets/v2
Authentication
HTTP Basic
Terms of Service
Resource Areas
1

Authentication & Security 1

Alpaca Accounts API declares 1 security scheme for authenticating requests. It accepts HTTP basic authentication (BasicAuth). By default, every request must be authenticated.

Paths & Operations 20

Across 14 paths, the API surfaces 20 operations — 4 DELETE, 10 GET, 1 PATCH, 5 POST. Each is listed below with its method, path, parameters, and response codes.

Accounts 20
GET
/v1/accounts
Get all accounts
getAllAccounts 6 params → 200
POST
/v1/accounts
Create an account
createAccount body → 200400409422
GET
/v1/accounts/{account_id}
Get an account by Id.
getAccount 1 param → 200
PATCH
/v1/accounts/{account_id}
Update an account
patchAccount 1 param body → 200400422
DELETE
/v1/accounts/{account_id}
Request to close an account
deleteAccount 1 param → 204
POST
/v1/accounts/{account_id}/documents/upload
Upload a document to an already existing account
uploadDocToAccount 1 param body → 204400404
GET
/v1/accounts/{account_id}/recipient_banks
Retrieve bank relationships for an account
getRecipientBanks 3 params → 200400
POST
/v1/accounts/{account_id}/recipient_banks
Create a Bank Relationship for an account
createRecipientBank 2 params body → 200400409
DELETE
/v1/accounts/{account_id}/recipient_banks/{bank_id}
Delete a Bank Relationship for an account
deleteRecipientBank 2 params → 204400404
GET
/v1/accounts/{account_id}/transfers
Return a list of transfers for an account.
getTransfersForAccount 4 params → 200
POST
/v1/accounts/{account_id}/transfers
Request a new transfer
createTransferForAccount 2 params body → 200
DELETE
/v1/accounts/{account_id}/transfers/{transfer_id}
Request to close a transfer
deleteTransfer 2 params → 204404
GET
/v1/accounts/activities
Retrieve account activities
getAccountActivities 7 params → 200
GET
/v1/accounts/activities/{activity_type}
Retrieve specific account activities
getAccountActivitiesByType 8 params → 200
GET
/v1/accounts/{account_id}/ach_relationships
Retrieve ACH Relationships for an account
getAccountACHRelationships 2 params → 200
POST
/v1/accounts/{account_id}/ach_relationships
Create an ACH Relationship
createACHRelationshipForAccount 1 param body → 200400401409
DELETE
/v1/accounts/{account_id}/ach_relationships/{ach_relationship_id}
Delete an existing ACH relationship
deleteACHRelationshipFromAccount 2 params → 204400404
GET
/v1/trading/accounts/{account_id}/account
Retrieve trading details for an account.
getTradingAccount 1 param → 200
GET
/v1/events/accounts/status
Subscribe to account status events (SSE).
suscribeToAccountStatusSSE 4 params → 200
GET
/v2/account
Get account
getAccount → 200

Schemas 42

The contract defines 42 schemas that model the data the API accepts and returns. The most detailed are TradeAccount (39 properties), Account_2 (26 properties), AccountExtended (19 properties), Identity (16 properties). Each schema is shown below with its type and property counts.

Transfer
object
Transfers allow you to transfer money/balance into your end customers' account (deposits) or out (withdrawal). [Main docs here](https://alpaca.markets/docs/api…
15 properties 7 required
TransferDirection
string
- INCOMING Funds incoming to user’s account (deposit). - OUTGOING Funds outgoing from user’s account (withdrawal).
AccountExtended
object
Represents an account with all data available. If your api response is missing some of these fields, there is a good chance you are using a route that returns…
19 properties 7 required
StreetAddress
string
TransferType
string
NOTE: The Sandbox environment currently only supports ach - ach Transfer via ACH (US Only). - wire Transfer via wire (international).
CreateACHRelationshipRequest
object
Represents the fields used in creation of a new ACHRelationship. You can create an ACHRelationship by passing the required fields here or if you have an accoun…
6 properties 4 required
TradeActivity
object
10 properties
OrderStatus
string
DocumentType
string
- identityverification: identity verification document - addressverification: address verification document - dateofbirthverification: date of birth verificati…
Error
object
2 properties 2 required
KYCResult
object
Hold information about the result of KYC. Please see the documentation [here](https://alpaca.markets/docs/api-references/broker-api/events/kyc-results) for mor…
4 properties
OrderSide
string
Represents what side of the transaction an order was on.
NonTradeActivity
object
7 properties
TradeAccount
object
This is an extended version of the Account model found [in the trading api](https://alpaca.markets/docs/api-references/trading-api/account/account-entity). Ext…
39 properties 9 required
Disclosures
object
Disclosures fields denote if the account owner falls under each category defined by FINRA rule. The client has to ask questions for the end user and the values…
9 properties 4 required
ActivityType
string
Represents the various kinds of activity. TradeActivity's will always have the type FILL - FILL Order Fills (Partial/Full) - ACATC ACATS IN/OUT (Cash) - ACATS…
TaxIdType
string
An Enum of the various kinds of Tax ID formats Alpaca supports. Possible Values are: - USASSN USA Social Security Number - ARGARCUIT Argentina CUIT - AUSTFN Au…
AccountStatus_2
string
An enum representing the various possible account status values. Most likely, the account status is ACTIVE unless there is any problem. The account status may…
AccountConfigurations
object
Represents additional configuration settings for an account
7 properties 7 required
AccountType
string
Possible values are: - trading - custodial - donoradvised
Activity
Base for activity types
2 required
CustodialAccountMinorIdentity
object
Represents Identity information for a minor that an account of type "custodial" is for
10 properties 6 required
Account
object
Represents high level account info. Used when returning entire account information would not be useful like the getAllAccounts operation
9 properties 6 required
TransferStatus
string
- QUEUED Transfer is in queue to be processed. - APPROVALPENDING Transfer is pending approval. - PENDING Transfer is pending processing. - SENTTOCLEARING Trans…
AccountStatusEvent
object
Represents a change in an Account's status, sent over the events streaming api. For partners who utilize Alpaca’s KYC service for opening brokerage accounts an…
8 properties 7 required
Bank
object
14 properties 7 required
CreateBankRequest
object
Represents the possible fields to send when creating a new associated Bank resource for an account
9 properties 4 required
DocumentUploadRequest
object
If an account has documents after the submission, it has the Document model in exchange with DocumentUploadRequest.
4 properties 3 required
AccountStatus
string
Designates the current status of this account Possible Values: - ONBOARDING An application is expected for this user, but has not been submitted yet. - SUBMITT…
TrustedContact
object
This model input is optional. However, the client should make reasonable effort to obtain the trusted contact information. See more details in [FINRA Notice 17…
9 properties 2 required
Contact
object
Contact is the model for the account owner contact information.
6 properties
AccountUpdateRequest
object
4 properties
ApplicationDocument
object
If an account has documents on the application submission, it has the ApplicationDocument model in exchange with DocumentUpload.
5 properties 3 required
CreateTransferRequest
object
[See main docs here](https://alpaca.markets/docs/api-references/broker-api/funding/transfers/creating-a-transfer-entity)
7 properties 4 required
Account_2
object
The account API serves important information related to an account, including account status, funds available for trade, funds available for withdrawal, and va…
26 properties 2 required
AccountCreationRequest
object
Represents the fields required to create a new account
6 properties 4 required
Identity
object
Identity is the model to provide account owner’s identity information.
16 properties 5 required
TransferTiming
string
Only immediate is currently supported. values: - immediate - nextday
Agreement
object
4 properties 3 required
DisclosureContextAnnotation
object
9 properties 1 required
AgreementType
string
- marginagreement: Alpaca Margin Agreement - accountagreement: Alpaca Account Agreement - customeragreement: Alpaca Customer Agreement - cryptoagreement: Alpac…
ACHRelationship
object
10 properties 6 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

alpaca-accounts-api-openapi.yml Raw ↑

Other APIs Alpaca publishes across the network.

Alpaca Trading API
Alpaca OAuth API
Alpaca Account Activities API
Alpaca Account Configurations API
Alpaca Assets API
Alpaca Calendar API
Alpaca Clock API
Alpaca Corporate Actions API
Alpaca Crypto Pricing Data API API
Alpaca Documents API
Alpaca Events API
Alpaca Funding API