Trustwell Suppliers API

Supplier relationship management

OpenAPI Specification

trustwell-suppliers-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Trustwell FoodLogiQ Compliance Suppliers API
  description: Open REST API for food supply chain management, compliance, quality assurance, traceability (FSMA 204), and recall management. Enables enterprise food brands to integrate supply chain data with ERP, WMS, and third-party systems.
  version: 1.0.0
  contact:
    url: https://www.trustwell.com/products/foodlogiq/
  termsOfService: https://www.trustwell.com/terms-of-service/
servers:
- url: https://api.trustwell.com/foodlogiq/v1
  description: Production
tags:
- name: Suppliers
  description: Supplier relationship management
paths:
  /suppliers:
    get:
      operationId: listSuppliers
      summary: List Suppliers
      description: Retrieve a list of suppliers in the supply chain network.
      tags:
      - Suppliers
      security:
      - ApiKey: []
      parameters:
      - name: status
        in: query
        required: false
        schema:
          type: string
          enum:
          - active
          - inactive
          - pending
      - name: page
        in: query
        required: false
        schema:
          type: integer
          default: 1
      - name: perPage
        in: query
        required: false
        schema:
          type: integer
          default: 20
      responses:
        '200':
          description: Suppliers returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierListResponse'
        '401':
          description: Unauthorized
    post:
      operationId: createSupplier
      summary: Create Supplier
      description: Add a new supplier to the supply chain network.
      tags:
      - Suppliers
      security:
      - ApiKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierInput'
      responses:
        '201':
          description: Supplier created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Supplier'
  /suppliers/{supplierId}:
    get:
      operationId: getSupplier
      summary: Get Supplier
      description: Retrieve details for a specific supplier.
      tags:
      - Suppliers
      security:
      - ApiKey: []
      parameters:
      - name: supplierId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Supplier details returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Supplier'
        '404':
          description: Supplier not found
    put:
      operationId: updateSupplier
      summary: Update Supplier
      description: Update supplier information.
      tags:
      - Suppliers
      security:
      - ApiKey: []
      parameters:
      - name: supplierId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierInput'
      responses:
        '200':
          description: Supplier updated
components:
  schemas:
    SupplierListResponse:
      type: object
      properties:
        suppliers:
          type: array
          items:
            $ref: '#/components/schemas/Supplier'
        total:
          type: integer
        page:
          type: integer
    SupplierInput:
      type: object
      properties:
        name:
          type: string
        email:
          type: string
          format: email
        countryCode:
          type: string
      required:
      - name
    Supplier:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        status:
          type: string
          enum:
          - active
          - inactive
          - pending
        email:
          type: string
          format: email
        countryCode:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-API-KEY