> ## Documentation Index
> Fetch the complete documentation index at: https://docs.terrapinfinance.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Corporate bonds

> Field reference for the corporate bond Reference Data response

This is the complete field dictionary for the data returned by the [Corporate bond Reference Data](/api-endpoints/corporate-bond-reference) endpoint.

<Warning>
  This endpoint is in **preview** and not yet fully production-ready. Its fields, behavior, and availability may change without notice.
</Warning>

Each call returns an object of the shape `{ "data": [ ... ], "total": <integer> }`, where every entry in `data` describes a single bond using the fields below.

<ResponseField name="isin" type="string">
  International Securities Identification Number (ISIN), unique 12-character code for the security.
</ResponseField>

<ResponseField name="alternative_names" type="string">
  Alternative name(s) the bond is known by.
</ResponseField>

<ResponseField name="can_generate_cashflows" type="boolean">
  Whether cashflows can be generated for this bond.
</ResponseField>

<ResponseField name="cfi_code" type="string">
  Classification of Financial Instruments (CFI) code:

  The CFI code is a six-letter code that classifies a financial instrument by its type and key features (e.g., fixed/floating rate, registered/bearer, secured/unsecured).
</ResponseField>

<ResponseField name="composite_issue_rating" type="string">
  Composite rating of the issue.

  **Allowed values:** `A`, `A+`, `A-`, `AA`, `AA+`, `AA-`, `AAA`, `B`, `B+`, `B-`, `BB`, `BB+`, `BB-`, `BBB`, `BBB+`, `BBB-`, `C`, `CC`, `CCC`, `CCC+`, `CCC-`, `D`
</ResponseField>

<ResponseField name="composite_issuer_rating" type="string">
  Composite rating of the issuer.

  **Allowed values:** `A`, `A+`, `A-`, `AA`, `AA+`, `AA-`, `AAA`, `B`, `B+`, `B-`, `BB`, `BB+`, `BB-`, `BBB`, `BBB+`, `BBB-`, `C`, `CC`, `CCC`, `CCC+`, `CCC-`, `D`
</ResponseField>

<ResponseField name="country" type="string">
  Country of issuing entity:

  **Examples:**

  * `Germany`: Country of issue is Germany.
  * `United Kingdom`: Country of issue is United Kingdom.
  * `United States of America`: Country of issue is United States of America.
</ResponseField>

<ResponseField name="country_code" type="string">
  Country code of issuing entity (ISO 3166-1 alpha-2 country codes):
</ResponseField>

<ResponseField name="coupon" type="number">
  Interest rate or coupon of the bond.
</ResponseField>

<ResponseField name="coupon_frequency" type="integer">
  Number of coupon payments per year.
</ResponseField>

<ResponseField name="coupon_payment_day" type="integer">
  Day of the month when coupon payments are made.
</ResponseField>

<ResponseField name="coupon_payment_months" type="array of integer">
  Months when coupon payments are made (1-12).

  **Examples:**

  * `[2, 8]`: Coupon payments are made on February and August.
</ResponseField>

<ResponseField name="currency" type="string">
  Bond currency, 3-letter ISO 4217 code.
</ResponseField>

<ResponseField name="debt_type" type="string">
  Type of debt instrument, e.g. bond, note, or commercial paper.
</ResponseField>

<ResponseField name="figi" type="string">
  Financial Instrument Global Identifier (FIGI), a unique 12-character alphanumeric code for financial instruments.
</ResponseField>

<ResponseField name="figi_name" type="string">
  Name associated with the FIGI (Financial Instrument Global Identifier).
</ResponseField>

<ResponseField name="first_coupon_date" type="date">
  Date in ISO-8601 format (YYYY-MM-DD) of the first coupon payment.
</ResponseField>

<ResponseField name="first_interest_payment_date" type="date">
  Date of the first interest payment in ISO-8601 format (YYYY-MM-DD).
</ResponseField>

