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

# Bootstrap Discount Curve from Market Instruments

> Bootstrap a complete discount curve from market instruments (deposits, FRAs, futures, swaps). Bootstrapping is the process of constructing a zero-coupon yield curve from the prices of coupon-bearing instruments. The algorithm solves iteratively for discount factors at each pillar point that reprice the input instruments exactly. Supports multiple interpolation methods (linear, log-linear). Essential for derivatives pricing, risk management, and curve construction. Output includes discount factors at all curve pillars. [Tier: PRO, Credits: 5]



## OpenAPI

````yaml api-specs/solver.json post /quantlib/solver/bootstrap/curve
openapi: 3.1.0
info:
  title: FinceptQuantLib API - Solver
  description: >-
    Solver module endpoints for FinceptQuantLib API. The Solver module (Basic
    Tier, 1 credit per request) provides advanced financial solvers including
    bond analytics (yield, duration, convexity), implied volatility
    calculations, spread computations (Z-spread, ASW, OAS), curve bootstrapping,
    interest rate conversions, and model calibration (Vasicek, CIR). Essential
    for fixed income analysis, derivatives pricing, and risk management.
  version: 3.0.0
  contact:
    name: Fincept API Support
    url: https://fincept.in
servers:
  - url: https://api.fincept.in
    description: Fincept API Production Server
security:
  - APIKeyHeader: []
tags:
  - name: quantlib-solver
    description: >-
      Advanced financial solvers for bond analytics, implied volatility, spread
      calculations, and model calibration
    x-displayName: Solver
paths:
  /quantlib/solver/bootstrap/curve:
    post:
      tags:
        - quantlib-solver
      summary: Bootstrap Discount Curve from Market Instruments
      description: >-
        Bootstrap a complete discount curve from market instruments (deposits,
        FRAs, futures, swaps). Bootstrapping is the process of constructing a
        zero-coupon yield curve from the prices of coupon-bearing instruments.
        The algorithm solves iteratively for discount factors at each pillar
        point that reprice the input instruments exactly. Supports multiple
        interpolation methods (linear, log-linear). Essential for derivatives
        pricing, risk management, and curve construction. Output includes
        discount factors at all curve pillars. [Tier: PRO, Credits: 5]
      operationId: bootstrap_curve
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - reference_date
                - instruments
              properties:
                reference_date:
                  type: string
                  format: date
                  description: Reference date for the curve in ISO format (YYYY-MM-DD)
                  example: '2024-01-15'
                instruments:
                  type: array
                  description: Array of market instruments for bootstrapping
                  items:
                    type: object
                    required:
                      - instrument_type
                      - rate
                    properties:
                      instrument_type:
                        type: string
                        description: Type of instrument
                        enum:
                          - deposit
                          - swap
                          - fra
                          - future
                        example: swap
                      tenor:
                        type: number
                        description: Tenor in years (for deposits and swaps)
                        example: 5
                      rate:
                        type: number
                        description: Market rate as a decimal
                        example: 0.045
                      start:
                        type: number
                        description: Start time in years (for FRAs and futures)
                        example: 1
                      end:
                        type: number
                        description: End time in years (for FRAs and futures)
                        example: 1.25
                  example:
                    - instrument_type: deposit
                      tenor: 0.25
                      rate: 0.025
                    - instrument_type: swap
                      tenor: 2
                      rate: 0.035
                    - instrument_type: swap
                      tenor: 5
                      rate: 0.045
                interpolation:
                  type: string
                  description: Interpolation method for the curve
                  default: log_linear
                  enum:
                    - linear
                    - log_linear
                  example: log_linear
            example:
              reference_date: '2024-01-15'
              instruments:
                - instrument_type: deposit
                  tenor: 0.25
                  rate: 0.025
                - instrument_type: swap
                  tenor: 2
                  rate: 0.035
                - instrument_type: swap
                  tenor: 5
                  rate: 0.045
              interpolation: log_linear
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    properties:
                      reference_date:
                        type: string
                        format: date
                        description: The reference date used
                        example: '2024-01-15'
                      interpolation:
                        type: string
                        description: The interpolation method used
                        example: log_linear
                      instruments_count:
                        type: integer
                        description: Number of instruments used in bootstrapping
                        example: 3
                      pillars:
                        type: array
                        description: Array of curve pillar points
                        items:
                          type: object
                          properties:
                            time:
                              type: number
                              description: Time in years
                            discount_factor:
                              type: number
                              description: Discount factor at this time
                        example:
                          - time: 0.25
                            discount_factor: 0.9938
                          - time: 2
                            discount_factor: 0.9323
                          - time: 5
                            discount_factor: 0.7985
              example:
                success: true
                data:
                  reference_date: '2024-01-15'
                  interpolation: log_linear
                  instruments_count: 3
                  pillars:
                    - time: 0.25
                      discount_factor: 0.9938
                    - time: 2
                      discount_factor: 0.9323
                    - time: 5
                      discount_factor: 0.7985
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '402':
          $ref: '#/components/responses/InsufficientTierError'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: array
                    items:
                      type: object
      security:
        - APIKeyHeader: []
components:
  responses:
    UnauthorizedError:
      description: Authentication information is missing or invalid
      content:
        application/json:
          schema:
            type: object
            properties:
              detail:
                type: string
                example: Invalid API key
    InsufficientTierError:
      description: API tier insufficient for this endpoint
      content:
        application/json:
          schema:
            type: object
            properties:
              detail:
                type: string
                example: Endpoint requires Basic tier or higher
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        API key for authentication. Get your key at
        https://api.fincept.in/auth/register

````