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

# Kits: where each one is, who has it, how many things are in it, how many places its template asks for that are still…

> Kits: where each one is, who has it, how many things are in it, how many places its template asks for that are still empty and on how many lines, and the store holding its parts, if any.

A kit with no template is an ad-hoc kit and is never short of anything. `state` is HELD when the kit
names a holder, IN_STORE when it does not, and DISMANTLED once it has let go of everything in it.



## OpenAPI

````yaml /api-reference/openapi.json get /kits
openapi: 3.0.0
info:
  description: ''
  title: >-
    The only schema PostgREST exposes. Reads are security_invoker views; writes
    are SECURITY DEFINER functions. Rebuilt wholesale on every deploy — it holds
    no data.
  version: 12.2.3
servers:
  - url: https://app.assetinfinity.ai/api
security: []
tags:
  - name: Signing in
  - name: Profile
  - name: My work
  - name: Sites and locations
  - name: Assets
  - name: Asset lifecycle
  - name: Asset components
  - name: Kits
  - name: Work lifecycle
  - name: Work order execution
  - name: Work sequencing
  - name: Maintenance
  - name: Inspections
  - name: Checklists
  - name: Verification
  - name: Self verification
  - name: Inventory
  - name: Inventory detail
  - name: Parts demand
  - name: Procurement
  - name: Catalogue
  - name: Vendors and contracts
  - name: Contracts
  - name: Amendments
  - name: Vendor spend forecast
  - name: Workforce
  - name: Workforce detail
  - name: Capacity
  - name: Dispatch
  - name: Shutdown
  - name: Permits
  - name: Tools
  - name: Tools on jobs
  - name: Bookings
  - name: Booking hand over
  - name: Booking bills
  - name: Calibration history
  - name: Reliability
  - name: Sensors and meters
  - name: Readers
  - name: Trackers
  - name: Real-time location
  - name: Feeds
  - name: Energy
  - name: IT assets
  - name: IT asset software
  - name: IT asset topology
  - name: Warranty lookups
  - name: Map
  - name: Floor plans
  - name: Labels
  - name: Lost and found
  - name: Visitors
  - name: Root cause analysis
  - name: Costing
  - name: Finance
  - name: E-way bills
  - name: E-way bill filing
  - name: Budgets
  - name: Capex plans
  - name: Capex consolidation
  - name: Capex capitalization
  - name: FF&E plans
  - name: Documents
  - name: Document control
  - name: Document folders
  - name: Document tree
  - name: Knowledge
  - name: Reports
  - name: Dashboards
  - name: Extracts
  - name: Data exports
  - name: Audit center
  - name: Audit feed
  - name: Activity
  - name: Conversations
  - name: Notifications
  - name: Date reminders
  - name: Channels
  - name: Search
  - name: Copilot
  - name: Import
  - name: Bulk jobs
  - name: File exchange
  - name: Filing exceptions
  - name: Files
  - name: Sync
  - name: Support
  - name: API keys
  - name: Webhooks
  - name: MCP connections
  - name: MCP sign-in
  - name: SCIM provisioning
  - name: Directory sync
  - name: Security streams
  - name: Clarity
  - name: Single sign-on
  - name: Two-factor sign-in
  - name: Admin
  - name: Access
  - name: Lookups
  - name: Read models
  - name: Reference
  - name: Reference columns
  - name: Reference entry
  - name: List views
  - name: Mapping
  - name: Numbering
  - name: Branding
  - name: Custom fields
  - name: Form studio
  - name: Workflows
  - name: Workflow studio
  - name: Rules
  - name: Statuses and transitions
  - name: Currencies and locales
  - name: Today
  - name: Work configuration
  - name: Asset configuration
  - name: Inventory configuration
  - name: Tool configuration
  - name: Workforce configuration
  - name: Vendor and contract configuration
  - name: Document configuration
  - name: Inspection configuration
  - name: Sites, locations and the organisation
  - name: Setup
  - name: Features
  - name: Billing
  - name: Licence
  - name: Welcome
  - name: Tray
  - name: Tenant switch
  - name: Release
  - name: Upgrade
  - name: Telegram
  - name: Whatsapp
  - name: Inbound mail
  - name: Platform
