Zoho Inventory retainer-invoices API

Retainer-Invoices Module

Operations 22

POST /retainerinvoices Create a retainerinvoice #
GET /retainerinvoices List a retainer invoices #
PUT /retainerinvoices/{retainerinvoice_id} update a retainerinvoice #
GET /retainerinvoices/{retainerinvoice_id} Get a retainer invoice #
DELETE /retainerinvoices/{retainerinvoice_id} Delete a retainer invoice #
POST /retainerinvoices/{retainerinvoice_id}/status/sent Mark a retainer invoice as sent #
PUT /retainerinvoices/{retainerinvoice_id}/templates/{template_id} Update retainer invoice template #
POST /retainerinvoices/{retainerinvoice_id}/status/void Void a retainer invoice #
POST /retainerinvoices/{reatinerinvoice_id}/status/draft Mark as draft #
POST /retainerinvoices/{reatinerinvoice_id}/submit Submit a retainer invoice for approval #
POST /retainerinvoices/{reatinerinvoice_id}/approve Approve a retainer invoice. #
POST /retainerinvoices/{retainerinvoice_id}/email Email a retainer invoice #
GET /retainerinvoices/{retainerinvoice_id}/email Get retainer invoice email content #
PUT /retainerinvoices/{retainerinvoice_id}/address/billing Update billing address #
GET /retainerinvoices/templates List retainer invoice templates #
GET /retainerinvoices/{retainerinvoice_id}/attachment Get a retainer invoice attachment #
POST /retainerinvoices/{retainerinvoice_id}/attachment Add attachment to a retainer invoice #
DELETE /retainerinvoices/{retainerinvoice_id}/documents/{document_id} Delete an attachment #
GET /retainerinvoices/{retainerinvoice_id}/comments List retainer invoice comments & history #
POST /retainerinvoices/{retainerinvoice_id}/comments Add comment #
DELETE /retainerinvoices/{retainerinvoice_id}/comments/{comment_id} Delete a comment #
PUT /retainerinvoices/{retainerinvoice_id}/comments/{comment_id} Update comment #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/zoho-inventory-retainer-invoices-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

OpenAPI Specification

zoho-inventory-retainer-invoices-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: batches Retainer Invoices API
  description: Batches help you track inventory items by batch numbers, manufacturing dates, and expiration dates.
  contact: {}
  version: 1.0.0
servers:
- url: https://www.zohoapis.com/inventory/v1
  description: API Endpoint
tags:
- name: retainer-invoices
  description: Retainer-Invoices Module
