Phasio Customer Operator Controller API

API for customers to retrieve information about the operator

OpenAPI Specification

phasio-customer-operator-controller-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Phasio Activity Internal Customer Operator Controller API
  description: This is the API documentation for the Phasio application.
  version: '1.0'
servers:
- url: https://m-api.eu.phas.io
  description: Generated server url
security:
- Phasio API Bearer Token: []
tags:
- name: Customer Operator Controller
  description: API for customers to retrieve information about the operator
paths:
  /api/customer/v1/operator:
    get:
      tags:
      - Customer Operator Controller
      summary: Get operator information
      description: Retrieves information about the current operator
      operationId: getOperator_1
      responses:
        '200':
          description: Successfully retrieved operator information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperatorDto'
        '400':
          description: Operator not found
        '401':
          description: Unauthorized - missing operator context
  /api/customer/v1/operator/shipping-methods:
    get:
      tags:
      - Customer Operator Controller
      summary: Get available shipping methods
      description: Retrieves all shipping methods available to the customer
      operationId: getShippingMethods_1
      responses:
        '200':
          description: Successfully retrieved shipping methods
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ShippingMethodDto'
        '401':
          description: Unauthorized - missing customer or operator context
  /api/customer/v1/operator/processes:
    get:
      tags:
      - Customer Operator Controller
      summary: Get available manufacturing processes
      description: Retrieves all manufacturing processes available to the customer
      operationId: getProcesses_1
      responses:
        '200':
          description: Successfully retrieved manufacturing processes
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProcessPricesDto'
        '401':
          description: Unauthorized - missing customer or operator context
  /api/customer/v1/operator/logo:
    get:
      tags:
      - Customer Operator Controller
      summary: Get operator logo
      description: Retrieves the logo image for the current operator
      operationId: downloadLogo_1
      responses:
        '200':
          description: Successfully retrieved logo
          content:
            application/octet-stream: {}
        '400':
          description: Logo not found or could not be retrieved
        '401':
          description: Unauthorized - missing operator context
  /api/customer/v1/operator/lead-times:
    get:
      tags:
      - Customer Operator Controller
      summary: Get available manufacturing lead times
      description: Retrieves all manufacturing lead times
      operationId: getLeadTimes
      responses:
        '200':
          description: Successfully retrieved manufacturing lead times
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LeadTimeDto'
        '401':
          description: Unauthorized - missing customer or operator context
components:
  schemas:
    InfillDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        value:
          type: number
        default:
          type: boolean
      required:
      - default
      - id
      - name
      - value
    LeadTimeDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        isDefault:
          type: boolean
        isDeleted:
          type: boolean
      required:
      - id
      - isDefault
      - isDeleted
      - name
    ColorDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        code:
          type: string
      required:
      - code
      - id
      - name
    ShippingMethodDto:
      type: object
      properties:
        shippingMethodId:
          type: integer
          format: int64
        shippingMode:
          type: string
      required:
      - shippingMethodId
      - shippingMode
    ProcessPricesDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        technology:
          type: string
        description:
          type: string
        materials:
          type: array
          items:
            $ref: '#/components/schemas/MaterialDto'
        infills:
          type: array
          items:
            $ref: '#/components/schemas/InfillDto'
        precisions:
          type: array
          items:
            $ref: '#/components/schemas/PrecisionPricesDto'
        postProcessings:
          type: array
          items:
            $ref: '#/components/schemas/PostProcessingDto'
        isInternal:
          type: boolean
        isDefault:
          type: boolean
        bulkPricingQuantities:
          type: array
          items:
            type: integer
      required:
      - bulkPricingQuantities
      - id
      - infills
      - isDefault
      - isInternal
      - materials
      - postProcessings
      - precisions
      - technology
    PrecisionPricesDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        price:
          type: number
        isActive:
          type: boolean
      required:
      - id
      - isActive
      - name
      - price
    PostProcessingDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        purchasable:
          type: boolean
        isDefault:
          type: boolean
        colors:
          type: array
          items:
            $ref: '#/components/schemas/ColorDto'
        incompatibleMaterialIds:
          type: array
          items:
            type: integer
            format: int64
        mutuallyExclusiveGroup:
          type: string
      required:
      - colors
      - incompatibleMaterialIds
      - isDefault
      - name
      - purchasable
    OperatorDto:
      type: object
      properties:
        name:
          type: string
        subscribedModules:
          type: array
          items:
            type: string
          uniqueItems: true
        currency:
          type: string
        acceptedCurrencies:
          type: array
          items:
            type: string
            enum:
            - USD
            - SGD
            - EUR
            - INR
            - JPY
            - AUD
            - GBP
            - NZD
            - MYR
            - CAD
            - CHF
            - DKK
            - SEK
            - MXN
            - ZAR
            - UAH
            - NOK
            - PHP
            - TRY
          uniqueItems: true
        permittedDomains:
          type: array
          items:
            type: string
          uniqueItems: true
        loginMethod:
          type: string
          enum:
          - EMAIL
          - PHONE
          - ANY
        loginStage:
          type: string
          enum:
          - BEFORE_PRICE
          - AFTER_PRICE
        landingPageMessage:
          type: string
        paymentProvider:
          type: string
        videoLink:
          type: string
        termsOfServiceLink:
          type: string
        maximumFileSize:
          type: integer
          format: int64
        isAIEnabled:
          type: boolean
        isTaxIDEnabled:
          type: boolean
        isPayByInvoiceEnabled:
          type: boolean
        isPayByPurchaseOrderEnabled:
          type: boolean
        isAccountingEnabled:
          type: boolean
        isOrientationConstraintEnabled:
          type: boolean
        isInvoiceDownloadEnabled:
          type: boolean
        storefrontTheme:
          type: string
          enum:
          - SYSTEM
          - LIGHT
          - DARK
        country:
          type: string
      required:
      - acceptedCurrencies
      - country
      - currency
      - isAIEnabled
      - isAccountingEnabled
      - isInvoiceDownloadEnabled
      - isOrientationConstraintEnabled
      - isPayByInvoiceEnabled
      - isPayByPurchaseOrderEnabled
      - isTaxIDEnabled
      - loginMethod
      - loginStage
      - name
      - paymentProvider
      - permittedDomains
      - storefrontTheme
      - subscribedModules
    MaterialDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        datasheetSummary:
          type: string
        quoteOnly:
          type: boolean
        colorDtos:
          type: array
          items:
            $ref: '#/components/schemas/ColorDto'
        isDefault:
          type: boolean
        wallThicknessWarning:
          type: number
        wallThicknessLimit:
          type: number
      required:
      - colorDtos
      - id
      - isDefault
      - name
      - quoteOnly
  securitySchemes:
    Phasio API Bearer Token:
      type: http
      name: Authorization
      in: header
      scheme: bearer
      bearerFormat: JWT