Alpaca · Schema

Announcement

The announcements endpoint contains public information on previous and upcoming dividends, mergers, spinoffs, and stock splits. Announcement data is made available through the API as soon as it is ingested by Alpaca, which is typically the following trading day after the declaration date. This provides insight into future account stock position and cash balance changes that will take effect on an announcement’s payable date. Additionally, viewing previous announcement details can improve bookkeeping and reconciling previous account cash and position changes.

FintechTradingStocksCryptocurrencyBrokerageMarket DataOptionsReal-TimeInvestingFinancial Services

Properties

Name Type Description
id string ID that is specific to a single announcement.
corporate_action_id string ID that remains consistent across all announcements for the same corporate action. Unlike ‘id’, this can be used to connect multiple announcements to see how the terms have changed throughout the life
ca_type object
ca_sub_type object
initiating_symbol string Symbol of the company initiating the announcement.
initiating_original_cusip string CUSIP of the company initiating the announcement.
target_symbol stringnull Symbol of the child company involved in the announcement.
target_original_cusip stringnull CUSIP of the child company involved in the announcement.
declaration_date string Date the corporate action or subsequent terms update was announced.
ex_date stringnull The first date that purchasing a security will not result in a corporate action entitlement.
record_date stringnull The date an account must hold a settled position in the security in order to receive the corporate action entitlement.
payable_date string The date the announcement will take effect. On this date, account stock and cash balances are expected to be processed accordingly.
cash stringnull The amount of cash to be paid per share held by an account on the record date.
old_rate stringnull The denominator to determine any quantity change ratios in positions.
new_rate stringnull The numerator to determine any quantity change ratios in positions.
View JSON Schema on GitHub

JSON Schema

alpaca-announcement-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/alpaca/json-schema/alpaca-announcement-schema.json",
  "title": "Announcement",
  "description": "The announcements endpoint contains public information on previous and upcoming dividends, mergers, spinoffs, and stock splits.\n\nAnnouncement data is made available through the API as soon as it is ingested by Alpaca, which is typically the following trading day after the declaration date. This provides insight into future account stock position and cash balance changes that will take effect on an announcement’s payable date. Additionally, viewing previous announcement details can improve bookkeeping and reconciling previous account cash and position changes.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/alpaca-corporate-actions-api-openapi.yml#/components/schemas/Announcement",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "description": "ID that is specific to a single announcement."
    },
    "corporate_action_id": {
      "type": "string",
      "minLength": 1,
      "description": "ID that remains consistent across all announcements for the same corporate action. Unlike ‘id’, this can be used to connect multiple announcements to see how the terms have changed throughout the lifecycle of the corporate action event."
    },
    "ca_type": {
      "$ref": "#/$defs/AnnouncementCAType"
    },
    "ca_sub_type": {
      "$ref": "#/$defs/AnnouncementCASubType"
    },
    "initiating_symbol": {
      "type": "string",
      "minLength": 1,
      "description": "Symbol of the company initiating the announcement."
    },
    "initiating_original_cusip": {
      "type": "string",
      "minLength": 1,
      "description": "CUSIP of the company initiating the announcement."
    },
    "target_symbol": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 1,
      "description": "Symbol of the child company involved in the announcement."
    },
    "target_original_cusip": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 1,
      "description": "CUSIP of the child company involved in the announcement."
    },
    "declaration_date": {
      "type": "string",
      "minLength": 1,
      "description": "Date the corporate action or subsequent terms update was announced."
    },
    "ex_date": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 1,
      "description": "The first date that purchasing a security will not result in a corporate action entitlement."
    },
    "record_date": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 1,
      "description": "The date an account must hold a settled position in the security in order to receive the corporate action entitlement."
    },
    "payable_date": {
      "type": "string",
      "minLength": 1,
      "description": "The date the announcement will take effect. On this date, account stock and cash balances are expected to be processed accordingly."
    },
    "cash": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 1,
      "description": "The amount of cash to be paid per share held by an account on the record date."
    },
    "old_rate": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 1,
      "description": "The denominator to determine any quantity change ratios in positions."
    },
    "new_rate": {
      "type": [
        "string",
        "null"
      ],
      "minLength": 1,
      "description": "The numerator to determine any quantity change ratios in positions."
    }
  },
  "required": [
    "id",
    "corporate_action_id",
    "ca_type",
    "ca_sub_type",
    "initiating_symbol",
    "initiating_original_cusip",
    "target_symbol",
    "target_original_cusip",
    "declaration_date",
    "ex_date",
    "record_date",
    "payable_date",
    "cash",
    "old_rate",
    "new_rate"
  ],
  "$defs": {
    "AnnouncementCASubType": {
      "type": "string",
      "description": "Announcements have both a type and a subtype to categorize them. This model represents the lowever level abstract \"sub types\" of Announcement. Please see the AnnouncementCAType model for higher level descriptions of the possible types\n\nPossible values are:\n\n- from the `dividend` type:\n  - **cash**\n\n    A cash payment based on the number of shares the account holds on the record date.\n  - **stock**\n\n    A stock payment based on the number of shares the account holds on the record date.\n\n- from the `merger` type:\n  - **merger_update**\n\n    An update to the terms of an upcoming merger. This can happen any number of times before the merger is completed and can be tracked by using the id parameter.\n\n  - **merger_completion**\n\n    A final update in the terms of the merger in which the intiating_symbol will acquire the target_symbol. Any previous terms updates for this announcement will have the same id value.\n\n- from the `split` type:\n  - **stock_split**\n\n    An increase in the number of shares outstanding with a decrease in the dollar value of each share. The new_rate and old_rate parameters will be returned in order to derive the ratio of the split\n  - **until_split**\n\n    An increase in the number of shares outstanding with a decrease in the dollar value of each share. The new_rate and old_rate parameters will be returned in order to derive the ratio of the split.\n  - **reverse_split**\n\n    A decrease in the number of shares outstanding with an increase in the dollar value of each share. The new_rate and old_rate parameters will be returned in order to derive the ratio of the spli\n  - **recapitalization**\n\n    A stock recapitalization, typically used by a company to adjust debt and equity ratios.\n\n- from the `spinoff` type:\n  - **spinoff**\n\n    A disbursement of a newly tradable security when the intiating_symbol creates the target_symbol.",
      "title": "",
      "enum": [
        "cash",
        "stock",
        "merger_update",
        "merger_completion",
        "stock_split",
        "until_split",
        "reverse_split",
        "recapitalization",
        "spinoff"
      ]
    },
    "AnnouncementCAType": {
      "type": "string",
      "description": "Announcements have both a type and a subtype to categorize them. This model represents the higher level abstract \"types\" of Announcement. Please see the AnnouncementCASubType model for finer grain descriptions of the subtypes\n\nPossible values are:\n- dividend\n  can have `cash` and `stock` subtypes\n- merger\n  has `merger_update` and `merger_completion` sub types\n- split\n  has `stock_split`, `until_split`, `reverse_split`, and `recapitalization` sub types\n- spinoff\n  currently has only the `spinoff` subtype and thus is just this higher level category for now. A disbursement of a newly tradable security when the intiating_symbol creates the target_symbol.",
      "title": "",
      "enum": [
        "dividend",
        "merger",
        "split",
        "spinoff"
      ]
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/alpaca-announcement"
All schemas
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.