paths:
  /retainerinvoices:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - retainer-invoices
      operationId: create_retainer_invoice
      summary: Create a retainerinvoice
      description: Create a retainer invoice for your customer.
      parameters:
      - name: ignore_auto_number_generation
        in: query
        description: Ignore auto invoice number generation for this invoice. This mandates the invoice number. Allowed values <code>true</code> and <code>false</code>
        required: false
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/create-a-retainerinvoice-request'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/create-a-retainerinvoice-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.CREATE
    get:
      tags:
      - retainer-invoices
      operationId: list_retainer_invoices
      summary: List a retainer invoices
      description: List all retainer invoices with pagination.
      parameters:
      - name: print
        in: query
        description: Print the exported pdf.
        required: false
        schema:
          type: boolean
      - name: sort_column
        in: query
        description: 'Sort retainer invoices.Allowed Values: <code>customer_name</code>, <code>retainer invoice_number</code>, <code>date</code>, <code> due_date</code>, <code>total</code>, <code>balance</code> and  <code>created_time</code>'
        required: false
        schema:
          type: string
        example: created_time
      - name: filter_by
        in: query
        description: 'Filter invoices by any status or payment expected date.Allowed Values: <code> Status.All</code>, <code>Status.Sent</code>, <code> Status.Draft</code>, <code>Status.OverDue</code>, <code>Status.Paid</code>, <code>Status.Void</code>, <code>Status.Unpaid</code>, <code>Status.PartiallyPaid</code>,<code> Status.Viewed</code> and <code>Date.PaymentExpectedDate</code>'
        required: false
        schema:
          type: string
        example: ''
      - name: sort_order
        in: query
        description: The order for sorting
        required: false
        schema:
          type: string
        example: D
      - name: page
        in: query
        description: Number of pages
        required: false
        schema:
          type: integer
        example: 1
      - name: per_page
        in: query
        description: Number of records to be fetched per page. Default value is 200.
        required: false
        schema:
          type: integer
          default: 200
        example: 200
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/list-a-retainer-invoices-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.READ
  /retainerinvoices/{retainerinvoice_id}:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - name: retainerinvoice_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice.
      example: 982000000567114
    - $ref: '#/components/parameters/organization_id'
    put:
      tags:
      - retainer-invoices
      operationId: update_retainer_invoice
      summary: update a retainerinvoice
      description: Update an existing invoice.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-a-retainerinvoice-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/update-a-retainerinvoice-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.UPDATE
    get:
      tags:
      - retainer-invoices
      operationId: get_retainer_invoice
      summary: Get a retainer invoice
      description: Get the details of a retainer invoice.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get-a-retainer-invoice-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.READ
    delete:
      tags:
      - retainer-invoices
      operationId: delete_retainer_invoice
      summary: Delete a retainer invoice
      description: Delete an existing retainer invoice. Invoices which have payment or credits note applied cannot be deleted.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/delete-a-retainer-invoice-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.DELETE
  /retainerinvoices/{retainerinvoice_id}/status/sent:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - name: retainerinvoice_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice.
      example: 982000000567114
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - retainer-invoices
      operationId: mark_retainer_invoice_as_sent
      summary: Mark a retainer invoice as sent
      description: Mark a draft retainer invoice as sent.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/mark-a-retainer-invoice-as-sent-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.CREATE
  /retainerinvoices/{retainerinvoice_id}/templates/{template_id}:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - name: retainerinvoice_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice.
      example: 982000000567114
    - name: template_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice template.
      example: 982000000000143
    - $ref: '#/components/parameters/organization_id'
    put:
      tags:
      - retainer-invoices
      operationId: update_retainer_invoice_template
      summary: Update retainer invoice template
      description: Update the pdf template associated with the retainer invoice.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/update-retainer-invoice-template-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.UPDATE
  /retainerinvoices/{retainerinvoice_id}/status/void:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - name: retainerinvoice_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice.
      example: 982000000567114
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - retainer-invoices
      operationId: mark_retainer_invoice_as_void
      summary: Void a retainer invoice
      description: Mark an invoice status as void. Upon voiding, the payments and credits associated with the retainer invoices will be unassociated and will be under customer credits.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/void-a-retainer-invoice-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.CREATE
  /retainerinvoices/{reatinerinvoice_id}/status/draft:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - name: reatinerinvoice_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice.
      example: '982000000567114'
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - retainer-invoices
      operationId: mark_retainer_invoice_as_draft
      summary: Mark as draft
      description: 'Mark a voided retainer invoice as draft. '
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/mark-as-draft-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.CREATE
  /retainerinvoices/{reatinerinvoice_id}/submit:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - name: reatinerinvoice_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice.
      example: '982000000567114'
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - retainer-invoices
      operationId: submit_retainer_invoice
      summary: Submit a retainer invoice for approval
      description: Submit a retainer invoice for approval.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/submit-a-retainer-invoice-for-approval-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.CREATE
  /retainerinvoices/{reatinerinvoice_id}/approve:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - name: reatinerinvoice_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice.
      example: '982000000567114'
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - retainer-invoices
      operationId: approve_retainer_invoice
      summary: Approve a retainer invoice.
      description: Approve a retainer invoice.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/approve-a-retainer-invoice-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.CREATE
  /retainerinvoices/{retainerinvoice_id}/email:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - name: retainerinvoice_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice.
      example: 982000000567114
    - $ref: '#/components/parameters/organization_id'
    post:
      tags:
      - retainer-invoices
      operationId: email_retainer_invoice
      summary: Email a retainer invoice
      description: Email a retainer invoice to the customer. Input json string is not mandatory. If input json string is empty, mail will be send with default mail content.
      parameters:
      - name: send_customer_statement
        in: query
        description: Send customer statement pdf a with email.
        required: false
        schema:
          type: boolean
        example: ' '
      - name: send_attachment
        in: query
        description: Send the retainer invoice attachment a with the email.
        required: false
        schema:
          type: boolean
        example: ' '
      - name: attachments
        in: query
        description: Files to be attached to the email
        required: false
        schema:
          type: string
          format: binary
        example: ''
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/email-a-retainer-invoice-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/email-a-retainer-invoice-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.CREATE
    get:
      tags:
      - retainer-invoices
      operationId: get_retainer_invoice_email_content
      summary: Get retainer invoice email content
      description: Get the email content of a retainer invoice.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get-retainer-invoice-email-content-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.READ
  /retainerinvoices/{retainerinvoice_id}/address/billing:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - name: retainerinvoice_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice.
      example: 982000000567114
    - $ref: '#/components/parameters/organization_id'
    put:
      tags:
      - retainer-invoices
      operationId: update_retainer_invoice_billing_address
      summary: Update billing address
      description: Updates the billing address for this retainer invoice alone.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-billing-address-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/update-billing-address-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.UPDATE
  /retainerinvoices/templates:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - $ref: '#/components/parameters/organization_id'
    get:
      tags:
      - retainer-invoices
      operationId: list_retainer_invoice_templates
      summary: List retainer invoice templates
      description: Get all retainer invoice pdf templates.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/list-retainer-invoice-templates-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.READ
  /retainerinvoices/{retainerinvoice_id}/attachment:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - name: retainerinvoice_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice.
      example: 982000000567114
    - $ref: '#/components/parameters/organization_id'
    get:
      tags:
      - retainer-invoices
      operationId: get_retainer_invoice_attachment
      summary: Get a retainer invoice attachment
      description: Returns the file attached to the retainer invoice.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get-a-retainer-invoice-attachment-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.READ
    post:
      tags:
      - retainer-invoices
      operationId: add_attachment_to_retainer_invoice
      summary: Add attachment to a retainer invoice
      description: Attach a file to an invoice.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/add-attachment-to-a-retainer-invoice-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/add-attachment-to-a-retainer-invoice-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.CREATE
  /retainerinvoices/{retainerinvoice_id}/documents/{document_id}:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - name: retainerinvoice_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice.
      example: 982000000567114
    - name: document_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice document.
      example: '982000000562114'
    - $ref: '#/components/parameters/organization_id'
    delete:
      tags:
      - retainer-invoices
      operationId: delete_retainer_invoice_attachment
      summary: Delete an attachment
      description: Delete the file attached to the retainer invoice.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/delete-an-attachment-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.DELETE
  /retainerinvoices/{retainerinvoice_id}/comments:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - name: retainerinvoice_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice.
      example: 982000000567114
    - $ref: '#/components/parameters/organization_id'
    get:
      tags:
      - retainer-invoices
      operationId: list_retainer_invoice_comments
      summary: List retainer invoice comments & history
      description: Get the complete history and comments of a retainer invoice.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/list-retainer-invoice-comments-and-history-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.READ
    post:
      tags:
      - retainer-invoices
      operationId: create_retainer_invoice_comment
      summary: Add comment
      description: Add a comment for a retainer invoice.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/add-comment-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/add-comment-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.CREATE
  /retainerinvoices/{retainerinvoice_id}/comments/{comment_id}:
    x-mcp-group:
    - Retainer Invoices
    parameters:
    - name: retainerinvoice_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the retainer invoice.
      example: 982000000567114
    - name: comment_id
      in: path
      schema:
        type: string
      required: true
      description: Unique identifier of the comment.
      example: 982000000567019
    - $ref: '#/components/parameters/organization_id'
    delete:
      tags:
      - retainer-invoices
      operationId: delete_retainer_invoice_comment
      summary: Delete a comment
      description: Delete a retainer invoice comment.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/delete-a-comment-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.DELETE
    put:
      tags:
      - retainer-invoices
      operationId: update_retainer_invoice_comment
      summary: Update comment
      description: Update an existing comment of a retainer invoice.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/update-comment-request'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/update-comment-response'
      deprecated: false
      security:
      - Zoho_Auth:
        - ZohoInventory.invoices.UPDATE