externalDocs:
  description: PostgREST Documentation
  url: https://postgrest.org/en/v12/references/api.html
paths:
  /kits:
    get:
      tags:
        - Kits
      summary: >-
        Kits: where each one is, who has it, how many things are in it, how many
        places its template asks for that are still…
      description: >-
        Kits: where each one is, who has it, how many things are in it, how many
        places its template asks for that are still empty and on how many lines,
        and the store holding its parts, if any.


        A kit with no template is an ad-hoc kit and is never short of anything.
        `state` is HELD when the kit

        names a holder, IN_STORE when it does not, and DISMANTLED once it has
        let go of everything in it.
      parameters:
        - $ref: '#/components/parameters/rowFilter.kits.id'
        - $ref: '#/components/parameters/rowFilter.kits.kit_number'
        - $ref: '#/components/parameters/rowFilter.kits.name'
        - $ref: '#/components/parameters/rowFilter.kits.description'
        - $ref: '#/components/parameters/rowFilter.kits.kit_template_id'
        - $ref: '#/components/parameters/rowFilter.kits.template_code'
        - $ref: '#/components/parameters/rowFilter.kits.template_name'
        - $ref: '#/components/parameters/rowFilter.kits.template_version'
        - $ref: '#/components/parameters/rowFilter.kits.site_id'
        - $ref: '#/components/parameters/rowFilter.kits.site_code'
        - $ref: '#/components/parameters/rowFilter.kits.site_name'
        - $ref: '#/components/parameters/rowFilter.kits.location_id'
        - $ref: '#/components/parameters/rowFilter.kits.location_name'
        - $ref: '#/components/parameters/rowFilter.kits.department_id'
        - $ref: '#/components/parameters/rowFilter.kits.department_name'
        - $ref: '#/components/parameters/rowFilter.kits.custodian_user_id'
        - $ref: '#/components/parameters/rowFilter.kits.custodian'
        - $ref: '#/components/parameters/rowFilter.kits.custodian_name'
        - $ref: '#/components/parameters/rowFilter.kits.custodian_email'
        - $ref: '#/components/parameters/rowFilter.kits.custody_since'
        - $ref: '#/components/parameters/rowFilter.kits.dismantled_at'
        - $ref: '#/components/parameters/rowFilter.kits.state'
        - $ref: '#/components/parameters/rowFilter.kits.member_count'
        - $ref: '#/components/parameters/rowFilter.kits.missing_required'
        - $ref: '#/components/parameters/rowFilter.kits.missing_optional'
        - $ref: '#/components/parameters/rowFilter.kits.required_lines_short'
        - $ref: '#/components/parameters/rowFilter.kits.optional_lines_short'
        - $ref: '#/components/parameters/rowFilter.kits.parts_reservation_id'
        - $ref: '#/components/parameters/rowFilter.kits.parts_reservation_number'
        - $ref: '#/components/parameters/rowFilter.kits.parts_warehouse_id'
        - $ref: '#/components/parameters/rowFilter.kits.parts_warehouse_name'
        - $ref: '#/components/parameters/rowFilter.kits.created_at'
        - $ref: '#/components/parameters/rowFilter.kits.updated_at'
        - $ref: '#/components/parameters/rowFilter.kits.row_version'
        - $ref: '#/components/parameters/select'
        - $ref: '#/components/parameters/order'
        - $ref: '#/components/parameters/range'
        - $ref: '#/components/parameters/rangeUnit'
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/preferCount'
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/kits'
                type: array
            application/vnd.pgrst.object+json:
              schema:
                items:
                  $ref: '#/components/schemas/kits'
                type: array
            application/vnd.pgrst.object+json;nulls=stripped:
              schema:
                items:
                  $ref: '#/components/schemas/kits'
                type: array
            text/csv:
              schema:
                items:
                  $ref: '#/components/schemas/kits'
                type: array
          description: OK
        '206':
          description: Partial Content
