Pax8 Quote preferences API

The Quote preferences API from Pax8 — 1 operation(s) for quote preferences.

OpenAPI Specification

pax8-quote-preferences-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Authentication Access Token Quote preferences API
  version: 1.0.0
  termsOfService: https://usc.pax8.com/resource/display/65345
  description: The Access Token that allows access to the Pax8 API
servers:
- url: https://api.pax8.com/v1
security:
- OAuth2: []
tags:
- name: Quote preferences
paths:
  /v2/quote-preferences:
    get:
      description: Returns quote preferences associated to the current user's partner account.
      operationId: getQuotePreferences
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PreferencesResponse'
          description: OK - Returns the quote preferences.
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request - Invalid request parameters.
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Authorization Error - Access denied.
      summary: Get quote preferences
      tags:
      - Quote preferences
    put:
      description: Create or update preferences for quotes.
      operationId: persistQuotePreferences
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreferencesPayload'
        required: true
      responses:
        '200':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/QuotePreferencesResult'
          description: OK
        '201':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/QuotePreferencesResult'
          description: Created
        '400':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '403':
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Authorization Error
      summary: Update quote preferences
      tags:
      - Quote preferences
components:
  schemas:
    ErrorDetails:
      type: object
      properties:
        message:
          type: string
        type:
          type: string
          enum:
          - ACCESS_DENIED_IMPERSONATION
          - ACCESS_DENIED_REQUESTED_RESOURCE
          - ACCESS_LIST_LIMIT_EXCEEDED
          - CLIENT_ACCESS_DENIED
          - RESOURCE_NOT_FOUND
          - BAD_REQUEST
          - FAILED_ORDER_VALIDATION
          - INVALID_REQUEST_FIELD
          - QUOTE_NOT_FOUND
          - QUOTE_INVALID_STATUS
          - QUOTE_VALIDATION
          - QUOTE_EMIT_FAILED
          - CREATE_QUOTE_FAILED
          - QUOTE_ALREADY_DELETED
          - QUOTE_NOT_VALID
          - QUOTE_UPSERT_FAILED
          - QUOTE_COMPANY_PARTNER_COMPATIBILITY_CHECK_FAILED
          - QUOTE_REQUEST_COMPANY_COMPATIBILITY_CHECK_FAILED
          - QUOTE_ADD_LINE_ITEMS_FAILED
          - USER_NOT_FOUND
          - PARTNER_NOT_FOUND
          - LINE_ITEM_NOT_FOUND
          - QUOTE_LINE_ITEM_NOT_FOUND
          - SAVE_LINE_ITEM_FAILED
          - REQUEST_VALIDATION_FAILED
          - UNAUTHORIZED_ERROR
          - LINE_ITEM_LIMIT_EXCEEDED
          - DUPLICATE_QUOTE_WITH_EMPTY_LINE_ITEMS
          - DUPLICATE_QUOTE_VALIDATE_ALLOWED_PRODUCTS_FAILED
          - DUPLICATE_QUOTE_NO_PRODUCTS_ALLOWED
          - QUOTE_VALIDATION_TRIAL_PARENT_RESTRICTION
          - QUOTE_INVALID_RESPONSE
          - COMPANY_NOT_PROVIDED
          - COMPANY_PARTNER_COMPATIBILITY_MISMATCH
          - USER_LEVEL_CHECK_FAILED
          - QUOTE_REQUEST_NOT_FOUND
          - QUOTE_ACCESS_EMAIL_EXISTS
          - QUOTE_ACCESS_ENTRY_NOT_FOUND
          - QUOTE_ACCESS_ENTRY_INVALID_QUOTE_ID
          - USER_LEVEL_CHECK_FAILED_COMPANY
          - INVALID_REQUEST_PARAMETER
          - INVALID_USER_LEVEL
          - INVALID_REQUEST_BODY
          - BRANDING_NOT_FOUND
          - VIEW_NOT_FOUND
          - INTERNAL_EXCEPTION
          - REFERENCE_CODE_GENERATION_EXCEPTION
          - USAGE_BASED_PARAMETERS_MISCONFIGURATION
          - UNKNOWN_CURRENCY
          - UNKNOWN_ERROR
          - UNPROCESSABLE_INPUT
          - PAYLOAD_VALIDATION
          - MAX_ATTACHMENTS_EXCEEDED
          - LIBRARY_MAX_ATTACHMENTS_EXCEEDED
          - PREFERENCE_MAX_ATTACHMENTS_EXCEEDED
          - DUPLICATE_QUOTE_ATTACHMENT
          - QUOTE_ATTACHMENT_NOT_FOUND
          - LIBRARY_ATTACHMENT_NOT_FOUND
          - PREFERENCE_ATTACHMENT_NOT_FOUND
          - LIBRARY_ATTACHMENT_ALREADY_EXISTS
          - ATTACHMENT_NOT_FOUND
          - QUOTE_ATTACHMENT_UNSUPPORTED_ORDER_INDEX
          - LIBRARY_ATTACHMENT_UNSUPPORTED_ORDER_INDEX
          - PREFERENCE_ATTACHMENT_UNSUPPORTED_ORDER_INDEX
          - DUPLICATE_PREFERENCE_ATTACHMENT
          - QUOTE_ALREADY_OWNED
          - EXECUTION_VALIDATION
          - SHADOW_COMPANY_EXPECTED
          - CUSTOMER_COMPANY_EXPECTED
          - QUOTE_ACCESS_USERID_EXISTS
      required:
      - message
      - type
    ErrorResponse:
      type: object
      properties:
        details:
          type: array
          items:
            $ref: '#/components/schemas/ErrorDetails'
        instance:
          type: string
        message:
          type: string
        status:
          type: integer
          format: int32
        type:
          type: string
      required:
      - details
      - instance
      - message
      - status
      - type
    AttachmentResponse:
      type: object
      properties:
        createdBy:
          $ref: '#/components/schemas/CreatedBy'
        createdOn:
          type: string
          format: date-time
        id:
          type: string
          format: uuid
        name:
          type: string
        order:
          type: integer
          format: int32
        replacedOn:
          type: string
          format: date-time
        type:
          type: string
        url:
          type: string
      required:
      - createdBy
      - createdOn
      - id
      - name
      - order
      - type
      - url
    CreatedBy:
      type: object
      properties:
        fullName:
          type: string
        id:
          type: string
          format: uuid
        role:
          type: string
      required:
      - fullName
      - id
      - role
    PreferencesResponse:
      type: object
      properties:
        attachments:
          type: array
          items:
            $ref: '#/components/schemas/AttachmentResponse'
        daysToExpire:
          type: integer
          format: int32
        introMessage:
          type: string
        salesMarginPercentage:
          type: number
          format: double
        termsAndDisclaimers:
          type: string
      required:
      - attachments
      - daysToExpire
      - introMessage
      - salesMarginPercentage
      - termsAndDisclaimers
    PreferencesPayload:
      type: object
      properties:
        daysToExpire:
          type: integer
          format: int32
        introMessage:
          type: string
        salesMarginPercentage:
          type: number
          format: double
        termsAndDisclaimers:
          type: string
      required:
      - daysToExpire
      - introMessage
      - termsAndDisclaimers
    QuotePreferencesResult:
      type: object
      properties:
        daysToExpire:
          type: integer
          format: int32
        introMessage:
          type: string
        salesMarginPercentage:
          type: number
          format: double
        termsAndDisclaimers:
          type: string
      required:
      - daysToExpire
      - introMessage
      - salesMarginPercentage
      - termsAndDisclaimers
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://token-manager.pax8.com/oauth/token
          scopes: {}