Alpaca · Schema

corporate_action_event

A single corporate-action mutation delivered over the [Corporate Actions Events Stream](#operation/SubscribeToCorporateActionsEventsSSE). Every event uses the same envelope. The `event_type` field selects which of the 15 per-type schemas populates `ca`; see [`corporate_action_event_type`](#/components/schemas/corporate_action_event_type) for the full mapping and follow the link on each row to the per-type `ca` payload schema. Optional fields (including `currency` and, on most CA types, `isin`) are omitted from the JSON when empty; `null` is never emitted.

FintechTradingStocksCryptocurrencyBrokerageMarket DataOptionsReal-TimeInvestingFinancial Services
View JSON Schema on GitHub

JSON Schema

alpaca-corporate-action-event-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/alpaca/json-schema/alpaca-corporate-action-event-schema.json",
  "title": "corporate_action_event",
  "description": "A single corporate-action mutation delivered over the\n[Corporate Actions Events Stream](#operation/SubscribeToCorporateActionsEventsSSE).\n\nEvery event uses the same envelope. The `event_type` field selects which of\nthe 15 per-type schemas populates `ca`; see\n[`corporate_action_event_type`](#/components/schemas/corporate_action_event_type)\nfor the full mapping and follow the link on each row to the per-type `ca`\npayload schema.\n\nOptional fields (including `currency` and, on most CA types, `isin`) are\nomitted from the JSON when empty; `null` is never emitted.\n",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/alpaca-us-market-data-api-openapi.yml#/components/schemas/corporate_action_event",
  "oneOf": [
    {
      "$ref": "#/$defs/corporate_action_event_capital_gains_distribution"
    },
    {
      "$ref": "#/$defs/corporate_action_event_cash_dividend"
    },
    {
      "$ref": "#/$defs/corporate_action_event_cash_merger"
    },
    {
      "$ref": "#/$defs/corporate_action_event_equity_partial_call"
    },
    {
      "$ref": "#/$defs/corporate_action_event_forward_split"
    },
    {
      "$ref": "#/$defs/corporate_action_event_name_change"
    },
    {
      "$ref": "#/$defs/corporate_action_event_redemption"
    },
    {
      "$ref": "#/$defs/corporate_action_event_reorganization"
    },
    {
      "$ref": "#/$defs/corporate_action_event_reverse_split"
    },
    {
      "$ref": "#/$defs/corporate_action_event_rights_distribution"
    },
    {
      "$ref": "#/$defs/corporate_action_event_spin_off"
    },
    {
      "$ref": "#/$defs/corporate_action_event_stock_and_cash_merger"
    },
    {
      "$ref": "#/$defs/corporate_action_event_stock_dividend"
    },
    {
      "$ref": "#/$defs/corporate_action_event_stock_merger"
    },
    {
      "$ref": "#/$defs/corporate_action_event_unit_split"
    },
    {
      "$ref": "#/$defs/corporate_action_event_worthless_removal"
    }
  ],
  "$defs": {
    "ca_event_base": {
      "description": "Common fields present on every `ca` payload regardless of `event_type`.\nNot meant to be referenced directly by clients -- it exists so each\nper-type payload schema (`ca_event_cash_dividend`, `ca_event_forward_split`,\n...) can `allOf`-compose it instead of restating `id` and `process_date`.\nThis makes the \"always present\" invariant structural (guaranteed by the\nschema) rather than emergent from repetition, and matches the \"Common `ca`\nfields\" section of the event-streaming Corporate Actions SSE design doc.\n",
      "properties": {
        "id": {
          "$ref": "#/$defs/ca_id"
        },
        "process_date": {
          "$ref": "#/$defs/process_date"
        }
      },
      "required": [
        "id",
        "process_date"
      ],
      "type": "object"
    },
    "ca_event_capital_gains_distribution": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "cusip": {
              "description": "CUSIP of the security.",
              "type": "string"
            },
            "ex_date": {
              "$ref": "#/$defs/ex_date"
            },
            "isin": {
              "$ref": "#/$defs/isin"
            },
            "long_term_rate": {
              "description": "Long-term capital-gains payment per share, as a decimal string.",
              "type": "string"
            },
            "payable_date": {
              "$ref": "#/$defs/payable_date"
            },
            "record_date": {
              "$ref": "#/$defs/record_date"
            },
            "short_term_rate": {
              "description": "Short-term capital-gains payment per share, as a decimal string.",
              "type": "string"
            },
            "symbol": {
              "description": "Ticker paying the distribution.",
              "type": "string"
            }
          },
          "required": [
            "symbol",
            "cusip",
            "ex_date"
          ],
          "type": "object"
        }
      ],
      "description": "Capital-gains distribution payload delivered when\n`event_type == capital_gains_distribution_corporateaction_event`. Every\ndecimal field is emitted as a JSON string to preserve precision on the\nwire. At least one of `long_term_rate` / `short_term_rate` is present;\ncombined distributions carry both.\n"
    },
    "ca_event_cash_dividend": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "cusip": {
              "description": "CUSIP of the security.",
              "type": "string"
            },
            "due_bill_off_date": {
              "description": "End of the due-bill period.",
              "format": "date",
              "type": "string"
            },
            "due_bill_on_date": {
              "description": "Start of the due-bill period.",
              "format": "date",
              "type": "string"
            },
            "ex_date": {
              "$ref": "#/$defs/ex_date"
            },
            "foreign": {
              "description": "`true` if the issuer is not US-based.",
              "type": "boolean"
            },
            "isin": {
              "$ref": "#/$defs/isin"
            },
            "payable_date": {
              "$ref": "#/$defs/payable_date"
            },
            "rate": {
              "description": "Cash paid per share, as a decimal string.",
              "type": "string"
            },
            "record_date": {
              "$ref": "#/$defs/record_date"
            },
            "special": {
              "description": "`true` if this is a one-off dividend outside the issuer's regular\ndistribution schedule.\n",
              "type": "boolean"
            },
            "sub_type": {
              "description": "Optional sub-classification of the dividend.",
              "enum": [
                "interest",
                "return_of_capital"
              ],
              "type": "string"
            },
            "symbol": {
              "description": "Ticker paying the dividend.",
              "type": "string"
            }
          },
          "required": [
            "symbol",
            "cusip",
            "rate",
            "special",
            "foreign",
            "ex_date"
          ],
          "type": "object"
        }
      ],
      "description": "Cash dividend payload delivered when\n`event_type == cash_dividend_corporateaction_event`. Corresponds to\n`cash_dividends` on the REST\n[`GET /v1/corporate-actions`](#operation/CorporateActions) response, but\nevery decimal field is emitted as a JSON string to preserve precision on\nthe wire.\n"
    },
    "ca_event_cash_merger": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "acquiree_cusip": {
              "description": "CUSIP of the company being bought.",
              "type": "string"
            },
            "acquiree_isin": {
              "$ref": "#/$defs/isin"
            },
            "acquiree_symbol": {
              "description": "Ticker being bought (will disappear after the merger).",
              "type": "string"
            },
            "acquirer_cusip": {
              "description": "Buyer's CUSIP.",
              "type": "string"
            },
            "acquirer_isin": {
              "$ref": "#/$defs/isin"
            },
            "acquirer_symbol": {
              "description": "Buyer's ticker (the surviving company).",
              "type": "string"
            },
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "effective_date": {
              "$ref": "#/$defs/effective_date"
            },
            "payable_date": {
              "$ref": "#/$defs/payable_date"
            },
            "rate": {
              "description": "Cash paid per share of the acquired company, as a decimal string.",
              "type": "string"
            }
          },
          "required": [
            "acquiree_symbol",
            "acquiree_cusip",
            "rate",
            "effective_date"
          ],
          "type": "object"
        }
      ],
      "description": "Cash merger payload delivered when\n`event_type == cash_merger_corporateaction_event`. Corresponds to\n`cash_mergers` on the REST\n[`GET /v1/corporate-actions`](#operation/CorporateActions) response, but\nevery decimal field is emitted as a JSON string to preserve precision on\nthe wire.\n"
    },
    "ca_event_equity_partial_call": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "cusip": {
              "description": "CUSIP of the security.",
              "type": "string"
            },
            "dividend_rate": {
              "description": "Dividend rate associated with the called shares, as a decimal string.",
              "type": "string"
            },
            "isin": {
              "$ref": "#/$defs/isin"
            },
            "lottery_date": {
              "description": "When the lottery drawing happens.",
              "format": "date",
              "type": "string"
            },
            "lottery_type": {
              "description": "How called shares were allocated among holders.",
              "enum": [
                "original",
                "supplemental"
              ],
              "type": "string"
            },
            "payable_date": {
              "$ref": "#/$defs/payable_date"
            },
            "price": {
              "description": "Price paid per called share, as a decimal string.",
              "type": "string"
            },
            "record_date": {
              "$ref": "#/$defs/record_date"
            },
            "results_publication_date": {
              "description": "When the lottery results are published.",
              "format": "date",
              "type": "string"
            },
            "symbol": {
              "description": "Ticker being partially called.",
              "type": "string"
            }
          },
          "required": [
            "symbol"
          ],
          "type": "object"
        }
      ],
      "description": "Partial redemption of an equity issue where the issuer calls back only a\nfraction of outstanding shares -- typically allocated to holders via a\nlottery. Delivered when\n`event_type == equity_partial_call_corporateaction_event`. Corresponds to\n`partial_calls` on the REST\n[`GET /v1/corporate-actions`](#operation/CorporateActions) response, but\nevery decimal field is emitted as a JSON string to preserve precision on\nthe wire.\n"
    },
    "ca_event_forward_split": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "cusip": {
              "description": "CUSIP of the security.",
              "type": "string"
            },
            "due_bill_redemption_date": {
              "$ref": "#/$defs/due_bill_redemption_date"
            },
            "ex_date": {
              "$ref": "#/$defs/ex_date"
            },
            "isin": {
              "$ref": "#/$defs/isin"
            },
            "new_rate": {
              "description": "Shares after the split, as a decimal string.",
              "type": "string"
            },
            "old_rate": {
              "description": "Shares before the split, as a decimal string.",
              "type": "string"
            },
            "payable_date": {
              "$ref": "#/$defs/payable_date"
            },
            "record_date": {
              "$ref": "#/$defs/record_date"
            },
            "symbol": {
              "description": "Ticker being split.",
              "type": "string"
            }
          },
          "required": [
            "symbol",
            "cusip",
            "old_rate",
            "new_rate",
            "ex_date"
          ],
          "type": "object"
        }
      ],
      "description": "Forward stock split payload delivered when\n`event_type == forward_split_corporateaction_event`. Corresponds to\n`forward_splits` on the REST\n[`GET /v1/corporate-actions`](#operation/CorporateActions) response, but\nevery decimal field is emitted as a JSON string to preserve precision on\nthe wire.\n"
    },
    "ca_event_name_change": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "new_cusip": {
              "description": "CUSIP after the change.",
              "type": "string"
            },
            "new_isin": {
              "$ref": "#/$defs/isin"
            },
            "new_symbol": {
              "description": "Ticker after the change.",
              "type": "string"
            },
            "old_cusip": {
              "description": "CUSIP before the change.",
              "type": "string"
            },
            "old_isin": {
              "$ref": "#/$defs/isin"
            },
            "old_symbol": {
              "description": "Ticker before the change.",
              "type": "string"
            }
          },
          "required": [
            "old_symbol",
            "old_cusip",
            "new_symbol",
            "new_cusip"
          ],
          "type": "object"
        }
      ],
      "description": "Name/ticker change payload delivered when\n`event_type == name_change_corporateaction_event`. Corresponds to\n`name_changes` on the REST\n[`GET /v1/corporate-actions`](#operation/CorporateActions) response.\n"
    },
    "ca_event_redemption": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "cusip": {
              "description": "CUSIP of the security.",
              "type": "string"
            },
            "isin": {
              "$ref": "#/$defs/isin"
            },
            "payable_date": {
              "$ref": "#/$defs/payable_date"
            },
            "rate": {
              "description": "Cash paid per share, as a decimal string.",
              "type": "string"
            },
            "symbol": {
              "description": "Ticker being redeemed.",
              "type": "string"
            }
          },
          "required": [
            "symbol",
            "cusip",
            "rate"
          ],
          "type": "object"
        }
      ],
      "description": "Full redemption payload delivered when\n`event_type == redemption_corporateaction_event`. Corresponds to\n`redemptions` on the REST\n[`GET /v1/corporate-actions`](#operation/CorporateActions) response, but\nevery decimal field is emitted as a JSON string to preserve precision on\nthe wire.\n"
    },
    "ca_event_reorganization": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "cash_rate": {
              "description": "Cash paid per source share, as a decimal string.",
              "type": "string"
            },
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "cusip": {
              "description": "CUSIP of the original security.",
              "type": "string"
            },
            "effective_date": {
              "$ref": "#/$defs/effective_date"
            },
            "isin": {
              "$ref": "#/$defs/isin"
            },
            "payable_date": {
              "$ref": "#/$defs/payable_date"
            },
            "stock_movements": {
              "description": "One entry per replacement security delivered to holders.",
              "items": {
                "$ref": "#/$defs/ca_event_reorganization_stock_movement"
              },
              "type": "array"
            },
            "symbol": {
              "description": "Ticker undergoing the reorganization.",
              "type": "string"
            }
          },
          "required": [
            "symbol",
            "cusip",
            "effective_date"
          ],
          "type": "object"
        }
      ],
      "description": "General-purpose corporate restructuring (e.g. Chapter 11 emergence) where\nexisting holders receive a mix of cash and/or one or more replacement\nsecurities. Each entry in `stock_movements` describes a separate\nshare-class distribution. Delivered when\n`event_type == reorganization_corporateaction_event`. Corresponds to\n`reorganizations` on the REST\n[`GET /v1/corporate-actions`](#operation/CorporateActions) response, but\nevery decimal field is emitted as a JSON string to preserve precision on\nthe wire.\n"
    },
    "ca_event_reorganization_stock_movement": {
      "additionalProperties": false,
      "description": "A single replacement-security leg of a\n[`ca_event_reorganization`](#/components/schemas/ca_event_reorganization)\npayload. All decimal fields are emitted as JSON strings to preserve\nprecision on the wire.\n",
      "properties": {
        "cusip": {
          "description": "Replacement CUSIP.",
          "type": "string"
        },
        "isin": {
          "$ref": "#/$defs/isin"
        },
        "new_rate": {
          "description": "Replacement shares delivered per `source_rate`, as a decimal string.",
          "type": "string"
        },
        "source_rate": {
          "description": "Source shares required for each `new_rate`, as a decimal string.",
          "type": "string"
        },
        "symbol": {
          "description": "Replacement ticker.",
          "type": "string"
        }
      },
      "required": [
        "symbol",
        "cusip",
        "new_rate",
        "source_rate"
      ],
      "type": "object"
    },
    "ca_event_reverse_split": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "ex_date": {
              "$ref": "#/$defs/ex_date"
            },
            "new_cusip": {
              "description": "CUSIP after the split.",
              "type": "string"
            },
            "new_isin": {
              "$ref": "#/$defs/isin"
            },
            "new_rate": {
              "description": "Shares after the split, as a decimal string.",
              "type": "string"
            },
            "new_symbol": {
              "description": "Ticker after the split when the issuer also changes symbol (e.g. with\na \"D\" suffix). Omitted when the ticker doesn't change.\n",
              "type": "string"
            },
            "old_cusip": {
              "description": "CUSIP before the split.",
              "type": "string"
            },
            "old_isin": {
              "$ref": "#/$defs/isin"
            },
            "old_rate": {
              "description": "Shares before the split, as a decimal string.",
              "type": "string"
            },
            "payable_date": {
              "$ref": "#/$defs/payable_date"
            },
            "record_date": {
              "$ref": "#/$defs/record_date"
            },
            "symbol": {
              "description": "Ticker being split.",
              "type": "string"
            }
          },
          "required": [
            "symbol",
            "old_cusip",
            "new_cusip",
            "old_rate",
            "new_rate",
            "ex_date"
          ],
          "type": "object"
        }
      ],
      "description": "Reverse stock split payload delivered when\n`event_type == reverse_split_corporateaction_event`. Corresponds to\n`reverse_splits` on the REST\n[`GET /v1/corporate-actions`](#operation/CorporateActions) response, but\nevery decimal field is emitted as a JSON string to preserve precision on\nthe wire.\n"
    },
    "ca_event_rights_distribution": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "ex_date": {
              "$ref": "#/$defs/ex_date"
            },
            "expiration_date": {
              "$ref": "#/$defs/expiration_date"
            },
            "new_cusip": {
              "description": "CUSIP of the new right.",
              "type": "string"
            },
            "new_isin": {
              "$ref": "#/$defs/isin"
            },
            "new_symbol": {
              "description": "Ticker of the new right/warrant.",
              "type": "string"
            },
            "payable_date": {
              "$ref": "#/$defs/payable_date"
            },
            "rate": {
              "description": "Rights given per share you own, as a decimal string.",
              "type": "string"
            },
            "record_date": {
              "$ref": "#/$defs/record_date"
            },
            "source_cusip": {
              "description": "CUSIP of the underlying ticker.",
              "type": "string"
            },
            "source_isin": {
              "$ref": "#/$defs/isin"
            },
            "source_symbol": {
              "description": "Ticker whose holders receive the rights.",
              "type": "string"
            }
          },
          "required": [
            "source_symbol",
            "source_cusip",
            "new_symbol",
            "new_cusip",
            "rate",
            "ex_date",
            "payable_date"
          ],
          "type": "object"
        }
      ],
      "description": "Rights distribution payload delivered when\n`event_type == rights_distribution_corporateaction_event`. Corresponds to\n`rights_distributions` on the REST\n[`GET /v1/corporate-actions`](#operation/CorporateActions) response, but\nevery decimal field is emitted as a JSON string to preserve precision on\nthe wire.\n"
    },
    "ca_event_spin_off": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "due_bill_redemption_date": {
              "$ref": "#/$defs/due_bill_redemption_date"
            },
            "ex_date": {
              "$ref": "#/$defs/ex_date"
            },
            "new_cusip": {
              "description": "CUSIP of the new spin-off company.",
              "type": "string"
            },
            "new_isin": {
              "$ref": "#/$defs/isin"
            },
            "new_rate": {
              "description": "New-company shares distributed per `source_rate` parent shares, as a decimal string.",
              "type": "string"
            },
            "new_symbol": {
              "description": "Ticker of the new spin-off company.",
              "type": "string"
            },
            "payable_date": {
              "$ref": "#/$defs/payable_date"
            },
            "record_date": {
              "$ref": "#/$defs/record_date"
            },
            "source_cusip": {
              "description": "Parent CUSIP.",
              "type": "string"
            },
            "source_isin": {
              "$ref": "#/$defs/isin"
            },
            "source_rate": {
              "description": "Parent shares required per ratio unit, as a decimal string.",
              "type": "string"
            },
            "source_symbol": {
              "description": "Parent company's ticker.",
              "type": "string"
            }
          },
          "required": [
            "source_symbol",
            "source_cusip",
            "source_rate",
            "new_symbol",
            "new_cusip",
            "new_rate",
            "ex_date"
          ],
          "type": "object"
        }
      ],
      "description": "Spin-off payload delivered when\n`event_type == spin_off_corporateaction_event`. Corresponds to\n`spin_offs` on the REST\n[`GET /v1/corporate-actions`](#operation/CorporateActions) response, but\nevery decimal field is emitted as a JSON string to preserve precision on\nthe wire.\n"
    },
    "ca_event_stock_and_cash_merger": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "acquiree_cusip": {
              "description": "CUSIP of the company being bought.",
              "type": "string"
            },
            "acquiree_isin": {
              "$ref": "#/$defs/isin"
            },
            "acquiree_rate": {
              "description": "Bought-side ratio, as a decimal string.",
              "type": "string"
            },
            "acquiree_symbol": {
              "description": "Ticker being bought (will disappear).",
              "type": "string"
            },
            "acquirer_cusip": {
              "description": "Buyer's CUSIP.",
              "type": "string"
            },
            "acquirer_isin": {
              "$ref": "#/$defs/isin"
            },
            "acquirer_rate": {
              "description": "Buyer shares given per unit ratio, as a decimal string.",
              "type": "string"
            },
            "acquirer_symbol": {
              "description": "Buyer's ticker (the surviving company).",
              "type": "string"
            },
            "cash_rate": {
              "description": "Extra cash paid per share of the acquired company, as a decimal string.",
              "type": "string"
            },
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "effective_date": {
              "$ref": "#/$defs/effective_date"
            },
            "payable_date": {
              "$ref": "#/$defs/payable_date"
            }
          },
          "required": [
            "acquirer_symbol",
            "acquirer_cusip",
            "acquirer_rate",
            "acquiree_symbol",
            "acquiree_cusip",
            "acquiree_rate",
            "cash_rate",
            "effective_date"
          ],
          "type": "object"
        }
      ],
      "description": "Merger paying a mix of stock and cash. Delivered when\n`event_type == stock_and_cash_merger_corporateaction_event`. Corresponds\nto `stock_and_cash_mergers` on the REST\n[`GET /v1/corporate-actions`](#operation/CorporateActions) response, but\nevery decimal field is emitted as a JSON string to preserve precision on\nthe wire.\n"
    },
    "ca_event_stock_dividend": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "cusip": {
              "description": "CUSIP of the security.",
              "type": "string"
            },
            "ex_date": {
              "$ref": "#/$defs/ex_date"
            },
            "isin": {
              "$ref": "#/$defs/isin"
            },
            "payable_date": {
              "$ref": "#/$defs/payable_date"
            },
            "rate": {
              "description": "Extra shares received per share held, as a decimal string.",
              "type": "string"
            },
            "record_date": {
              "$ref": "#/$defs/record_date"
            },
            "symbol": {
              "description": "Ticker paying the stock dividend.",
              "type": "string"
            }
          },
          "required": [
            "symbol",
            "cusip",
            "rate",
            "ex_date"
          ],
          "type": "object"
        }
      ],
      "description": "Stock dividend payload delivered when\n`event_type == stock_dividend_corporateaction_event`. Corresponds to\n`stock_dividends` on the REST\n[`GET /v1/corporate-actions`](#operation/CorporateActions) response, but\nevery decimal field is emitted as a JSON string to preserve precision on\nthe wire.\n"
    },
    "ca_event_stock_merger": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "acquiree_cusip": {
              "description": "CUSIP of the company being bought.",
              "type": "string"
            },
            "acquiree_isin": {
              "$ref": "#/$defs/isin"
            },
            "acquiree_rate": {
              "description": "Bought-side ratio, as a decimal string.",
              "type": "string"
            },
            "acquiree_symbol": {
              "description": "Ticker being bought (will disappear).",
              "type": "string"
            },
            "acquirer_cusip": {
              "description": "Buyer's CUSIP.",
              "type": "string"
            },
            "acquirer_isin": {
              "$ref": "#/$defs/isin"
            },
            "acquirer_rate": {
              "description": "Buyer-side ratio, as a decimal string.",
              "type": "string"
            },
            "acquirer_symbol": {
              "description": "Buyer's ticker (the surviving company).",
              "type": "string"
            },
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "effective_date": {
              "$ref": "#/$defs/effective_date"
            },
            "payable_date": {
              "$ref": "#/$defs/payable_date"
            }
          },
          "required": [
            "acquirer_symbol",
            "acquirer_cusip",
            "acquirer_rate",
            "acquiree_symbol",
            "acquiree_cusip",
            "acquiree_rate",
            "effective_date"
          ],
          "type": "object"
        }
      ],
      "description": "All-stock merger payload delivered when\n`event_type == stock_merger_corporateaction_event`. Corresponds to\n`stock_mergers` on the REST\n[`GET /v1/corporate-actions`](#operation/CorporateActions) response, but\nevery decimal field is emitted as a JSON string to preserve precision on\nthe wire.\n"
    },
    "ca_event_unit_split": {
      "allOf": [
        {
          "$ref": "#/$defs/ca_event_base"
        },
        {
          "properties": {
            "alternate_cusip": {
              "description": "CUSIP of the secondary leg.",
              "type": "string"
            },
            "alternate_isin": {
              "$ref": "#/$defs/isin"
            },
            "alternate_rate": {
              "description": "Secondary-leg shares delivered per unit, as a decimal string.",
              "type": "string"
            },
            "alternate_symbol": {
              "description": "Ticker of the secondary leg (usually a warrant).",
              "type": "string"
            },
            "currency": {
              "$ref": "#/$defs/currency"
            },
            "effective_date": {
              "$ref": "#/$defs/effective_date"
            },
            "new_cusip": {
              "description": "CUSIP of the primary leg.",
              "type": "string"
            },
            "new_isin": {
              "$ref": "#/$defs/isin"
            },
            "new_rate": {
              "description": "Primary-leg shares delivered per unit, as a decimal string.",
              "type": "string"
            },
            "new_symbol": {
              "description": "Ticker of the primary leg (usually the common share).",
              "type": "string"
            },
            "old_cusip": {
              "description": "CUSIP of the unit.",
              "type": "string"
            },
            "old_isin": {
              "$ref": "#/$defs/isin"
            },
            "old_rate": {
              "description": "Units per ratio unit, as a decimal string.",
              "type": "st

# --- truncated at 32 KB (50 KB total) ---
# Full source: https://artifacts.apis.io/alpaca/json-schema/alpaca-corporate-action-event-schema.json

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-corporate-action-event"
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.