{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/bigdata/json-schema/bigdata-bond-by-isin-response-schema.json",
  "title": "BondByIsinResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/bigdata-fixed-income-api-openapi.yml#/components/schemas/BondByIsinResponse",
  "properties": {
    "results": {
      "additionalProperties": {
        "anyOf": [
          {
            "$ref": "#/$defs/BondByIsin"
          },
          {
            "type": "null"
          }
        ]
      },
      "type": "object",
      "title": "Results",
      "description": "The bonds keyed by ISIN: one key per distinct ISIN sent, upper-cased, in the order they were sent. The value is null when no bond is available for that ISIN."
    },
    "errors": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ErrorDetail"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Errors"
    },
    "metadata": {
      "anyOf": [
        {
          "$ref": "#/$defs/StructuredDataMetadata"
        },
        {
          "type": "null"
        }
      ]
    },
    "sources": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/Source"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "title": "Sources",
      "description": "Structured-data sources the response was built from, one entry per source. Empty when no catalog source contributed."
    },
    "usage": {
      "anyOf": [
        {
          "$ref": "#/$defs/Usage"
        },
        {
          "type": "null"
        }
      ],
      "description": "Tokens the request consumed, per content tier. Returned only to callers billed in tokens."
    }
  },
  "type": "object",
  "required": [
    "results"
  ],
  "$defs": {
    "BondByIsin": {
      "properties": {
        "issuer_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Issuer Name",
          "description": "Name of the entity that issued the bond."
        },
        "issuer_rp_entity_id": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 6,
              "minLength": 6,
              "description": "Bigdata uses the RavenPack Entity identifier (RP_Entity_ID) to uniquely reference entities such as companies. This identifier is a 6-character alphanumeric code (letters and numbers only). Example: Alphabet Inc. (`4A6F00`)"
            },
            {
              "type": "null"
            }
          ],
          "title": "Issuer Rp Entity Id",
          "description": "RavenPack entity identifier of the company the bond belongs to. Absent when the issuer has no RavenPack entity identifier."
        },
        "description": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Description",
          "description": "The provider's short description of the bond. For display only; do not parse it."
        },
        "issue_date": {
          "anyOf": [
            {
              "type": "string",
              "format": "date"
            },
            {
              "type": "null"
            }
          ],
          "title": "Issue Date",
          "description": "Date the bond was issued."
        },
        "maturity_date": {
          "anyOf": [
            {
              "type": "string",
              "format": "date"
            },
            {
              "type": "null"
            }
          ],
          "title": "Maturity Date",
          "description": "Date the bond matures. Absent for a perpetual bond."
        },
        "coupon": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Coupon",
          "description": "Annual interest rate in percent (3.5 means 3.50%). Absent for a zero-coupon or floating-rate bond, or when the rate is not available."
        },
        "interest_payment_frequency": {
          "anyOf": [
            {
              "$ref": "#/$defs/PaymentFrequency"
            },
            {
              "type": "null"
            }
          ],
          "description": "How often the bond pays interest."
        },
        "currency": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Currency",
          "description": "ISO 4217 code of the currency the bond is issued in, which is also the currency of the amounts."
        },
        "issue_amount_mm": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Issue Amount Mm",
          "description": "Amount issued, in millions of 'currency'."
        },
        "outstanding_amount_mm": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Outstanding Amount Mm",
          "description": "Amount still outstanding, in millions of 'currency'."
        },
        "rank": {
          "anyOf": [
            {
              "$ref": "#/$defs/BondRank"
            },
            {
              "type": "null"
            }
          ],
          "description": "Where the bond ranks for repayment. Seniority only; whether it is backed by collateral is 'is_secured'."
        },
        "status": {
          "anyOf": [
            {
              "$ref": "#/$defs/BondStatus"
            },
            {
              "type": "null"
            }
          ],
          "description": "Where the bond stands: 'active' (outstanding and before its maturity date), 'inactive' (on or after its maturity date, or redeemed) or 'defaulted'."
        },
        "bond_type": {
          "anyOf": [
            {
              "$ref": "#/$defs/BondType"
            },
            {
              "type": "null"
            }
          ],
          "description": "The kind of instrument."
        },
        "is_callable": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Is Callable",
          "description": "Whether the issuer can redeem the bond before maturity. Absent when the source does not say."
        },
        "is_secured": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Is Secured",
          "description": "Whether the bond is backed by specific collateral. Absent when the source does not say."
        },
        "is_guaranteed": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Is Guaranteed",
          "description": "Whether a third party guarantees the payments. Absent when the source does not say."
        }
      },
      "type": "object",
      "title": "BondByIsin",
      "description": "One bond and its terms, looked up by ISIN, so its issuer may be unmapped."
    },
    "BondRank": {
      "type": "string",
      "enum": [
        "senior",
        "junior-subordinated"
      ],
      "title": "BondRank",
      "description": "Where a bond ranks for repayment if the issuer cannot pay."
    },
    "BondStatus": {
      "type": "string",
      "enum": [
        "active",
        "inactive",
        "defaulted"
      ],
      "title": "BondStatus",
      "description": "Where a bond stands in its life.\n\n'active' bonds are outstanding and have not reached their maturity date, 'inactive'\nbonds have reached it or been redeemed, and 'defaulted' bonds are in default."
    },
    "BondType": {
      "type": "string",
      "enum": [
        "bond",
        "note",
        "medium-term-note",
        "debenture",
        "covered-bond",
        "certificate-of-deposit",
        "commercial-paper",
        "certificate",
        "structured-product"
      ],
      "title": "BondType",
      "description": "The kind of debt instrument."
    },
    "ErrorDetail": {
      "properties": {
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Message"
        }
      },
      "type": "object",
      "title": "ErrorDetail"
    },
    "PaymentFrequency": {
      "type": "string",
      "enum": [
        "annual",
        "semi-annual",
        "quarterly",
        "monthly",
        "at-maturity",
        "irregular"
      ],
      "title": "PaymentFrequency",
      "description": "How often a bond pays interest."
    },
    "Source": {
      "properties": {
        "id": {
          "type": "string",
          "title": "Id",
          "description": "Content catalog identifier of the source."
        },
        "name": {
          "type": "string",
          "title": "Name",
          "description": "Catalog name of the dataset the data came from."
        }
      },
      "type": "object",
      "required": [
        "id",
        "name"
      ],
      "title": "Source",
      "description": "A content catalog source that contributed data to a structured-data response."
    },
    "StructuredDataMetadata": {
      "properties": {
        "request_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Request Id"
        },
        "timestamp": {
          "type": "string",
          "title": "Timestamp"
        }
      },
      "type": "object",
      "title": "StructuredDataMetadata"
    },
    "Usage": {
      "additionalProperties": {
        "type": "integer"
      },
      "type": "object",
      "title": "Usage",
      "description": "Public structured-data usage for a request, aggregated per content tier.\n\nA flat object keyed per content tier, where each key is derived from the\ncontent tier identifier by dropping the ``content-`` prefix and appending\n``_tokens`` (e.g. ``corporate-fundamentals`` ->\n``corporate_fundamentals_tokens``). It is sparse: only tiers with non-zero\ntokens appear, and an absent key means zero tokens for that tier."
    }
  }
}