<ResponseField name="handle" type="string">
  Bond handles - predefined categories for filtering bonds by type and characteristics.

  **Available options by country:**

  **German Bonds (DE):**

  * `de_bund`: German long-term government bonds (Bundesanleihen).
  * `de_bobl`: German medium-term government bonds (Bundesobligationen).
  * `de_schatz`: German short-term government bonds (Bundesschatzanweisungen).
  * `de_bubill`: German short-term government bills (Bundesschatzanweisungen).
  * `de_ilb`: German inflation-linked government bonds.
  * `de_green`: German green government bonds.

  **UK Bonds (GB):**

  * `uk_gilt`: UK government bonds (Gilts).
  * `uk_green_gilt`: UK green government bonds.
  * `uk_il_gilt`: UK inflation-linked government bonds.
  * `uk_bill`: UK short-term government bills.

  **French Bonds (FR):**

  * `fr_oat`: French long-term government bonds (Obligations Assimilables du Trésor).
  * `fr_oatei`: French inflation-linked government bonds (OATi).
  * `fr_oati`: French inflation-linked government bonds (alternative naming).
  * `fr_btf`: French short-term government bills (Bons du Trésor à taux fixe).
  * `fr_bond`: French government bonds (general category).

  **Dutch Bonds (NL):**

  * `nl_dsl`: Dutch government loans (Dutch State Loans).
  * `nl_dtc`: Dutch short-term government securities (Dutch Treasury Certificates).

  **Canadian Bonds (CA):**

  * `ca_bond`: Canadian government bonds.
  * `ca_bill`: Canadian short-term government bills.
  * `ca_cmb`: Canadian mortgage-backed securities (Canada Mortgage Bonds).
  * `ca_ulbond`: Canadian ultra-long government bonds (>30 years).
  * `ca_rrbond`: Canadian inflation-linked bonds (Real Return Bonds).
  * `ca_green`: Canadian green government bonds.

  **Swiss Bonds (CH):**

  * `ch_bond`: Swiss government bonds.

  **Czech Bonds (CZ):**

  * `cz_bond`: Czech government bonds.
  * `cz_bill`: Czech short-term government bills.
  * `cz_fr_bond`: Czech floating-rate government bonds.
  * `cz_zr_bond`: Czech zero-coupon government bonds.

  **Spanish Bonds (ES):**

  * `es_bill`: Spanish short-term government bills.
  * `es_bond`: Spanish government bonds.
  * `es_ilb_bond`: Spanish inflation-linked government bonds.
  * `es_zr_bond`: Spanish zero-coupon government bonds.
  * `es_vr_bond`: Spanish variable-rate government bonds.

  **Chinese Bonds (CN):**

  * `cn_bill`: Chinese government short-term bills.
  * `cn_bond`: Chinese government bonds.
  * `cn_bond_vr`: Chinese government variable-rate bonds.
  * `cn_bond_zr`: Chinese government zero-coupon bonds.

  **US Treasury Bonds (US):**

  * `us_tips`: US Treasury Inflation-Protected Securities (TIPS).
  * `us_frn`: US Treasury Floating Rate Notes (FRN).
  * `us_bill`: US Treasury Bills (short-term securities).
  * `us_cmb`: US Treasury Cash Management Bills (CMB).
  * `us_note`: US Treasury Notes (medium-term securities).
  * `us_bond`: US Treasury Bonds (long-term securities).

  **Thai Bonds (TH):**

  * `th_bill`: Thai short-term government bills.
  * `th_bond`: Thai government bonds.
  * `th_ilb_bond`: Thai inflation-linked government bonds.
  * `th_green_bond`: Thai green government bonds.
  * `th_zr_bond`: Thai zero-coupon government bonds.
  * `th_vr_bond`: Thai variable-rate government bonds.
</ResponseField>

<ResponseField name="industry_group" type="string">
  Industry group of the issuer.
</ResponseField>

<ResponseField name="integral_multiple" type="number">
  Integral multiple for bond denominations.
</ResponseField>