components:
  schemas:
    delete-an-attachment-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: Your file is no longer attached to the invoice.
          readOnly: true
    show_on_pdf:
      description: Boolean value to check if the custom field is to be dispplayed on the pdf.
      type: boolean
      example: false
    sort_column:
      description: 'Sort retainer invoices.Allowed Values: <code>customer_name</code>, <code>retainer invoice_number</code>, <code>date</code>, <code> due_date</code>, <code>total</code>, <code>balance</code> and  <code>created_time</code>'
      type: string
      example: created_time
    allow_partial_payments:
      description: Boolean to check if partial payments are allowed for the contact
      type: boolean
      example: true
    contact_person_name:
      description: Name of the Contact Person
      type: string
      example: David
    payment_drawn:
      description: The amount drawn
      type: number
      format: float
      example: 26.91
    commented_by_id:
      type: string
      example: 982000000554041
    get-a-retainer-invoice-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
        retainerinvoice:
          type: object
          properties:
            retainerinvoice_id:
              $ref: '#/components/schemas/retainerinvoice_id'
            retainerinvoice_number:
              $ref: '#/components/schemas/retainerinvoice_number'
            date:
              $ref: '#/components/schemas/date'
            status:
              $ref: '#/components/schemas/status'
            is_pre_gst:
              $ref: '#/components/schemas/is_pre_gst'
            place_of_supply:
              $ref: '#/components/schemas/place_of_supply'
            project_id:
              $ref: '#/components/schemas/project_id'
            project_name:
              $ref: '#/components/schemas/project_name'
            last_payment_date:
              $ref: '#/components/schemas/last_payment_date'
            reference_number:
              $ref: '#/components/schemas/reference_number'
            customer_id:
              $ref: '#/components/schemas/customer_id'
            customer_name:
              $ref: '#/components/schemas/customer_name'
            contact_persons_associated:
              $ref: '#/components/schemas/contact_persons_associated'
            currency_id:
              $ref: '#/components/schemas/currency_id'
            currency_code:
              $ref: '#/components/schemas/currency_code'
            currency_symbol:
              $ref: '#/components/schemas/currency_symbol'
            exchange_rate:
              $ref: '#/components/schemas/exchange_rate'
            is_viewed_by_client:
              $ref: '#/components/schemas/is_viewed_by_client'
            client_viewed_time:
              $ref: '#/components/schemas/client_viewed_time'
            is_inclusive_tax:
              $ref: '#/components/schemas/is_inclusive_tax'
            location_id:
              $ref: '#/components/schemas/location_id'
            location_name:
              $ref: '#/components/schemas/location_name'
            line_items:
              description: Line items of a retainer invoice.
              type: array
              items:
                type: object
                properties:
                  line_item_id:
                    $ref: '#/components/schemas/line_item_id'
                  description:
                    $ref: '#/components/schemas/description'
                  item_order:
                    $ref: '#/components/schemas/item_order'
                  rate:
                    $ref: '#/components/schemas/rate'
                  bcy_rate:
                    $ref: '#/components/schemas/bcy_rate'
                  tax_id:
                    $ref: '#/components/schemas/tax_id'
                  tax_name:
                    $ref: '#/components/schemas/tax_name'
                  tax_type:
                    $ref: '#/components/schemas/tax_type'
                  tax_percentage:
                    $ref: '#/components/schemas/tax_percentage'
                  item_total:
                    $ref: '#/components/schemas/item_total'
                  location_id:
                    $ref: '#/components/schemas/location_id'
                  location_name:
                    $ref: '#/components/schemas/location_name'
            sub_total:
              $ref: '#/components/schemas/sub_total'
            total:
              $ref: '#/components/schemas/total'
            taxes:
              $ref: '#/components/schemas/taxes'
            payment_made:
              $ref: '#/components/schemas/payment_made'
            payment_drawn:
              $ref: '#/components/schemas/payment_drawn'
            balance:
              $ref: '#/components/schemas/balance'
            allow_partial_payments:
              $ref: '#/components/schemas/allow_partial_payments'
            price_precision:
              $ref: '#/components/schemas/price_precision'
            payment_options:
              $ref: '#/components/schemas/payment_options'
            is_emailed:
              $ref: '#/components/schemas/is_emailed'
            documents:
              $ref: '#/components/schemas/documents'
            billing_address:
              $ref: '#/components/schemas/billing_address'
            shipping_address:
              $ref: '#/components/schemas/shipping_address'
            notes:
              $ref: '#/components/schemas/notes'
            terms:
              $ref: '#/components/schemas/terms'
            custom_fields:
              $ref: '#/components/schemas/custom_fields'
            template_id:
              $ref: '#/components/schemas/template_id'
            template_name:
              $ref: '#/components/schemas/template_name'
            page_width:
              $ref: '#/components/schemas/page_width'
            page_height:
              $ref: '#/components/schemas/page_height'
            orientation:
              $ref: '#/components/schemas/orientation'
            template_type:
              $ref: '#/components/schemas/template_type'
            created_time:
              $ref: '#/components/schemas/created_time'
            last_modified_time:
              $ref: '#/components/schemas/last_modified_time'
            created_by_id:
              $ref: '#/components/schemas/created_by_id'
            attachment_name:
              $ref: '#/components/schemas/attachment_name'
            can_send_in_mail:
              $ref: '#/components/schemas/can_send_in_mail'
    last_name:
      description: Last name of the Contact Person
      type: string
      example: John
    submit-a-retainer-invoice-for-approval-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: The Retainer Invoice has been successfully submitted for approval.
          readOnly: true
    transaction_id:
      type: string
      example: '982000000567204'
    location_id:
      description: Location ID
      type: string
      example: '460000000038080'
    tax_type:
      description: The type of the tax
      type: string
      example: tax
    can_send_in_mail:
      type: boolean
      description: Indicates whether the retainer invoice can be sent in mail
      example: true
    contact_person_email:
      description: Email ID of the Contact Person.
      type: string
      example: willsmith@bowmanfurniture.com
    location_name:
      description: Name of the location.
      type: string
    notes:
      description: The notes added below expressing gratitude or for conveying some information.
      type: string
      example: Looking forward for your business.
    documents:
      description: documents attached to the retainer invoice
      type: array
      items:
        type: string
      example: []
    approve-a-retainer-invoice-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: You have approved the Retainer Invoice.
          readOnly: true
    tax_name:
      description: The name of the tax
      type: string
      example: VAT
    update-retainer-invoice-template-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: Retainer Invoice information has been updated.
          readOnly: true
    page_width:
      type: string
      example: 8.27in
    get-a-retainer-invoice-attachment-response:
      type: object
      properties:
        code:
          type: integer
          example: 0
          readOnly: true
        message:
          type: string
          example: success
          readOnly: true
    operation_type:
      type: string
      example: Added
    update-a-retainerinvoice-request:
      required:
      - customer_id
      - line_items
      type: object
      properties:
        customer_id:
          $ref: '#/components/schemas/customer_id'
        reference_number:
          $ref: '#/components/schemas/reference_number'
        date:
          $ref: '#/components/schemas/date'
        contact_persons_associated:
          $ref: '#/components/schemas/contact_persons_associated_payload'
        custom_fields:
          $ref: '#/components/schemas/custom_fields'
        notes:
          $ref: '#/components/schemas/notes'
        terms:
          $ref: '#/components/schemas/terms'
        location_id:
          $ref: '#/components/schemas/location_id'
        line_items:
          description: Line items of a retainer invoice.
          type: array
          items:
            type: object
            properties:
              description:
                $ref: '#/components/schemas/description'
              item_order:
                $ref: '#/components/schemas/item_order'
              rate:
                $ref: '#/components/schemas/rate'
        payment_options:
          $ref: '#/components/schemas/payment_options'
        template_id:
          $ref: '#/components/schemas/template_id'
        place_of_supply:
          $ref: '#/components/schemas/place_of_supply'
        project_id:
          $ref: '#/components/schemas/project_id'
    created_by_id:
      type: string
      example: 14909000000072000
    bcy_rate:
      description: base currency rate
      type: number
      format: float
      example: 120
    send_from_org_email_id:
      description: Boolean to trigger the email from the organization's email address
      type: boolean
      example: false
    is_emailed:
      description: Boolean check to if the email was sent
      type: string
      example: false
    address:
      type: string
      example: Suite 125, McMillan Avenue
    sort_order:
      description: The order for sorting
      type: string
      example: D
    project_or_estimate_name:
      type: string
      example: new project
    item_total:
      description: The total amount of the line items
      type: number
      format: float
      example: 120
    delete-a-comment-response:
      type: object
      properties:
        code:
          type: integer
          example: 

# --- truncated at 32 KB (71 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoho-inventory/refs/heads/main/openapi/zoho-inventory-retainer-invoices-api-openapi.yml