AccountStatusEvent
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 additional `kyc_results` object is represented in the account status update events.
Properties
| Name | Type | Description |
|---|---|---|
| account_id | string | |
| account_number | string | |
| status_from | object | |
| status_to | object | |
| reason | string | Optional |
| at | string | Timestamp of event |
| kyc_result | object | |
| event_id | integer | monotonically increasing 64bit integer |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/alpaca/json-schema/alpaca-account-status-event-schema.json",
"title": "AccountStatusEvent",
"description": "Represents a change in an Account's status, sent over the events streaming api.\n\nFor partners who utilize Alpaca’s KYC service for opening brokerage accounts an additional `kyc_results` object is represented in the account status update events.",
"x-generated": "2026-11-05",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/alpaca-accounts-api-openapi.yml#/components/schemas/AccountStatusEvent",
"type": "object",
"properties": {
"account_id": {
"type": "string",
"minLength": 1
},
"account_number": {
"type": "string",
"minLength": 1
},
"status_from": {
"$ref": "#/$defs/AccountStatus"
},
"status_to": {
"$ref": "#/$defs/AccountStatus"
},
"reason": {
"type": "string",
"minLength": 1,
"description": "Optional"
},
"at": {
"type": "string",
"minLength": 1,
"description": "Timestamp of event"
},
"kyc_result": {
"$ref": "#/$defs/KYCResult"
},
"event_id": {
"type": "integer",
"description": "monotonically increasing 64bit integer"
}
},
"required": [
"account_id",
"account_number",
"status_from",
"status_to",
"reason",
"at",
"event_id"
],
"$defs": {
"AccountStatus": {
"type": "string",
"enum": [
"ONBOARDING",
"SUBMITTED",
"RESUBMITTED",
"SUBMISSION_FAILED",
"ACTION_REQUIRED",
"EDITED",
"ACCOUNT_UPDATED",
"APPROVAL_PENDING",
"REAPPROVAL_PENDING",
"SIGNED_UP",
"KYC_SUBMITTED",
"LIMITED",
"AML_REVIEW",
"APPROVED",
"REJECTED",
"ACTIVE",
"DISABLED",
"DISABLE_PENDING",
"ACCOUNT_CLOSED",
"PAPER_ONLY"
],
"description": "Designates the current status of this account\n\nPossible Values:\n- **ONBOARDING**\nAn application is expected for this user, but has not been submitted yet.\n- **SUBMITTED**\nThe application has been submitted and in process.\n- **RESUBMITTED**\nResubmitted is used to display when request has been re-submitted to Apex after account update\n- **SUBMISSION_FAILED**\nUsed to display if failure on submission\n- **ACTION_REQUIRED**\nThe application requires manual action.\n- **EDITED**\nApplication was edited (e.g. to match info from uploaded docs). This is a transient status.\n- **ACCOUNT_UPDATED**\nUsed to display when Account has been modified by user\n- **APPROVAL_PENDING**\nInitial value. The application approval process is in process.\n- **REAPPROVAL_PENDING**\nThis is a transient status used to display once apex approves a re-submission\n- **SIGNED_UP**\nUsers who were directed to and competed the [first stage](https://app.alpaca.markets/signup) of v2 registration\n- **KYC_SUBMITTED**\nUsers that have had their KYC submitted to the routed KYC Provider\n- **LIMITED**\nLimited Users that pass KYC but are missing financial_information and employment_details\n- **AML_REVIEW**\nUsers that pass KYC but from a restricted/high risk country and need manual AML approval\n- **APPROVED**\nThe account application has been approved, and waiting to be ACTIVE\n- **REJECTED**\nThe account application is rejected for some reason\n- **ACTIVE**\nThe account is fully active. Trading and funding are processed under this status.\n- **DISABLED**\nThe account is disabled after ACTIVE status.\n- **DISABLE_PENDING**\nDisablePending is used for accounts which requested to be disabled, but have not been processed yet.\n- **ACCOUNT_CLOSED**\nThe account is closed.\n- **PAPER_ONLY**\nUsed to display when only paper trading is allowed for this account\n"
},
"KYCResult": {
"type": "object",
"description": "Hold information about the result of KYC. Please see the documentation [here](https://alpaca.markets/docs/api-references/broker-api/events/#kyc-results) for more indepth details",
"properties": {
"reject": {
"type": "object"
},
"accept": {
"type": "object"
},
"indeterminate": {
"type": "object"
},
"addidional_information": {
"type": "string"
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/alpaca-account-status-event"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.