With the /Companies endpoint user can manage companies.

GET /api/Companies/List Get a list of all companies
Request Example
    /api/Companies/List
            
RESPONSE EXAMPLE
    [
        {
            "Id": "string",
            "CompanyName": "string",
            "CompanyCode": "string",
            "MainShop": "string",
            "ShopName": "string",
            "FreeFormFeatures": "string",
            "SelectedFreeFormFeatures": [],
            "DesignerMode": "string",
            "OrderSubmitThreshold": null,
            "UsedOrderSubmit": 0,
            "OrderUsageStartDate": "string",
            "OrderSubmitUsage": "string",
            "CompanyConfigs": [],
            "AvailableShopNames": [],
            "AvailableFreeFormFeatures": [],
            "AvailableDesignerModes": []
        },
        {...}
    ]
            
GET /api/Companies/Get Get a company
Request Example
    /api/Companies/Get?id=companyId
    Use id parameter to get company by id
            
RESPONSE EXAMPLE
    If found, a company is returned with status code 200. Otherwise an error with code and message is returned with status code 404  
    {
        "Id": "string",
        "CompanyName": "string",
        "CompanyCode": "string",
        "MainShop": "string",
        "ShopName": "string",
        "FreeFormFeatures": "string",
        "SelectedFreeFormFeatures": [],
        "DesignerMode": "string",
        "OrderSubmitThreshold": null,
        "UsedOrderSubmit": 0,
        "OrderUsageStartDate": "string",
        "OrderSubmitUsage": "string",
        "CompanyConfigs": [],
        "AvailableShopNames": [],
        "AvailableFreeFormFeatures": [],
        "AvailableDesignerModes": []
    }    
            
POST /api/Companies/Create
Model Request Example
    {
        "CompanyName": "string",
        "CompanyCode": "string",
        "MainShop": "string",
        "ShopName": "string",
        "FreeFormFeatures": "string",
        "SelectedFreeFormFeatures": [],
        "DesignerMode": "string",
        "OrderSubmitThreshold": null,
        "UsedOrderSubmit": 0,
        "OrderUsageStartDate": "string"
    }    
            
Response Example
If the operation is successful a company will be returned with status code 201
Otherwise an error with code and message will be returned with status code 409
            
PUT /api/Companies/Update Update a company
Request Example
    /api/Companies/Update?id=companyId
    Use id parameter to identify the company to update by id
            
Model Request Example
    All fields are updated
    {
        "CompanyName": "string",
        "CompanyCode": "string",
        "MainShop": "string",
        "ShopName": "string",
        "FreeFormFeatures": "string",
        "SelectedFreeFormFeatures": [],
        "DesignerMode": "string",
        "OrderSubmitThreshold": null,
        "UsedOrderSubmit": 0,
        "OrderUsageStartDate": "string"
    }
            
Response Example
If the operation is successful an empty response will be returned with status code 200
Otherwise an error with code and message will be returned with status code 409
            
GET /api/companies/GetCompanyExists Check if a company with the specified name & code exists.
Request Example
    /api/Companies/GetCompanyExists?code=companyCode&name=companyName
            
RESPONSE EXAMPLE
    If successful, a response dictating if the company exists will be returned with status code of 200
    {
        "codeExists": true,
        "nameExists": true
    }
            
GET /api/companies/GetCompanyFreeFormFeatures Get the company free form features.
Request Example
    /api/Companies/GetCompanyFreeFormFeatures?shopName=myShop
    Use shopName parameter to get the company free form features by shop name
            
RESPONSE EXAMPLE
    If successful, the company free form features will be returned with status code of 200
    {
        "features": "string",
        "doNotScaleDesign": false,
        "designerMode": "string",
        "companyName": "string",
        "allowWidgetUploadPng": true,
        "allowWidgetUploadPngForEmbroidery": true,
        "allowWidgetUploadJpg": true,
        "allowWidgetUploadJpgForEmbroidery": true,
        "allowWidgetUploadSvg": false,
        "allowWidgetUploadPv": false,
        "allowWidgetUploadTif": false,
        "allowWidgetUploadPdf": true,
        "allowWidgetUploadAi": true,
        "allowWidgetUploadTifForEmbroidery": false,
        "minimumUploadScaleFactor": 0.0,
        "minimumUploadScaleFactorForEmbroidery": 0.0,
        "maximumUploadScaleFactor": 0.0,
        "maximumUploadScaleFactorForEmbroidery": 0.0,
        "minimumUploadDpi": 0.0,
        "minimumUploadDpiForEmbroidery": 0.0,
        "frameCornerRadius": 0.0,
        "areaThicknessTolerance": 2.0,
        "maximumNumberOfColorsPrint": 0.0,
        "maximumNumberOfColorsEmbroidery": 0.0,
        "rulerUnits": "string"
    }
            
GET /api/companies/GetCompanyId Get the company id.
Request Example
    /api/Companies/GetCompanyId?name=myShop
    Use name parameter to get the company id by shop name
                
Response Example
    If successful, the company id will be returned with status code of 200
            
GET /api/companies/GetCompanyName Get the company name.
Request Example
    /api/Companies/GetCompanyName?shopName=myShop
    Use shopName parameter to get the company name by shop name
            
RESPONSE EXAMPLE
    If successful, the company name will be returned with status code of 200
    Otherwise an error with code and message is returned with status code 409
            
GET /api/companies/GetCompanyShopConfig Get the app-config file for the specified company.
Request Example
    /api/Companies/GetCompanyShopConfig?shopName=myShop
    Use shopName parameter to get the app-config file by shop name
            
RESPONSE EXAMPLE
    If successful, the app-config file will be returned as a string with status code of 200
    Otherwise an error with code and message is returned with status code 409
            
POST /api/Companies/SetCompanyDesignerMode
Model Request Example
    {
        "Mode": "string",
        "ShopName": "string"
    }    
            
Response Example
If the operation is successful a message will be returned with status code 200
Otherwise an error with code and message will be returned with status code 409