{"swagger":"2.0","info":{"version":"v1","title":"SELLSATION API"},"host":"api.sellsation.com","schemes":["https"],"paths":{"/v1/contactPersons/{contactId}":{"get":{"tags":["ContactPersons"],"summary":"Get contact person by contactId identifier","operationId":"ContactPersons_GetContact","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"contactId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ContactModel"}},"403":{"description":"Missing read scope or not allowed to access project"},"404":{"description":"NotFound"}}},"delete":{"tags":["ContactPersons"],"summary":"Delete contact by id","operationId":"ContactPersons_DeleteContactAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"contactId","in":"path","description":"Contact identifier","required":true,"type":"integer","format":"int32"},{"name":"permanently","in":"query","description":"When true, permanently deletes the contact. Defaults to false (soft delete).","required":false,"type":"boolean"}],"responses":{"200":{"description":"OK","schema":{"type":"object"}},"204":{"description":"NoContent"},"403":{"description":"Missing write scope"},"404":{"description":"NotFound"}}},"patch":{"tags":["ContactPersons"],"summary":"Updates an existing contact using a JSON patch document.","operationId":"ContactPersons_PatchContactAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded","application/json-patch+json"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"contactId","in":"path","description":"The unique identifier of the contact to patch.","required":true,"type":"integer","format":"int32"},{"name":"jsonModel","in":"body","description":"The JSON patch document containing the updates to apply to the contact.","required":true,"schema":{"$ref":"#/definitions/JsonPatchDocumentOfPatchContactModel"}}],"responses":{"200":{"description":"OK"},"400":{"description":"BadRequest"},"403":{"description":"Missing write scope"},"404":{"description":"NotFound"}}}},"/v1/contactPersons":{"post":{"tags":["ContactPersons"],"summary":"Create contact","description":"Write scope necessary","operationId":"ContactPersons_CreateContactAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"model","in":"body","description":"Contact to create","required":true,"schema":{"$ref":"#/definitions/CreateContactModel"}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}},"201":{"description":"Created","schema":{"$ref":"#/definitions/ContactModel"}},"400":{"description":"BadRequest"},"403":{"description":"Missing write scope"},"404":{"description":"NotFound"}}}},"/v1/customerCategories":{"get":{"tags":["CustomerCategories"],"summary":"Get all customer categories","description":"Get list of customer categories","operationId":"CustomerCategories_GetCustomerCategoriesAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/CustomerCategoryModel"}}}}}},"/v1/customerCategories/{customerCategoryId}":{"get":{"tags":["CustomerCategories"],"summary":"Get specific customer category","description":"Get customer category by identifier","operationId":"CustomerCategories_GetProjectSourceAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customerCategoryId","in":"path","description":"Customer category identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/CustomerCategoryModel"}},"404":{"description":"NotFound"}}}},"/v1/customers":{"get":{"tags":["Customers"],"summary":"Get all customers","operationId":"Customers_GetCustomersAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/CustomerModel"}}}}},"post":{"tags":["Customers"],"summary":"Create customer","description":"Write scope necessary","operationId":"Customers_CreateCustomerAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"model","in":"body","description":"Customer to create","required":true,"schema":{"$ref":"#/definitions/CreateCustomerModel"}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}},"201":{"description":"Created"},"400":{"description":"BadRequest"},"403":{"description":"Missing write scope"}}}},"/v1/customers/{customerId}":{"get":{"tags":["Customers"],"summary":"Get customer by customer identifier","description":"Get customer by customer identifier","operationId":"Customers_GetCustomerAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customerId","in":"path","description":"Customer identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/CustomerModel"}},"404":{"description":"NotFound"}}},"put":{"tags":["Customers"],"summary":"Update customer","description":"Write scope necessary","operationId":"Customers_UpdateCustomerAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customerId","in":"path","description":"Customer identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"Customer to update","required":true,"schema":{"$ref":"#/definitions/UpdateCustomerModel"}}],"responses":{"200":{"description":"OK"},"400":{"description":"BadRequest"},"403":{"description":"Missing write scope"}}},"patch":{"tags":["Customers"],"summary":"Patch customer","description":"Write scope necessary","operationId":"Customers_PatchCustomerAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded","application/json-patch+json"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customerId","in":"path","description":"Customer identifier","required":true,"type":"integer","format":"int32"},{"name":"jsonModel","in":"body","description":"UpdateJSON with metadata for operations. E.g. add/replace/remove field","required":true,"schema":{"$ref":"#/definitions/JsonPatchDocumentOfPatchCustomerModel"}}],"responses":{"200":{"description":"OK"},"400":{"description":"BadRequest"},"403":{"description":"Missing write scope"}}}},"/v1/customers/Identifier/{externalId}":{"get":{"tags":["Customers"],"summary":"Get customer identifier by external identifier","description":"Get customer identifier by external identifier","operationId":"Customers_GetCustomerIdAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"externalId","in":"path","description":"External customer identifier","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"format":"int32","type":"integer"}},"404":{"description":"NotFound"}}}},"/v1/customers/{customerId}/contacts":{"get":{"tags":["Customers"],"summary":"Get contacts by customer identifier","description":"Get contacts by customer identifier","operationId":"Customers_GetCustomerContactsAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customerId","in":"path","description":"Customer identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/ContactInfoModel"}}}}},"post":{"tags":["Customers"],"summary":"Create customer contact","description":"Write scope necessary","operationId":"Customers_CreateCustomerContactAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customerId","in":"path","description":"Customer identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"Contact to create","required":true,"schema":{"$ref":"#/definitions/CreateContactModel"}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}},"201":{"description":"Created","schema":{"$ref":"#/definitions/ContactModel"}},"400":{"description":"BadRequest"},"403":{"description":"Missing write scope"},"404":{"description":"NotFound"}}}},"/v1/customers/{customerId}/contacts/{contactId}":{"get":{"tags":["Customers"],"summary":"Get contact by contact identifier","description":"Get contact by contact identifier","operationId":"Customers_GetCustomerContactAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customerId","in":"path","description":"Customer identifier","required":true,"type":"integer","format":"int32"},{"name":"contactId","in":"path","description":"Contact identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ContactModel"}},"404":{"description":"NotFound"}}},"put":{"tags":["Customers"],"summary":"Update customer contact","description":"Write scope necessary","operationId":"Customers_UpdateCustomerContactAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customerId","in":"path","description":"Customer identifier","required":true,"type":"integer","format":"int32"},{"name":"contactId","in":"path","description":"Contact identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"Contact to update","required":true,"schema":{"$ref":"#/definitions/UpdateContactModel"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ContactModel"}},"400":{"description":"BadRequest"},"403":{"description":"Missing write scope"},"404":{"description":"NotFound"}}},"delete":{"tags":["Customers"],"summary":"End relationship from contact to customer","description":"End relationship from contact to customer","operationId":"Customers_DeleteCustomerContactAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customerId","in":"path","description":"Customer identifier","required":true,"type":"integer","format":"int32"},{"name":"contactId","in":"path","description":"Contact identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"EndDate","required":true,"schema":{"$ref":"#/definitions/DeleteCustomerContactModel"}}],"responses":{"200":{"description":"OK"},"404":{"description":"NotFound"}}},"patch":{"tags":["Customers"],"summary":"Update customer contact","description":"Write scope necessary","operationId":"Customers_PatchCustomerContactAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded","application/json-patch+json"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customerId","in":"path","description":"Customer identifier","required":true,"type":"integer","format":"int32"},{"name":"contactId","in":"path","description":"Contact identifier","required":true,"type":"integer","format":"int32"},{"name":"jsonModel","in":"body","description":"UpdateJSON with metadata for operations. E.g. add/replace/remove field","required":true,"schema":{"$ref":"#/definitions/JsonPatchDocumentOfPatchContactModel"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ContactModel"}},"400":{"description":"BadRequest"},"403":{"description":"Missing write scope"},"404":{"description":"NotFound"}}}},"/v1/customers/{customerId}/contacts/Identifier/{externalId}":{"get":{"tags":["Customers"],"summary":"Get contact identifier by external identifier","description":"Get contact identifier by external identifier","operationId":"Customers_GetContactsIdAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customerId","in":"path","description":"Customer id","required":true,"type":"integer","format":"int32"},{"name":"externalId","in":"path","description":"External contact identifier","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"format":"int32","type":"integer"}},"404":{"description":"NotFound"}}}},"/v1/customers/{customerId}/interests":{"get":{"tags":["Customers"],"summary":"Get customer interests","description":"Get customer interests","operationId":"Customers_GetCustomerInterests","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customerId","in":"path","description":"Customer id","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"format":"int32","type":"integer"}},"404":{"description":"NotFound"}}},"post":{"tags":["Customers"],"summary":"Get customer interests","description":"Get customer interests","operationId":"Customers_PostCustomerInterests","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customerId","in":"path","description":"Customer id","required":true,"type":"integer","format":"int32"},{"name":"interestIds","in":"body","description":"Interest id","required":true,"schema":{"type":"array","items":{"format":"int32","type":"integer"}}}],"responses":{"200":{"description":"OK","schema":{"format":"int32","type":"integer"}},"404":{"description":"NotFound"}}}},"/v1/customFieldContainers":{"get":{"tags":["CustomFieldContainers"],"summary":"Get custom field by custom field identifier","operationId":"CustomFieldContainers_GetCustomFieldsAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/CustomFieldContainerModel"}}},"403":{"description":"Missing read scope or not allowed to access project"},"404":{"description":"NotFound"}}}},"/v1/customFieldContainers/{customFieldContainerId}":{"get":{"tags":["CustomFieldContainers"],"summary":"Get custom field by custom field identifier","operationId":"CustomFieldContainers_GetCustomFieldAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customFieldContainerId","in":"path","description":"Custom field container identifier","required":true,"type":"string","format":"uuid"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/CustomFieldContainerModel"}},"403":{"description":"Missing read scope or not allowed to access project"},"404":{"description":"NotFound"}}}},"/v1/customFields/{customFieldId}/options":{"get":{"tags":["CustomFieldOptions"],"summary":"Get custom field option by custom field identifier","operationId":"CustomFieldOptions_GetCustomFieldOptionsAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customFieldId","in":"path","description":"Custom field identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/CustomFieldOptionEditModel"}}},"403":{"description":"Missing read scope or not allowed to access project"},"404":{"description":"NotFound"}}},"post":{"tags":["CustomFieldOptions"],"summary":"Create new custom field option for administration","description":"Write scope necessary","operationId":"CustomFieldOptions_CreateCustomFieldOptionAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customFieldId","in":"path","description":"Custom field identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"Custom field option to create","required":true,"schema":{"$ref":"#/definitions/CreateCustomFieldOptionModel"}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}},"201":{"description":"Created","schema":{"$ref":"#/definitions/CustomFieldOptionEditModel"}},"400":{"description":"Invalid or missing required properties"},"403":{"description":"Missing admin.write scope or not allowed to update project"}}}},"/v1/customFields/{customFieldId}/externalIdentifier/{externalId}":{"get":{"tags":["CustomFieldOptions"],"summary":"Get customFieldOptionId by customFieldId and externalId","operationId":"CustomFieldOptions_GetCustomFieldOptionWithExternalIdAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customFieldId","in":"path","description":"CustomField identifier","required":true,"type":"integer","format":"int32"},{"name":"externalId","in":"path","description":"External identifier","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"format":"int32","type":"integer"}},"403":{"description":"Missing read scope or not allowed to access project"},"404":{"description":"NotFound"}}}},"/v1/customFields/{customFieldId}/options/{customFieldOptionId}":{"get":{"tags":["CustomFieldOptions"],"summary":"Get custom field option by custom field and custom field option identifier","operationId":"CustomFieldOptions_GetCustomFieldOptionAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customFieldId","in":"path","description":"Custom field identifier","required":true,"type":"integer","format":"int32"},{"name":"customFieldOptionId","in":"path","description":"Custom field option identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/CustomFieldOptionEditModel"}},"403":{"description":"Missing read scope or not allowed to access project"},"404":{"description":"NotFound"}}},"put":{"tags":["CustomFieldOptions"],"summary":"Update custom field option by custom field and custom field option identifier for administration","description":"Write scope necessary","operationId":"CustomFieldOptions_UpdateCustomFieldOptionAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customFieldId","in":"path","description":"Custom field identifier","required":true,"type":"integer","format":"int32"},{"name":"customFieldOptionId","in":"path","description":"Custom field option identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"Custom field to update","required":true,"schema":{"$ref":"#/definitions/UpdateCustomFieldOptionModel"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid or missing required properties"},"403":{"description":"Missing admin.write scope or not allowed to update project"}}},"delete":{"tags":["CustomFieldOptions"],"summary":"Delete custom field option by custom field identifier for administration","description":"Write scope necessary","operationId":"CustomFieldOptions_DeleteCustomFieldOptionAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customFieldId","in":"path","description":"Custom field identifier","required":true,"type":"integer","format":"int32"},{"name":"customFieldOptionId","in":"path","description":"Custom field option identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid or missing required properties"},"403":{"description":"Missing admin.write scope or not allowed to update project"}}}},"/v1/customFields":{"get":{"tags":["CustomFields"],"summary":"Get custom field by custom field identifier","operationId":"CustomFields_GetCustomFieldsAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/CustomFieldEditModel"}}},"403":{"description":"Missing read scope or not allowed to access project"},"404":{"description":"NotFound"}}},"post":{"tags":["CustomFields"],"summary":"Create new custom field for administration","description":"Write scope necessary","operationId":"CustomFields_CreateCustomFieldAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"model","in":"body","description":"Custom field to create","required":true,"schema":{"$ref":"#/definitions/CreateCustomFieldModel"}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}},"201":{"description":"Created","schema":{"$ref":"#/definitions/CustomFieldEditModel"}},"400":{"description":"Invalid or missing required properties"},"403":{"description":"Missing admin.write scope or not allowed to update project"}}}},"/v1/customFields/{customFieldId}":{"get":{"tags":["CustomFields"],"summary":"Get custom field by custom field identifier","operationId":"CustomFields_GetCustomFieldAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customFieldId","in":"path","description":"Custom field identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/CustomFieldEditModel"}},"403":{"description":"Missing read scope or not allowed to access project"},"404":{"description":"NotFound"}}},"put":{"tags":["CustomFields"],"summary":"Update custom field by custom field identifier for administration","description":"Write scope necessary","operationId":"CustomFields_UpdateCustomFieldAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"customFieldId","in":"path","description":"Custom field identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"Custom field to update","required":true,"schema":{"$ref":"#/definitions/UpdateCustomFieldModel"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid or missing required properties"},"403":{"description":"Missing admin.write scope or not allowed to update project"}}}},"/v1/notes/{noteId}":{"get":{"tags":["Notes"],"summary":"Get a specific note","description":"Get a specific note","operationId":"Notes_GetNoteAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"noteId","in":"path","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/NoteModel"}}}}},"/v1/notes/withFile":{"post":{"tags":["Notes"],"summary":"Create a note with a file","description":"Expects a FormData with a field \"note\" with the note data as JSON and a field \"files\" containing the file(s) to be uploaded. The total maximum size of all files combined is 14MB.","operationId":"Notes_CreateNoteWithFileAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"/v1/notes":{"get":{"tags":["Notes"],"summary":"Get all notes (paginated)","description":"Returns all notes with pagination.","operationId":"Notes_GetNotesAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"page","in":"query","description":"Page index (zero-based)","required":false,"type":"integer","format":"int32"},{"name":"pageSize","in":"query","description":"Page size, if not included, defaults to 10","required":false,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/NoteModel"}}}}}},"/v1/pricelists/vendors":{"get":{"tags":["PriceLists"],"summary":"Get all vendors","operationId":"PriceLists_GetArticleVendors","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/ArticleVendorOverviewModel"}}}}}},"/v1/pricelists":{"get":{"tags":["PriceLists"],"summary":"Get all Price Lists","operationId":"PriceLists_GetArticlePriceLists","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"vendorId","in":"query","required":false,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/ArticlePriceListOverviewModel"}}}}}},"/v1/pricelists/{articlePriceListId}/articles":{"get":{"tags":["PriceLists"],"summary":"Get articles of price list","operationId":"PriceLists_GetArticlesOfPricelist","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"articlePriceListId","in":"path","required":true,"type":"integer","format":"int32"},{"name":"articleId","in":"query","required":false,"type":"integer","format":"int32"},{"name":"withArticleUnits","in":"query","required":false,"type":"boolean"}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"/v1/productCategories":{"get":{"tags":["ProductCategories"],"summary":"Get all product categories","description":"Get list of product categories","operationId":"ProductCategories_GetProductCategoriesAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/ProductCategoryModel"}}}}}},"/v1/productCategories/{productCategoryId}":{"get":{"tags":["ProductCategories"],"summary":"Get specific product category","description":"Get product category by identifier","operationId":"ProductCategories_GetProductCategoryAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"productCategoryId","in":"path","description":"Product category identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProductCategoryModel"}},"404":{"description":"NotFound"}}}},"/v1/admin/productCategories":{"get":{"tags":["ProductCategories"],"summary":"Get all product categories for administration","description":"Get list of product categories","operationId":"ProductCategories_GetProductCategoriesForAdminAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/ProductCategoryAdminModel"}}}}},"post":{"tags":["ProductCategories"],"summary":"Create new product category for administration","description":"Write scope necessary","operationId":"ProductCategories_CreateProductCategoryForAdminAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"model","in":"body","description":"Product category to create","required":true,"schema":{"$ref":"#/definitions/CreateProductCategoryModel"}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}},"201":{"description":"Created","schema":{"$ref":"#/definitions/ProductCategoryAdminModel"}},"400":{"description":"Invalid or missing required properties"},"403":{"description":"Missing admin.write scope or not allowed to update project"}}}},"/v1/admin/productCategories/{productCategoryId}":{"get":{"tags":["ProductCategories"],"summary":"Get specific product category for administration","description":"Get product category by identifier","operationId":"ProductCategories_GetProductCategoryForAdminAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"productCategoryId","in":"path","description":"Product category identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProductCategoryAdminModel"}},"404":{"description":"NotFound"}}},"put":{"tags":["ProductCategories"],"summary":"Update product category by product category id for administration","description":"Write scope necessary","operationId":"ProductCategories_UpdateProductCategoryForAdminAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"productCategoryId","in":"path","description":"Product category identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"Product category to update","required":true,"schema":{"$ref":"#/definitions/UpdateProductCategoryModel"}}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid or missing required properties"},"403":{"description":"Missing admin.write scope or not allowed to update project"}}},"delete":{"tags":["ProductCategories"],"summary":"Delete product category by custom field identifier for administration","description":"Write scope necessary","operationId":"ProductCategories_DeleteProductCategoryForAdminAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"productCategoryId","in":"path","description":"Product category identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK"},"400":{"description":"Invalid or missing required properties"},"403":{"description":"Missing admin.write scope or not allowed to update project"}}}},"/v1/projectGroups/{projectGroupId}":{"get":{"tags":["ProjectGroups"],"summary":"Get project group by identifier","description":"Get project group by identifier","operationId":"ProjectGroups_GetProjectGroupAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectGroupId","in":"path","description":"ProjectGroup identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProjectGroupModel"}},"404":{"description":"NotFound"}}},"put":{"tags":["ProjectGroups"],"summary":"Update project group","description":"Write scope necessary","operationId":"ProjectGroups_UpdateProjectGroupAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectGroupId","in":"path","description":"Project group identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"Project group to update","required":true,"schema":{"$ref":"#/definitions/UpdateProjectGroupModel"}}],"responses":{"200":{"description":"OK"},"400":{"description":"BadRequest"},"403":{"description":"Missing write scope"}}},"patch":{"tags":["ProjectGroups"],"summary":"Patch project group","description":"Write scope necessary","operationId":"ProjectGroups_PatchProjectGroupAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded","application/json-patch+json"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectGroupId","in":"path","description":"Project group identifier","required":true,"type":"integer","format":"int32"},{"name":"jsonModel","in":"body","description":"Update JSON with metadata for operations. e.g., add/replace/remove field","required":true,"schema":{"$ref":"#/definitions/JsonPatchDocumentOfPatchProjectGroupModel"}}],"responses":{"200":{"description":"OK"},"400":{"description":"BadRequest"},"403":{"description":"Missing write scope"}}}},"/v1/projectGroups/{projectGroupId}/Projects":{"get":{"tags":["ProjectGroups"],"summary":"Get identifiers of projects which belong to a specific project group","description":"Get identifiers of projects which belong to a specific project group","operationId":"ProjectGroups_GetProjects","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectGroupId","in":"path","description":"Project group identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"format":"int32","type":"integer"}}},"404":{"description":"NotFound"}}},"post":{"tags":["ProjectGroups"],"summary":"Add projects to a project group","description":"Write scope necessary","operationId":"ProjectGroups_AddProjectsAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectGroupId","in":"path","description":"Project group identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"Ids of projects to add","required":true,"schema":{"$ref":"#/definitions/AddProjectsToProjectGroupModel"}}],"responses":{"200":{"description":"OK"},"400":{"description":"BadRequest"},"403":{"description":"Missing write scope"}}},"delete":{"tags":["ProjectGroups"],"summary":"Remove projects from a project group","description":"Write scope necessary","operationId":"ProjectGroups_RemoveProjectAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectGroupId","in":"path","description":"Project group identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"Ids of projects to remove","required":true,"schema":{"$ref":"#/definitions/RemoveProjectsFromProjectGroupModel"}}],"responses":{"200":{"description":"OK"},"400":{"description":"BadRequest"},"403":{"description":"Missing write scope"}}}},"/v1/projectGroups":{"post":{"tags":["ProjectGroups"],"summary":"Create project group","description":"Write scope necessary","operationId":"ProjectGroups_CreateProjectGroupAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"model","in":"body","description":"Project group to create","required":true,"schema":{"$ref":"#/definitions/CreateProjectGroupModel"}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}},"201":{"description":"Created"},"400":{"description":"BadRequest"},"403":{"description":"Missing write scope"}}}},"/v1/projects/{projectId}":{"get":{"tags":["Projects"],"summary":"Get project by project identifier","operationId":"Projects_GetProjectAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProjectModel"}},"403":{"description":"Missing read scope or not allowed to access project"},"404":{"description":"NotFound"}}},"put":{"tags":["Projects"],"summary":"Update project by project identifier","description":"Write scope necessary","operationId":"Projects_UpdateProjectAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"Project to update","required":true,"schema":{"$ref":"#/definitions/UpdateProjectModel"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProjectModel"}},"400":{"description":"Invalid or missing required properties"},"403":{"description":"Missing write scope or not allowed to update project"}}},"patch":{"tags":["Projects"],"summary":"Patch project","description":"Write scope necessary","operationId":"Projects_PatchProjectAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded","application/json-patch+json"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"jsonModel","in":"body","description":"Update JSON with metadata for operations. E.g. add/replace/remove field (learn more at https://jsonpatch.com)","required":true,"schema":{"$ref":"#/definitions/JsonPatchDocumentOfPatchProjectModel"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/PatchProjectModel"}},"400":{"description":"Invalid or missing required properties"},"403":{"description":"Missing write scope or not allowed to update project"}}}},"/v1/projects/{projectId}/PhaseHistory":{"get":{"tags":["Projects"],"summary":"Get project phase history by project identifier","operationId":"Projects_GetProjectPhaseHistoryAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProjectModel"}},"403":{"description":"Missing read scope or not allowed to access project"},"404":{"description":"NotFound"}}}},"/v1/projects/Identifier/{externalId}":{"get":{"tags":["Projects"],"summary":"Get project identifier by external identifier","description":"Get project identifier by external identifier","operationId":"Projects_GetProjectIdAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"externalId","in":"path","description":"External project identifier","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"format":"int32","type":"integer"}},"404":{"description":"NotFound"}}}},"/v1/projects":{"get":{"tags":["Projects"],"summary":"Retrieves a paginated list of projects based on provided filtering criteria.","operationId":"Projects_GetProjectsAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"page","in":"query","description":"The page index to retrieve (default is 0).","required":false,"type":"integer","format":"int32"},{"name":"pageSize","in":"query","description":"The number of projects to retrieve per page (default is 10).","required":false,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProjectListProjection"}},"403":{"description":"Missing read scope"}}},"post":{"tags":["Projects"],"summary":"Create new project","description":"Write scope necessary","operationId":"Projects_CreateProjectAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"model","in":"body","description":"Project to create","required":true,"schema":{"$ref":"#/definitions/CreateProjectModel"}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}},"201":{"description":"Created","schema":{"$ref":"#/definitions/ProjectModel"}},"400":{"description":"Invalid or missing required properties"},"403":{"description":"Missing write scope or not allowed to update project"}}}},"/v1/projects/{projectId}/ProductCategories":{"get":{"tags":["Projects"],"summary":"Get product categories from project by project identifier","operationId":"Projects_GetProjectProductCategoriesAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/ProjectProductCategoryModel"}}},"403":{"description":"Missing read scope or not allowed to access project"},"404":{"description":"NotFound"},"405":{"description":"Configuration doesn't allow this endpoint"}}},"put":{"tags":["Projects"],"summary":"Update product categories from project by project identifier\r\nUpdate also summed product volume and contribution margin values","description":"Write scope necessary","operationId":"Projects_UpdateProjectProductCategoriesAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"Project product categories to update","required":true,"schema":{"type":"array","items":{"$ref":"#/definitions/ProjectProductCategoryModel"}}}],"responses":{"200":{"description":"OK"},"403":{"description":"Missing read scope or not allowed to update project"},"404":{"description":"NotFound"},"405":{"description":"Configuration doesn't allow this endpoint"}}}},"/v1/projects/{projectId}/PhaseChange":{"put":{"tags":["Projects"],"summary":"Try to change phase of project","description":"Write scope necessary","operationId":"Projects_MoveProjectToPhase","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"Phase change model","required":true,"schema":{"$ref":"#/definitions/MoveProjectToPhaseModel"}}],"responses":{"200":{"description":"OK"},"403":{"description":"Missing read scope or not allowed to update project"},"404":{"description":"NotFound"}}}},"/v1/projects/{projectId}/ProjectVolumeValues":{"get":{"tags":["Projects"],"summary":"Get list of project volume values by project identifier","operationId":"Projects_GetProjectVolumeValuesAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/ProjectVolumeValueModel"}}},"403":{"description":"Missing read scope or not allowed to access project volume values"},"404":{"description":"NotFound"}}},"post":{"tags":["Projects"],"summary":"Replace list of project volume values for project","description":"Write scope necessary","operationId":"Projects_PostProjectVolumeValuesAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"volumeValues","in":"body","description":"CreateProjectVolumevalues","required":true,"schema":{"type":"array","items":{"$ref":"#/definitions/CreateProjectVolumeValueModel"}}}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/CreateProjectVolumeValueModel"}}},"403":{"description":"Missing read scope or not allowed to access project volume values"},"404":{"description":"NotFound"}}}},"/v1/projects/{projectId}/ProjectProductCategoryValues":{"get":{"tags":["Projects"],"summary":"Get list of project volume values by project identifier","operationId":"Projects_GetProjectProductCategoryValuesAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/ProjectProductCategoryValue"}}},"403":{"description":"Missing read scope or not allowed to access project volume values"},"404":{"description":"NotFound"}}},"post":{"tags":["Projects"],"summary":"Add a list of project volume values for project","description":"Write scope necessary","operationId":"Projects_PostProjectProductCategoryValue","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"deleteOldValues","in":"query","description":"Delete all old projectProductCategoryValues of the project","required":true,"type":"boolean"},{"name":"projectProductCategoryValues","in":"body","description":"","required":true,"schema":{"type":"array","items":{"$ref":"#/definitions/ProjectProductCategoryValueEditModel"}}}],"responses":{"200":{"description":"OK"},"403":{"description":"Missing read scope or not allowed to access project volume values"},"404":{"description":"NotFound"}}}},"/v1/projects/{projectId}/ProjectVolumeValues/{projectVolumeValueId}":{"get":{"tags":["Projects"],"summary":"Get a specific project volume values by project identifier","operationId":"Projects_GetProjectVolumeValueAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"projectVolumeValueId","in":"path","description":"Volume value identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProjectVolumeValueModel"}},"403":{"description":"Missing read scope or not allowed to access project volume values"},"404":{"description":"NotFound"}}},"put":{"tags":["Projects"],"summary":"Update a projectVolumeValue of a project","description":"Write scope necessary","operationId":"Projects_PutProjectVolumeValue","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"projectVolumeValueId","in":"path","description":"ProjectVolumeValue identifier","required":true,"type":"integer","format":"int32"},{"name":"projectVolumeValue","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/ProjectVolumeValueModel"}}],"responses":{"200":{"description":"OK"},"403":{"description":"Missing read scope or not allowed to access project volume values"},"404":{"description":"NotFound"}}},"delete":{"tags":["Projects"],"summary":"Delete a specific project volume values by project identifier","operationId":"Projects_DeleteProjectVolumeValueAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"projectVolumeValueId","in":"path","description":"Volume value identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK"},"403":{"description":"Missing read scope or not allowed to access project volume values"},"404":{"description":"NotFound"}}}},"/v1/projects/{projectId}/ProjectProductCategoryValues/{projectProductCategoryValueId}":{"put":{"tags":["Projects"],"summary":"Update a projectProductCategoryValue of a project","description":"Write scope necessary","operationId":"Projects_PutProjectProductCategoryValue","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"projectProductCategoryValueId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"projectProductCategoryValue","in":"body","description":"","required":true,"schema":{"$ref":"#/definitions/ProjectProductCategoryValueEditModel"}}],"responses":{"200":{"description":"OK"},"403":{"description":"Missing read scope or not allowed to access project volume values"},"404":{"description":"NotFound"}}},"delete":{"tags":["Projects"],"summary":"Delete a specific project volume values by project identifier","operationId":"Projects_DeleteProjectProductCategoryValueAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"projectProductCategoryValueId","in":"path","description":"project product category value identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK"},"403":{"description":"Missing read scope or not allowed to access project volume values"},"404":{"description":"NotFound"}}}},"/v1/projects/{projectId}/ProjectVolumeValues2":{"post":{"tags":["Projects"],"summary":"Add a list of project volume values for project","description":"Write scope necessary","operationId":"Projects_PostProjectVolumeValuesAsync2","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"deleteOldValues","in":"query","description":"should old values be deleted","required":true,"type":"boolean"},{"name":"volumeValues","in":"body","description":"CreateProjectVolumevalues","required":true,"schema":{"type":"array","items":{"$ref":"#/definitions/CreateProjectVolumeValueModel"}}}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/CreateProjectVolumeValueModel"}}},"403":{"description":"Missing read scope or not allowed to access project volume values"},"404":{"description":"NotFound"}}}},"/v1/projects/{projectId}/contacts":{"get":{"tags":["Projects"],"summary":"Get contact persons by project identifier","operationId":"Projects_GetProjectContactPersons","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/ProjectContactModel"}}},"403":{"description":"Missing read scope or not allowed to access project"},"404":{"description":"NotFound"}}},"post":{"tags":["Projects"],"summary":"Add contacts to project","operationId":"Projects_AddProjectContactRelations","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"relationships","in":"body","description":"List of contacts","required":true,"schema":{"type":"array","items":{"$ref":"#/definitions/ProjectContactAddModel"}}}],"responses":{"200":{"description":"OK"},"403":{"description":"Missing read scope or not allowed to access project"},"404":{"description":"NotFound"}}}},"/v1/projects/{projectId}/contacts/{contactId}":{"delete":{"tags":["Projects"],"summary":"End relationship from contact to project","description":"End relationship from contact to project","operationId":"Projects_DeleteProjectContact","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"contactId","in":"path","description":"Contact identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK"},"404":{"description":"NotFound"}}}},"/v1/projects/{projectId}/ProjectVolumeValues/{projectVolumeValueId}/ProjectVolumeVoucher":{"get":{"tags":["Projects"],"summary":"Get the project volume voucher of a specific project volume values by project identifier and project volume value identifier","operationId":"Projects_GetProjectVolumeValueVoucherAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"projectVolumeValueId","in":"path","description":"Volume value identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProjectVolumeValueVoucherModel"}},"403":{"description":"Missing read scope or not allowed to access project volume values"},"404":{"description":"NotFound"}}},"post":{"tags":["Projects"],"summary":"Get the project volume voucher of a specific project volume values by project identifier and project volume value identifier","operationId":"Projects_PostProjectVolumeValueVoucherAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"projectVolumeValueId","in":"path","description":"Volume value identifier","required":true,"type":"integer","format":"int32"},{"name":"model","in":"body","description":"voucher","required":true,"schema":{"$ref":"#/definitions/ProjectVolumeValueVoucherModel"}}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProjectVolumeValueVoucherModel"}},"403":{"description":"Missing read scope or not allowed to access project volume values"},"404":{"description":"NotFound"}}}},"/v1/projects/{projectId}/ProjectVolumeVouchers":{"get":{"tags":["Projects"],"summary":"Get the project volume vouchers of a specific project","operationId":"Projects_GetProjectVolumeVouchersAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/ProjectVolumeValueVoucherModel"}}},"403":{"description":"Missing read scope or not allowed to access project volume values"},"404":{"description":"NotFound"}}}},"/v1/projects/{projectId}/ProjectVolumeValues/{projectVolumeValueId}/ProjectVolumeVoucher/Upload":{"post":{"tags":["Projects"],"summary":"Upload file for a project volume value voucher","operationId":"Projects_PostProjectVolumeValueVoucherUpload","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","required":true,"type":"integer","format":"int32"},{"name":"projectVolumeValueId","in":"path","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"type":"object"}}}}},"/v1/projects/{projectId}/ProjectVolumeValues/ReceiptNr/{receiptNr}":{"get":{"tags":["Projects"],"summary":"Get a specific project volume values by project volume voucher receiptNr","operationId":"Projects_GetProjectVolumeValueByReceiptNrAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"Project identifier","required":true,"type":"integer","format":"int32"},{"name":"receiptNr","in":"path","description":"Volume voucher receiptNr","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProjectVolumeValueModel"}},"403":{"description":"Missing read scope or not allowed to access project volume values"},"404":{"description":"NotFound"}}}},"/v1/projects/{projectId}/Consultants":{"get":{"tags":["Projects"],"summary":"Get Project Consultants","operationId":"Projects_GetProjectConsultants","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/CreateProjectConsultant"}}},"400":{"description":"Invalid or missing required properties"},"403":{"description":"Missing read scope."}}},"post":{"tags":["Projects"],"summary":"Override all Project Consultants","operationId":"Projects_SaveProjectConsultants","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectId","in":"path","description":"","required":true,"type":"integer","format":"int32"},{"name":"projectConsultants","in":"body","description":"","required":true,"schema":{"type":"array","items":{"$ref":"#/definitions/CreateProjectConsultant"}}}],"responses":{"200":{"description":"OK","schema":{"type":"object"}},"201":{"description":"Created","schema":{"type":"array","items":{"$ref":"#/definitions/CreateProjectConsultant"}}},"400":{"description":"Insufficient permission or invalid/missing required properties."},"403":{"description":"Missing read scope."}}}},"/v1/projects/phase/{phaseId}":{"get":{"tags":["Projects"],"summary":"Retrieves a paginated list of projects filtered by the specified phase identifier.","operationId":"Projects_GetProjectsByPhaseIdAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"phaseId","in":"path","description":"The identifier of the phase to filter projects by.","required":true,"type":"integer","format":"int32"},{"name":"page","in":"query","description":"The page number to retrieve, default is 0.","required":false,"type":"integer","format":"int32"},{"name":"pageSize","in":"query","description":"The number of projects per page, default is the maximum allowable size.","required":false,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProjectListProjection"}},"403":{"description":"Missing read scope"}}}},"/v1/projectSources":{"get":{"tags":["ProjectSources"],"summary":"Get all project sources","description":"Get list of project sources","operationId":"ProjectSources_GetProjectSourcesAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/ProjectSourceModel"}}}}}},"/v1/projectSources/{projectSourceId}":{"get":{"tags":["ProjectSources"],"summary":"Retrieves a specific project source by its ID.","operationId":"ProjectSources_GetProjectSourceAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"projectSourceId","in":"path","description":"The unique identifier of the project source to retrieve.","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProjectSourceModel"}},"404":{"description":"NotFound"}}}},"/v1/showroomCategories":{"get":{"tags":["ShowroomCategories"],"summary":"Get all showroom categories","description":"Get list of showroom categories","operationId":"ShowroomCategories_GetShowroomCategoriesAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/ShowroomCategoryModel"}}}}}},"/v1/showroomCategories/{showroomCategoryId}":{"get":{"tags":["ShowroomCategories"],"summary":"Get specific showroom category","description":"Get showroom category by identifier","operationId":"ShowroomCategories_GetShowroomCategoryAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"showroomCategoryId","in":"path","description":"Showroom category identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ShowroomCategoryModel"}},"404":{"description":"NotFound"}}}},"/v1/snapaddy/cardscanner/{snapAddyApiKey}":{"post":{"tags":["SnapAddy"],"summary":"snapADDY webhook to create/update customer and contact person.","operationId":"SnapAddy_OnBusinessCardScannedAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"snapAddyApiKey","in":"path","required":true,"type":"string"},{"name":"requestPayload","in":"body","required":true,"schema":{"$ref":"#/definitions/SnapAddyParticipantDTO"}}],"responses":{"200":{"description":"OK"},"400":{"description":"BadRequest"},"401":{"description":"Unauthorized"}}}},"/v1/snapaddy/visitreport/{snapAddyApiKey}":{"post":{"tags":["SnapAddy"],"summary":"Processes exported visit reports.","operationId":"SnapAddy_OnVisitReportsExportedAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"snapAddyApiKey","in":"path","required":true,"type":"string"},{"name":"requestPayload","in":"body","required":true,"schema":{"$ref":"#/definitions/SnapyAddyVisitReportDTO"}}],"responses":{"200":{"description":"OK"},"400":{"description":"BadRequest"},"401":{"description":"Unauthorized"}}}},"/v1/solvencies":{"get":{"tags":["Solvencies"],"summary":"Get all solvencies","description":"Get list of solvencies","operationId":"Solvencies_GetSolvenciesAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/SolvencyModel"}}}}}},"/v1/solvencies/{solvencyCode}":{"get":{"tags":["Solvencies"],"summary":"Get specific solvency","description":"Get solvency by code","operationId":"Solvencies_GetProjectSourceAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"solvencyCode","in":"path","description":"Solvency code","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/SolvencyModel"}},"404":{"description":"NotFound"}}}},"/v1/tags/all":{"get":{"tags":["Tags"],"summary":"Get all tags","description":"Get all tags","operationId":"Tags_GetAllTags","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/TagModel"}}}}}},"/v1/tags/create":{"post":{"tags":["Tags"],"summary":"Create Tag","description":"Create Tag","operationId":"Tags_CreateTag","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"model","in":"body","required":true,"schema":{"$ref":"#/definitions/CreateTagModel"}}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/CreateTagModel"}}}}}},"/v1/tags/update":{"post":{"tags":["Tags"],"summary":"Update Tag","description":"Update Tag","operationId":"Tags_UpdateTag","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"model","in":"body","required":true,"schema":{"$ref":"#/definitions/UpdateTagModel"}}],"responses":{"200":{"description":"OK"},"404":{"description":"NotFound"}}}},"/v1/tags/delete/{tagId}":{"post":{"tags":["Tags"],"summary":"Delete Tag","description":"Delete Tag","operationId":"Tags_DeleteTag","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"tagId","in":"path","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK"},"404":{"description":"NotFound"}}}},"/v1/users":{"get":{"tags":["Users"],"summary":"Get all users","description":"Get list of users","operationId":"Users_GetWorkflowsAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"withTeam","in":"query","description":"Include teams in response","required":false,"type":"boolean"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/UserModel"}}}}}},"/v1/webhooks":{"post":{"tags":["Webhooks"],"summary":"Register a webhook","operationId":"Webhooks_RegisterWebhookAsync","consumes":["application/json","text/json","application/problem+json","application/x-www-form-urlencoded"],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"model","in":"body","description":"Webhook registration","required":true,"schema":{"$ref":"#/definitions/RegisterWebhookModel"},"x-ms-visibility":"important"}],"responses":{"200":{"description":"OK","schema":{"type":"object"}},"201":{"description":"Created","schema":{"$ref":"#/definitions/WebhookRegistrationResultModel"}},"400":{"description":"BadRequest"},"403":{"description":"Missing write scope"}},"x-ms-trigger":"single"},"x-ms-notification-content":{"description":"Notification payload delivered to Power Automate.","schema":{"$ref":"#/definitions/WebhookNotification"}}},"/v1/webhooks/{webhookId}":{"delete":{"tags":["Webhooks"],"summary":"Delete a webhook","operationId":"Webhooks_DeleteWebhookAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"webhookId","in":"path","description":"Webhook identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"type":"object"}},"204":{"description":"NoContent"},"403":{"description":"Missing write scope"},"404":{"description":"NotFound"}}}},"/v1/workflows":{"get":{"tags":["Workflows"],"summary":"Get all workflows","description":"Get list of workflows","operationId":"Workflows_GetWorkflowsAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"isAcquisition","in":"query","description":"Workflows of acquisition process","required":false,"type":"boolean"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/WorkflowModel"}}}}}},"/v1/workflows/{workflowId}":{"get":{"tags":["Workflows"],"summary":"Get specific workflow","description":"Get workflow by identifier","operationId":"Workflows_GetWorkflowAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"workflowId","in":"path","description":"Workflow identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/WorkflowModel"}},"404":{"description":"NotFound"}}}},"/v1/workflows/{workflowId}/phases":{"get":{"tags":["Workflows"],"summary":"Get phases from workflow","description":"Get phases by workflow identifier","operationId":"Workflows_GetPhasesAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"workflowId","in":"path","description":"Workflow identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/PhaseModel"}}},"404":{"description":"NotFound"}}}},"/v1/workflows/{workflowId}/phases/{phaseId}":{"get":{"tags":["Workflows"],"summary":"Get specfic phase","description":"Get phase by phase identifier","operationId":"Workflows_GetPhaseAsync","consumes":[],"produces":["application/json","text/json","application/problem+json"],"parameters":[{"name":"workflowId","in":"path","description":"Workflow identifier","required":true,"type":"integer","format":"int32"},{"name":"phaseId","in":"path","description":"Phase identifier","required":true,"type":"integer","format":"int32"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/PhaseModel"}},"404":{"description":"NotFound"}}}}},"definitions":{"ContactModel":{"description":"Contact","required":["contactId","lastName"],"type":"object","properties":{"tags":{"description":"Tags","type":"array","items":{"$ref":"#/definitions/TagModel"}},"customFields":{"description":"List of custom fields","type":"array","items":{"$ref":"#/definitions/CustomFieldModel"}},"customerProjectList":{"description":"Delivers list of all relationships of the contact person. It can be a customer relationship or a project relationship","type":"array","items":{"$ref":"#/definitions/ContactCustomerProjectModel"}},"latitude":{"format":"double","description":"Geo-coordinate latitude of the address","type":"number"},"longitude":{"format":"double","description":"Geo-coordinate longitude of the address","type":"number"},"latitude2":{"format":"double","description":"Geo-coordinate latitude of the secondary address","type":"number"},"longitude2":{"format":"double","description":"Geo-coordinate longitude of the secondary address","type":"number"},"contactId":{"format":"int32","description":"Identifier","type":"integer"},"firstName":{"description":"Firstname / Givenname","type":"string"},"lastName":{"description":"Lastname / Familiyname","type":"string"},"title":{"description":"Title","type":"string"},"titleBeforeName":{"description":"Is title before name","type":"boolean"},"dateOfBirth":{"format":"date-time","description":"Date of birth","type":"string"},"gender":{"description":"Gender - Male, Female, Family","enum":["Male","Female","Family"],"type":"string"},"position":{"description":"Position","type":"string"},"externalId":{"description":"Identifer from external system","type":"string"},"phone":{"description":"Phone","type":"string"},"phone2":{"description":"Mobile","type":"string"},"phone3":{"description":"Phone3","type":"string"},"fax":{"description":"Fax","type":"string"},"email":{"description":"Email1","type":"string"},"email2":{"description":"Email2","type":"string"},"email3":{"description":"Email3","type":"string"},"comment":{"description":"Comment","type":"string"},"newsletterSubscription":{"description":"Determines if this contact can be part of a email campaign or not","enum":["Unknown","SubscribedByRecipient","SubscribedByConsultant","UnsubscribedByRecipient","UnsubscribedByConsultant"],"type":"string"},"creationDate":{"format":"date-time","description":"Creation date in UTC","type":"string"},"lastModified":{"format":"date-time","description":"Last modified in UTC","type":"string"}}},"TagModel":{"type":"object","properties":{"tagId":{"format":"int32","type":"integer"},"defaultName":{"type":"string"},"color":{"type":"string"},"sortOrder":{"format":"int32","type":"integer"}}},"CustomFieldModel":{"description":"Custom field value","required":["customFieldId","type"],"type":"object","properties":{"customFieldId":{"format":"int32","description":"Identifier","type":"integer"},"defaultName":{"description":"Name","type":"string"},"type":{"description":"Type","enum":["Number","Date","Text","Select","Multiselect","Currency","Checkbox","Customer","RichText","Caption","Hyperlink"],"type":"string"},"sortOrder":{"format":"int32","description":"Sort order","type":"integer"},"isRequired":{"description":"Is required","type":"boolean"},"options":{"description":"Options","type":"array","items":{"$ref":"#/definitions/CustomFieldOptionModel"}},"value":{"description":"Value","maxLength":4000,"minLength":0,"type":"string"},"customFieldOptionId":{"format":"int32","description":"Option identifier","type":"integer"},"currencyCode":{"description":"3 Letter currency code","maxLength":3,"minLength":0,"type":"string"}}},"ContactCustomerProjectModel":{"description":"Represents a model that links a customer contact, customer, and project with additional details.","type":"object","properties":{"customerContactId":{"format":"int32","description":"Gets or sets the unique identifier for the customer contact associated with this model.","type":"integer"},"customerId":{"format":"int32","description":"Gets or sets the unique identifier for the customer associated with this model.","type":"integer"},"projectId":{"format":"int32","description":"Gets or sets the unique identifier for the project associated with this model.","type":"integer"},"title":{"description":"Gets or sets the title associated with this model, typically used to describe its purpose or context.","type":"string"},"detail":{"description":"Gets or sets additional information or specifics related to the contact, customer, or project.","type":"string"},"beginDate":{"format":"date-time","description":"Gets or sets the starting date associated with this model.","type":"string"},"endDate":{"format":"date-time","description":"Gets or sets the end date associated with this model, indicating when the linked project, detail, or contact association concludes.","type":"string"}}},"CustomFieldOptionModel":{"description":"Custom field option value model","type":"object","properties":{"customFieldOptionId":{"format":"int32","description":"Identifier","type":"integer"},"defaultName":{"description":"The translated name of the option","type":"string"},"selected":{"description":"Determines if the option is selected in combination with a project, customer, ...","type":"boolean"},"externalId":{"description":"Can be used for mapping intensions","type":"string"}}},"JsonPatchDocumentOfPatchContactModel":{"type":"object","properties":{"operations":{"type":"array","items":{"$ref":"#/definitions/JsonPatchOperation"},"readOnly":false}},"readOnly":false},"JsonPatchOperation":{"type":"object","properties":{"path":{"type":"string","readOnly":false},"value":{"readOnly":false},"operation":{"enum":["replace","add","remove"],"type":"string","readOnly":false}},"readOnly":false},"PathComponent":{"type":"object","properties":{"name":{"type":"string"},"componentType":{"type":"string"},"isCollection":{"type":"boolean","readOnly":true}}},"CreateContactModel":{"description":"Create contact model","required":["lastName"],"type":"object","properties":{"firstName":{"description":"Firstname / Givenname","maxLength":50,"minLength":0,"type":"string"},"lastName":{"description":"Lastname / Familiyname","maxLength":50,"minLength":0,"type":"string"},"title":{"description":"Title","maxLength":25,"minLength":0,"type":"string"},"dateOfBirth":{"format":"date-time","description":"Date of birth","type":"string"},"gender":{"description":"Gender - Male, Female, Family","enum":["Male","Female","Family"],"type":"string"},"position":{"description":"Position","maxLength":100,"minLength":0,"type":"string"},"phone":{"description":"Phone","maxLength":50,"minLength":0,"type":"string"},"phone2":{"description":"Mobile","maxLength":50,"minLength":0,"type":"string"},"phone3":{"description":"Phone3","maxLength":50,"minLength":0,"type":"string"},"fax":{"description":"Fax","maxLength":50,"minLength":0,"type":"string"},"email":{"description":"Email1","maxLength":50,"minLength":0,"type":"string"},"email2":{"description":"Email2","maxLength":50,"minLength":0,"type":"string"},"email3":{"description":"Email3","maxLength":50,"minLength":0,"type":"string"},"comment":{"description":"Comment","maxLength":500,"minLength":0,"type":"string"},"externalId":{"description":"Identifer from external system","maxLength":50,"minLength":0,"type":"string"},"customFields":{"description":"List of custom fields","type":"array","items":{"$ref":"#/definitions/CustomFieldModel"}},"newsletterSubscription":{"description":"Determines if this contact can be part of a email campaign or not","enum":["Unknown","SubscribedByRecipient","SubscribedByConsultant","UnsubscribedByRecipient","UnsubscribedByConsultant"],"type":"string"}}},"CustomerCategoryModel":{"description":"Customer category","type":"object","properties":{"customerCategoryId":{"format":"int32","description":"Identifier","type":"integer"},"defaultName":{"description":"Lokalized name","type":"string"},"sortOrder":{"format":"int32","description":"Sort order","type":"integer"}}},"CustomerModel":{"description":"Customer","type":"object","properties":{"customerId":{"format":"int32","description":"Customer identifier","type":"integer"},"companyName":{"description":"Companyname","type":"string"},"firstName":{"description":"Firstname, Givenname","type":"string"},"lastName":{"description":"Lastname, Familyname","type":"string"},"title":{"description":"Title","type":"string"},"titleBeforeName":{"description":"Flag if title is before name","type":"boolean"},"displayName":{"description":"Generated display name","type":"string"},"isCompany":{"description":"Flag if customer is a company","type":"boolean"},"dateOfBirth":{"format":"date-time","description":"Date of birth","type":"string"},"gender":{"description":"Gender - Male, Female, Family","enum":["Male","Female","Family"],"type":"string"},"phone":{"description":"Phone","type":"string"},"phone2":{"description":"Mobile","type":"string"},"phone3":{"description":"Phone3","type":"string"},"fax":{"description":"Fax","type":"string"},"website":{"description":"Website","type":"string"},"street":{"description":"Billing address - street","type":"string"},"streetNumber":{"description":"Billing address - street number","type":"string"},"postalCode":{"description":"Billing address - postal code","type":"string"},"city":{"description":"Billing address - city","type":"string"},"countryCode":{"description":"Billing address - two letter country code","type":"string"},"street2":{"description":"Shipping address - street","type":"string"},"streetNumber2":{"description":"Shipping address - street","type":"string"},"postalCode2":{"description":"Shipping address - street","type":"string"},"city2":{"description":"Shipping address - city","type":"string"},"countryCode2":{"description":"Shipping address - street","type":"string"},"email":{"description":"Email1","type":"string"},"email2":{"description":"Email2","type":"string"},"email3":{"description":"Email3","type":"string"},"customerNumber":{"description":"Customer number","type":"string"},"externalId":{"description":"Identifer from external system","type":"string"},"vat":{"description":"Value added tax number (VAT)","type":"string"},"customerStatus":{"description":"Customer state","enum":["None","PotentialCustomer","Customer"],"type":"string"},"customerCategory":{"$ref":"#/definitions/CustomerCategoryIdModel","description":"Customer category identifier"},"showroomCategory":{"$ref":"#/definitions/ShowroomCategoryIdModel","description":"Showroom category"},"assignedUser":{"$ref":"#/definitions/UserIdModel","description":"Assigned user"},"additionalCustomerData":{"$ref":"#/definitions/AdditionalCustomerDataModel","description":"Additional customer data"},"companySites":{"description":"Company sites","type":"array","items":{"$ref":"#/definitions/CompanySiteModel"}},"newsletterSubscription":{"description":"Determines if this customer can be part of a email campaign or not","enum":["Unknown","SubscribedByRecipient","SubscribedByConsultant","UnsubscribedByRecipient","UnsubscribedByConsultant"],"type":"string"},"tags":{"description":"Tags","type":"array","items":{"$ref":"#/definitions/TagModel"}},"customFields":{"description":"Custom fields","type":"array","items":{"$ref":"#/definitions/CustomFieldModel"}},"creationDate":{"format":"date-time","description":"Creation date in UTC","type":"string"},"lastModified":{"format":"date-time","description":"Last modified in UTC","type":"string"},"latitude":{"format":"double","description":"Geo-coordinate latitude of the address","type":"number"},"longitude":{"format":"double","description":"Geo-coordinate longitude of the address","type":"number"},"latitude2":{"format":"double","description":"Geo-coordinate latitude of the secondary address","type":"number"},"longitude2":{"format":"double","description":"Geo-coordinate longitude of the secondary address","type":"number"}}},"CustomerCategoryIdModel":{"description":"Represents a model for customer category, identified by a unique category ID.","type":"object","properties":{"customerCategoryId":{"format":"int32","description":"Gets the unique identifier for the customer category.","type":"integer"}}},"ShowroomCategoryIdModel":{"description":"Represents a model for associating a showroom category with its unique identifier.","type":"object","properties":{"showroomCategoryId":{"format":"int32","description":"The unique identifier for the showroom category.","type":"integer"}}},"UserIdModel":{"description":"Represents a model that contains user identification information.","type":"object","properties":{"userId":{"format":"int32","description":"Represents the unique identifier associated with a user.\r\nThis property is used to identify a specific user within the system.\r\nIt is primarily used for linking and retrieving user-related information\r\nacross different components or services.","type":"integer"}}},"AdditionalCustomerDataModel":{"description":"Additional customer data","type":"object","properties":{"discountArrangement":{"description":"Represents the discount arrangement of a customer, allowing an optional descriptive string up to 1000 characters.","maxLength":1000,"minLength":0,"type":"string"},"potentialPurchaseVolume":{"format":"double","description":"Represents the potential purchase volume of a customer, expressed as a decimal value.","minimum":0,"type":"number"},"externalSales":{"format":"double","description":"Represents the external sales value for a customer, expressed as a non-negative decimal value.","minimum":0,"type":"number"},"majorCustomers":{"description":"Represents the primary customers of the entity, allowing a descriptive string up to 1000 characters.","maxLength":1000,"minLength":0,"type":"string"},"sector":{"description":"Represents the sector of the customer, allowing an optional descriptive string up to 200 characters.","maxLength":200,"minLength":0,"type":"string"},"productRange":{"description":"Represents the range of products associated with the customer, allowing an optional descriptive string\r\nof up to 1000 characters.","maxLength":1000,"minLength":0,"type":"string"},"mainSuppliers":{"description":"Specifies the main suppliers associated with the customer, allowing up to 1000 characters for descriptive details.","maxLength":1000,"minLength":0,"type":"string"},"competitors":{"description":"Represents the competitors associated with a customer, allowing an optional descriptive string up to 1000 characters.","maxLength":1000,"minLength":0,"type":"string"},"showroomExhibits":{"description":"Represents the showroom exhibits associated with a customer, allowing for an optional descriptive string up to 1000 characters.","maxLength":1000,"minLength":0,"type":"string"},"deliveryTerms":{"description":"Specifies the delivery terms associated with a customer, allowing an optional descriptive string up to 200 characters.","maxLength":200,"minLength":0,"type":"string"},"timeForPayment":{"description":"Represents the agreed-upon time frame for payment, allowing an optional descriptive string up to 200 characters.","maxLength":200,"minLength":0,"type":"string"},"creditLimit":{"description":"Defines the credit limit associated with the customer, allowing an optional descriptive string up to 200 characters.","maxLength":200,"minLength":0,"type":"string"},"collateralization":{"description":"Represents the collateralization details associated with a customer, as a descriptive string with a maximum length of 200 characters.","maxLength":200,"minLength":0,"type":"string"},"bankGuarantee":{"description":"Represents the bank guarantee information associated with a customer, allowing an optional descriptive string up to 200 characters.","maxLength":200,"minLength":0,"type":"string"},"solvency":{"$ref":"#/definitions/SolvencyCodeModel","description":"Represents the solvency information of a customer, providing details such as the solvency code."},"rating":{"description":"Represents the rating of a customer, allowing an optional descriptive string up to 200 characters.","maxLength":200,"minLength":0,"type":"string"},"ratingAgency":{"description":"Represents the name of the rating agency associated with the customer's credit or financial assessment, with a maximum of 200 characters.","maxLength":200,"minLength":0,"type":"string"},"ratingDate":{"description":"Represents the date associated with a customer's credit rating.","maxLength":200,"minLength":0,"type":"string"},"bankData":{"description":"Represents the banking-related information of a customer, allowing an optional descriptive string up to 200 characters.","maxLength":200,"minLength":0,"type":"string"},"iban":{"description":"Represents the International Bank Account Number (IBAN) associated with the customer,\r\nformatted according to the IBAN standard and allowing a maximum of 35 characters.","maxLength":35,"minLength":0,"type":"string"},"bic":{"description":"Represents the Bank Identifier Code (BIC) associated with the customer's bank account,\r\nallowing an optional descriptive string up to 11 characters.","maxLength":11,"minLength":0,"type":"string"},"deliveryType":{"description":"Specifies the type of delivery applicable to the customer, allowing an optional descriptive string up to 200 characters.","maxLength":200,"minLength":0,"type":"string"},"employeeCount":{"format":"int32","description":"Represents the total number of employees associated with the customer, expressed as a non-negative integer.","maximum":2147483647,"minimum":0,"type":"integer"}}},"CompanySiteModel":{"description":"Company site","type":"object","properties":{"companySiteId":{"format":"int32","description":"Gets or sets the unique identifier for the company site.","type":"integer"},"street":{"description":"Gets or sets the street of the company site.","maxLength":50,"minLength":0,"type":"string"},"postalCode":{"description":"Gets or sets the postal code associated with the company site.","maxLength":50,"minLength":0,"type":"string"},"countryCode":{"description":"Gets or sets the country code for the company site.","maxLength":2,"minLength":0,"type":"string"},"phone":{"description":"Gets or sets the phone number associated with the company site.","maxLength":50,"minLength":0,"type":"string"},"email":{"description":"Gets or sets the email address of the company site.","maxLength":50,"minLength":0,"type":"string"},"fax":{"description":"Gets or sets the fax number for the company site.","maxLength":20,"minLength":0,"type":"string"},"city":{"description":"Gets or sets the city of the company site.","maxLength":50,"minLength":0,"type":"string"},"streetNumber":{"description":"Gets or sets the number associated with the street address.","maxLength":40,"minLength":0,"type":"string"}}},"SolvencyCodeModel":{"description":"Solvency","required":["solvencyCode"],"type":"object","properties":{"solvencyCode":{"description":"Identifier","maxLength":10,"minLength":0,"type":"string"}}},"CreateCustomerModel":{"description":"Create customer model","required":["customerStatus"],"type":"object","properties":{"companyName":{"description":"Companyname","type":"string"},"firstName":{"description":"Firstname, Givenname","maxLength":50,"minLength":0,"type":"string"},"lastName":{"description":"Lastname, Familyname","maxLength":50,"minLength":0,"type":"string"},"title":{"description":"Title","maxLength":25,"minLength":0,"type":"string"},"titleBeforeName":{"description":"Flag if title is before name","type":"boolean"},"isCompany":{"description":"Flag if customer is a company","type":"boolean"},"dateOfBirth":{"format":"date-time","description":"Date of birth","type":"string"},"gender":{"description":"Gender - Male, Female, Family","enum":["Male","Female","Family"],"type":"string"},"phone":{"description":"Phone","maxLength":50,"minLength":0,"type":"string"},"phone2":{"description":"Mobile","maxLength":50,"minLength":0,"type":"string"},"phone3":{"description":"Phone3","maxLength":50,"minLength":0,"type":"string"},"fax":{"description":"Fax","maxLength":50,"minLength":0,"type":"string"},"website":{"description":"Website","maxLength":255,"minLength":0,"type":"string"},"street":{"description":"Billing address - street","maxLength":150,"minLength":0,"type":"string"},"streetNumber":{"description":"Billing address - street number","maxLength":40,"minLength":0,"type":"string"},"postalCode":{"description":"Billing address - postal code","maxLength":50,"minLength":0,"type":"string"},"city":{"description":"Billing address - city","maxLength":50,"minLength":0,"type":"string"},"countryCode":{"description":"Billing address - two letter country code","maxLength":2,"minLength":2,"type":"string"},"street2":{"description":"Shipping address - street","maxLength":150,"minLength":0,"type":"string"},"streetNumber2":{"description":"Shipping address - street","maxLength":40,"minLength":0,"type":"string"},"postalCode2":{"description":"Shipping address - street","maxLength":50,"minLength":0,"type":"string"},"city2":{"description":"Shipping address - city","maxLength":50,"minLength":0,"type":"string"},"countryCode2":{"description":"Shipping address - street","maxLength":2,"minLength":2,"type":"string"},"latitude":{"format":"double","description":"Geo-coordinate latitude of the address","type":"number"},"longitude":{"format":"double","description":"Geo-coordinate longitude of the address","type":"number"},"latitude2":{"format":"double","description":"Geo-coordinate latitude of the secondary address","type":"number"},"longitude2":{"format":"double","description":"Geo-coordinate longitude of the secondary address","type":"number"},"email":{"description":"Email1","maxLength":50,"minLength":0,"type":"string"},"email2":{"description":"Email2","maxLength":50,"minLength":0,"type":"string"},"email3":{"description":"Email3","maxLength":50,"minLength":0,"type":"string"},"customerNumber":{"description":"Customer number","maxLength":50,"minLength":0,"type":"string"},"externalId":{"description":"Identifer from external system","maxLength":50,"minLength":0,"type":"string"},"vat":{"description":"Value added tax number (VAT)","maxLength":16,"minLength":0,"type":"string"},"customerStatus":{"description":"Customer state","enum":["None","PotentialCustomer","Customer"],"type":"string"},"customerCategory":{"$ref":"#/definitions/CustomerCategoryIdModel","description":"Customer category"},"showroomCategory":{"$ref":"#/definitions/ShowroomCategoryIdModel","description":"Showroom category"},"assignedUser":{"$ref":"#/definitions/UserIdModel","description":"Assigned user"},"tagIds":{"description":"Collection of tag IDs associated with the customer.","type":"array","items":{"format":"int32","type":"integer"}},"additionalCustomerData":{"$ref":"#/definitions/AdditionalCustomerDataModel","description":"Additional customer data"},"companySites":{"description":"Company sites","type":"array","items":{"$ref":"#/definitions/CompanySiteModel"}},"customFields":{"description":"Custom fields","type":"array","items":{"$ref":"#/definitions/CustomFieldModel"}},"newsletterSubscription":{"description":"Determines if this customer can be part of a email campaign or not","enum":["Unknown","SubscribedByRecipient","SubscribedByConsultant","UnsubscribedByRecipient","UnsubscribedByConsultant"],"type":"string"}}},"UpdateCustomerModel":{"description":"Represents a model used for updating an existing customer. This class extends {Sellsation.Api.Public.V1.Models.Write.Customer.CreateCustomerModel}\r\nand includes additional properties required for updating a customer record.","required":["customerId","customerStatus"],"type":"object","properties":{"customerId":{"format":"int32","description":"The unique identifier of the customer. This property is required when updating a customer's information.","type":"integer"},"companyName":{"description":"Companyname","type":"string"},"firstName":{"description":"Firstname, Givenname","maxLength":50,"minLength":0,"type":"string"},"lastName":{"description":"Lastname, Familyname","maxLength":50,"minLength":0,"type":"string"},"title":{"description":"Title","maxLength":25,"minLength":0,"type":"string"},"titleBeforeName":{"description":"Flag if title is before name","type":"boolean"},"isCompany":{"description":"Flag if customer is a company","type":"boolean"},"dateOfBirth":{"format":"date-time","description":"Date of birth","type":"string"},"gender":{"description":"Gender - Male, Female, Family","enum":["Male","Female","Family"],"type":"string"},"phone":{"description":"Phone","maxLength":50,"minLength":0,"type":"string"},"phone2":{"description":"Mobile","maxLength":50,"minLength":0,"type":"string"},"phone3":{"description":"Phone3","maxLength":50,"minLength":0,"type":"string"},"fax":{"description":"Fax","maxLength":50,"minLength":0,"type":"string"},"website":{"description":"Website","maxLength":255,"minLength":0,"type":"string"},"street":{"description":"Billing address - street","maxLength":150,"minLength":0,"type":"string"},"streetNumber":{"description":"Billing address - street number","maxLength":40,"minLength":0,"type":"string"},"postalCode":{"description":"Billing address - postal code","maxLength":50,"minLength":0,"type":"string"},"city":{"description":"Billing address - city","maxLength":50,"minLength":0,"type":"string"},"countryCode":{"description":"Billing address - two letter country code","maxLength":2,"minLength":2,"type":"string"},"street2":{"description":"Shipping address - street","maxLength":150,"minLength":0,"type":"string"},"streetNumber2":{"description":"Shipping address - street","maxLength":40,"minLength":0,"type":"string"},"postalCode2":{"description":"Shipping address - street","maxLength":50,"minLength":0,"type":"string"},"city2":{"description":"Shipping address - city","maxLength":50,"minLength":0,"type":"string"},"countryCode2":{"description":"Shipping address - street","maxLength":2,"minLength":2,"type":"string"},"latitude":{"format":"double","description":"Geo-coordinate latitude of the address","type":"number"},"longitude":{"format":"double","description":"Geo-coordinate longitude of the address","type":"number"},"latitude2":{"format":"double","description":"Geo-coordinate latitude of the secondary address","type":"number"},"longitude2":{"format":"double","description":"Geo-coordinate longitude of the secondary address","type":"number"},"email":{"description":"Email1","maxLength":50,"minLength":0,"type":"string"},"email2":{"description":"Email2","maxLength":50,"minLength":0,"type":"string"},"email3":{"description":"Email3","maxLength":50,"minLength":0,"type":"string"},"customerNumber":{"description":"Customer number","maxLength":50,"minLength":0,"type":"string"},"externalId":{"description":"Identifer from external system","maxLength":50,"minLength":0,"type":"string"},"vat":{"description":"Value added tax number (VAT)","maxLength":16,"minLength":0,"type":"string"},"customerStatus":{"description":"Customer state","enum":["None","PotentialCustomer","Customer"],"type":"string"},"customerCategory":{"$ref":"#/definitions/CustomerCategoryIdModel","description":"Customer category"},"showroomCategory":{"$ref":"#/definitions/ShowroomCategoryIdModel","description":"Showroom category"},"assignedUser":{"$ref":"#/definitions/UserIdModel","description":"Assigned user"},"tagIds":{"description":"Collection of tag IDs associated with the customer.","type":"array","items":{"format":"int32","type":"integer"}},"additionalCustomerData":{"$ref":"#/definitions/AdditionalCustomerDataModel","description":"Additional customer data"},"companySites":{"description":"Company sites","type":"array","items":{"$ref":"#/definitions/CompanySiteModel"}},"customFields":{"description":"Custom fields","type":"array","items":{"$ref":"#/definitions/CustomFieldModel"}},"newsletterSubscription":{"description":"Determines if this customer can be part of a email campaign or not","enum":["Unknown","SubscribedByRecipient","SubscribedByConsultant","UnsubscribedByRecipient","UnsubscribedByConsultant"],"type":"string"}}},"JsonPatchDocumentOfPatchCustomerModel":{"type":"object","properties":{"operations":{"type":"array","items":{"$ref":"#/definitions/JsonPatchOperation"},"readOnly":false}},"readOnly":false},"ContactInfoModel":{"description":"Contact","required":["contactId","lastName"],"type":"object","properties":{"contactId":{"format":"int32","description":"Identifier","type":"integer"},"firstName":{"description":"Firstname / Givenname","type":"string"},"lastName":{"description":"Lastname / Familiyname","type":"string"},"title":{"description":"Title","type":"string"},"titleBeforeName":{"description":"Is title before name","type":"boolean"},"dateOfBirth":{"format":"date-time","description":"Date of birth","type":"string"},"gender":{"description":"Gender - Male, Female, Family","enum":["Male","Female","Family"],"type":"string"},"position":{"description":"Position","type":"string"},"externalId":{"description":"Identifer from external system","type":"string"},"phone":{"description":"Phone","type":"string"},"phone2":{"description":"Mobile","type":"string"},"phone3":{"description":"Phone3","type":"string"},"fax":{"description":"Fax","type":"string"},"email":{"description":"Email1","type":"string"},"email2":{"description":"Email2","type":"string"},"email3":{"description":"Email3","type":"string"},"comment":{"description":"Comment","type":"string"},"newsletterSubscription":{"description":"Determines if this contact can be part of a email campaign or not","enum":["Unknown","SubscribedByRecipient","SubscribedByConsultant","UnsubscribedByRecipient","UnsubscribedByConsultant"],"type":"string"},"creationDate":{"format":"date-time","description":"Creation date in UTC","type":"string"},"lastModified":{"format":"date-time","description":"Last modified in UTC","type":"string"}}},"DeleteCustomerContactModel":{"description":"Represents a model used to specify details for ending the relationship\r\nbetween a customer and their contact.","type":"object","properties":{"endDate":{"format":"date-time","description":"Sets the end date for the relationship between the contact and the customer.","type":"string"}}},"UpdateContactModel":{"description":"Update contact model","required":["contactId","lastName"],"type":"object","properties":{"contactId":{"format":"int32","description":"Contact Identifier","type":"integer"},"firstName":{"description":"Firstname / Givenname","maxLength":50,"minLength":0,"type":"string"},"lastName":{"description":"Lastname / Familiyname","maxLength":50,"minLength":0,"type":"string"},"title":{"description":"Title","maxLength":25,"minLength":0,"type":"string"},"dateOfBirth":{"format":"date-time","description":"Date of birth","type":"string"},"gender":{"description":"Gender - Male, Female, Family","enum":["Male","Female","Family"],"type":"string"},"position":{"description":"Position","maxLength":100,"minLength":0,"type":"string"},"phone":{"description":"Phone","maxLength":50,"minLength":0,"type":"string"},"phone2":{"description":"Mobile","maxLength":50,"minLength":0,"type":"string"},"phone3":{"description":"Phone3","maxLength":50,"minLength":0,"type":"string"},"fax":{"description":"Fax","maxLength":50,"minLength":0,"type":"string"},"email":{"description":"Email1","maxLength":50,"minLength":0,"type":"string"},"email2":{"description":"Email2","maxLength":50,"minLength":0,"type":"string"},"email3":{"description":"Email3","maxLength":50,"minLength":0,"type":"string"},"comment":{"description":"Comment","maxLength":500,"minLength":0,"type":"string"},"externalId":{"description":"Identifer from external system","maxLength":50,"minLength":0,"type":"string"},"customFields":{"description":"List of custom fields","type":"array","items":{"$ref":"#/definitions/CustomFieldModel"}},"newsletterSubscription":{"description":"Determines if this contact can be part of a email campaign or not","enum":["Unknown","SubscribedByRecipient","SubscribedByConsultant","UnsubscribedByRecipient","UnsubscribedByConsultant"],"type":"string"}}},"CustomFieldContainerModel":{"description":"Represents a container for custom fields within the system.","required":["customFieldContainerId","name","customFieldContainerType"],"type":"object","properties":{"customFieldContainerId":{"format":"uuid","description":"Identifier","type":"string","example":"00000000-0000-0000-0000-000000000000"},"name":{"description":"The name of the container","maxLength":100,"minLength":1,"type":"string"},"customFieldContainerType":{"description":"Determines if the container belongs to project or customer","enum":["Project","Customer"],"type":"string"},"sortOrder":{"format":"int32","description":"Determines the sort position","type":"integer"}}},"CustomFieldOptionEditModel":{"description":"Custom field option model","type":"object","properties":{"customFieldOptionId":{"format":"int32","description":"Identifier","type":"integer"},"defaultName":{"description":"The translated name of the option","type":"string"},"translations":{"description":"Translations of the option name","type":"array","items":{"$ref":"#/definitions/TranslationModel"}},"isDeleted":{"description":"Determines if the option is deleted","type":"boolean"},"externalId":{"description":"Can be used for mapping intensions","type":"string"}}},"TranslationModel":{"description":"This model represents a single translation of a custom text","required":["language"],"type":"object","properties":{"language":{"description":"Format: ISO 639-1 (EN, DE, IT, ...)","maxLength":2,"minLength":2,"type":"string"},"text":{"description":"The translation for the given language","maxLength":400,"minLength":0,"type":"string"}}},"CreateCustomFieldOptionModel":{"description":"Create custom field option","type":"object","properties":{"defaultName":{"description":"Name","type":"string"},"sortOrder":{"format":"int32","description":"Sort order","type":"integer"},"translations":{"description":"Translations for the name of the custom field","type":"array","items":{"$ref":"#/definitions/CustomFieldOptionTranslationModel"}},"externalId":{"description":"Can be used for mapping intensions","maxLength":36,"minLength":0,"type":"string"}}},"CustomFieldOptionTranslationModel":{"description":"This model can be used to configure different tranlsations for the name of the custom field","required":["language"],"type":"object","properties":{"language":{"description":"Format: ISO 639-1 (EN, DE, IT, ...)","maxLength":2,"minLength":2,"type":"string"},"text":{"description":"The translation for the given language","maxLength":400,"minLength":0,"type":"string"}}},"UpdateCustomFieldOptionModel":{"description":"Create custom field option","type":"object","properties":{"customFieldOptionId":{"format":"int32","description":"Identifier","type":"integer"},"defaultName":{"description":"Name","type":"string"},"externalId":{"description":"Can be used for mapping intensions","maxLength":36,"minLength":0,"type":"string"},"sortOrder":{"format":"int32","description":"Sort order","type":"integer"},"translations":{"description":"Translations for the name of the custom field","type":"array","items":{"$ref":"#/definitions/CustomFieldOptionTranslationModel"}}}},"CustomFieldEditModel":{"description":"Custom field","required":["customFieldId","type"],"type":"object","properties":{"customFieldId":{"format":"int32","description":"Identifier","type":"integer"},"defaultName":{"description":"Name","type":"string"},"type":{"description":"Type","enum":["Number","Date","Text","Select","Multiselect","Currency","Checkbox","Customer","RichText","Caption","Hyperlink"],"type":"string"},"sortOrder":{"format":"int32","description":"Sort order","type":"integer"},"isRequired":{"description":"Is required","type":"boolean"},"options":{"description":"Options","type":"array","items":{"$ref":"#/definitions/CustomFieldOptionEditModel"}},"translations":{"description":"Translations of the option name","type":"array","items":{"$ref":"#/definitions/TranslationModel"}}}},"CreateCustomFieldModel":{"description":"Create custom field","required":["defaultName","type","appliesTo"],"type":"object","properties":{"defaultName":{"description":"Name","maxLength":400,"minLength":1,"type":"string"},"type":{"description":"Type","enum":["Number","Date","Text","Select","Multiselect","Currency","Checkbox","Customer","RichText","Caption","Hyperlink"],"type":"string"},"appliesTo":{"description":"Determines to which entity (Project, Contact, ...) the custom field belongs to","enum":["Project","ContactCommunication","ContactInformation","ContactPaymentTerms","ProjectDetails","ContactPerson","Note"],"type":"string"},"sortOrder":{"format":"int32","description":"Sort order","type":"integer"},"isRequired":{"description":"Is required","type":"boolean"},"translations":{"description":"Translations for the name of the custom field","type":"array","items":{"$ref":"#/definitions/CustomFieldTranslationModel"}},"configuration":{"$ref":"#/definitions/CustomFieldConfigurationModel","description":"Configuration for customer custom fields"},"customFieldContainerId":{"format":"uuid","description":"The idenfifier of the container this custom field belongs to","type":"string","example":"00000000-0000-0000-0000-000000000000"},"options":{"description":"Custom field options for select and multi select custom fields","type":"array","items":{"$ref":"#/definitions/CreateCustomFieldOptionModel"}}}},"CustomFieldTranslationModel":{"description":"This model can be used to configure different tranlsations for the name of the custom field","required":["language"],"type":"object","properties":{"language":{"description":"Format: ISO 639-1 (EN, DE, IT, ...)","maxLength":2,"minLength":2,"type":"string"},"text":{"description":"The translation for the given language","maxLength":400,"minLength":0,"type":"string"}}},"CustomFieldConfigurationModel":{"description":"Represents the configuration model for a custom field associated with a customer category.","required":["customerCategoryId"],"type":"object","properties":{"customerCategoryId":{"format":"int32","description":"The customer category id of the customer custom field","type":"integer"}}},"UpdateCustomFieldModel":{"description":"Represents the model used to update custom fields within a system.","required":["customFieldId","defaultName","type","appliesTo"],"type":"object","properties":{"customFieldId":{"format":"int32","description":"Identifier","type":"integer"},"defaultName":{"description":"Name","maxLength":400,"minLength":1,"type":"string"},"type":{"description":"Type","enum":["Number","Date","Text","Select","Multiselect","Currency","Checkbox","Customer","RichText","Caption","Hyperlink"],"type":"string"},"appliesTo":{"description":"Determines to which entity (Project, Contact, ...) the custom field belongs to","enum":["Project","ContactCommunication","ContactInformation","ContactPaymentTerms","ProjectDetails","ContactPerson","Note"],"type":"string"},"sortOrder":{"format":"int32","description":"Sort order","type":"integer"},"isRequired":{"description":"Is required","type":"boolean"},"translations":{"description":"Translations for the name of the custom field","type":"array","items":{"$ref":"#/definitions/CustomFieldTranslationModel"}},"configuration":{"$ref":"#/definitions/CustomFieldConfigurationModel","description":"Configuration for customer custom fields"},"customFieldContainerId":{"format":"uuid","description":"The idenfifier of the container this custom field belongs to","type":"string","example":"00000000-0000-0000-0000-000000000000"},"options":{"description":"Custom field options for select and multi select custom fields","type":"array","items":{"$ref":"#/definitions/UpdateCustomFieldOptionModel"}}}},"NoteModel":{"description":"Represents a note entity, containing information such as comments, associated project\r\nand contact, timestamps, note type, and additional properties.","required":["comment"],"type":"object","properties":{"customFields":{"description":"List of custom fields","type":"array","items":{"$ref":"#/definitions/CustomFieldModel"}},"contact":{"$ref":"#/definitions/ContactIdModel","description":"Contact"},"project":{"$ref":"#/definitions/ProjectIdModel","description":"Project"},"user":{"$ref":"#/definitions/UserIdModel","description":"Assigned user identifier"},"comment":{"description":"Comment","type":"string"},"emailContent":{"description":"Email content","type":"string"},"subject":{"description":"Subject","type":"string"},"date":{"format":"date-time","description":"Startdate","type":"string"},"endDate":{"format":"date-time","description":"Enddate","type":"string"},"type":{"description":"Activity type","enum":["Note","Appointment","Call","Email","Activity","TextEmail","All"],"type":"string"},"participants":{"description":"Participants","type":"string"},"location":{"description":"Location","type":"string"},"from":{"description":"From","type":"string"},"to":{"description":"To","type":"string"},"category":{"$ref":"#/definitions/NoteCategoryIdModel","description":"Category"},"receiverEmails":{"description":"Receiver emails","type":"string"},"isPrivate":{"description":"Is private appointment","type":"boolean"},"externalId":{"description":"External identifier","type":"string"},"noteId":{"format":"int32","description":"Internal identifier","type":"integer"}}},"ContactIdModel":{"description":"Represents a model for a contact identifier in the system.","type":"object","properties":{"contactId":{"format":"int32","description":"Gets the unique identifier for a contact in the system.","type":"integer"}}},"ProjectIdModel":{"description":"Defines a model for representing the ID of a project. This class is\r\nprimarily used to encapsulate the unique identifier of a project\r\nand facilitate its association with other entities within the domain.","type":"object","properties":{"projectId":{"format":"int32","description":"The unique identifier for the associated project.","type":"integer"}}},"NoteCategoryIdModel":{"description":"Represents a model for identifying a note category.","type":"object","properties":{"noteCategoryId":{"format":"int32","description":"The unique identifier for the note category.","type":"integer"}}},"ArticleVendorOverviewModel":{"type":"object","properties":{"articleVendorId":{"format":"int32","type":"integer"},"name":{"type":"string"},"creationDate":{"format":"date-time","type":"string"},"expirationDate":{"format":"date-time","type":"string"},"priceListCount":{"format":"int32","type":"integer"},"totalArticleCount":{"format":"int32","type":"integer"},"sortOrder":{"format":"int32","type":"integer"}}},"ArticlePriceListOverviewModel":{"type":"object","properties":{"articlePriceListId":{"format":"int32","type":"integer"},"name":{"type":"string"},"version":{"type":"string"},"sortOrder":{"format":"int32","type":"integer"},"creationDate":{"format":"date-time","type":"string"},"modificationDate":{"format":"date-time","type":"string"},"expirationDate":{"format":"date-time","type":"string"},"articleCount":{"format":"int32","type":"integer"}}},"ProductCategoryModel":{"description":"Product category model","required":["productCategoryId"],"type":"object","properties":{"productCategoryId":{"format":"int32","description":"Identifier","type":"integer"},"defaultName":{"description":"Lokalized name","type":"string"},"sortOrder":{"format":"int32","description":"Sort order","type":"integer"},"isActive":{"description":"Determines if this category is active","type":"boolean"},"parentProductCategoryId":{"format":"int32","description":"Identifier of parent product category","type":"integer"}}},"ProductCategoryAdminModel":{"description":"Product Category for administration","required":["productCategoryId"],"type":"object","properties":{"productCategoryId":{"format":"int32","description":"Identifier","type":"integer"},"defaultName":{"description":"Name","type":"string"},"sortOrder":{"format":"int32","description":"Sort order per hierarchy level","type":"integer"},"parentProductCategoryId":{"format":"int32","description":"Identifier of parent product category","type":"integer"},"isActive":{"description":"Determines if this category is active","type":"boolean"},"translations":{"description":"The name translations for this category","type":"array","items":{"$ref":"#/definitions/ProductCategoryTranslationModel"}}}},"ProductCategoryTranslationModel":{"description":"This model can be used to configure different tranlsations for the name of the product category","required":["language"],"type":"object","properties":{"language":{"description":"Format: ISO 639-1 (EN, DE, IT, ...)","maxLength":2,"minLength":2,"type":"string"},"text":{"description":"The translation for the given language","maxLength":400,"minLength":0,"type":"string"}}},"CreateProductCategoryModel":{"description":"Create Product Category","type":"object","properties":{"defaultName":{"description":"Lokalized name","type":"string"},"sortOrder":{"format":"int32","description":"Sort order","type":"integer"},"parentProductCategoryId":{"format":"int32","description":"Identifier of parent product category","type":"integer"},"isActive":{"description":"Determines if the product category is active","type":"boolean"},"translations":{"description":"Translations for the name of the custom field","type":"array","items":{"$ref":"#/definitions/ProductCategoryTranslationModel"}}}},"UpdateProductCategoryModel":{"description":"Update Product Category","required":["productCategoryId"],"type":"object","properties":{"productCategoryId":{"format":"int32","description":"Identifier","type":"integer"},"defaultName":{"description":"Lokalized name","type":"string"},"sortOrder":{"format":"int32","description":"Sort order","type":"integer"},"parentProductCategoryId":{"format":"int32","description":"Identifier of parent product category","type":"integer"},"isActive":{"description":"Determines if the product category is active","type":"boolean"},"translations":{"description":"Translations for the name of the custom field","type":"array","items":{"$ref":"#/definitions/ProductCategoryTranslationModel"}}}},"ProjectGroupModel":{"description":"Project group","type":"object","properties":{"projectGroupId":{"format":"int32","description":"ProjectGroup identifier - Auto. generated on creation","type":"integer"},"name":{"description":"Name","type":"string"},"type":{"description":"ProjectGroup Type","enum":["Competitive","Complementary"],"type":"string"},"volumeCalculationMethod":{"description":"Determines how the volume of the underlying projects is aggregated","enum":["Sum","Average","Max","Min"],"type":"string"},"externalId":{"description":"External Identifier","type":"string"},"customer":{"$ref":"#/definitions/CustomerIdModel","description":"The main contact template id"},"customFields":{"description":"The template custom field values","type":"array","items":{"$ref":"#/definitions/CustomFieldModel"}},"user":{"$ref":"#/definitions/UserIdModel","description":"The id of the user this projetGroup belongs to"},"creationUser":{"$ref":"#/definitions/UserIdModel","description":"The id of the use who created this projetGroup"},"creationDate":{"format":"date-time","description":"The datetime this projetGroup has been created","type":"string"},"executionDate":{"format":"date-time","description":"ExecutionDate","type":"string"},"usesExecutionDateDay":{"description":"UsesExecutionDateDay, default false","type":"boolean"}}},"CustomerIdModel":{"description":"Represents a model to hold customer identifier information.","type":"object","properties":{"customerId":{"format":"int32","description":"The unique identifier of a customer.","type":"integer"}}},"UpdateProjectGroupModel":{"description":"Update projectGroup model","required":["projectGroupId","name","type","volumeCalculationMethod"],"type":"object","properties":{"projectGroupId":{"format":"int32","description":"Identifier for the project group.","type":"integer"},"name":{"description":"Name of the project group.","maxLength":256,"minLength":0,"type":"string"},"type":{"description":"Specifies the type of the project group.","enum":["Competitive","Complementary"],"type":"string"},"volumeCalculationMethod":{"description":"Method used to calculate the volume in a project group, such as sum, average, maximum, or minimum.","enum":["Sum","Average","Max","Min"],"type":"string"},"customFields":{"description":"Collection of custom fields associated with the project group.","type":"array","items":{"$ref":"#/definitions/CustomFieldModel"}},"customer":{"$ref":"#/definitions/CustomerIdModel","description":"Represents the customer associated with the project group."},"user":{"$ref":"#/definitions/UserIdModel","description":"Represents a user associated with the project group."},"externalId":{"description":"External Identifier","maxLength":64,"minLength":0,"type":"string"},"executionDate":{"format":"date-time","description":"ExecutionDate","type":"string"},"usesExecutionDateDay":{"description":"UsesExecutionDateDay, default false","type":"boolean"}}},"JsonPatchDocumentOfPatchProjectGroupModel":{"type":"object","properties":{"operations":{"type":"array","items":{"$ref":"#/definitions/JsonPatchOperation"},"readOnly":false}},"readOnly":false},"AddProjectsToProjectGroupModel":{"description":"This model is used to add projects to an already existing project group","type":"object","properties":{"projectIds":{"description":"The ids of projects to add to the project group","type":"array","items":{"format":"int32","type":"integer"}},"applyProjectGroupFields":{"description":"Should the template fields of the project group be applied on the added projects","type":"boolean"}}},"RemoveProjectsFromProjectGroupModel":{"description":"This model is used to remove projects from an existing project group","type":"object","properties":{"projectIds":{"description":"The ids of projects to remove from the project group","type":"array","items":{"format":"int32","type":"integer"}}}},"CreateProjectGroupModel":{"description":"Create projectGroup model","required":["name","type","volumeCalculationMethod"],"type":"object","properties":{"name":{"description":"The name of the project group","maxLength":256,"minLength":0,"type":"string"},"type":{"description":"The type of the project group, which identifies its nature\r\n(e.g., Competitive or Complementary).","enum":["Competitive","Complementary"],"type":"string"},"volumeCalculationMethod":{"description":"Defines the method used for calculating volume in a project group.","enum":["Sum","Average","Max","Min"],"type":"string"},"customFields":{"description":"A collection of custom fields associated with the project group.","type":"array","items":{"$ref":"#/definitions/CustomFieldModel"}},"customer":{"$ref":"#/definitions/CustomerIdModel","description":"Represents the customer information linked to the project group."},"user":{"$ref":"#/definitions/UserIdModel","description":"Represents the user associated with the project group, containing identification details."},"externalId":{"description":"External Identifier","maxLength":64,"minLength":0,"type":"string"},"executionDate":{"format":"date-time","description":"ExecutionDate","type":"string"},"usesExecutionDateDay":{"description":"UsesExecutionDateDay, default false","type":"boolean"}}},"ProjectModel":{"description":"Project","required":["projectId","expectedExecutionMonth","expectedExecutionYear","creationDate","currentPhaseDate","workflow","customer","projectSource","phase","projectGroup"],"type":"object","properties":{"projectId":{"format":"int32","description":"Identifier","type":"integer"},"name":{"description":"Name","maxLength":100,"minLength":0,"type":"string"},"volume":{"format":"double","description":"Project volume","type":"number"},"currencyCode":{"description":"3 letter currency code","maxLength":3,"minLength":0,"type":"string"},"chance":{"format":"int32","description":"Project chance","maximum":100,"minimum":0,"type":"integer"},"usesExecutionDateDay":{"description":"UsesExecutionDateDay, default false","type":"boolean"},"expectedExecutionDay":{"format":"int32","description":"Expected exceution day, default 1","type":"integer"},"expectedExecutionMonth":{"format":"int32","description":"Expected exceution month","type":"integer"},"expectedExecutionYear":{"format":"int32","description":"Expected execution year","type":"integer"},"creationDate":{"format":"date-time","description":"Date of project creation in UTC","type":"string"},"currentPhaseDate":{"format":"date-time","description":"Date of current phase change in UTC","type":"string"},"forecast":{"format":"double","description":"Forecase","type":"number"},"dueDate":{"format":"date-time","description":"Date of due in UTC","type":"string"},"street":{"description":"Street","maxLength":50,"minLength":0,"type":"string"},"streetNumber":{"description":"Street number","maxLength":40,"minLength":0,"type":"string"},"city":{"description":"City","maxLength":50,"minLength":0,"type":"string"},"postalCode":{"description":"Postal code as string","maxLength":50,"minLength":0,"type":"string"},"countryCode":{"description":"Country code","maxLength":2,"minLength":0,"type":"string"},"offerNumber":{"description":"Offer number","maxLength":50,"minLength":0,"type":"string"},"orderNumber":{"description":"Order number","maxLength":50,"minLength":0,"type":"string"},"invoiceNumber":{"description":"Invoice number","maxLength":50,"minLength":0,"type":"string"},"contributionMargin":{"format":"double","description":"Contribution margin","type":"number"},"discount":{"description":"Discount","maxLength":200,"minLength":0,"type":"string"},"externalId":{"description":"Identifer from external system","maxLength":50,"minLength":0,"type":"string"},"contributionMarginForecast":{"format":"double","description":"Forecast of contribution margin","type":"number"},"workflow":{"$ref":"#/definitions/WorkflowIdModel","description":"Current workflow identifier"},"customer":{"$ref":"#/definitions/CustomerIdModel","description":"Customer"},"projectSource":{"$ref":"#/definitions/ProjectSourceIdModel","description":"Project source"},"phase":{"$ref":"#/definitions/PhaseIdModel","description":"Current phase"},"projectGroup":{"$ref":"#/definitions/ProductGroupIdModel","description":"Project group"},"user":{"$ref":"#/definitions/UserIdModel","description":"Assigned user identifier"},"productCategory":{"$ref":"#/definitions/ProductCategoryIdModel","description":"Project category"},"customFields":{"description":"List of custom fields","type":"array","items":{"$ref":"#/definitions/CustomFieldModel"}},"volumeCategories":{"description":"List of volume category identifiers","type":"array","items":{"$ref":"#/definitions/VolumeCategoryIdModel"}},"offers":{"description":"List of offers","type":"array","items":{"$ref":"#/definitions/OfferModel"}},"latitude":{"format":"double","description":"Geo-coordinate latitude of the address","type":"number"},"longitude":{"format":"double","description":"Geo-coordinate longitude of the address","type":"number"}}},"WorkflowIdModel":{"description":"Represents a model containing the identifier of a workflow.","type":"object","properties":{"workflowId":{"format":"int32","description":"The unique identifier for the workflow.","type":"integer"}}},"ProjectSourceIdModel":{"description":"Represents a model for identifying the source of a project.","type":"object","properties":{"projectSourceId":{"format":"int32","description":"The unique identifier for the project source.","type":"integer"}}},"PhaseIdModel":{"description":"Represents the model for identifying a specific phase.\r\nEncapsulates the unique identifier associated with a phase.","type":"object","properties":{"phaseId":{"format":"int32","description":"Represents the unique identifier of a phase within a workflow or process.","type":"integer"}}},"ProductGroupIdModel":{"description":"Represents a model for a product group's identifier.","type":"object","properties":{"productGroupId":{"format":"int32","description":"Gets or sets the identifier for the product group.","type":"integer"}}},"ProductCategoryIdModel":{"description":"Represents a model for storing and accessing a product category identifier.","type":"object","properties":{"productCategoryId":{"format":"int32","description":"Represents the unique identifier for a product category.","type":"integer"}}},"VolumeCategoryIdModel":{"description":"Represents a model containing the identifier for a volume category.","type":"object","properties":{"volumeCategoryId":{"format":"int32","description":"The unique identifier for the volume category.","type":"integer"}}},"OfferModel":{"description":"Represents a data model for an offer within the system, including relevant\r\nmetadata such as pricing, creation details, and associated configurations.","type":"object","properties":{"offerId":{"format":"int32","description":"The unique identifier for the offer.","type":"integer"},"articlePriceListId":{"format":"int32","description":"The identifier for the article price list associated with the offer.","type":"integer"},"name":{"description":"The name of the offer.","type":"string"},"creationDate":{"format":"date-time","description":"The date and time when the entity was created.","type":"string"},"totalNet":{"format":"double","description":"Represents the total net amount of the offer.","type":"number"},"totalGross":{"format":"double","description":"The total gross amount, including all applicable taxes and charges.","type":"number"},"totalAmountOfPayment":{"format":"double","description":"The total amount to be paid, including applicable costs or fees.","type":"number"},"offerNumber":{"format":"int32","description":"Represents the unique number assigned to the offer.","type":"integer"},"variantNumber":{"format":"int32","description":"Represents the variant number associated with the offer, typically used to differentiate between different versions or variations of an offer.","type":"integer"},"isOrder":{"description":"Indicates whether the offer is an order.","type":"boolean"},"configuration":{"$ref":"#/definitions/OfferConfiguration","description":"Represents the configuration details associated with the offer."}}},"OfferConfiguration":{"type":"object","properties":{"offerConfigurationTableEntries":{"type":"array","items":{"$ref":"#/definitions/OfferConfigurationTableEntry"}},"offerConfigurationProductLabelEntries":{"type":"array","items":{"$ref":"#/definitions/OfferConfigurationProductLabelEntry"}},"offerConfigurationSections":{"type":"array","items":{"$ref":"#/definitions/OfferConfigurationSection"}},"offerGenerationType":{"enum":["OfferWithNetPrices","OfferWithListPricesAndDiscountValues"],"type":"string"},"note":{"type":"string"},"useTableEntries":{"type":"boolean"}}},"OfferConfigurationTableEntry":{"type":"object","properties":{"total":{"format":"double","type":"number"},"sortOrder":{"format":"int32","type":"integer"},"mappings":{"type":"array","items":{"$ref":"#/definitions/OfferTableEntryMapping"}},"articleId":{"format":"int32","type":"integer"},"parentArticleId":{"format":"int32","type":"integer"},"htmlDescriptionId":{"format":"uuid","type":"string","example":"00000000-0000-0000-0000-000000000000"},"hasNote":{"type":"boolean"},"isManuel":{"type":"boolean"},"groupNumber":{"format":"int32","type":"integer"},"supplyCount":{"format":"int32","type":"integer"},"discount":{"format":"double","type":"number"},"discountInput":{"type":"string"},"isDiscountInPercent":{"type":"boolean"},"inputPricePerUnit":{"format":"double","type":"number"},"conversionValue":{"type":"string"},"conversionBaseUnit":{"format":"double","type":"number"},"baseUnit":{"type":"string"},"unitId":{"format":"int32","type":"integer"},"productCategoryId":{"format":"int32","type":"integer"},"articleUnitId":{"format":"int32","type":"integer"},"flourishItemId":{"format":"int32","type":"integer"}}},"OfferConfigurationProductLabelEntry":{"type":"object","properties":{"total":{"format":"double","type":"number"},"sortOrder":{"format":"int32","type":"integer"},"mappings":{"type":"array","items":{"$ref":"#/definitions/OfferProductLabelEntryMapping"}}}},"OfferConfigurationSection":{"type":"object","properties":{"id":{"format":"uuid","type":"string","example":"00000000-0000-0000-0000-000000000000"},"name":{"type":"string"},"isAccumulated":{"type":"boolean"},"total":{"format":"double","type":"number"},"sum":{"format":"double","type":"number"},"isWithdrawal":{"type":"boolean"},"entries":{"type":"array","items":{"$ref":"#/definitions/OfferConfigurationSectionEntry"}}}},"OfferTableEntryMapping":{"type":"object","properties":{"id":{"format":"uuid","type":"string","example":"00000000-0000-0000-0000-000000000000"},"value":{"type":"string"},"isNumber":{"type":"boolean"},"isCurrency":{"type":"boolean"}}},"OfferProductLabelEntryMapping":{"type":"object","properties":{"id":{"format":"uuid","type":"string","example":"00000000-0000-0000-0000-000000000000"},"value":{"type":"string"},"isNumber":{"type":"boolean"},"isCurrency":{"type":"boolean"}}},"OfferConfigurationSectionEntry":{"type":"object","properties":{"total":{"format":"double","type":"number","readOnly":true},"id":{"format":"uuid","type":"string","example":"00000000-0000-0000-0000-000000000000"},"settingId":{"format":"uuid","type":"string","example":"00000000-0000-0000-0000-000000000000"},"text":{"type":"string"},"value":{"format":"double","type":"number"},"displayValue":{"type":"string"},"isValueInPercent":{"type":"boolean"},"isDeletable":{"type":"boolean"},"isValueUneditable":{"type":"boolean"},"isActive":{"type":"boolean"},"calculationBaseType":{"enum":["Listprice","Discounted"],"type":"string"}}},"UpdateProjectModel":{"description":"Update project","required":["projectId","expectedExecutionMonth","expectedExecutionYear","projectSource"],"type":"object","properties":{"projectId":{"format":"int32","description":"Identifier","type":"integer"},"name":{"description":"Name","maxLength":250,"minLength":0,"type":"string"},"volume":{"format":"double","description":"Project volume","type":"number"},"currencyCode":{"description":"3 Letter currency code","maxLength":3,"minLength":0,"type":"string"},"chance":{"format":"int32","description":"Project chance","maximum":100,"minimum":0,"type":"integer"},"usesExecutionDateDay":{"description":"UsesExecutionDateDay, default false","type":"boolean"},"expectedExecutionDay":{"format":"int32","description":"Expected exceution day, default 1","type":"integer"},"expectedExecutionMonth":{"format":"int32","description":"Expected exceution month","type":"integer"},"expectedExecutionYear":{"format":"int32","description":"Expected execution year","type":"integer"},"dueDate":{"format":"date-time","description":"Date of due in UTC","type":"string"},"street":{"description":"Street","maxLength":150,"minLength":0,"type":"string"},"streetNumber":{"description":"Street number","maxLength":40,"minLength":0,"type":"string"},"city":{"description":"City","maxLength":50,"minLength":0,"type":"string"},"postalCode":{"description":"Postal code as string","maxLength":50,"minLength":0,"type":"string"},"countryCode":{"description":"Country code","maxLength":2,"minLength":2,"type":"string"},"latitude":{"format":"double","description":"Geo-coordinate latitude of the address","type":"number"},"longitude":{"format":"double","description":"Geo-coordinate longitude of the address","type":"number"},"offerNumber":{"description":"Offer number","maxLength":50,"minLength":0,"type":"string"},"orderNumber":{"description":"Order number","maxLength":50,"minLength":0,"type":"string"},"invoiceNumber":{"description":"Invoice number","maxLength":50,"minLength":0,"type":"string"},"contributionMargin":{"format":"double","description":"Contribution margin","type":"number"},"discount":{"description":"Discount","maxLength":200,"minLength":0,"type":"string"},"externalId":{"description":"Identifer from external system","maxLength":50,"minLength":0,"type":"string"},"projectSource":{"$ref":"#/definitions/ProjectSourceIdModel","description":"Project source"},"productCategory":{"$ref":"#/definitions/ProductCategoryIdModel","description":"Project category"},"customFields":{"description":"List of custom fields","type":"array","items":{"$ref":"#/definitions/CustomFieldModel"}},"volumeCategories":{"description":"List of volume category identifiers","type":"array","items":{"$ref":"#/definitions/VolumeCategoryIdModel"}},"customer":{"$ref":"#/definitions/CustomerIdModel","description":"Customer"}}},"JsonPatchDocumentOfPatchProjectModel":{"type":"object","properties":{"operations":{"type":"array","items":{"$ref":"#/definitions/JsonPatchOperation"},"readOnly":false}},"readOnly":false},"PatchProjectModel":{"description":"Patch project","required":["expectedExecutionMonth","expectedExecutionYear"],"type":"object","properties":{"name":{"description":"Name","maxLength":250,"minLength":0,"type":"string"},"volume":{"format":"double","description":"Project volume","type":"number"},"chance":{"format":"int32","description":"Project chance","maximum":100,"minimum":0,"type":"integer"},"usesExecutionDateDay":{"description":"UsesExecutionDateDay, default false","type":"boolean"},"expectedExecutionDay":{"format":"int32","description":"Expected exceution day, default 1","type":"integer"},"currencyCode":{"description":"3 letter currency code","maxLength":3,"minLength":0,"type":"string"},"expectedExecutionMonth":{"format":"int32","description":"Expected exceution month","type":"integer"},"expectedExecutionYear":{"format":"int32","description":"Expected execution year","type":"integer"},"dueDate":{"format":"date-time","description":"Date of due in UTC","type":"string"},"street":{"description":"Street","maxLength":150,"minLength":0,"type":"string"},"streetNumber":{"description":"Street number","maxLength":40,"minLength":0,"type":"string"},"city":{"description":"City","maxLength":50,"minLength":0,"type":"string"},"postalCode":{"description":"Postal code as string","maxLength":50,"minLength":0,"type":"string"},"countryCode":{"description":"Country code","maxLength":2,"minLength":2,"type":"string"},"offerNumber":{"description":"Offer number","maxLength":50,"minLength":0,"type":"string"},"orderNumber":{"description":"Order number","maxLength":50,"minLength":0,"type":"string"},"invoiceNumber":{"description":"Invoice number","maxLength":50,"minLength":0,"type":"string"},"contributionMargin":{"format":"double","description":"Contribution margin","type":"number"},"discount":{"description":"Discount","maxLength":200,"minLength":0,"type":"string"},"externalId":{"description":"Identifer from external system","maxLength":50,"minLength":0,"type":"string"},"projectSource":{"$ref":"#/definitions/ProjectSourceIdModel","description":"Project source"},"productCategory":{"$ref":"#/definitions/ProductCategoryIdModel","description":"Project category"},"workflow":{"$ref":"#/definitions/WorkflowIdModel","description":"Workflow"},"user":{"$ref":"#/definitions/UserIdModel","description":"User"},"customFields":{"description":"List of custom fields","type":"array","items":{"$ref":"#/definitions/CustomFieldModel"}},"volumeCategories":{"description":"List of volume category identifiers","type":"array","items":{"$ref":"#/definitions/VolumeCategoryIdModel"}},"customer":{"$ref":"#/definitions/CustomerIdModel","description":"Customer"}}},"CreateProjectModel":{"description":"Update project","required":["expectedExecutionMonth","expectedExecutionYear","customer","workflow","projectSource"],"type":"object","properties":{"name":{"description":"Name","maxLength":250,"minLength":0,"type":"string"},"volume":{"format":"double","description":"Project volume","type":"number"},"currencyCode":{"description":"3 Letter currency code","maxLength":3,"minLength":0,"type":"string"},"chance":{"format":"int32","description":"Project chance","maximum":100,"minimum":0,"type":"integer"},"usesExecutionDateDay":{"description":"UsesExecutionDateDay, default false","type":"boolean"},"expectedExecutionDay":{"format":"int32","description":"Expected exceution day, default 1","type":"integer"},"expectedExecutionMonth":{"format":"int32","description":"Expected exceution month","type":"integer"},"expectedExecutionYear":{"format":"int32","description":"Expected execution year","type":"integer"},"dueDate":{"format":"date-time","description":"Date of due in UTC","type":"string"},"street":{"description":"Street","maxLength":150,"minLength":0,"type":"string"},"streetNumber":{"description":"Street number","maxLength":40,"minLength":0,"type":"string"},"city":{"description":"City","maxLength":50,"minLength":0,"type":"string"},"postalCode":{"description":"Postal code as string","maxLength":50,"minLength":0,"type":"string"},"countryCode":{"description":"Country code","maxLength":2,"minLength":2,"type":"string"},"latitude":{"format":"double","description":"Geo-coordinate latitude of the address","type":"number"},"longitude":{"format":"double","description":"Geo-coordinate longitude of the address","type":"number"},"offerNumber":{"description":"Offer number","maxLength":50,"minLength":0,"type":"string"},"orderNumber":{"description":"Order number","maxLength":50,"minLength":0,"type":"string"},"invoiceNumber":{"description":"Invoice number","maxLength":50,"minLength":0,"type":"string"},"contributionMargin":{"format":"double","description":"Contribution margin","type":"number"},"discount":{"description":"Discount","maxLength":200,"minLength":0,"type":"string"},"externalId":{"description":"Identifer from external system","maxLength":50,"minLength":0,"type":"string"},"customer":{"$ref":"#/definitions/CustomerIdModel","description":"Customer"},"workflow":{"$ref":"#/definitions/WorkflowIdModel","description":"Workflow"},"projectSource":{"$ref":"#/definitions/ProjectSourceIdModel","description":"Project source"},"productCategory":{"$ref":"#/definitions/ProductCategoryIdModel","description":"Project category"},"user":{"$ref":"#/definitions/UserIdModel","description":"User"},"customFields":{"description":"List of custom fields","type":"array","items":{"$ref":"#/definitions/CustomFieldModel"}},"volumeCategories":{"description":"List of volume category identifiers","type":"array","items":{"$ref":"#/definitions/VolumeCategoryIdModel"}}}},"ProjectListProjection":{"description":"The projection of a project list within the Sellsation API.","type":"object","properties":{"projectId":{"format":"int32","description":"The unique identifier for the project.","type":"integer"},"name":{"description":"The name associated with the project.","type":"string"},"volume":{"format":"double","description":"The total projected volume for the project.\r\nThe monetary value, which can be null if not specified.","type":"number"},"currencyCode":{"description":"The currency code representing the currency associated with the project.","type":"string"},"chance":{"format":"int32","description":"The probability of success or completion for the project, expressed as a percentage.","type":"integer"},"usesExecutionDateDay":{"description":"Indicates whether the execution date is utilized in day-level precision.","type":"boolean"},"expectedExecutionDay":{"format":"int32","description":"The day that is expected for the project's execution to take place.","type":"integer"},"expectedExecutionMonth":{"format":"int32","description":"The expected month of execution for the project.","type":"integer"},"expectedExecutionYear":{"format":"int32","description":"The year in which the execution of the project is expected to occur.","type":"integer"},"creationDate":{"format":"date-time","description":"The date and time when the project was created.","type":"string"},"currentPhaseDate":{"format":"date-time","description":"The date associated with the current phase of the project.","type":"string"},"forecast":{"format":"double","description":"The forecasted financial value associated with a project.","type":"number"},"dueDate":{"format":"date-time","description":"The date by which the project is expected to be completed.","type":"string"},"street":{"description":"The street address associated with the project.","type":"string"},"streetNumber":{"description":"The Street Number associated with an address.","type":"string"},"city":{"description":"The city associated with the project.","type":"string"},"postalCode":{"description":"The postal code associated with the project location.","type":"string"},"countryCode":{"description":"The ISO 3166-1 alpha-2 code of the country associated with the project.","type":"string"},"contributionMargin":{"format":"double","description":"The contribution margin associated with a project, which may be null.","type":"number"},"discount":{"description":"The discount applied to the project.","type":"string"},"externalId":{"description":"An identifier for external systems or integrations.","type":"string"},"contributionMarginForecast":{"format":"double","description":"The forecasted contribution margin for the project.","type":"number"},"workflow":{"$ref":"#/definitions/WorkflowProjection","description":"The workflow projection associated with the project."},"customer":{"$ref":"#/definitions/CustomerProjection","description":"The customer associated with the project."},"phase":{"$ref":"#/definitions/PhaseProjection","description":"The current phase of the project."},"user":{"$ref":"#/definitions/UserProjection","description":"The user associated with the project."},"productCategory":{"$ref":"#/definitions/ProductCategoryProjection","description":"The category of the product associated with the project."},"customFields":{"description":"A collection of custom fields associated with the project.","type":"array","items":{"$ref":"#/definitions/CustomFieldProjection"}},"offers":{"description":"A collection of offer projections associated with the project.","type":"array","items":{"$ref":"#/definitions/OfferProjection"}}}},"WorkflowProjection":{"description":"The projection of a workflow within the Sellsation API.","type":"object","properties":{"workflowId":{"format":"int32","description":"The unique identifier for the workflow.","type":"integer"}}},"CustomerProjection":{"description":"The projection of a customer within the Sellsation API.","type":"object","properties":{"customerId":{"format":"int32","description":"The unique identifier for the customer.","type":"integer"}}},"PhaseProjection":{"description":"Represents the projection of a specific project phase within the Sellsation API.","type":"object","properties":{"phaseId":{"format":"int32","description":"The unique identifier for the phase.","type":"integer"}}},"UserProjection":{"description":"The projection of a user within the Sellsation API.","type":"object","properties":{"userId":{"format":"int32","description":"The unique identifier for the user.","type":"integer"}}},"ProductCategoryProjection":{"description":"Represents the projection of a product category within the Sellsation API.","type":"object","properties":{"productCategoryId":{"format":"int32","description":"The unique identifier for the product category.","type":"integer"}}},"CustomFieldProjection":{"description":"The projection of a custom field within the Sellsation API.","type":"object","properties":{"customFieldId":{"format":"int32","description":"The unique identifier for the custom field.","type":"integer"},"defaultName":{"description":"The default name associated with the custom field.","type":"string"},"type":{"format":"int32","description":"Represents the type of the custom field.","type":"integer"},"sortOrder":{"format":"int32","description":"Represents the order in which the custom field is sorted.","type":"integer"},"isRequired":{"description":"Indicates whether the custom field is mandatory.","type":"boolean"},"options":{"description":"A collection of custom field options.","type":"array","items":{"$ref":"#/definitions/CustomFieldOptionProjection"}},"value":{"description":"The value associated with the custom field.","type":"string"},"customFieldOptionId":{"format":"int32","description":"The identifier for the selected custom field option.","type":"integer"},"currencyCode":{"description":"The currency code representing the currency.","type":"string"}}},"OfferProjection":{"description":"The projection of an offer within the Sellsation API.","type":"object","properties":{"offerId":{"format":"int32","description":"The unique identifier for the offer.","type":"integer"},"articlePriceListId":{"format":"int32","description":"The identifier for the article's associated price list.","type":"integer"},"name":{"description":"The name associated with the offer.","type":"string"},"creationDate":{"format":"date-time","description":"The date and time when the item was created.","type":"string"},"totalNet":{"format":"double","description":"The total net value of the offer.","type":"number"},"totalGross":{"format":"double","description":"Represents the total gross amount associated with the offer.","type":"number"},"totalAmountOfPayment":{"format":"double","description":"The total amount of payment associated with the offer.","type":"number"},"offerNumber":{"format":"int32","description":"The unique identifier for the offer.","type":"integer"},"variantNumber":{"format":"int32","description":"Represents the variant number associated with an offer.","type":"integer"},"isOrder":{"description":"Indicates whether the offer is an order.","type":"boolean"},"configuration":{"$ref":"#/definitions/OfferConfiguration","description":"Represents the configuration settings for an offer."}}},"CustomFieldOptionProjection":{"description":"Represents the projection of a custom field option within the Sellsation API.","type":"object","properties":{"customFieldOptionId":{"format":"int32","description":"The unique identifier for the custom field option.","type":"integer"},"defaultName":{"description":"The default name assigned to the custom field option.","type":"string"},"selected":{"description":"Indicates whether the custom field option is selected.","type":"boolean"},"externalId":{"description":"Represents the external identifier associated with the custom field option.","type":"string"}}},"ProjectProductCategoryModel":{"description":"Project Product Category model","required":["productCategoryId","volume"],"type":"object","properties":{"productCategoryId":{"format":"int32","description":"The unique identifier for the product category.","type":"integer"},"volume":{"format":"double","description":"The volume associated with the project product category.","minimum":0,"type":"number"},"contributionMargin":{"format":"double","description":"Represents the contribution margin for the product category.","minimum":0,"type":"number"},"discount":{"description":"Represents the discount information associated with the project product category.","maxLength":200,"minLength":0,"type":"string"}}},"MoveProjectToPhaseModel":{"description":"Represents the model required to move a project to a different phase.","required":["phaseId"],"type":"object","properties":{"phaseId":{"format":"int32","description":"The identifier of the phase to which the project should be moved.","type":"integer"},"userId":{"format":"int32","description":"The identifier of the user associated with the model.","type":"integer"},"comment":{"description":"An optional comment associated with the project phase change.","type":"string"},"conditional":{"description":"Indicates whether the phase change should occur conditionally.","type":"boolean"},"dueDate":{"format":"date-time","description":"The optional due date for the phase change operation.","type":"string"},"currencyCode":{"type":"string"}}},"ProjectVolumeValueModel":{"description":"ProjectVolumeValue","required":["date"],"type":"object","properties":{"projectVolumeValueId":{"format":"int32","description":"ProjectVolumeValueId for modifications","type":"integer"},"date":{"format":"date-time","description":"Date of project creation in UTC","type":"string"},"volume":{"format":"double","description":"Project volume","type":"number"},"contributionMargin":{"format":"double","description":"Contribution margin","type":"number"},"comment":{"description":"Comment","maxLength":200,"minLength":0,"type":"string"},"volumeCategories":{"description":"List of volume category identifiers","type":"array","items":{"$ref":"#/definitions/VolumeCategoryIdModel"}},"projectProductCategoryValues":{"description":"List of project product category values","type":"array","items":{"$ref":"#/definitions/ProjectProductCategoryValue"}}}},"ProjectProductCategoryValue":{"description":"Represents the values associated with a product category in a project.","type":"object","properties":{"projectProductCategoryValueId":{"format":"int32","description":"Id of this record","type":"integer"},"productCategoryId":{"format":"int32","description":"ProductCategoryId is required","type":"integer"},"volume":{"format":"double","description":"Project volume","type":"number"},"contributionMargin":{"format":"double","description":"Contribution margin","type":"number"}}},"CreateProjectVolumeValueModel":{"description":"Create project volume value","required":["date"],"type":"object","properties":{"date":{"format":"date-time","description":"Date of project creation in UTC","type":"string"},"volume":{"format":"double","description":"Project volume","type":"number"},"contributionMargin":{"format":"double","description":"Contribution margin","type":"number"},"comment":{"description":"Comment","maxLength":200,"minLength":0,"type":"string"},"volumeCategories":{"description":"List of volume category identifiers","type":"array","items":{"$ref":"#/definitions/VolumeCategoryIdModel"}},"projectProductCategoryValues":{"description":"List of product category values","type":"array","items":{"$ref":"#/definitions/ProjectProductCategoryValueEditModel"}}}},"ProjectProductCategoryValueEditModel":{"description":"Represents a model used to edit the values associated with a product category in the context of a project.","required":["productCategoryId"],"type":"object","properties":{"productCategoryId":{"format":"int32","description":"ProductCategory is required","type":"integer"},"projectVolumeValueId":{"format":"int32","description":"This is optional - when it is given, this record will be added to given projectVolumeValue","type":"integer"},"volume":{"format":"double","description":"Project volume","type":"number"},"contributionMargin":{"format":"double","description":"Contribution margin","type":"number"}}},"ProjectContactAddModel":{"description":"Project contact add relationship","required":["contactId"],"type":"object","properties":{"contactId":{"format":"int32","description":"ContactId","type":"integer"},"customerId":{"format":"int32","description":"CustomerId","type":"integer"},"isExternal":{"description":"Is Contact external and not part of main customer or customer relations of the project?","type":"boolean"}}},"ProjectContactModel":{"description":"Project contact read relationship","type":"object","properties":{"contactid":{"format":"int32","description":"ContactId","type":"integer"},"customerid":{"format":"int32","description":"CustomerId","type":"integer"},"isExternal":{"description":"IsExternal","type":"boolean"}}},"ProjectVolumeValueVoucherModel":{"description":"ProjectVolumeValue","required":["deliveryDate"],"type":"object","properties":{"projectVolumeValueId":{"format":"int32","description":"ProjectVolumeValueId for modifications","type":"integer"},"deliveryDate":{"format":"date-time","description":"Date of delivery","type":"string"},"receiptNr":{"description":"Receipt number","maxLength":200,"minLength":0,"type":"string"},"receiptType":{"description":"Receipt type","maxLength":200,"minLength":0,"type":"string"},"receiptComment":{"description":"Receipt comment","maxLength":200,"minLength":0,"type":"string"},"receiptLink":{"description":"Receipt link","maxLength":200,"minLength":0,"type":"string"},"voucherVolume":{"format":"double","description":"Voucher Volume","type":"number"},"voucherContributionMargin":{"format":"double","description":"Voucher Contribution Margin","type":"number"},"inputVoucherVolume":{"format":"double","description":"Input Voucher Volume","type":"number"},"inputVoucherContributionMargin":{"format":"double","description":"Input Voucher Contribution Margin","type":"number"},"isActive":{"description":"IsActive","type":"boolean"},"isOrigin":{"description":"IsOrigin","type":"boolean"},"exWorksDate":{"format":"date-time","description":"ExWorks Date","type":"string"},"marginFactor":{"format":"double","description":"Represents the margin factor for financial calculations or adjustments.","type":"number"},"invoiceRecipient":{"$ref":"#/definitions/CustomerIdModel","description":"Represents the recipient of the invoice in the project volume value voucher."}}},"CreateProjectConsultant":{"description":"Represents a model for creating a project consultant in the Sellsation platform.","type":"object","properties":{"consultantId":{"format":"int32","description":"The identifier of the consultant associated with a project.\r\nThis property is optional and can be null. If specified, it represents the unique ID of the consultant.\r\nUsed to validate the existence of the consultant and ensure no duplicate assignments with the same role.","type":"integer"},"consultantRoleId":{"format":"int32","description":"The identifier of the role assigned to the consultant in a project.\r\nThis property is optional and can be null. If specified, it represents the unique ID of the consultant's role.\r\nUsed to verify the existence of the role and ensure no duplicate consultant-role combinations within the same project.","type":"integer"},"volumeDistribution":{"format":"int32","description":"Indicates the percentage of volume distributed to the consultant as part of a project's allocation.\r\nThis property is optional and can be null. If specified, it represents the consultant's share in the overall volume distribution.\r\nThe sum of all consultants' VolumeDistribution should equal 100 to ensure proper allocation.","type":"integer"}}},"ProjectSourceModel":{"description":"Project Source","required":["projectSourceId"],"type":"object","properties":{"projectSourceId":{"format":"int32","description":"Identifier","type":"integer"},"defaultName":{"description":"Localized name","type":"string"},"sortOrder":{"format":"int32","description":"Sort order","type":"integer"},"parentProjectSourceId":{"format":"int32","description":"Identifier of parent project source","type":"integer"}}},"ShowroomCategoryModel":{"description":"Showroom category","type":"object","properties":{"showroomCategoryId":{"format":"int32","description":"Identifier","type":"integer"},"defaultName":{"description":"Lokalized name","type":"string"},"sortOrder":{"format":"int32","description":"Sort order","type":"integer"}}},"SnapAddyParticipantDTO":{"description":"Represents a participant in the SnapAddy system, encapsulating various details\r\nsuch as personal information, contact details, and associated answered questions.","type":"object","properties":{"organization":{"description":"The name of the organization associated with the participant.","type":"string"},"vat":{"description":"The value-added tax (VAT) identification number associated with the participant.","type":"string"},"street":{"description":"The street address of the participant.","type":"string"},"city":{"description":"The city associated with the participant's address.","type":"string"},"zip":{"description":"The ZIP or postal code associated with the participant's address.","type":"string"},"state":{"description":"The state or region associated with the participant's address.","type":"string"},"country":{"description":"The country associated with the participant's address.","type":"string"},"website":{"description":"The website associated with the participant.","type":"string"},"email":{"description":"The email address of the participant.","type":"string"},"firstName":{"description":"The first name of the participant.","type":"string"},"lastName":{"description":"The last name of the participant.","type":"string"},"note":{"description":"Additional notes or comments associated with the participant.","type":"string"},"gender":{"format":"int32","description":"Indicates the gender of the participant.\r\nTypically represented as an integer for classification or identification purposes.","type":"integer"},"position":{"description":"The job title or role of the participant within the organization.","type":"string"},"mobile":{"description":"The mobile phone number of the participant.","type":"string"},"phone":{"description":"The phone number associated with the participant.","type":"string"},"fax":{"description":"The fax number associated with the participant.","type":"string"},"createdBy":{"description":"Identifies the user who created the participant record.","type":"string"},"createdByUserName":{"description":"The username of the user who created the participant entry.","type":"string"},"answeredQuestions":{"description":"A collection of answered questions associated with the participant.\r\nEach answered question contains details about the question and its corresponding answers.","type":"array","items":{"$ref":"#/definitions/SnapAddyAnsweredQuestion"}}}},"SnapAddyAnsweredQuestion":{"description":"Represents a question in SnapAddy that has been answered,\r\ncontaining the question's unique identifier and corresponding answers.","type":"object","properties":{"question_id":{"description":"The unique identifier associated with a specific question.","type":"string"},"answers":{"description":"A collection of answers derived from answered questions,\r\ncontaining detailed information about each question and its associated answers.","type":"array","items":{"$ref":"#/definitions/SnapAddyQuestionAnswerDTO"}}}},"SnapAddyQuestionAnswerDTO":{"description":"Represents a Data Transfer Object (DTO) for SnapAddy Question Answer details.\r\nThis class implements the {Sven.Data.ISnapAddyQuestionAnswer} interface\r\nand provides properties to manage information about question answers in SnapAddy.","type":"object","properties":{"value":{"description":"Represents the value associated with a question in the SnapAddy question-answer structure.\r\nThis property is used to store the actual response or input provided for the associated question.","type":"string"},"texts":{"description":"Represents a collection of localized text values associated with a question.\r\nThis property can store dynamic text content for multiple languages or contexts.","type":"object"}}},"SnapyAddyVisitReportDTO":{"description":"Represents the visit report data transfer object in the SnapAddy system,\r\ncontaining information about the questionnaire, participants, and questions relevant to the report.","type":"object","properties":{"questionnaire":{"$ref":"#/definitions/SnapAddyQuestionnaireDTO","description":"The questionnaire associated with the SnapAddy visit report.\r\nThis property encapsulates information such as default language, available languages, and titles\r\nfor the questionnaire, providing localized and structured data to support multilingual capabilities."},"titles":{"description":"Represents the localized titles associated with the SnapAddy visit report.\r\nThis property provides a dictionary containing title translations for different\r\nlanguages, enabling support for multilingual display and communication.","type":"object","additionalProperties":{"type":"string"},"readOnly":true},"languages":{"description":"Represents the collection of language codes available for the SnapAddy visit report.\r\nThis property provides the list of all supported languages, enabling localization and\r\nfacilitating multilingual data handling for the associated questionnaire.","type":"array","items":{"type":"string"},"readOnly":true},"defaultLanguage":{"description":"Represents the default language defined within the associated SnapAddy questionnaire.\r\nThis property ensures a consistent language context when interacting with multilingual\r\ndata, prioritizing the primary language setting of the questionnaire.","type":"string","readOnly":true},"participants":{"description":"A collection of participants associated with the SnapAddy visit report.\r\nEach participant provides details such as personal information, contact data,\r\nand responses to associated questions within the report context.","type":"array","items":{"$ref":"#/definitions/SnapAddyParticipantDTO"}},"questions":{"description":"A collection of questions associated with the SnapAddy visit report.\r\nEach question in this collection provides localized data, types, and settings,\r\nenabling structured and customizable questionnaire content.","type":"array","items":{"$ref":"#/definitions/SnapAddyQuestionDTO"}}}},"SnapAddyQuestionnaireDTO":{"description":"Represents a questionnaire in the SnapAddy system, encapsulating information such as default language,\r\navailable languages, and questionnaire titles.","type":"object","properties":{"defaultLanguage":{"description":"Specifies the default language to be used in the context of the SnapAddy visit report.\r\nThis property represents the primary language setting, enabling localization and language-specific features\r\nfor the associated questionnaire and related data.","type":"string"},"titles":{"description":"A dictionary mapping language codes to respective localized titles.\r\nThis property facilitates the representation of titles in different languages,\r\nenabling multilingual support for the associated SnapAddy questionnaire.","type":"object","additionalProperties":{"type":"string"}},"languages":{"description":"A collection of languages supported by the SnapAddy questionnaire.\r\nThis property provides a list of all available languages, enabling\r\nmultilingual support by allowing access to supported language codes.","type":"array","items":{"type":"string"}}}},"SnapAddyQuestionDTO":{"description":"Represents a Data Transfer Object (DTO) for SnapAddy questions.","type":"object","properties":{"settings":{"$ref":"#/definitions/SnapAddyQuestionSettings","description":"settings associated with a SnapAddy question."},"id":{"description":"external identifier associated with a SnapAddy question.","type":"string"},"questionType":{"description":"Specifies the type of the SnapAddy question using the ESnapAddyQuestionType enumeration,\r\nsuch as SingleSelect, MultiSelect, or others.","enum":["SingleSelect","MultiSelect","SingleLineText","MultiLineText","Number","DateTime","Time"],"type":"string"},"texts":{"description":"Collection of localized text values associated with the question,\r\nwhere the key serves as the language code and the value is the corresponding text.","type":"object","additionalProperties":{"type":"string"}}}},"SnapAddyQuestionSettings":{"description":"Represents the settings for a SnapAddy question.","type":"object","properties":{"note":{"description":"Represents an additional note or remark that can be associated.","type":"string"}}},"SolvencyModel":{"description":"Solvency","required":["solvencyCode","defaultName","sortOrder"],"type":"object","properties":{"solvencyCode":{"description":"Identifier","type":"string"},"defaultName":{"description":"Lokalized name","type":"string"},"sortOrder":{"format":"int32","description":"Sort order","type":"integer"}}},"CreateTagModel":{"description":"Create Product Category","type":"object","properties":{"defaultName":{"description":"Lokalized name","type":"string"},"color":{"description":"Color","type":"string"},"sortOrder":{"description":"Sort order","type":"string"},"translations":{"description":"Translations for the name of the custom field","type":"array","items":{"$ref":"#/definitions/TagTranslationModel"}}}},"TagTranslationModel":{"description":"This model can be used to configure different tranlsations for the name of the tag","required":["language"],"type":"object","properties":{"language":{"description":"Format: ISO 639-1 (EN, DE, IT, ...)","maxLength":2,"minLength":2,"type":"string"},"text":{"description":"The translation for the given language","maxLength":400,"minLength":0,"type":"string"}}},"UpdateTagModel":{"description":"Create Product Category","type":"object","properties":{"tagId":{"format":"int32","description":"Unique Tag Identifier","type":"integer"},"defaultName":{"description":"Lokalized name","type":"string"},"color":{"description":"Color","type":"string"},"sortOrder":{"description":"Sort order","type":"string"},"translations":{"description":"Translations for the name of the custom field","type":"array","items":{"$ref":"#/definitions/TagTranslationModel"}}}},"UserModel":{"description":"User","required":["userId","firstName","lastName","email","isTeam"],"type":"object","properties":{"userId":{"format":"int32","description":"Identifier","type":"integer"},"firstName":{"description":"First name","type":"string"},"lastName":{"description":"Last name","type":"string"},"email":{"description":"Email","type":"string"},"superiorId":{"format":"int32","description":"SuperiorId","type":"integer"},"roles":{"description":"Roles","type":"array","items":{"$ref":"#/definitions/RoleModel"}},"isTeam":{"description":"isTeam","type":"boolean"},"position":{"description":"Position","type":"string"}}},"RoleModel":{"description":"Role","required":["name"],"type":"object","properties":{"name":{"description":"Email","type":"string"}}},"RegisterWebhookModel":{"description":"Model for registering a webhook.","required":["notificationUrl"],"type":"object","properties":{"notificationUrl":{"description":"Callback URL","type":"string","x-ms-notification-url":true,"x-ms-visibility":"internal"},"entity":{"description":"Entity name to filter for (null = all).","enum":["Customer","Contact","Project"],"type":"string"},"type":{"description":"Notification type to filter for (Created, Updated, Deleted; null = all).","enum":["Created","Updated","Deleted"],"type":"string"}}},"WebhookRegistrationResultModel":{"description":"Result of registering a webhook.","type":"object","properties":{"webhookId":{"format":"int32","description":"Webhook identifier.","type":"integer"},"deleteUrl":{"description":"Absolute delete URL for the webhook.","type":"string"}}},"WorkflowModel":{"description":"Workflow","required":["workflowId","defaultName","order","isAcquisitionProcess"],"type":"object","properties":{"workflowId":{"format":"int32","description":"Identifier","type":"integer"},"defaultName":{"description":"Localized name","type":"string"},"order":{"format":"int32","description":"Sortorder","type":"integer"},"isAcquisitionProcess":{"description":"Flag if workflow is acquisition process","type":"boolean"}}},"PhaseModel":{"description":"Phase","required":["phaseId","defaultName","order","type"],"type":"object","properties":{"phaseId":{"format":"int32","description":"Phase identifier","type":"integer"},"defaultName":{"description":"Lokalized name","type":"string"},"order":{"format":"int32","description":"Sort order","type":"integer"},"type":{"description":"Phase type","enum":["Normal","Order","Due","NoOrder"],"type":"string"}}},"WebhookNotification":{"type":"object","properties":{"NotificationType":{"type":"string"},"TenantId":{"format":"int32","type":"integer"},"Entity":{"type":"string"},"EntityId":{"format":"int32","type":"integer"},"ParentEntity":{"type":"string"},"ParentEntityId":{"format":"int32","type":"integer"},"Initiator":{"type":"string"}}}},"securityDefinitions":{"Authorization":{"type":"apiKey","description":"API Key Authentication","name":"Bearer","in":"header"},"oauth2-auth":{"type":"oauth2","flow":"accessCode","authorizationUrl":"https://auth.sellsation.com/connect/authorize","tokenUrl":"https://auth.sellsation.com/connect/token","scopes":{"sellsation.api.public":"sellsation.api.public","sellsation.api.public.write":"sellsation.api.public.write","sellsation.api.public.admin.write":"sellsation.api.public.admin.write","sellsation.api.public.delete":"sellsation.api.public.delete","offline_access":"offline_access"}}},"security":[{"oauth2-auth":["sellsation.api.public","sellsation.api.public.write","sellsation.api.public.admin.write","sellsation.api.public.delete","offline_access"]}]}