openapi: 3.2.0 info: version: '2.0' title: ZENSIE Quote API servers: - url: https://api.30mhz.com/api tags: - name: Quote paths: /quote: get: tags: - Quote summary: Returns all the quotes description: The authenticated user must be an administrator. operationId: getAllQuotes security: - Bearer: [] responses: '200': description: All the quotes. content: application/json: schema: $ref: '#/components/schemas/Quote' application/zensie-v2+json: schema: $ref: '#/components/schemas/Quote' '403': description: Not enough permissions to perform the operation post: tags: - Quote summary: Add a quote description: The authenticated user must be an administrator. operationId: addQuote security: - Bearer: [] responses: '200': description: Quote added content: application/json: schema: $ref: '#/components/schemas/Quote' application/zensie-v2+json: schema: $ref: '#/components/schemas/Quote' '403': description: Not enough permissions to perform the operation '404': description: Organization does not exist requestBody: content: application/json: schema: $ref: '#/components/schemas/NewQuote' application/xml: schema: $ref: '#/components/schemas/NewQuote' /quote/{quoteId}/order: post: tags: - Quote summary: Creates an order from a quote description: The authenticated user must be an administrator. operationId: createOrderFromQuote parameters: - name: quoteId in: path required: true schema: type: string security: - Bearer: [] responses: '200': description: Order created from quote content: application/json: schema: $ref: '#/components/schemas/Order' application/zensie-v2+json: schema: $ref: '#/components/schemas/Order' '403': description: Not enough permissions to perform the operation '404': description: Quote does not exist requestBody: content: application/json: schema: type: object application/xml: schema: type: object /quote/{quoteId}: get: tags: - Quote summary: Returns the quote with the specified id description: The authenticated user must be an administrator. operationId: getQuoteById parameters: - name: quoteId in: path required: true schema: type: string security: - Bearer: [] responses: '200': description: The quote with the given id. content: application/json: schema: $ref: '#/components/schemas/Quote' application/zensie-v2+json: schema: $ref: '#/components/schemas/Quote' '403': description: Not enough permissions to perform the operation delete: tags: - Quote summary: Deletes the quote with the specified id description: The authenticated user must be an administrator. operationId: deleteQuoteById parameters: - name: quoteId in: path required: true schema: type: string security: - Bearer: [] responses: '200': description: Quote removed. '403': description: Not enough permissions to perform the operation components: schemas: NewQuote: type: object properties: customerRequestId: type: string date: type: string expirationDate: type: string remarks: type: string signedPdfId: type: string status: type: string Order: type: object properties: active: type: boolean description: The state of the order createdAt: type: string description: Order's created at date. customerRequest: $ref: '#/components/schemas/CustomerRequest' customerRequestId: type: string description: Customer request id. date: type: string description: Order's date. dateDone: type: string description: The date when the order's status became Done. dateInProgress: type: string description: The date when the order's status became In Progress. deliveredDate: type: string description: Order's delivered date. dueDate: type: string description: Order's due date. orderId: type: string description: Order id. orderNumber: type: integer format: int32 description: Order number. priority: type: string description: Order's priority status: type: string description: Order's status. description: Order Quote: type: object properties: date: type: string description: Quote's date. expirationDate: type: string description: Quote's expiration date. remarks: type: string description: Quote's remarks. signedPdfId: type: string description: Quote's signed pdf id status: type: string description: Quote's status. description: updating of a quote CustomerRequest: type: object required: - totalPrice properties: accountManager: type: string description: CustomerRequest's account manager. contactPersonEmail: type: string description: CustomerRequest's contact person email. contactPersonFirstName: type: string description: CustomerRequest's contact person first name. contactPersonLastName: type: string description: CustomerRequest's contact person last name. contactPersonPhone: type: string description: CustomerRequest's contact person phone number. countryCode: type: string description: The country code of the quote. createdAt: type: string description: The date and time a quote was created. currency: type: string description: CustomerRequest's currency. customVatPercentage: type: integer format: int32 description: CustomerRequest's custom vat percentage. customerRequestId: type: string description: Customer request id. customerRequestItems: type: array items: $ref: '#/components/schemas/CustomerRequestItem' dealer: type: string description: CustomerRequest's dealer email. deliverOnlyToCustomerAddress: type: boolean description: 'Can the order by delivered to neighbours ' deliveredPersonally: type: boolean description: Is the order delivered by us. description: type: string description: CustomerRequest's description. discountAmount: type: number format: float description: CustomerRequest's discount amount. discountPercentage: type: integer format: int32 description: CustomerRequest's discountPercentage. language: type: string description: The language of the quote. measureFrequency: type: integer format: int32 description: The desired measure frequency. organizationId: type: string description: The organization of the quote. organizationLocationName: type: string description: The organization location of the quote. organizationName: type: string description: The organization name of the quote. paymentConditions: type: boolean description: CustomerRequest's payment conditions. poNumber: type: string description: The PO Number of the customer request. remarks: type: string description: The remarks of the customer request. shippingCost: type: number format: float description: CustomerRequest's shipping cost. signatureRequired: type: boolean description: Is a signature required when delivering totalPrice: type: number format: float description: CustomerRequest's total price. totalPriceIncludingDiscount: type: number format: float description: CustomerRequest's total including discount. totalPriceIncludingVat: type: number format: float description: CustomerRequest's total including vat amount. updatedAt: type: string description: The date and time a quote was last updated. vatAmount: type: number format: float description: CustomerRequest's vat amount. vertical: type: string description: The vertical of the quote. description: Customer request CustomerRequestItem: type: object required: - lineTotal - unitPrice - units properties: configuration: type: object description: Customer request item configuration additionalProperties: type: string createdAt: type: string description: The date and time a quote item was created. customerRequestId: type: string description: Customer request id. customerRequestItemId: type: string description: Customer request item id. description: type: string description: The description for the quote item. lineTotal: type: number format: float description: CustomerRequest item's line total. motherIds: type: array description: The mother id for the quote item. uniqueItems: true items: type: string productId: type: string description: The product id for the quote item. status: type: string description: The status of the quote item. unitPrice: type: number format: float description: CustomerRequest item's unit price. units: type: integer format: int32 description: CustomerRequest item's units. updatedAt: type: string description: The date and time a quote item was last updated. description: CustomerRequestItem securitySchemes: Bearer: description: '' type: apiKey name: Authorization in: header