1Factory QMS API

Data related to Quality

Business capability
Non-Conformance Management BC-720.40

Operations 3

GET /qms/ncrs 1Factory Gets a List of NCRs for Your Organization #
GET /qms/capas 1Factory Gets a List of CAPAs for Your Organization #
GET /qms/complaints 1Factory Gets a List of Complaints for Your Organization #

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/1factory:1factory-qms-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

1factory-qms-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 1Factory QMS API
  description: This API allows you to create and query a number of objects in your 1Factory account.
  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: QMS
  description: Data related to Quality
paths:
  /qms/ncrs:
    get:
      tags:
      - QMS
      summary: 1Factory Gets a List of NCRs for Your Organization
      description: 'The list of NCRs can be filtered by specifying query parameters.


        Paging parameters control the number of rows NCR objects returned. By default, the first 100 NCRs are returned.'
      parameters:
      - $ref: '#/components/parameters/page'
        example: example-value
      - $ref: '#/components/parameters/pageSize'
        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/NcrList'
              examples:
                Getqmsncrs200Example:
                  summary: Default getqmsncrs 200 response
                  x-microcks-default: true
                  value:
                  - {}
          description: Returns a list of NCRs, most recently created first. Utilize paging query parameters to query older NCRs. 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
      operationId: getQmsNcrs
      x-operation-id-source: derived
  /qms/capas:
    get:
      tags:
      - QMS
      summary: 1Factory Gets a List of CAPAs for Your Organization
      description: 'The list of CAPAs can be filtered by specifying query parameters.


        Paging parameters control the number of rows CAPA objects returned. By default, the first 100 CAPAs are returned.'
      parameters:
      - $ref: '#/components/parameters/page'
        example: example-value
      - $ref: '#/components/parameters/pageSize'
        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/CapaList'
              examples:
                Getqmscapas200Example:
                  summary: Default getqmscapas 200 response
                  x-microcks-default: true
                  value:
                  - {}
          description: Returns a list of CAPAs, most recently created first. Utilize paging query parameters to query older CAPAs. 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
      operationId: getQmsCapas
      x-operation-id-source: derived
  /qms/complaints:
    get:
      tags:
      - QMS
      summary: 1Factory Gets a List of Complaints for Your Organization
      description: 'The list of Complaints can be filtered by specifying query parameters.


        Paging parameters control the number of rows Complaint objects returned. By default, the first 100 Complaints are returned.'
      parameters:
      - $ref: '#/components/parameters/page'
        example: example-value
      - $ref: '#/components/parameters/pageSize'
        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/ComplaintList'
              examples:
                Getqmscomplaints200Example:
                  summary: Default getqmscomplaints 200 response
                  x-microcks-default: true
                  value:
                  - {}
          description: Returns a list of Complaints, most recently created first. Utilize paging query parameters to query older Complaints. 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
      operationId: getQmsComplaints
      x-operation-id-source: derived
