swagger: '2.0' info: description: "\n\n## Overview\n\n\n\nThis application offers an API for managing assignments and tasks.\n\n\n\nGraphQL endpoint for the same API is [also available](/graph)\n\n\n\n
Authentication\n\n\n\n> \n\n> Authenticate using your Erply credentials and get a sessionKey. This sessionKey and your Erply clientCode must be provided in the HTTP headers of every request. You do not have to authenticate against this API - valid Erply sessionKey-s from other sources are also acceptable. To authenticate using this API, use the `POST /api/v1/auth` endpoint.\n\n>\n\n
\n\n" title: assignments Assortment Matrix Product Variation API contact: {} version: 2.36.5 host: '' basePath: '' schemes: [] tags: - name: Matrix Product Variation paths: /v1/matrix/product/variation/bulk: post: security: - sk: [] - cc: [] - jwt: [] description: Each request body is a variation to create. The parameters to generate the product code/code2 automatically is embedded into the request body as the `generateCodeAutomatically` & `generateCode2Automatically` fields. consumes: - application/json produces: - application/json tags: - Matrix Product Variation summary: Create variations in bulk parameters: - description: bulk create request name: request in: body required: true schema: $ref: '#/definitions/matrixmodels.VariationBulkCreateRequest' responses: '200': description: OK schema: $ref: '#/definitions/responses.BulkResponseWithResults' patch: security: - sk: [] - cc: [] - jwt: [] description: each request item contains the updated resource data consumes: - application/json produces: - application/json tags: - Matrix Product Variation summary: Change variation parents in bulk parameters: - description: requests have the parameters that the original get request has, but in json format. This way you can apply the parameters to each request separately. name: request in: body required: true schema: $ref: '#/definitions/matrixmodels.VariationBulkChangeParentRequest' responses: '200': description: OK schema: $ref: '#/definitions/responses.BulkResponseWithResults' /v1/matrix/product/{id}/variation: post: security: - sk: [] - cc: [] - jwt: [] description: 'Create specific variations (color/size combinations), each one as a separate product. `parent_product_id` field can be left empty on the variation.' consumes: - application/json produces: - application/json tags: - Matrix Product Variation summary: Create Matrix Product Variation parameters: - type: integer description: matrix product ID name: id in: path required: true - description: Variation product and dimension value IDs name: product in: body required: true schema: $ref: '#/definitions/matrixmodels.CreateVariationRequest' - type: boolean description: generate code automatically based on the preconfigured starting code or based on a generated code. If the code is not blank in the request, will override. name: generateCodeAutomatically in: query required: true - type: boolean description: generate code2 (EAN/UPC) automatically based on the preconfigured starting code or based on a generated code. If the code is not blank in the request, will override. name: generateCode2Automatically in: query required: true responses: '201': description: Created schema: $ref: '#/definitions/responses.Response' '400': description: Bad Request schema: $ref: '#/definitions/responses.MessageResponse' '500': description: Internal Server Error schema: $ref: '#/definitions/responses.MessageResponse' /v1/matrix/product/{productID}/variation/{variationID}/dimension-values: patch: security: - sk: [] - cc: [] - jwt: [] description: Update variation's dimensions values consumes: - application/json produces: - application/json tags: - Matrix Product Variation summary: Update a matrix product variation's dimension values parameters: - type: integer description: matrix product ID name: productID in: path required: true - type: integer description: matrix product variation ID name: variationID in: path required: true - description: dimension value IDs name: product in: body required: true schema: $ref: '#/definitions/matrixmodels.ChangeVariationParentRequest' responses: '201': description: Created schema: $ref: '#/definitions/responses.Response' '400': description: Bad Request schema: $ref: '#/definitions/responses.MessageResponse' '404': description: Not Found schema: $ref: '#/definitions/responses.MessageResponse' '500': description: Internal Server Error schema: $ref: '#/definitions/responses.MessageResponse' /v1/matrix/product/{productID}/variation/{variationID}/parent: patch: security: - sk: [] - cc: [] - jwt: [] description: 'This endpoint solves 3 problems: 1) the user can modify a variation product and REMOVE it''s matrix product (set it to 0), 2) the user can move the variation to different matrix product, in that case attach dimension values (same or new) 3) the user can associate a regular product with a matrix one (turn it into a variation) - in this case attach dimension values' consumes: - application/json produces: - application/json tags: - Matrix Product Variation summary: Change Matrix Product Variation Parent parameters: - type: integer description: matrix product ID name: productID in: path required: true - type: integer description: matrix product variation ID name: variationID in: path required: true - description: dimension value IDs - the same as were on the variation, or new name: dimensionValueIDs in: body required: true schema: $ref: '#/definitions/matrixmodels.ChangeVariationParentRequest' responses: '201': description: Created schema: $ref: '#/definitions/responses.Response' '400': description: Bad Request schema: $ref: '#/definitions/responses.MessageResponse' '500': description: Internal Server Error schema: $ref: '#/definitions/responses.MessageResponse' definitions: responses.Response: type: object properties: id: type: integer example: 73 products.ProductRequest: type: object properties: age_restriction: type: integer alcohol_percentage: type: string alcohol_registry_number: type: string backup_id: type: integer batches: type: string brand_id: description: ID of product brand. To get the list of brandmodels, use getBrands. type: integer cashier_must_enter_price: description: boolean flag 0 or 1 type: integer category_id: type: integer code: description: Product's code. Must be UNIQUE, unless the account is configured otherwise. type: string code2: description: Product's second code (by convention, EAN barcode). Must be UNIQUE, unless the account is configured otherwise. type: string code3: description: Third code of the item (note that this field may not be visible on product card by default). type: string code5: type: string code6: type: string code7: type: string code8: type: string cost: description: Cost is Product cost type: number country_of_origin_id: type: integer delivery_time: type: string deposit_fee_amount: type: integer deposit_fee_id: description: ContainerID is ID of another product, a beverage container that is always sold together with this item. type: integer description: $ref: '#/definitions/Description' displayed_in_webshop: description: 0 or 1 type: integer excise_declaration_number: type: string extra_field1_id: type: integer extra_field2_id: type: integer extra_field3_id: type: integer extra_field4_id: type: integer family_id: type: integer formula_identifier: type: string gross_weight: description: GrossWeight is Item's gross weight (with packaging). Unit depends on region, check your Erply account (typically lbs or kg). type: number group_id: description: ID of product group. To get the list of product groups, use getProductGroups. type: integer group_package_ferrous_metal: type: number group_package_metal: type: number group_package_non_ferrous_metal: type: number group_package_paper: type: number group_package_plastic: type: number group_package_wood: type: number has_serial_numbers: type: integer height: type: number is_gift_card: description: 0 or 1 type: integer is_lot_product: type: boolean is_regular_gift_card: description: boolean flag 0 or 1 type: integer is_used_product: type: boolean labels_not_needed: description: boolean flag 0 or 1 type: integer length: description: Length is Item's physical dimensions. type: number location_in_warehouse_id: description: LocationInWarehouseID is ID of selected location in warehouse. type: integer location_in_warehouse_text: description: LocationInWarehouseText is Product's specific text added to location in warehouse. type: string manufacturer_name: type: string name: description: /This field supports more languages. Please read Translatable names and descriptions block in the documentation. $ref: '#/definitions/Translatable' net_weight: description: NetWeight is Item's net weight. Unit depends on region, check your Erply account (typically lbs or kg). type: number non_discountable: description: 0 or 1 type: integer non_refundable: description: 0 or 1 type: integer non_stock_product: description: boolean flag 0 or 1 type: integer packaging_type: type: string packing_not_required: type: integer parent_product_id: description: Parent product ID. Only for matrix variations (specific colors/sizes of a matrix item). See guidelines below. type: integer price: description: 'Price is just the default price of a product and the actual price applied in a particular location, to a particular customer, depends on price lists and promotions: https://learn-api.erply.com/concepts/pricing' type: number priority_group_id: type: integer product_item_level_promotions_disabled: type: integer product_reorder_multiples: type: integer revenue_account: type: string reward_points_not_allowed: description: boolean flag 0 or 1 type: integer sales_package_cardboard: type: number sales_package_clear_brown_glass: type: number sales_package_green_other_glass: type: number sales_package_metal_al: type: number sales_package_metal_fe: type: number sales_package_other_metal: type: number sales_package_paper_and_cardboard_mono: description: Product package materials type: number sales_package_plastic_pet: type: number sales_package_plastic_pp_pe: type: number sales_package_wood: type: number serial_number: type: string shelf_life_days: type: integer sold_in_packages: type: integer status: description: 'Status is a classifier with four possible values: ''ACTIVE'' (DEFAULT), ''NO_LONGER_ORDERED'', ''NOT_FOR_SALE'' and ''ARCHIVED''.' type: string example: ACTIVE suggested_retail_price: type: number supplier_code: description: Supplier's product code type: string supplier_id: type: integer tax_free: description: boolean flag 0 or 1 type: integer tax_rate_id: description: 'TaxRateID is just the default tax rate of a product and the actual tax applied in a particular location depends on multiple rules: https://learn-api.erply.com/concepts/taxes.' type: integer transport_package_cardboard: type: number transport_package_ferrous_metal: type: number transport_package_non_ferrous_metal: type: number transport_package_plastic: type: number transport_package_wood: type: number type: description: Product type, possible types are 'PRODUCT', 'BUNDLE', 'MATRIX', 'ASSEMBLY'. By default 'PRODUCT'. type: string unit_id: description: ID of product unit. To get the list of units, use getProductUnits. type: integer volume: description: Volume is Item's fluid volume, eg. for beverages or perfumery. Unit depends on locale, check your Erply account (typically mL or fl oz). type: number webshop_description: type: string webshop_keywords: type: string webshop_title: type: string webshop_url_slug: type: string width: type: number matrixmodels.VariationBulkChangeParentRequest: type: object properties: requests: type: array items: $ref: '#/definitions/matrixmodels.VariationBulkChangeParentRequestItem' Description: type: object properties: en: description: Description supports more languages. Please read Translatable names and descriptions block in the documentation. $ref: '#/definitions/ProductDescription' ProductDescription: type: object properties: html: description: Description supports more languages. Please read Translatable names and descriptions block in the documentation. type: string example: Very good product! plain_text: description: Description supports more languages. Please read Translatable names and descriptions block in the documentation. type: string example: Very good product! matrixmodels.VariationBulkChangeParentRequestItem: type: object properties: dimension_value_ids: description: Matrix variation can have up to 3 dimension values type: array items: type: integer example: - 1 - 2 - 3 productID: type: integer variationID: type: integer matrixmodels.ChangeVariationParentRequest: type: object properties: dimension_value_ids: description: Matrix variation can have up to 3 dimension values type: array items: type: integer example: - 1 - 2 - 3 responses.MessageResponse: type: object properties: message: type: string example: some message matrixmodels.CreateVariationRequest: type: object properties: dimension_value_ids: description: Matrix variation can have up to 3 dimension values type: array items: type: integer example: - 1 - 2 - 3 variation_product: description: product, type must be PRODUCT $ref: '#/definitions/products.ProductRequest' matrixmodels.VariationBulkCreateRequestItem: type: object properties: dimension_value_ids: description: Matrix variation can have up to 3 dimension values type: array items: type: integer example: - 1 - 2 - 3 generateCode2Automatically: description: if true, the product code1 will be generated based on the user configuration or will generate the conde in case there is none type: boolean generateCodeAutomatically: description: if true, the product code will be generated based on the user configuration or will generate the conde in case there is none type: boolean matrixProductID: type: integer variation_product: description: product, type must be PRODUCT $ref: '#/definitions/products.ProductRequest' Translatable: type: object properties: en: description: This field supports more languages. Please read Translatable names and descriptions block in the documentation. type: string responses.BulkResult: type: object properties: message: type: string example: some message resourceId: description: identifier of the REST-ful response type: integer example: 2 resultId: description: identifier of the result item type: integer example: 2 matrixmodels.VariationBulkCreateRequest: type: object properties: requests: type: array items: $ref: '#/definitions/matrixmodels.VariationBulkCreateRequestItem' responses.BulkResponseWithResults: type: object properties: results: type: array items: $ref: '#/definitions/responses.BulkResult' securityDefinitions: AccessToken: type: apiKey name: accessToken in: header ErplyClientCode: type: apiKey name: clientCode in: header ErplyJWT: type: apiKey name: jwt in: header ErplySession: type: apiKey name: sessionKey in: header RequestKey: type: apiKey name: requestKey in: header