<ResponseField name="interest_accrual_convention" type="string">
  Day count convention for interest accrual:

  * `act/act (ICMA)`: Uses actual number of days in period and year.
  * `30/360`: Assumes 30 days per month, 360 days per year.
  * `act/360`: Uses actual days in period, 360 days per year.
  * `act/365`: Uses actual days in period, 365 days per year.
  * `act/act`: Uses actual number of days in period and year.
  * `act/act (ISDA)`: ISDA convention for actual/actual.
  * `act/act (AFB)`: AFB convention for actual/actual.
</ResponseField>

<ResponseField name="interest_accrual_date" type="date">
  Date in ISO-8601 format (YYYY-MM-DD) from which interest accrues.
</ResponseField>

<ResponseField name="interest_payment_schedule" type="array of object">
  The interest payment schedule specifies the schedule of interest payments, which may be periodic or deferred until maturity (for CABs, notes or deferred interest bonds). It is represented as an array of objects with the following schema:

  <Expandable title="properties">
    <ResponseField name="interest_type" type="string">
      **Allowed values:** `accreting`, `regular`
    </ResponseField>

    <ResponseField name="payment_date" type="object">
      <Expandable title="properties">
        <ResponseField name="day" type="integer" />

        <ResponseField name="month" type="integer" />

        <ResponseField name="year" type="integer" />
      </Expandable>
    </ResponseField>

    <ResponseField name="periodic_schedule" type="object">
      <Expandable title="properties">
        <ResponseField name="period_amount" type="integer" />

        <ResponseField name="period_type" type="string">
          **Allowed values:** `month`, `week`
        </ResponseField>

        <ResponseField name="until" type="date" />
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="interest_rate" type="number or object">
  Interest rate or coupon of the bond, expressed as a percentage of the bond's face value.

  <Expandable title="properties">
    <ResponseField name="benchmark" type="string" />

    <ResponseField name="pct_of_benchmark" type="number" />

    <ResponseField name="spread_in_bps" type="number" />
  </Expandable>
</ResponseField>

<ResponseField name="interest_rate_schedule" type="array of object">
  The interest rate structure specifies the applicable interest rate for a given period and defines how it is set and adjusted over the bond’s term, including periodic adjustments for variable rate bonds. It is represented as an array of objects with the following schema:

  <Expandable title="properties">
    <ResponseField name="determination_period" type="object">
      <Expandable title="properties">
        <ResponseField name="period_length" type="integer" />

        <ResponseField name="period_type" type="string">
          **Allowed values:** `day`, `month`, `week`
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="from_date" type="date">
      Can be null if it applies from issue
    </ResponseField>

    <ResponseField name="interest_rate" type="number or object">
      <Expandable title="properties">
        <ResponseField name="benchmark" type="string">
          **Allowed values:** `auction`, `cpi`, `federal-funds-rate`, `libor`, `mmd`, `remarketing-agent`, `sifma`, `sofr`, `treasury`
        </ResponseField>

        <ResponseField name="pct_of_benchmark" type="number" />

        <ResponseField name="spread_in_bps" type="number" />
      </Expandable>
    </ResponseField>

    <ResponseField name="interest_type" type="string">
      **Allowed values:** `compounding`, `fixed`, `variable`, `zero`
    </ResponseField>

    <ResponseField name="rate_mode_name" type="string">
      The name of the rate mode.

      **Allowed values:** `15-day`, `adjustable`, `auction`, `bank-purchase`, `bi-weekly`, `cpi`, `daily`, `fixed`, `flexible`, `floating`, `frn`, `index`, `libor`, `long-term`, `medium-term`, `monthly`, `multiannual`, `pass-through`, `permanent`, `quarterly`, `r-floats`, `remarketing-agent`, `reset`, `short-term`, `sifma`, `sofr`, `term`, `term-floater`, `two-day`, `unit_price`, `weekly`, `window`
    </ResponseField>

    <ResponseField name="until_date" type="date">
      Can be null if it applies until maturity. Range is exclusive, i.e. means until but not including.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="interest_type" type="string">
  Type of interest:

  * `fixed rate`: The bond pays a fixed interest rate throughout its life.
  * `zero rate / discount rate`: A bond that does not pay or accrue interest.
  * `variable rate`: The bond's interest rate can change over time, typically based on a reference rate or formula (e.g., SOFR, CPI).
  * `step rate`: The bond's interest rate increases ("steps up") at predetermined intervals.