components:
  schemas:
    Issue:
      type: object
      properties:
        ID:
          $ref: '#/components/schemas/ID'
        number:
          type: number
          example: 1234
          description: The reference number for the NCR, Complaint, or CAPA
        part_number:
          $ref: '#/components/schemas/part_number'
        rev:
          $ref: '#/components/schemas/rev'
        part_description:
          $ref: '#/components/schemas/part_description'
        customer_name:
          $ref: '#/components/schemas/customer_name'
        customer_ident:
          type:
          - string
          - 'null'
          maxLength: 255
          description: 'Your Organization''s custom identifier for customer NCRs (ex. Customer PO #)'
          example: PO-1234
        supplier_name:
          $ref: '#/components/schemas/supplier_name'
        supplier_ident:
          type:
          - string
          - 'null'
          maxLength: 255
          description: 'Your Organization''s custom identifier for supplier NCRs (ex. Supplier Lot #)'
          example: '123456'
        type:
          type: string
          maxLength: 255
          description: Type of NCR
          example: Rcvg.
          enum:
          - Rcvg.
          - Mfg.
          - Field
          - Cust.
          - Devn.
        mfg_insp_ident_1:
          type:
          - string
          - 'null'
          maxLength: 255
          description: 'Your Organization''s custom primary identifier for manufacturing inspection identifiers. (ex. Job #)'
          example: job-20240003
        mfg_insp_ident_2:
          type:
          - string
          - 'null'
          maxLength: 255
          description: 'Your Organization''s custom secondary identifier for manufacturing inspection identifiers. (ex. PO #)'
          example: po-20240065
        rec_insp_ident_1:
          type:
          - string
          - 'null'
          maxLength: 255
          description: 'Your Organization''s custom primary identifier for receiving inspection identifiers. (ex. Job #)'
          example: job-20240003
        rec_insp_ident_2:
          type:
          - string
          - 'null'
          maxLength: 255
          description: 'Your Organization''s custom secondary identifier for receiving inspection identifiers. (ex. PO #)'
          example: po-20240065
        lot_quantity:
          type: number
          description: The number of parts in the lot of the NCR
          example: 100
        inspection_quantity:
          type: number
          description: The number of parts in the lot that were inspected as part of the NCR
          example: 10
        defective_quantity:
          type: number
          description: The number of parts rejected as part of the NCR
          example: 3
        impact:
          type: string
          description: Business impact of the NCR
          example: LOW
          enum:
          - LOW
          - MEDIUM
          - HIGH
        detected_at:
          type:
          - string
          - 'null'
          description: Where the problem for the NCR was detected.
          example: Final Inspection
        problem_type:
          type:
          - string
          - 'null'
          description: A simple description of the problem.
          example: Out-of-spec
        root_cause:
          type:
          - string
          - 'null'
          description: The root cause of the problem.
          example: Machining Error
        caused_by:
          type:
          - string
          - 'null'
          description: The department or group that caused the problem.
          example: Engineering
        problem_summary:
          type:
          - string
          - 'null'
          maxLength: 255
          description: Problem summary of the NCR.
          example: Manufacturing defect
        total_cost:
          type:
          - number
          - 'null'
          description: Cost of the NCR
          example: 1000.0
        status:
          type: string
          description: Status of the NCR
          example: OPEN
          enum:
          - OPEN
          - CLOSED
        task_status:
          type: string
          description: Status of all tasks on NCR.
          example: OPEN
          enum:
          - N/A
          - OPEN
          - CLOSED
        task_count:
          type: number
          description: Number of tasks for the NCR.
          example: 3
        owner:
          $ref: '#/components/schemas/owner'
        created_by_name:
          $ref: '#/components/schemas/created_by_username'
        created_on:
          $ref: '#/components/schemas/created_on'
        updated_on:
          $ref: '#/components/schemas/updated_on'
        closed_on:
          $ref: '#/components/schemas/closed_on'
    NcrList:
      type: array
      minItems: 0
      maxItems: 500
      items:
        $ref: '#/components/schemas/Ncr'
    part_description:
      type:
      - string
      - 'null'
      maxLength: 255
      description: Description of the part.
      example: Three Lobe Shaft
    created_by_username:
      type: string
      description: Name of user that created the entity.
      example: Oleg Nickolayev
    owner:
      type: string
      description: Name of user that owns the entity.
      example: Oleg Nickolayev
    Error:
      properties:
        code:
          type: string
          description: Error code identifying type of error.
        message:
          type: string
          description: Error message.
    updated_on:
      type: string
      format: date-time
      description: Date & time that an object was last updated.
      example: '2021-07-17T12:14:42-08:00'
    ComplaintList:
      type: array
      minItems: 0
      maxItems: 500
      items:
        $ref: '#/components/schemas/Complaint'
    ID:
      type: integer
      format: int32
      description: Unique identifier for the Inspection, assigned by 1Factory.
      readOnly: true
      example: 12345
    closed_on:
      type: string
      format: date-time
      description: Date & time that an object was closed.
      example: '2021-07-21T07:14:42-08:00'
    customer_name:
      type:
      - string
      - 'null'
      description: The name of the customer (for manufacturing inspections).
      example: Rocket Company
    supplier_name:
      type:
      - string
      - 'null'
      description: The name of the supplier (for receiving or supplier inspections).
      example: Acme Industries
    Complaint:
      type: object
      allOf:
      - $ref: '#/components/schemas/Issue'
      - properties:
          source:
            type: string
            description: Source of the complaint.
            enum:
            - Customer
            - Field
          customer_address:
            type: string
          contact_first_name:
            type: string
          contact_last_name:
            type: string
          contact_email:
            type: string
          contact_phone:
            type: string
          customer_ncr_no:
            type: string
            description: Customer NCR number if available.
          rma_no:
            type: string
          device_identifier:
            type: string
          serial_nos:
            type: string
          capa_required:
            type: boolean
          capa_id:
            type: number
          date_due:
            type: string
            format: date-time
            description: Date & time that a Complaint is due.
            example: '2021-07-21T07:14:42-08:00'
          complaint_on:
            type: string
            format: date-time
            description: Date & time of the original complaint.
            example: '2021-07-21T07:14:42-08:00'
    part_number:
      type: string
      maxLength: 255
      description: Part number. Together with rev, uniquely identifies a part.
      example: 10-12345-12
      minLength: 1
    rev:
      type:
      - string
      - 'null'
      maxLength: 255
      description: Part revision. Together with part number, uniquely identifies a part.
      example: A
    Capa:
      type: object
      allOf:
      - $ref: '#/components/schemas/Issue'
      - properties:
          date_due:
            type: string
            format: date-time
            description: Date & time that a CAPA is due.
            example: '2021-07-21T07:14:42-08:00'
    CapaList:
      type: array
      minItems: 0
      maxItems: 500
      items:
        $ref: '#/components/schemas/Capa'
    created_on:
      type: string
      format: date-time
      description: Date & time that an object was created.
      example: '2021-07-15T09:14:42-08:00'
    Ncr:
      type: object
      allOf:
      - $ref: '#/components/schemas/Issue'
      - properties:
          description:
            type:
            - string
            - 'null'
            maxLength: 255
            description: Description of the part.
            example: Three Lobe Shaft
          use_as_is_quantity:
            type:
            - number
            - 'null'
            description: The number of parts that failed inspection that can be used as-is without rework or scrapping.
            example: 3
          scrap_quantity:
            type:
            - number
            - 'null'
            description: The number of parts that failed inspection that must be scrapped.
            example: 3
          return_quantity:
            type:
            - number
            - 'null'
            description: The number of parts that failed inspection that must be returned to the supplier.
            example: 3
          rework_quantity:
            type:
            - number
            - 'null'
            description: The number of parts that failed inspection that can be reworked to pass inspection.
            example: 3
          repair_quantity:
            type:
            - number
            - 'null'
            description: The number of parts that failed inspection that can be repaired to pass inspection.
            example: 3
          no_defect_quantity:
            type:
            - number
            - 'null'
            description: The number of parts in the lot that do not have any defects.
            example: 3
          inventory_location:
            type:
            - string
            - 'null'
            description: ''
            example: Warehouse
          rma_number:
            type:
            - string
            - 'null'
            description: RMA number, if any, for the returned parts in the NCR.
            example: rma-202405
          rework_po:
            type:
            - string
            - 'null'
            description: ''
            example: po-202407-1
          shipment:
            type:
            - string
            - 'null'
            description: Shipment number, if any, for parts in the NCR
            example: ''
          mrb_meeting_notes:
            type:
            - string
            - 'null'
            description: Any meeting notes for this NCR from a MBR meeting.
            example: ''
          mrb_dispositions:
            type: array
            description: MRB dispositions for this NCR.
            items:
              type: object
              properties:
                type:
                  type: string
                  example: REWORK
                qty:
                  type: number
                  example: 2
          serial_numbers:
            type:
            - string
            - 'null'
            description: Serial number(s) for this NCR.
            example: SN123456
  responses:
    InvalidQueryParam:
      description: Invalid request. A problem with the request query parameters prevents it from being processed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: FAC-11
            message: 'Invalid query parameter: ''-1'' is not a valid value for ''page_size''.'
    '401':
      description: Unauthorized. Missing or invalid API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: FAC-2
            message: Invalid api key. Ensure the value provided in the x-1factory-key request header matches the API key in your 1Factory settings page.
  parameters:
    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
    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.
    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.
    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).
    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.
    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
    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
    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
  securitySchemes:
    OrgId:
      type: apiKey
      in: header
      name: x-1factory-org
      description: ID of your organization in 1Factory. Available in the Settings page of the 1Factory application.
    ApiKey:
      type: apiKey
      in: header
      name: x-1factory-key
      description: API key for your organization. Generated in the Settings page of the 1Factory application.