components:
  parameters:
    rowFilter.kits.id:
      in: query
      name: id
      required: false
      schema:
        type: string
    rowFilter.kits.kit_number:
      in: query
      name: kit_number
      required: false
      schema:
        type: string
    rowFilter.kits.name:
      in: query
      name: name
      required: false
      schema:
        type: string
    rowFilter.kits.description:
      in: query
      name: description
      required: false
      schema:
        type: string
    rowFilter.kits.kit_template_id:
      in: query
      name: kit_template_id
      required: false
      schema:
        type: string
    rowFilter.kits.template_code:
      in: query
      name: template_code
      required: false
      schema:
        type: string
    rowFilter.kits.template_name:
      in: query
      name: template_name
      required: false
      schema:
        type: string
    rowFilter.kits.template_version:
      in: query
      name: template_version
      required: false
      schema:
        type: string
    rowFilter.kits.site_id:
      in: query
      name: site_id
      required: false
      schema:
        type: string
    rowFilter.kits.site_code:
      in: query
      name: site_code
      required: false
      schema:
        type: string
    rowFilter.kits.site_name:
      in: query
      name: site_name
      required: false
      schema:
        type: string
    rowFilter.kits.location_id:
      in: query
      name: location_id
      required: false
      schema:
        type: string
    rowFilter.kits.location_name:
      in: query
      name: location_name
      required: false
      schema:
        type: string
    rowFilter.kits.department_id:
      in: query
      name: department_id
      required: false
      schema:
        type: string
    rowFilter.kits.department_name:
      in: query
      name: department_name
      required: false
      schema:
        type: string
    rowFilter.kits.custodian_user_id:
      in: query
      name: custodian_user_id
      required: false
      schema:
        type: string
    rowFilter.kits.custodian:
      in: query
      name: custodian
      required: false
      schema:
        type: string
    rowFilter.kits.custodian_name:
      in: query
      name: custodian_name
      required: false
      schema:
        type: string
    rowFilter.kits.custodian_email:
      in: query
      name: custodian_email
      required: false
      schema:
        type: string
    rowFilter.kits.custody_since:
      in: query
      name: custody_since
      required: false
      schema:
        type: string
    rowFilter.kits.dismantled_at:
      in: query
      name: dismantled_at
      required: false
      schema:
        type: string
    rowFilter.kits.state:
      in: query
      name: state
      required: false
      schema:
        type: string
    rowFilter.kits.member_count:
      in: query
      name: member_count
      required: false
      schema:
        type: string
    rowFilter.kits.missing_required:
      in: query
      name: missing_required
      required: false
      schema:
        type: string
    rowFilter.kits.missing_optional:
      in: query
      name: missing_optional
      required: false
      schema:
        type: string
    rowFilter.kits.required_lines_short:
      in: query
      name: required_lines_short
      required: false
      schema:
        type: string
    rowFilter.kits.optional_lines_short:
      in: query
      name: optional_lines_short
      required: false
      schema:
        type: string
    rowFilter.kits.parts_reservation_id:
      in: query
      name: parts_reservation_id
      required: false
      schema:
        type: string
    rowFilter.kits.parts_reservation_number:
      in: query
      name: parts_reservation_number
      required: false
      schema:
        type: string
    rowFilter.kits.parts_warehouse_id:
      in: query
      name: parts_warehouse_id
      required: false
      schema:
        type: string
    rowFilter.kits.parts_warehouse_name:
      in: query
      name: parts_warehouse_name
      required: false
      schema:
        type: string
    rowFilter.kits.created_at:
      in: query
      name: created_at
      required: false
      schema:
        type: string
    rowFilter.kits.updated_at:
      in: query
      name: updated_at
      required: false
      schema:
        type: string
    rowFilter.kits.row_version:
      in: query
      name: row_version
      required: false
      schema:
        type: string
    select:
      description: Filtering Columns
      in: query
      name: select
      required: false
      schema:
        type: string
    order:
      description: Ordering
      in: query
      name: order
      required: false
      schema:
        type: string
    range:
      description: Limiting and Pagination
      in: header
      name: Range
      required: false
      schema:
        type: string
    rangeUnit:
      description: Limiting and Pagination
      in: header
      name: Range-Unit
      required: false
      schema:
        default: items
        type: string
    offset:
      description: Limiting and Pagination
      in: query
      name: offset
      required: false
      schema:
        type: string
    limit:
      description: Limiting and Pagination
      in: query
      name: limit
      required: false
      schema:
        type: string
    preferCount:
      description: Preference
      in: header
      name: Prefer
      required: false
      schema:
        enum:
          - count=none
        type: string
  schemas:
    kits:
      description: >-
        Kits: where each one is, who has it, how many things are in it, how many
        places its template asks for that are still empty and on how many lines,
        and the store holding its parts, if any.


        A kit with no template is an ad-hoc kit and is never short of anything.
        `state` is HELD when the kit

        names a holder, IN_STORE when it does not, and DISMANTLED once it has
        let go of everything in it.
      properties:
        created_at:
          format: timestamp with time zone
          type: string
        custodian:
          format: character varying
          type: string
        custodian_email:
          format: character varying
          maxLength: 254
          type: string
        custodian_name:
          format: character varying
          maxLength: 150
          type: string
        custodian_user_id:
          description: >-
            Note:

            This is a Foreign Key to `capex_invite_candidates.id`.<fk
            table='capex_invite_candidates' column='id'/>
          format: uuid
          type: string
        custody_since:
          format: timestamp with time zone
          type: string
        department_id:
          description: >-
            Note:

            This is a Foreign Key to `department_settings.id`.<fk
            table='department_settings' column='id'/>
          format: uuid
          type: string
        department_name:
          format: character varying
          maxLength: 200
          type: string
        description:
          format: text
          type: string
        dismantled_at:
          format: timestamp with time zone
          type: string
        id:
          description: |-
            Note:
            This is a Primary Key.<pk/>
          format: uuid
          type: string
        kit_number:
          format: character varying
          maxLength: 40
          type: string
        kit_template_id:
          description: >-
            Note:

            This is a Foreign Key to `kit_templates.id`.<fk
            table='kit_templates' column='id'/>
          format: uuid
          type: string
        location_id:
          description: >-
            Note:

            This is a Foreign Key to `location_settings.id`.<fk
            table='location_settings' column='id'/>
          format: uuid
          type: string
        location_name:
          format: character varying
          maxLength: 200
          type: string
        member_count:
          format: integer
          type: integer
        missing_optional:
          format: integer
          type: integer
        missing_required:
          format: integer
          type: integer
        name:
          format: character varying
          maxLength: 200
          type: string
        optional_lines_short:
          format: integer
          type: integer
        parts_reservation_id:
          description: |-
            Note:
            This is a Primary Key.<pk/>
          format: uuid
          type: string
        parts_reservation_number:
          format: character varying
          maxLength: 60
          type: string
        parts_warehouse_id:
          description: >-
            Note:

            This is a Foreign Key to `warehouse_settings.id`.<fk
            table='warehouse_settings' column='id'/>
          format: uuid
          type: string
        parts_warehouse_name:
          format: character varying
          maxLength: 200
          type: string
        required_lines_short:
          format: integer
          type: integer
        row_version:
          format: bigint
          type: integer
        site_code:
          format: character varying
          maxLength: 50
          type: string
        site_id:
          description: >-
            Note:

            This is a Foreign Key to `entry_currencies.for_site_id`.<fk
            table='entry_currencies' column='for_site_id'/>
          format: uuid
          type: string
        site_name:
          format: character varying
          maxLength: 200
          type: string
        state:
          format: text
          type: string
        template_code:
          format: character varying
          maxLength: 60
          type: string
        template_name:
          format: character varying
          maxLength: 200
          type: string
        template_version:
          format: integer
          type: integer
        updated_at:
          format: timestamp with time zone
          type: string
      type: object

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.