</ResponseField>

<ResponseField name="is_144a" type="boolean">
  Whether the bond is Rule 144A compliant,can be sold to qualified US institutional buyers.
</ResponseField>

<ResponseField name="is_callable" type="boolean">
  Whether the bond is callable before maturity.
</ResponseField>

<ResponseField name="is_complete_bond" type="boolean">
  Whether the reference data for this bond is considered complete.
</ResponseField>

<ResponseField name="is_covered" type="boolean">
  Whether the bond is secured by collateral.
</ResponseField>

<ResponseField name="is_green" type="boolean">
  Whether the bond is a green bond.
</ResponseField>

<ResponseField name="is_inflation_linked" type="boolean">
  Whether the bond is inflation-linked, its payments are linked to an inflation index.
</ResponseField>

<ResponseField name="is_outstanding" type="boolean">
  Whether the bond is currently outstanding, has not matured, been called, or otherwise redeemed.
</ResponseField>

<ResponseField name="is_puttable" type="boolean">
  Whether the bond is puttable before maturity.
</ResponseField>

<ResponseField name="is_regs" type="boolean">
  Whether the bond is Regulation S (RegS) compliant, can be sold to non-US investors.
</ResponseField>

<ResponseField name="issue_date" type="date">
  Date the bond was issued in ISO-8601 format (YYYY-MM-DD).
</ResponseField>

<ResponseField name="issue_price" type="number">
  Price at which the bond was issued (percentage of par), the price is expressed as a percentage of the bond's face value.
</ResponseField>

<ResponseField name="issue_rating_group" type="string">
  Issue rating group, based on TP composite long-term ratings:

  * `investment_grade`: High credit quality (BBB- and above)
  * `high_yield`: Lower credit quality (BB+ and below)
</ResponseField>

<ResponseField name="issue_yield" type="number">
  Yield at issuance, the yield is expressed as a percentage of the bond's face value.
</ResponseField>

<ResponseField name="issued_amount" type="number">
  Total amount issued (face value) in the bond's currency.
</ResponseField>

<ResponseField name="issuer_name" type="string">
  Name of the issuing entity.
</ResponseField>

<ResponseField name="issuer_rating_group" type="string">
  Issuer rating group, based on TP composite long-term ratings:

  * `investment_grade`: High credit quality (BBB- and above)
  * `high_yield`: Lower credit quality (BB+ and below)
</ResponseField>

<ResponseField name="issuer_type" type="string">
  **Allowed values:** `corporate`, `government`, `government_linked`, `international_organization`, `municipal`, `state`
</ResponseField>

<ResponseField name="lei" type="string">
  Legal Entity Identifier (LEI) of the issuer:

  A 20-character, alpha-numeric code based on the ISO 17442 standard used to uniquely identify legal entities in financial transactions. Most LEIs follow this structure, but there are exceptions that use local national standards.
</ResponseField>

<ResponseField name="lei_direct_parent" type="string">
  LEI of the direct parent of the issuer:

  A 20-character, alpha-numeric code based on the ISO 17442 standard used to uniquely identify legal entities in financial transactions. Most LEIs follow this structure, but there are exceptions that use local national standards.
</ResponseField>

<ResponseField name="lei_ultimate_parent" type="string">
  LEI of the ultimate parent of the issuer:

  A 20-character, alpha-numeric code based on the ISO 17442 standard used to uniquely identify legal entities in financial transactions. Most LEIs follow this structure, but there are exceptions that use local national standards.
</ResponseField>

