1Factory Customers API

Data shared with your organization by your customers.

OpenAPI Specification

1factory-customers-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: 1Factory Customers API
  description: "This API allows you to create and query a number of objects in your 1Factory account.\n\n The API accepts and returns request and response bodies as JSON, using UTF-8 encoding.\n\nClients may request that response bodies are compressed using gzip compression by passing 'gzip' in the 'Accept-Encoding' header.\n\nIn order to use the API, you need to generate an API key for your organization in the API section of the Settings page.\n\nEach API request must include the API key and your organization's ID as header parameters. You can also find your organization ID in the Settings page.\n\nAll date time values used in the API are in the [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) date-time format, and include a timezone offset value. Incoming values can specify any timezone offset.\n\nErrors returned by the API include an error code. An explanation of these error codes is available [here](./errors.html).\n\nUsage of the API is rate-limited - current default limits are:\n- 60 requests per minute\n- 1000 requests per day\n\nExceeding these limits will result in subsequent API requests returning a 429 error code. The daily request limit resets at midnight UTC.\n\n API responses include the following headers to allow clients to determine how close they are to exceeding them limits:\n- **x-ratelimit-minute-limit** permitted number of API calls per minute\n- **x-ratelimit-minute-reset** seconds remaining until minute limit resets\n- **x-ratelimit-minute-remaining** number of calls remaining until reaching limit\n- **x-ratelimit-day-limit** permitted number of API calls per minute\n- **x-ratelimit-day-reset** seconds remaining until minute limit resets\n- **x-ratelimit-day-remaining** number of calls remaining until reaching limit\n\nIf you find you require a higher usage limit, please contact 1Factory support to discuss your use case."
  version: '24.31'
  termsOfService: https://www.1factory.com/resources/TOS%20May%2020%202021.pdf
  contact:
    name: API Support
    url: https://1factoryhelp.zendesk.com/hc/en-us
    email: support@1factory.com
servers:
- url: https://www.1factory.co/api/v1
  description: Sandbox server
- url: https://www.1factory.com/api/v1
  description: Production server
- url: https://val.1factory.co/api/v1
  description: Validated Sandbox server
- url: https://val.1factory.com/api/v1
  description: Validated Production server
- url: https://localhost/api/v1
  description: Local development
security:
- OrgId: []
  ApiKey: []
tags:
- name: Customers
  description: Data shared with your organization by your customers.
