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

# Retrieve a bond



## OpenAPI

````yaml /openapi/application-api.json get /v1/bonds/{id}
openapi: 3.1.0
info:
  description: >-
    Partner API for creating invites, tracking applications, and retrieving
    bonds.
  title: TheGuarantors Application API
  contact: {}
  version: '1.0'
servers:
  - url: https://api.theguarantors.com
security: []
paths:
  /v1/bonds/{id}:
    get:
      tags:
        - Bonds
      summary: Retrieve a bond
      parameters:
        - description: Bond ID
          name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bond'
              example:
                id: bond_7f29djw82kdpq9sl
                property_id: prop_nvlbcx2e5jk0fqsf
                application_id: sd_3k29dls92jf83kdl
                obligee: Acme Property Management LLC
                bond_number: LG-2026-000123
                status: issued
                document_link: >-
                  https://api.theguarantors.com/v1/bonds/bond_7f29djw82kdpq9sl/document?token=v1.xxxxx
                penal_sum: 4160000
                premium: 38400
                lease:
                  start_date: '2026-03-01'
                  end_date: '2027-02-28'
                  monthly_rent: 320000
                  unit_address:
                    line1: 123 Main St
                    line2: Apt 5B
                    city: New York
                    state: NY
                    postal_code: '10001'
                    object: address
                  object: lease
                principals:
                  - first_name: Jane
                    last_name: Doe
                    email: jane.doe@example.com
                    phone_number: '+12125551234'
                    applicant_id: applc_e91hmctvoraymdpu
                    object: principal
                  - first_name: John
                    last_name: Smith
                    email: john.smith@example.com
                    phone_number: '+13475559876'
                    applicant_id: applc_dc6jvyyvb8yw843q
                    object: principal
                coverage:
                  lease_guarantee:
                    coverage_unit: months
                    coverage_amount: 12
                  security_deposit_replacement:
                    coverage_unit: months
                    coverage_amount: 1
                  object: coverage
                last_updated: '2026-03-15T14:15:22Z'
                metadata: {}
                object: bond
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: Missing authorization header
                object: error
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: bond not found
                object: error
        '429':
          description: Rate limit exceeded
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                message: internal server error
                object: error
      security:
        - BasicAuth: []