<ResponseField name="lt_issue_ratings" type="object">
  Long-term credit ratings of the issue, keyed by rating agency.
</ResponseField>

<ResponseField name="lt_issuer_ratings" type="object">
  Long-term credit ratings of the issuer, keyed by rating agency.
</ResponseField>

<ResponseField name="maturity_date" type="date">
  Date when the bond principal is due to be repaid in ISO-8601 format (YYYY-MM-DD).
</ResponseField>

<ResponseField name="maturity_type" type="string">
  Maturity type:

  * `fixed`: Principal repaid at maturity.
  * `amortized`: Principal repaid gradually before maturity.
  * `perpetual`: No maturity date; principal is never repaid.
  * `extendible`: Maturity date can be extended by issuer or holder.
</ResponseField>

<ResponseField name="minimum_denomination" type="number">
  Minimum denomination in which the bond can be purchased.
</ResponseField>

<ResponseField name="name" type="string">
  Full name of the bond.
</ResponseField>

<ResponseField name="optional_redemption_schedule" type="array of object">
  The optional redemption schedule defines the periods for which a bond is callable with a fixed, accreted value (for CABs), amortized value, and make-whole price. It is represented as an array of objects with the following schema:

  ```json theme={"theme":{"light":"catppuccin-latte","dark":"github-dark-high-contrast"}}
  [
    {
      "until": "<Date>",
      "call_date": "<Date>",
      "call_price": {
        "type": "principal | accreted-value | amortized-value | make-whole",
        "spread_in_bps": "<Number>", // spread above par for principal, accreted-value, or amortized-value; spread above benchmark for make-whole
        "benchmark": "mmd | treasury" // benchmark only applies when it's make-whole
      },
      "is_periodic": "true | false",
      "period_type": "day | month",
      "period_amount": "<number>",  // period_amount=1 and period_type="day" means continuously callable
      "includes_accrued_interest": "true | false"
    },
    ...
  ]
  ```
</ResponseField>

<ResponseField name="rank" type="string">
  Seniority or rank of the bond:

  * `senior unsecured`: Highest priority among unsecured debt.
  * `senior`: Standard senior debt.
  * `secured`: Backed by collateral.
  * `government / state`: Government or state-issued debt.
  * `subordinated`: Lower priority, paid after senior debt.
  * `supranational`: Issued by supranational entities.
  * `senior subordinated`: Senior within subordinated class.
  * `junior secured`: Junior secured debt.
  * `junior subordinated`: Junior within subordinated class.
  * `junior`: Junior debt.
</ResponseField>

<ResponseField name="registration_type" type="string">
  Registration type:

  * `bearer`: Ownership is determined by physical possession.
  * `registered`: Ownership is recorded and tracked by issuer or agent.
  * `misc.`: Miscellaneous registration types.
  * `bearer / registered`: Hybrid registration type.
</ResponseField>

<ResponseField name="sector" type="string">
  Sector of the issuer.

  **Allowed values:** `communication services`, `consumer discretionary`, `consumer staples`, `education`, `energy`, `financials`, `health care`, `industrials`, `information technology`, `materials`, `real estate`, `utilities`
</ResponseField>

<ResponseField name="seniority" type="string">
  Seniority of the bond derived from the series name, ordered from most senior to most junior.

  It's worth noting that senior is considered on par with first line, and subordinate is considered on par with junior.

  **Allowed values:** `first_lien`, `junior`, `second_lien`, `senior`, `subordinate`
</ResponseField>

<ResponseField name="st_issue_ratings" type="object">
  Short-term credit ratings of the issue, keyed by rating agency.
</ResponseField>

<ResponseField name="st_issuer_ratings" type="object">
  Short-term credit ratings of the issuer, keyed by rating agency.
</ResponseField>

<ResponseField name="standard_day_of_settlement" type="integer">
  Standard number of days between trade date and settlement date.
</ResponseField>

<ResponseField name="ticker" type="string">
  Bond ticker symbol.
</ResponseField>