paths:
  /cus/plans:
    get:
      tags:
      - Customers
      summary: 1Factory Gets a List of Plans Shared with Your Organization by Your Customers.
      description: 'The list of customer plans can be filtered by specifying query parameters.


        Paging parameters control the number of rows Plan objects returned. By default, the first 100 plans are returned.'
      parameters:
      - $ref: '#/components/parameters/page'
        example: example-value
      - $ref: '#/components/parameters/pageSize'
        example: example-value
      - $ref: '#/components/parameters/part_number'
        example: example-value
      - $ref: '#/components/parameters/rev'
        example: example-value
      - $ref: '#/components/parameters/status'
        example: example-value
      - $ref: '#/components/parameters/approval_status'
        example: example-value
      - $ref: '#/components/parameters/customer'
        example: example-value
      - $ref: '#/components/parameters/is_tabulated'
        example: example-value
      - $ref: '#/components/parameters/createdAfter'
        example: example-value
      - $ref: '#/components/parameters/createdBefore'
        example: example-value
      - $ref: '#/components/parameters/updatedAfter'
        example: example-value
      - $ref: '#/components/parameters/updatedBefore'
        example: example-value
      - $ref: '#/components/parameters/closedAfter'
        example: example-value
      - $ref: '#/components/parameters/closedBefore'
        example: example-value
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanList'
              examples:
                Getcusplans200Example:
                  summary: Default getcusplans 200 response
                  x-microcks-default: true
                  value:
                  - ID: 42
                    part_number: example-value
                    rev: example-value
                    part_description: example-value
                    operation: example-value
                    project_identifier: example-value
                    status: Inactive
                    version: 3.14
                    version_status: Released
                    approval_status: Assigned
                    customer_name: example-value
                    supplier_name: example-value
                    supplier_number: example-value
                    is_tabulated: true
                    is_spec_lib: true
                    created_by_name: example-value
                    created_on: '2025-03-15T14:30:00Z'
                    updated_on: '2025-03-15T14:30:00Z'
          description: Returns a list of plans, most recently updated first. Utilize paging query parameters to query older plans. By default the 100 most recent are returned.
        '400':
          $ref: '#/components/responses/InvalidQueryParam'
        '401':
          $ref: '#/components/responses/401'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /cus/plans/{plan_id}:
    get:
      tags:
      - Customers
      summary: 1Factory Gets a Detailed Customer Plan Record.
      description: Returns the specified plan record, including specifications.
      parameters:
      - $ref: '#/components/parameters/planID'
        example: example-value
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlanDetail'
              examples:
                GetcusplansplanId200Example:
                  summary: Default getcusplansplan_id 200 response
                  x-microcks-default: true
                  value:
                    ID: 42
                    part_number: example-value
                    rev: example-value
                    part_description: example-value
                    operation: example-value
                    project_identifier: example-value
                    status: Inactive
                    version: 3.14
                    version_status: Released
                    approval_status: Approved
                    customer_name: example-value
                    supplier_name: example-value
                    supplier_number: example-value
                    is_tabulated: true
                    is_spec_lib: true
                    created_by_name: example-value
                    created_on: '2025-03-15T14:30:00Z'
                    updated_on: '2025-03-15T14:30:00Z'
                    specifications:
                    - example-value
          description: Returns a detailed plan record, including specification data.
        '400':
          $ref: '#/components/responses/InvalidPathParam'
        '401':
          $ref: '#/components/responses/401'
        '404':
          description: Plan does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: FAC-20
                message: 'Not found: Customer Plan ''12345'' does not exist.'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /cus/inspections:
    get:
      tags:
      - Customers
      summary: 1Factory Gets a List of Inspections Shared with Your Organization by Your Customers.
      description: 'The list of customer inspections can be filtered by specifying query parameters.


        Paging parameters control the number of rows Inspection objects returned. By default, the first 100 inspections are returned.'
      parameters:
      - $ref: '#/components/parameters/page'
        example: example-value
      - $ref: '#/components/parameters/pageSize'
        example: example-value
      - $ref: '#/components/parameters/part_number'
        example: example-value
      - $ref: '#/components/parameters/rev'
        example: example-value
      - $ref: '#/components/parameters/inspIdent1'
        example: example-value
      - $ref: '#/components/parameters/inspIdent2'
        example: example-value
      - $ref: '#/components/parameters/customer'
        example: example-value
      - $ref: '#/components/parameters/inspectionStatus'
        example: example-value
      - $ref: '#/components/parameters/closedAfter'
        example: example-value
      - $ref: '#/components/parameters/reviewStatus'
        example: example-value
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InspectionList'
              examples:
                Getcusinspections200Example:
                  summary: Default getcusinspections 200 response
                  x-microcks-default: true
                  value:
                  - ID: 42
                    insp_ident_1: example-value
                    insp_ident_2: example-value
                    insp_ident_3: example-value
                    part_number: example-value
                    rev: example-value
                    part_description: example-value
                    operation: example-value
                    customer_name: example-value
                    supplier_name: example-value
                    supplier_number: example-value
                    project_identifier: example-value
                    site: example-value
                    created_by_name: example-value
                    created_on: '2025-03-15T14:30:00Z'
                    in_spec_pct: 3.14
                    inspection_status: Rejected
                    inspected_by_name: example-value
                    inspected_on: '2025-03-15T14:30:00Z'
                    review_status: Reviewed
                    reviewed_by_name: example-value
                    reviewed_on: '2025-03-15T14:30:00Z'
                    notes: example-value
                    ncrs:
                    - example-value
                    updated_on: '2025-03-15T14:30:00Z'
                    closed_on: '2025-03-15T14:30:00Z'
                    inspection_type: example-value
                    machines:
                    - example-value
                    lot_size: 42
                    parts_passed: 3.14
                    parts_failed: 3.14
          description: Returns a list of inspections, most recently updated first. Utilize paging query parameters to query older inspections. By default the 100 most recent are returned.
        '400':
          $ref: '#/components/responses/InvalidQueryParam'
        '401':
          $ref: '#/components/responses/401'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /cus/inspections/{inspection_id}:
    get:
      tags:
      - Customers
      summary: 1Factory Gets a Detailed Customer Inspection Record.
      description: Returns the specified inspection record, including measurement data.
      parameters:
      - $ref: '#/components/parameters/inspectionID'
        example: example-value
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InspectionDetail'
              examples:
                GetcusinspectionsinspectionId200Example:
                  summary: Default getcusinspectionsinspection_id 200 response
                  x-microcks-default: true
                  value: {}
          description: Returns a detailed inspection record, including measurement data.
        '400':
          $ref: '#/components/responses/InvalidPathParam'
        '401':
          $ref: '#/components/responses/401'
        '404':
          description: Inspection does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: FAC-20
                message: 'Not found: Customer Inspection ''12345'' does not exist.'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /cus/fais:
    get:
      tags:
      - Customers
      summary: 1Factory Gets a List of First-article Inspections Shared with Your Organization by Your Customers.
      description: 'The list of customer first-article inspections can be filtered by specifying query parameters.


        Paging parameters control the number of rows Inspection objects returned. By default, the first 100 inspections are returned.'
      parameters:
      - $ref: '#/components/parameters/page'
        example: example-value
      - $ref: '#/components/parameters/pageSize'
        example: example-value
      - $ref: '#/components/parameters/part_number'
        example: example-value
      - $ref: '#/components/parameters/rev'
        example: example-value
      - $ref: '#/components/parameters/inspIdent1'
        example: example-value
      - $ref: '#/components/parameters/inspIdent2'
        example: example-value
      - $ref: '#/components/parameters/customer'
        example: example-value
      - $ref: '#/components/parameters/faiType'
        example: example-value
      - $ref: '#/components/parameters/inspectionStatus'
        example: example-value
      - $ref: '#/components/parameters/closedAfter'
        example: example-value
      - $ref: '#/components/parameters/reviewStatus'
        example: example-value
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FaiList'
              examples:
                Getcusfais200Example:
                  summary: Default getcusfais 200 response
                  x-microcks-default: true
                  value:
                  - ID: 42
                    insp_ident_1: example-value
                    insp_ident_2: example-value
                    insp_ident_3: example-value
                    part_number: example-value
                    rev: example-value
                    part_description: example-value
                    operation: example-value
                    customer_name: example-value
                    supplier_name: example-value
                    supplier_number: example-value
                    project_identifier: example-value
                    site: example-value
                    created_by_name: example-value
                    created_on: '2025-03-15T14:30:00Z'
                    in_spec_pct: 3.14
                    inspection_status: Pending
                    inspected_by_name: example-value
                    inspected_on: '2025-03-15T14:30:00Z'
                    review_status: Pending
                    reviewed_by_name: example-value
                    reviewed_on: '2025-03-15T14:30:00Z'
                    notes: example-value
                    ncrs:
                    - example-value
                    updated_on: '2025-03-15T14:30:00Z'
                    closed_on: '2025-03-15T14:30:00Z'
                    fai_type: Standard
                    number_of_parts: 42
          description: Returns a list of first-article inspections, most recently updated first. Utilize paging query parameters to query older inspections. By default the 100 most recent are returned.
        '400':
          $ref: '#/components/responses/InvalidQueryParam'
        '401':
          $ref: '#/components/responses/401'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /cus/fais/{inspection_id}:
    get:
      tags:
      - Customers
      summary: 1Factory Gets a Detailed Customer First-article Inspection Record.
      description: Returns the specified first-article inspection record, including measurement data.
      parameters:
      - $ref: '#/components/parameters/inspectionID'
        example: example-value
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FaiDetail'
              examples:
                GetcusfaisinspectionId200Example:
                  summary: Default getcusfaisinspection_id 200 response
                  x-microcks-default: true
                  value: {}
          description: Returns a detailed first-article inspection record, including measurement data.
        '400':
          $ref: '#/components/responses/InvalidPathParam'
        '401':
          $ref: '#/components/responses/401'
        '404':
          description: Inspection does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: FAC-20
                message: 'Not found: Customer FAI ''12345'' does not exist.'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  parameters:
    inspIdent2:
      name: insp_ident_2
      in: query
      required: false
      schema:
        type: string
        example: C-B12345
      description: 'Secondary identifier to filter on for an inspection or FAI, for example a Customer Purchase Order or Lot #. For FAIs this is the ''PO Number''.'
    inspectionStatus:
      name: insp_status
      in: query
      required: false
      schema:
        type: string
        enum:
        - Pending
        - Accepted
        - Rejected
        example: Accepted
      description: Inspection status to filter on.
    customer:
      name: customer
      in: query
      required: false
      schema:
        type: string
        nullable: true
        example: Acme Industries
      description: Name of customer to filter on.
    createdBefore:
      name: created_before
      in: query
      required: false
      schema:
        type: string
        format: date-time
        example: '2021-07-14T08:00:00-08:00'
      description: Return objects created before the specified date-time
    rev:
      name: rev
      in: query
      required: false
      schema:
        type: string
        nullable: false
        example: A
      description: Part rev to filter on. Typically used in conjunction with the part_number query parameter.
    inspectionID:
      name: inspection_id
      in: path
      required: true
      schema:
        type: integer
        example: 12345
    updatedAfter:
      name: updated_after
      in: query
      required: false
      schema:
        type: string
        format: date-time
        example: '2021-07-14T08:00:00-08:00'
      description: Return objects updated after the specified date-time
    faiType:
      name: type
      in: query
      required: false
      schema:
        type: string
        enum:
        - Standard
        - AS9102
        example: Standard
      description: Type of first-article inspection to filter on.
    reviewStatus:
      name: review_status
      in: query
      required: false
      schema:
        type: string
        enum:
        - Pending
        - Reviewed
        example: Reviewed
      description: Review status to filter on.
    updatedBefore:
      name: updated_before
      in: query
      required: false
      schema:
        type: string
        format: date-time
        example: '2021-07-14T08:00:00-08:00'
      description: Return objects updated before the specified date-time
    planID:
      name: plan_id
      in: path
      required: true
      schema:
        type: integer
        example: 12345
    inspIdent1:
      name: insp_ident_1
      in: query
      required: false
      schema:
        type: string
        example: PO-12345
      description: Primary identifier to filter on for an inspection or FAI, for example a Work Order or Purchase Order. For FAIs, this is the 'FAI Number'.
    page:
      name: page
      in: query
      required: false
      schema:
        type: integer
        format: int32
        minimum: 0
        default: 0
      description: Starting page for queried rows - defaults to 0 (the start of the list). Returned rows will start at index (page * page_size).
    pageSize:
      name: page_size
      in: query
      required: false
      schema:
        type: integer
        format: int32
        minimum: 1
        maximum: 500
        default: 100
      description: The maximum number of records to return from the query. Defaults to 100, maximum value 500.
    closedBefore:
      name: closed_before
      in: query
      required: false
      schema:
        type: string
        format: date-time
        example: '2021-07-14T08:00:00-08:00'
      description: Return only approved or rejected objects closed before the specified date-time.
    closedAfter:
      name: closed_after
      in: query
      required: false
      schema:
        type: string
        format: date-time
        example: '2021-07-14T08:00:00-08:00'
      description: Return only approved or rejected objects closed after the specified date-time.
    is_tabulated:
      name: is_tablulated
      in: query
      required: false
      schema:
        type: boolean
        example: false
      description: If tabulated plans should be filtered on.
    status:
      name: status
      in: query
      required: false
      schema:
        type: string
        nullable: false
        enum:
        - Active
        - Inactive
        example: Active
      description: Status to filter on.
    approval_status:
      name: approval_status
      in: query
      required: false
      schema:
        type: string
        enum:
        - N/a
        - Pending
        - Assigned
        - Approved
        - Rejected
      description: 'The status of an object that requires approval before releasing or closing.


        (Availability depends on Organization settings.)'
    part_number:
      name: part_number
      in: query
      required: false
      schema:
        type: string
        nullable: false
        example: 12-34567-89
      description: Part name / number to filter on.
    createdAfter:
      name: created_after
      in: query
      required: false
      schema:
        type: string
        format: date-time
        example: '2021-07-14T08:00:00-08:00'
      description: Return objects created after the specified date-time
  schemas:
    insp_ident_2:
      type: string
      nullable: true
      minLength: 0
      maxLength: 255
      description: 'Secondary identifier for an inspection or FAI, for example a Customer Purchase Order or Lot #. For FAIs this is the ''PO Number''. (Optional)'
      example: C-B12345
    parts_passed:
      type: number
      nullable: false
      description: The number of parts that pass inspection.
      minimum: 0
      example: 95
    operation:
      type: string
      nullable: true
      description: Operation of the inspection. No operation specified or an operation of 'All' indicates that an inspection is for all operations in the inspection Plan. (Only for manufacturing inspections, and if the 'Inspections by Op' configuration is enabled for your organization.)
      example: OP 10
    inspection_type:
      type: string
      description: Type of inspection, as defined in your organization's Inspection Types List of Values
      example: Final
    lot_size:
      type: integer
      format: int32
      nullable: true
      minimum: 0
      description: Number of parts in lot being inspected
      example: 100
    SpecInspectionType:
      type: object
      properties:
        inspection_type:
          $ref: '#/components/schemas/inspection_type'
        inspection_method:
          type: string
          nullable: true
          description: How the feature should be inspected.
          example: CMM
        sampling_rule:
          type: string
          nullable: true
          description: How frequently should the feature be checked.
          example: 1 in 10
        data_type:
          type: string
          nullable: false
          enum:
          - NUM
          - P/F
          - CALC
          description: How the data for this specification is recorded - numerically, as a pass/fail, or calculated from other features.
          example: NUM
    number_of_parts:
      type: integer
      format: int32
      nullable: false
      minimum: 1
      description: Number of parts inspected.
      example: 3
    status:
      type: string
      nullable: false
      description: The status of the object
      enum:
      - Active
      - Inactive
    part_description:
      type: string
      nullable: true
      maxLength: 255
      description: Description of the part.
      example: Three Lobe Shaft
    Plan:
      type: object
      properties:
        ID:
          $ref: '#/components/schemas/ID'
        part_number:
          $ref: '#/components/schemas/part_number'
        rev:
          $ref: '#/components/schemas/rev'
        part_description:
          $ref: '#/components/schemas/part_description'
        operation:
          $ref: '#/components/schemas/operation'
        project_identifier:
          $ref: '#/components/schemas/project_identifier'
        status:
          $ref: '#/components/schemas/status'
        version:
          type: number
          description: Version of the plan.
          example: 4
        version_status:
          type: string
          enum:
          - Active
          - Draft
          - Approval
          - Released
          - Inactive
        approval_status:
          type: string
          enum:
          - N/a
          - Pending
          - Assigned
          - Approved
          - Rejected
          description: 'The status of a plan that requires approval before releasing or closing.


            (Availability depends on Organization settings.)'
        customer_name:
          $ref: '#/components/schemas/customer_name'
        supplier_name:
          $ref: '#/components/schemas/supplier_name'
        supplier_number:
          $ref: '#/components/schemas/supplier_number'
        is_tabulated:
          type: boolean
          example: false
          description: If the plan is for a tabulated part.
        is_spec_lib:
          type: boolean
          example: false
          description: If the plan is a spec library
        created_by_name:
          $ref: '#/components/schemas/created_by_username'
        created_on:
          $ref: '#/components/schemas/created_on'
        updated_on:
          $ref: '#/components/schemas/updated_on'
    InspectionList:
      type: array
      minItems: 0
      maxItems: 500
      items:
        $ref: '#/components/schemas/Inspection'
    PlanDetail:
      type: object
      properties:
        ID:
          $ref: '#/components/schemas/ID'
        part_number:
          $ref: '#/components/schemas/part_number'
        rev:
          $ref: '#/components/schemas/rev'
        part_description:
          $ref: '#/components/schemas/part_description'
        operation:
          $ref: '#/components/schemas/operation'
        project_identifier:
          $ref: '#/components/schemas/project_identifier'
        status:
          $ref: '#/components/schemas/status'
        version:
          type: number
          description: Version of the plan.
          example: 4
        version_status:
          type: string
          enum:
          - Active
          - Draft
          - Approval
          - Released
          - Inactive
        approval_status:
          type: string
          enum:
          - N/a
          - Pending
          - Assigned
          - Approved
          - Rejected
          description: 'The status of a plan that requires approval before releasing or closing.


            (Availability depends on Organization settings.)'
        customer_name:
          $ref: '#/components/schemas/customer_name'
        supplier_name:
          $ref: '#/components/schemas/supplier_name'
        supplier_number:
          $ref: '#/components/schemas/supplier_number'
        is_tabulated:
          type: boolean
          example: false
          description: If the plan is for a tabulated part.
        is_spec_lib:
          type: boolean
          example: false
          description: If the plan is a spec library
        created_by_name:
          $ref: '#/components/schemas/created_by_username'
        created_on:
          $ref: '#/components/schemas/created_on'
        updated_on:
          $ref: '#/components/schemas/updated_on'
        specifications:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/Specification'
            - type: object
              properties:
                inspection_types:
                  type: array
                  items:
                    $ref: '#/components/schemas/SpecInspectionType'
    closed_on:
      type: string
      format: date-time
      description: Date & time that an object was closed.
      example: '2021-07-21T07:14:42-08:00'
    Fai:
      type: object
      properties:
        ID:
          $ref: '#/components/schemas/ID'
        insp_ident_1:
          $ref: '#/components/schemas/insp_ident_1'
        insp_ident_2:
          $ref: '#/components/schemas/insp_ident_2'
        insp_ident_3:
          $ref: '#/components/schemas/insp_ident_3'
        part_number:
          $ref: '#/components/schemas/part_number'
        rev:
          $ref: '#/components/schemas/rev'
        part_description:
          $ref: '#/components/schemas/part_description'
        operation:
          $ref: '#/components/schemas/operation'
        customer_name:
          $ref: '#/components/schemas/customer_name'
        supplier_name:
          $ref: '#/components/schemas/supplier_name'
        supplier_number:
          $ref: '#/components/schemas/supplier_number'
        project_identifier:
          $ref: '#/components/schemas/project_identifier'
        site:
          type: string
          nullable: true
          description: Location where inspection was performed, from your organization's Site LOV.
          example: QC Lab
        created_by_name:
          $ref: '#/components/schemas/created_by_username'
        created_on:
          $ref: '#/components/schemas/created_on'
        in_spec_pct:
          type: number
          format: double
          nullable: false
          description: Percentage of in-spec parts for this inspection.
          readOnly: false
          minimum: 0.0
          maximum: 100.0
          example: 100.0
        inspection_status:
          type: string
          enum:
          - Pending
          - Accepted
          - Rejected
          description: Current status of inspection.
          default: Accepted
        inspected_by_name:
          type: string
          nullable: true
          description: Name of user that last set inspection status.
          example: Will Stallard
        inspected_on:
          type: string
          nullable: true
          format: date-time
          description: Date & time that inspection status set.
          example: '2021-07-16T17:42:31-08:00'
        review_status:
          type: string
          enum:
          - Pending
          - Reviewed
          description: Current review status of inspection.
          default: Pending
        reviewed_by_name:
          type: string
          nullable: true
          description: Name of user that set review status.
          example: Nipun Girotra
        reviewed_on:
          type: string
          nullable: true
          format: date-time
          description: Date & time that review status was set.
          example: '2021-07-16T17:53:41-08:00'
        notes:
          type: string
          nullable: true
          maxLength: 32000
          description: Comments on this inspection
          example: Parts are discolored.
        ncrs:
          type: array
          minItems: 0
          items:
            type: string
            nullable: false
          description: 'List of NCR #s associated with this inspection'
          example:
          - NCR-123
          - NCR-456
        updated_on:
          $ref: '#/components/schemas/updated_on'
        closed_on:
  

# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/1factory/refs/heads/main/openapi/1factory-customers-api-openapi.yml