API Docs | Designs | Tajima Software Solutions Inc.

With the /designs endpoint user can get the designs, designs info and thumbnail.

GET /api/Designs/GetDesigns Get a Designs List filtered by optional parameters.
Request Example
    /api/Designs/GetDesigns
    /api/Designs/GetDesigns?designCategory=Category 1&template=Temp&designPricingSku=Pricing&keywords=design&location=loc
    All the parameters are optional.
            
Response Example
    [
      {
        "DesignName": "string",
        "DesignPricingSKU": "string",
        "DesignPreviewURL": "string",
        "DesignCategory": "string",
        "FGuid": "string",
        "MinScaleFactor": 0,
        "MaxScaleFactor": 0
      }
    ]
            
GET /api/Designs/GetDesignInfo/{id} Get information about a specified design.
Request Example
            The id parameter will be the Unique Design Name
    /api/Designs/GetDesignInfo/Design 1
                
Response Example
    {
      "Name": "string",
      "File": "string",
      "HeightIn": 0,
      "WidthIn": 0,
      "DesignPricingSKU": "string",
      "DesignCategories": [
        "string"
      ],
      "DefaultColours": [
        {
          "NeedleIndex": 0,
          "Name": "string",
          "Code": "string",
          "Red": 0,
          "Green": 0,
          "Blue": 0
        },
        ...
      ],
      "DefaultColoreelSwatches": [
            "#ED1212(Coloreel Large)",
            ....
      ],
      "AvailableColours": [
        {
          "Name": "string",
          "Code": "string",
          "Red": 0,
          "Green": 0,
          "Blue": 0
        },
        ...
      ],
      "AvailableColoreelLibraries": [
            "Coloreel Large",
            "Coloreel Small"
             ...
        ],

      "Origin": "string",
      "FGuid": "string",
      "MinScaleFactor": 0,
      "MaxScaleFactor": 0,
      "DesignType": "string",
      "CustomerId": 0,
      "ImageType": "string",
      "HasColoreelEffects": false,
      "IsSingleDesign": false,
      "IsLockColors": false,
      "CompanyId": 0,
      "Id": 0
    }
            
GET /api/Designs/GetThumbnail/{id} Get a url to design image.
Request Example
            The id parameter will be the Unique Design Name
            The threadPalette is optional
    /api/Designs/GetThumbnail/Design 1?threadPalette=string
            
Response Example
    Returns a string with the url for the design image.
            
GET /api/Designs/GetCategories Get categories.
Request Example
    /api/Designs/GetCategories
            
Response Example
    [
        "Animals",
        "Food",
        "Outdoors",
        "States",
        "Holiday",
        "Canada",
        "Shapes and Letters",
        "World Cultures",
        "Other Sports",
        "Laser Test"
    ]

            
GET /api/Designs/ListDesigns/{id} Get a Designs List filtered by order-type.
Request Example
            The id parameter is required and specifies the desired order type eg embroidery-template or print-template
    If a non-valid order-type is asked, all designs are returned
        
    /api/Designs/ListDesigns/embroidery-template
            
Response Example
[
    {
        "Name": "string",
        "File": "string",
        "HeightIn": 0.0,
        "WidthIn": 0.0,
        "DesignPricingSKU": "string",
        "DesignCategories": [
            "string", "string", ...
        ],
        "DefaultColours": [
            {
                "NeedleIndex": 0,
                "Name": "string",
                "Code": "string",
                "Red": 0,
                "Green": 0,
                "Blue": 0
            },
            ...
        ],
        "DefaultColoreelSwatches": [
            "#ED1212(Coloreel Large)",
            ....
        ],
        "AvailableColours": [
            {
                "Name": "string",
                "Code": "string",
                "Red": 0,
                "Green": 0,
                "Blue": 0
            },
            ...
        ],
        "AvailableColoreelLibraries": [
            "Coloreel Large",
            "Coloreel Small"
             ...
        ],
        "Origin": "string",
        "FGuid": "string",
        "MinScaleFactor": 0,
        "MaxScaleFactor": 0,
        "DesignType": "string",
        "CustomerId": 0,
        "ImageType": "string",
        "HasColoreelEffects": false,
        "IsSingleDesign": false,
        "IsLockColors": false,
        "CompanyId": 0,
        "Id": 0
    }
]
            