components:
  schemas:
    Bond:
      type: object
      required:
        - application_id
        - bond_number
        - coverage
        - id
        - last_updated
        - lease
        - object
        - principals
        - property_id
        - status
      properties:
        application_id:
          type: string
          example: sd_01HQ8Z
        bond_number:
          type: string
          example: TG-2026-004182
        coverage:
          description: >-
            Defines the amount of rent and/or security deposit replacement for
            the surety bond.
          allOf:
            - $ref: '#/components/schemas/Coverage'
        document_link:
          description: >-
            A URL that returns the bond's PDF with a plain GET. No API key is
            needed.

            The link is long-lived; if one ever stops working, fetch the bond
            again for a fresh link.

            Treat it as private, and don't parse or build it yourself. `null`
            when no PDF exists yet.


            **Downloading bond PDFs**


            | Status | Meaning |

            | --- | --- |

            | `200` | The bond's PDF, returned as `application/pdf`. |

            | `403` | The link is invalid. |

            | `404` | No PDF exists for this bond yet. |

            | `502`, `504` | The PDF couldn't be fetched right now. Try again
            later. |
          type: string
          example: >-
            https://api.theguarantors.com/v1/bonds/bond_7f29djw82kdpq9sl/document?token=v1.xxxxx
          nullable: true
        id:
          type: string
          example: bond_01HQAB
        last_updated:
          type: string
          format: date-time
          example: '2026-03-15T14:15:22Z'
        lease:
          description: >-
            The legal contract between a property manager and the tenant. A
            lease agreement contains information about the property, the address
            and duration of the lease, and financial terms like rent amount and
            security deposit information. Leases map 1:1 with TheGuarantors
            surety bonds. A single lease can have one or more applicants.
          allOf:
            - $ref: '#/components/schemas/Lease'
        metadata:
          description: >-
            Key-value object. Use this field to include internal references,
            identifiers, or any additional data that helps link this lease to
            your internal system. Each key must be a string, and values can be
            strings, numbers, booleans, or null.
          type: object
          nullable: true
        object:
          type: string
          example: bond
        obligee:
          description: >-
            The party that will be the obligee/claimant on the surety bond. This
            can be a limited liability company (LLC), a property management
            company, the property name, or the legal name of a sole proprietor
            owner.
          type: string
          example: Rivermark Residential LLC
          nullable: true
        penal_sum:
          description: >-
            The maximum amount payable under the bond in cents. Calculated as
            monthly_rent*(lg_num_months_covered + sdr_num_months_covered)
          type: integer
          example: 560000
          nullable: true
        premium:
          description: The amount charged to the tenant for the bond in cents.
          type: integer
          example: 42000
          nullable: true
        principals:
          type: array
          items:
            $ref: '#/components/schemas/Principal'
        property_id:
          type: string
          example: prop_01HQ7A
        status:
          allOf:
            - $ref: '#/components/schemas/BondStatus'
          example: issued
    ErrorResponse:
      type: object
      required:
        - message
        - object
      properties:
        message:
          type: string
          example: invite not found
        object:
          type: string
          example: error
    Coverage:
      type: object
      required:
        - lease_guarantee
        - object
        - security_deposit_replacement
      properties:
        lease_guarantee:
          $ref: '#/components/schemas/CoverageDetail'
        object:
          type: string
          example: coverage
        security_deposit_replacement:
          $ref: '#/components/schemas/CoverageDetail'
    Lease:
      type: object
      required:
        - monthly_rent
        - object
        - unit_address
      properties:
        end_date:
          description: The date when this lease expires.
          type: string
          format: date
          example: '2027-08-31'
          nullable: true
        monthly_rent:
          description: Monthly rent in cents.
          type: integer
          minimum: 1
          example: 280000
        object:
          type: string
          example: lease
        start_date:
          description: The date when this lease takes effect.
          type: string
          format: date
          example: '2026-09-01'
          nullable: true
        unit_address:
          description: >-
            The unit address that would be printed on the lease, and therefore
            the Lease Guarantee surety bond. If you do not store the address
            with separate address line 1s and address line 2, put the full unit
            address in the address line 1.
          allOf:
            - $ref: '#/components/schemas/Address'
    Principal:
      type: object
      required:
        - applicant_id
        - email
        - first_name
        - last_name
        - object
      properties:
        applicant_id:
          type: string
          example: applc_01HQ9A
        email:
          type: string
          example: dana.whitfield@example.com
        first_name:
          type: string
          example: Dana
        last_name:
          type: string
          example: Whitfield
        object:
          type: string
          example: principal
        phone_number:
          type: string
          example: '+15551234567'
          nullable: true
    BondStatus:
      type: string
      enum:
        - issued
        - canceled
      x-enum-varnames:
        - BOND_ISSUED
        - BOND_CANCELED
    CoverageDetail:
      type: object
      required:
        - coverage_amount
        - coverage_unit
      properties:
        coverage_amount:
          type: number
          example: 1
        coverage_unit:
          allOf:
            - $ref: '#/components/schemas/CoverageUnit'
          example: months
    Address:
      type: object
      required:
        - city
        - line1
        - object
        - postal_code
        - state
      properties:
        city:
          description: City which this address is located in
          type: string
          example: Brooklyn
        line1:
          description: Address line 1
          type: string
          example: 412 Halsey St
        line2:
          description: Address line 2
          type: string
          example: Apt 3R
          nullable: true
        object:
          type: string
          example: address
        postal_code:
          description: Postal or Zip code for this address
          type: string
          example: '11233'
        state:
          description: State which this address is located in
          type: string
          example: NY
    CoverageUnit:
      type: string
      enum:
        - months
        - percentage_of_lease_length
        - amount
      x-enum-varnames:
        - COVERAGE_UNIT_MONTHS
        - COVERAGE_UNIT_PROPORTION
        - COVERAGE_UNIT_AMOUNT
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic

````