GET /api/Designs/Render/{id} Get a design as a byte array image.
Request Example
            The id parameter is required and represents either the design name or design file name
    /api/Designs/Render/Design 1
            
Response Example
Returns a byte array of the design's image
{
    "Content": "[]",
    "ContentEncoding": null,
    "ContentType": "application/json"
}
            
GET /api/Designs/RenderPNG/{id} Get a design as image.
Request Example
            The id parameter is required and represents either the design name or design file name
    /api/Designs/RenderPNG/Design 1
            
Response Example
    Returns an image.
            
POST /api/Designs/Create
Model Request Example
            1. Using Form Data 
                   /api/Designs/Create
                  Request Content will be of type multipart/form-data with following keys

    file - (Required) The design file
    OrderType - Select one from the following.
                • embroidery-template
                • embroidery-design
                • print-template
                • rotary-engraving-template
                • laser-engraving-template
                • laser-engraving-free-form
                • gravotech-rotary-engraving-template
                • gravotech-laser-engraving-template
                • thinkLaser
                • transfer
                • hand-print
                • dtg
                • co2-engraving-template
                • embroidery-free-form
                • print-free-form
                • dtg-free-form
                • transfer-free-form
                • print-design
    Name - (Optional) Name to use for the design
    SubFolder - (Optional) Sub Folder for the design file
    DesignCategories - (Optional) Name of design category. If multiple, separated by comma(,)    [Only the one(s) matching existing design category names in the database are inserted]
    ReplaceFile - (Optional) true/false: defines the bahavior in case a design file with the same name and subfolder already exists in the company's designs. Default is true
    
    MinScaleFactor - (Optional) number greater than 0.2
    MaxScaleFactor - (Optional) number greater than MinScaleFactor
    DesignPricingSKU - (Optional) string
    Origin - (Optional) string
    NotIncludeInAllDesign - (Optional) boolean, defaults to false
    IsAllColors - (Optional) boolean, defaults to false
    DesignType (Optional) string, one of "Distress" or "Clipping"
 
    DesignKeywords - (Optional) string. Separated by comma(,) keyword(s) 
    DesignLocations - (Optional) string. Separated by comma(,) location(s) 
    DesignAvailableColours - (Optional) string. Separated by comma(,) colour name(s) or code(s)     [Only the one(s) matching existing colour names or codes in the database are inserted]

            2. Using Json object 
               /api/Designs/Create + json object

    {
        "File" : "string" (Required - The design file),
        "FileFormat" : "string" (Required only if the File paramter is in base64 string. Example - .PXF),
        "OrderType" : "string" (Required - Select one from the following.
                                • embroidery-template
                                • embroidery-design
                                • print-template
                                • rotary-engraving-template
                                • laser-engraving-template
                                • laser-engraving-free-form
                                • gravotech-rotary-engraving-template
                                • gravotech-laser-engraving-template
                                • Think Laser
                                • Transfer
                                • Hand Print
                                • Direct To Garment
                                • CO2 Engraving Template
                                • Embroidery Free Form
                                • Print Free Form
                                • DTG Free Form
                                • Transfer Free Form
                                • print-design),
        "Name" : "string" (Optional - Name to use for the design),
        "SubFolder" : "string" (Optional - Sub Folder for the design file),
        "DesignCategories" : "string" (Optional - Name of design category. If multiple, separated by comma(,)    [Only the one(s) matching existing design category names in the database are inserted]),
        "ReplaceFile" : "string" (Optional - true/false: defines the bahavior in case a design file with the same name and subfolder already exists in the company's designs. Default is true),
        "MinScaleFactor" : number (Optional - number greater than 0.2),
        "MaxScaleFactor" : number (Optional - number greater than MinScaleFactor),
        "DesignPricingSKU" : "string" (Optional),
        "Origin" : "string" (Optional),
        "NotIncludeInAllDesign" : "string" (Optional - boolean, defaults to false),
        "IsAllColors" : "string" (Optional - boolean, defaults to false),
        "DesignType" : "string" (Optional, one of "Distress" or "Clipping"),
        "DesignKeywords" : "string" (Optional - Separated by comma(,) keyword(s)), 
        "DesignLocations" : "string" (Optional - Separated by comma(,) location(s)), 
        "DesignAvailableColours" : "string" (Optional - Separated by comma(,) colour name(s) or code(s)     [Only the one(s) matching existing colour names or codes in the database are inserted])
    }
        
Response Example
    If the operation is successful a response with an empty error will be returned with status code 200
    Otherwise an error will be returned with status code 409
    {
        "error": ""
    }
            
PATCH /api/Designs/Update Update/Upload a new file for a design.
Request Example
    /api/Designs/Update?Name=name&InUseBehavior=1
            Name parameter is required to identify the design to update
            InUseBehavior is optional: it controls the behavior if the action attempts to update the designs's name while it is being used by other entities
    Default value is 0 or UpdateIfNotUsed (the safest option) 
    Set to 1 or UpdateAlways in order to allow the update even if other entities pointing to the design exist (please have in mind that they may be affected)
            
Model Request Example
            1. Using Form data
            Request Content will be of type multipart/form-data with following keys
            All keys are optional and only the given ones are updated
            DesignCategories, DesignKeywords, DesignLocations, DesignAvailableColours, when provided, they fully override the existing ones(s) if any

    file - The new design file
    OrderType - Select one from the following.
                • embroidery-template
                • embroidery-design
                • print-template
                • rotary-engraving-template
                • laser-engraving-template
                • laser-engraving-free-form
                • gravotech-rotary-engraving-template
                • gravotech-laser-engraving-template
                • thinkLaser
                • transfer
                • hand-print
                • dtg
                • co2-engraving-template
                • embroidery-free-form
                • print-free-form
                • dtg-free-form
                • transfer-free-form
                • print-design
    NewName - (Optional) Design Name
    SubFolder - (Optional) Sub Folder for the design file
    DesignCategories - (Optional) Name of design category. If multiple, separated by comma(,)    [Only the one(s) matching existing design category names in the database are inserted]
    ReplaceFile - (Optional) true/false: defines the bahavior in case a design file with the same name and subfolder already exists in the company's designs. Default is true
    
    Active - (Optional) true/false    
    MinScaleFactor - (Optional) number greater than 0.2
    MaxScaleFactor - (Optional) number greater than MinScaleFactor
    DesignPricingSKU - (Optional) string
    Origin - (Optional) string
    NotIncludeInAllDesign - (Optional) boolean, defaults to false
    IsAllColors - (Optional)  boolean, defaults to false
    DesignType - (Optional) string, one of "Distress" or "Clipping"
    DesignKeywords - (Optional) string. Separated by comma(,) keyword(s) 
    DesignLocations - (Optional) string. Separated by comma(,) location(s) 
    DesignAvailableColours - (Optional) string. Separated by comma(,) colour name(s) or code(s)     [Only the one(s) matching existing colour names or codes in the database are inserted]
    RemoveExistingFiles - (Optional) true/false, indicate if the previous design file and cached preview will be deleted in case of a file upload (this is done only if there are no other designs that use this file). Default is false

            2. Using Json Object
            All keys are optional and only the given ones are updated
   {
        "File" : "string" (Optional - The design file),
        "FileFormat" : "string" (Required only if the File paramter is in base64 string. Example - .PXF),
        "OrderType" : "string" (Optional - Select one from the following.
                        • embroidery-template
                        • embroidery-design
                        • print-template
                        • rotary-engraving-template
                        • laser-engraving-template
                        • laser-engraving-free-form
                        • gravotech-rotary-engraving-template
                        • gravotech-laser-engraving-template
                        • Think Laser
                        • Transfer
                        • Hand Print
                        • Direct To Garment
                        • CO2 Engraving Template
                        • Embroidery Free Form
                        • Print Free Form
                        • DTG Free Form
                        • Transfer Free Form
                        • print-design),
        "Name" : "string" (Optional - Name to use for the design),
        "SubFolder" : "string" (Optional - Sub Folder for the design file),
        "DesignCategories" : "string" (Optional - Name of design category. If multiple, separated by comma(,)    [Only the one(s) matching existing design category names in the database are inserted]),
        "ReplaceFile" : "string" (Optional - true/false: defines the bahavior in case a design file with the same name and subfolder already exists in the company's designs. Default is true),
        "Active" : "string" (Optional - true/false)
        "MinScaleFactor" : number (Optional - number greater than 0.2),
        "MaxScaleFactor" : number (Optional - number greater than MinScaleFactor),
        "DesignPricingSKU" : "string" (Optional),
        "Origin" : "string" (Optional),
        "NotIncludeInAllDesign" : "string" (Optional - boolean, defaults to false),
        "IsAllColors" : "string" (Optional - boolean, defaults to false),
        "DesignType" : "string" (Optional, one of "Distress" or "Clipping"),
        "DesignKeywords" : "string" (Optional - Separated by comma(,) keyword(s)), 
        "DesignLocations" : "string" (Optional - Separated by comma(,) location(s)), 
        "DesignAvailableColours" : "string" (Optional - Separated by comma(,) colour name(s) or code(s)     [Only the one(s) matching existing colour names or codes in the database are inserted]),
        "RemoveExistingFiles" : "string" (Optional - true/false, indicate if the previous design file and cached preview will be deleted in case of a file upload (this is done only if there are no other designs that use this file). Default is false)
   }
    
Response Example
    If the operation is successful a response with an empty error will be returned with status code 200
    Otherwise an error will be returned with status code 409
    {
        "error": ""
    }
            
DELETE /api/Designs/Delete Delete a design.
Request Example
    /api/Designs/Delete?Name=name&InUseBehavior=0&RemoveExistingFiles=true (or)  /api/Designs/Delete + json object
                
                    1. Using Query String,
                    Name parameter is required in order to identify the design to delete
                    InUseBehavior is optional: it controls the behavior if the action attempts to delete a design which is being used by other entities.
                    Default value is 0 or DeleteIfNotUsed (the safest option)
                    Set to 1 or DeleteAlways in order to allow the deletion even if other entities pointing to the design exist (please have in mind that they may be affected)
                    RemoveExistingFiles parameter is optional, it specifies if the related design files will be deleted from the company's designs folder.
                    (this is done only if there are no other designs that use this file) Default is true


                    
                    2. Using Json Object,
                    {
                        "Name": "Design Name"
                    }
Response Example
    If the operation is successful an empty response will be returned with status code 200
    Otherwise an error will be returned with status code 409      
            
POST /api/Designs/GetStitches
Request Example
/api/Designs/GetStitches
{
    "DesignName": "Fire", // Required. The Design name
    "Recipe": "Normal" // Optional
}
            
Response Example
{
    "Data":
    {
        "Elements": [
            {
                "Name": "Fire", // The Element name inside the embroidery file. If there are no Elements, its value is the same as "Filename"
                "Filename": "Fire", // The Design name
                "IsText": false,
                "IsTemplate": true,
                "Height": 0.0, // Unit: mm / 10
                "Stitches":
                [
                    {
                        "X": 484, // Unit: mm / 10
                        "Y": 1349, // Unit: mm / 10
                        "X1": 475, // Unit: mm / 10
                        "Y1": 1354, // Unit: mm / 10
                        "RelColor": 0, // Used for drawing stitches, The index of the needle (color) in the palette
                        "Code": 4, // Used for drawing stitches, 0 = sewing, 4 = changing needle (color)
                        "Jump": 0 // Used for drawing stitches, 0 = sewing, 1 = no sewing
                    },
                    ...
                    {
                        "X": 477, // Unit: mm / 10
                        "Y": 1349, // Unit: mm / 10
                        "X1": 484, // Unit: mm / 10
                        "Y1": 1348, // Unit: mm / 10
                        "RelColor": 0, // Used for drawing stitches, The index of the needle (color) in the palette
                        "Code": 0, // Used for drawing stitches, 0 = sewing, 4 = changing needle (color)
                        "Jump": 0 // Used for drawing stitches, 0 = sewing, 1 = no sewing
                    }
                ],
                "Palette": // Available embroidery palette colors
                [
                    {
                        "Blue": 0,
                        "Red": 0,
                        "Green": 0,
                        "Alpha": 0,
                        "Code": "1000 - Black",
                        "Name": "Black",
                        "Manufacturer": "RGB",
                        "RelColor": 0, // Used for drawing stitches, The index of the needle (color) in the palette
                        "Value": null
                    },
                    ...
                    {
                        "Blue": 255,
                        "Red": 255,
                        "Green": 255,
                        "Alpha": 0,
                        "Code": "1010 - White",
                        "Name": "White",
                        "Manufacturer": "RGB",
                        "RelColor": 0, // Used for drawing stitches, The index of the needle (color) in the palette
                        "Value": null
                    }
                ],
                "AssetType": "Design", // Possible values: "Design" for Text, Design or Digitize, "Template" for Templates
                "MinScale": 0,
                "MaxScale": 0,
                "ArcFactor": 0 // The value of text property Arc
            }
        ]
    },
    "Success": true,
    "Errors": null
}
            
POST /api/Designs/UploadPrintFromCustomer
Model Request Example
            Request Content will be of type multipart/form-data with following keys

        file - (Required) The design file
        customer - (Required) The customer id(we can get it from Shopify)
        Filename - (Optional) The design name
        width - (Optional) The maximum design width(in px) saved in PulseiD
        height - (Optional) The maximum design height(in px) saved in PulseiD
        OrderType - Select one from the following.
                    • embroidery-template
                    • embroidery-design
                    • print-template
                    • rotary-engraving-template
                    • laser-engraving-template
                    • laser-engraving-free-form
                    • gravotech-rotary-engraving-template
                    • gravotech-laser-engraving-template
                    • thinkLaser
                    • transfer
                    • hand-print
                    • dtg
                    • co2-engraving-template
                    • embroidery-free-form
                    • print-free-form
                    • dtg-free-form
                    • transfer-free-form
                    • print-design
            
Response Example
    If the operation is successful a response with the following model will be returned with status 200
    Success model:
    {
        "designName": "My design", // The design name saved in database
        "id": 15, // The design id
        "dpi": 72, // The dpi of the design. This property will have value only for .jpeg,.png,.tiff design uploads
        "width": 500, // In px. his property will have value only for .jpeg,.png,.tiff design uploads
        "height": 500 // In px. his property will have value only for .jpeg,.png,.tiff design uploads
    }
    Otherwise an error will be returned with status code 409
    {
        "error": ""
    }
            
POST /api/Designs/UploadPrintFromUser
Model Request Example
Request Content will be of type multipart/form-data with following keys:
    File, // Required, The design file, Allowed file extensions: .ai, .jpeg, .jpg, .pdf, .png, .pv, .tif, .tiff, .svg (the corresponding PulseID settings must be enabled)
    height, // Optional, Unit: pixels, The maximum design height
    width, // Optional, Unit: pixels, The maximum design width
    OrderType // Required, Select one from the following:
               • embroidery-template
               • embroidery-design
               • print-template
               • rotary-engraving-template
               • laser-engraving-template
               • laser-engraving-free-form
               • gravotech-rotary-engraving-template
               • gravotech-laser-engraving-template
               • Think Laser
               • Transfer
               • Hand Print
               • Direct To Garment
               • CO2 Engraving Template
               • Embroidery Free Form
               • Print Free Form
               • DTG Free Form
               • Transfer Free Form
               • print-design
            
Response Example
If the operation is successful a response with the following model will be returned with status 200
    Success model:
    {
        "success": true,
        "designName": "My design",
        "id": 15,
        "dpi": 72, // This property will have value only for .jpeg, .png, .tif, .tiff design uploads
        "height": 500, // Unit: pixels, his property will have value only for .jpeg, .png, .tif, .tiff design uploads
        "width": 500 // Unit: pixels, his property will have value only for .jpeg, .png, .tif, .tiff design uploads
    }
    Otherwise an error will be returned with status code 409
    {
        "success": false,
        "error": ""
    }
            
POST /api/Designs/GetFreeFormPvData
Request Example
/api/Designs/GetFreeFormPvData

{
    "DesignName":"Fire",
    "TemplateColourOverride":"1000 - Black" // Optional 
}
            
Response Example
{
    "Data": {
        "DPI": 0.0,
        "DesignerMode": null, // Possible values: "Basic", "Advanced"
        "Elements": [
            {
                "Elements": [
                    {
                        "Identity": {
                            "AssetFguid": "File 1", // The Design name
                            "AssetType": 1, // Possible values: 0 = None, 1 = Design, 2 = Template
                            "ElementName": "Path"
                        },
                        "PaintingWays": [ // Color information
                            {
                                "Color": {
                                    "Type": 1, // Possible values: 0 = Rgb, 1 = Cmyk, 2 = SpotRgb, 3 = SpotCmyk, 4 = Gray, 5 = SpotGray
                                    "Name": null,
                                    "Values": [0.0, 0.4, 1.0, 0.0],
                                    "RGBDisplayValues": [0.981063545, 0.650385261, 0.100587472] // Used for displaying the Color values on the client in RGB format
                                },
                                "FillMode": 1, // Possible values: 0 = Alternate, 1 = Winding
                                "FillType": 0, // Possible values: 0 = Solid, 1 = Gradient, 2 = Pattern
                                "PaintingWayType": 0 // Possible values: 0 = Fill, 1 = Stroke
                            },
                            ...
                            {
                                "Color": {
                                    "Type": 0, // Possible values: 0 = Rgb, 1 = Cmyk, 2 = SpotRgb, 3 = SpotCmyk, 4 = Gray, 5 = SpotGray
                                    "Name": null,
                                    "Values": [0.0, 0.0, 1.0],
                                    "RGBDisplayValues": [0.981063545, 0.650385261, 0.100587472] // Used for displaying the Color values on the client in RGB format
                                },
                                "StrokeType": 0, // Possible values: 0 = Solid, 1 = Pattern
                                "PaintingWayType": 1, // Possible values: 0 = Fill, 1 = Stroke
                                "Width": 2 // Unit: pixels, Range: min = 0, max = 5
                            }
                        ],
                        "Properties": {
                            "Opacity": 1.0
                        },
                        "Shape": {
                            "SvgData": "M 219.81 -118.41C 213.45 -186.19 200.75 -257.14 141.44 -257.14C 82.13 -257.14 69.43 -186.19 63.07 -118.41C 56.72 -50.63 94.84 -26.27 141.44 -26.27C 188.04 -26.27 226.16 -50.63 219.81 -118.41"
                        },
                        "Transformation": {
                            "CenterX": 141.439453125, // Unit: pixels
                            "CenterY": -141.70703125, // Unit: pixels
                            "Rotation": 0.0, // Unit: degrees
                            "ScaleX": 1.0,
                            "ScaleY": 1.0
                        },
                        "Type": 1 // Possible values: 0 = Group, 1 = Shape, 2 = Text, 3 = Bitmap
                    }
                ],
                "Identity": {
                    "AssetFguid": "File 1", // The Design name
                    "AssetType": 1, // Possible values: 0 = None, 1 = Design, 2 = Template
                    "ElementName": "Path"
                },
                "Properties": {
                    "Colors": [
                        {
                            "Color": {
                                "Type": 1, // Possible values: 0 = Rgb, 1 = Cmyk, 2 = SpotRgb, 3 = SpotCmyk, 4 = Gray, 5 = SpotGray
                                "Name": null,
                                "Values": [0.0, 0.4, 1.0, 0.0],
                                "RGBDisplayValues": [0.981063545, 0.650385261, 0.100587472] // Used for displaying the Color values on the client in RGB format
                            },
                            "FillMode": 1, // Possible values: 0 = Alternate, 1 = Winding
                            "FillType": 0, // Possible values: 0 = Solid, 1 = Gradient, 2 = Pattern
                            "PaintingWayType": 0 // Possible values: 0 = Fill, 1 = Stroke
                        },
                        ...
                        {
                            "Color": {
                                "Type": 0, // Possible values: 0 = Rgb, 1 = Cmyk, 2 = SpotRgb, 3 = SpotCmyk, 4 = Gray, 5 = SpotGray
                                "Name": null,
                                "Values": [0.0, 0.0, 1.0],
                                "RGBDisplayValues": [0.981063545, 0.650385261, 0.100587472] // Used for displaying the Color values on the client in RGB format
                            },
                            "StrokeType": 0, // Possible values: 0 = Solid, 1 = Pattern
                            "PaintingWayType": 1, // Possible values: 0 = Fill, 1 = Stroke
                            "Width": 2 // Unit: pixels, Range: min = 0, max = 5
                        }
                    ],
                    "Opacity": 1.0
                },
                "Transformation": {
                    "CenterX": 141.439453125, // Unit: pixels
                    "CenterY": -141.70703125, // Unit: pixels
                    "Rotation": 0.0 // Unit: degrees,
                    "ScaleX": 1.0,
                    "ScaleY": 1.0
                },
                "Type": 0, // Possible values: 0 = Group, 1 = Shape, 2 = Text, 3 = Bitmap
            }
        ]
    },
    "Success": true,
    "Errors": null
}