Varnish Administration Console

VCL

VCL entities in the VAC are modeled to behave similar to git commits and branches. A VCL entity can be viewed as a branch, and a VCL Commit can be viewed as a commit on a specific branch. The head of the branch is the applicable VCL for that branch and rollbacks are also supported.

{
            "commit": {
                "branch": {
                    "id": "59d258b877c82b1ba527ae7c",
                    "name": "asd"
                },
                "committedByUser": {
                    "id": "521afbcdd29aeea08603b01c",
                    "username": "vac"
                },
                "compilationData": {
                    "5989c76d436cde7136986b36": {
                        "mainAction": "AGENT_NOT_OK_STATUS",
                        "node": "192.168.50.104:46085_cache4",
                        "nodeId": "5989c76d436cde7136986b36",
                        "response": "service unavailable 192.168.50.104:46085_cache4.",
                        "statusCode": 503
                    },
                    "5989c77e436cde7136986b3a": {
                        "mainAction": "AGENT_NOT_OK_STATUS",
                        "node": "192.168.50.103:36085_cache3",
                        "nodeId": "5989c77e436cde7136986b3a",
                        "response": "service unavailable 192.168.50.103:36085_cache3.",
                        "statusCode": 503
                    },
                    "5989c787436cde7136986b3e": {
                        "line": 0,
                        "mainAction": "AGENT_VCL_COMPILE_OK",
                        "node": "127.0.0.1:17085_c1",
                        "nodeId": "5989c787436cde7136986b3e",
                        "position": 0,
                        "response": "VCL compile successful 127.0.0.1:17085_c1.",
                        "statusCode": 200
                    }
                },
                "content": "# A basic skeleton.\nvcl 4.0;\nbackend default {\n    .host = \"127.0.0.1\";\n    .port = \"9070\";\n}\n\nsub vcl_recv {\n}",
                "created": "2017-10-05T13:20:30.787Z",
                "deployData": {
                    "5989c787436cde7136986b3e": {
                        "mainAction": "AGENT_VCL_DEPLOY_OK",
                        "node": "127.0.0.1:17085_c1",
                        "nodeId": "5989c787436cde7136986b3e",
                        "response": "VCL deployment successful. 127.0.0.1:17085_c1.",
                        "statusCode": 200
                    }
                },
                "group": {
                    "id": "na",
                    "name": "detached"
                },
                "head": true,
                "id": "59d6319ebf085f6187eb9ee3",
                "timestamp": "2017-10-16T09:28:22.638Z"
            },
            "content": "# A basic skeleton.\nvcl 4.0;\nbackend default {\n    .host = \"127.0.0.1\";\n    .port = \"9070\";\n}\n\nsub vcl_recv {\n}",
            "created": "2017-10-02T15:18:16.959Z",
            "createdByUser": {
                "id": "521afbcdd29aeea08603b01c",
                "username": "vac"
            },
            "id": "59d258b877c82b1ba527ae7c",
            "isprivate": false,
            "name": "asd",
            "timestamp": "2017-10-16T09:28:22.638Z",
            "used": false
        }
    ]
}

{
            "branch": {
                "id": "59d258b877c82b1ba527ae7c",
                "name": "asd"
            },
            "committedByUser": {
                "id": "521afbcdd29aeea08603b01c",
                "username": "vac"
            },
            "compilationData": {
                "5989c787436cde7136986b3e": {
                    "mainAction": "AGENT_NOT_OK_STATUS",
                    "node": "127.0.0.1:17085_c1",
                    "nodeId": "5989c787436cde7136986b3e",
                    "response": "service unavailable 127.0.0.1:17085_c1.",
                    "statusCode": 503
                }
            },
            "content": "dasdasd",
            "created": "2017-10-05T12:31:33.483Z",
            "deployData": {},
            "group": {
                "id": "na",
                "name": "detached"
            },
            "head": false,
            "id": "59d62625bf085f6187eb9da9",
            "timestamp": "2017-10-05T12:31:33.659Z"
        },

GET

{
    "list": [
        {
            "commit": {
                "branch": {
                    "id": "58d129c1db6c70a566bd5111",
                    "name": "test"
                },
                "committedByUser": {
                    "id": "521afbcdd29aeea08603b01c",
                    "username": "vac"
                },
                "compilationData": {
                    "5989c76d436cde7136986b36": {
                        "line": 0,
                        "mainAction": "AGENT_VCL_COMPILE_OK",
                        "node": "192.168.50.104:46085_cache4",
                        "nodeId": "5989c76d436cde7136986b36",
                        "position": 0,
                        "response": "VCL compile successful 192.168.50.104:46085_cache4.",
                        "statusCode": 200
                    },
                    "5989c77e436cde7136986b3a": {
                        "line": 0,
                        "mainAction": "AGENT_VCL_COMPILE_OK",
                        "node": "192.168.50.103:36085_cache3",
                        "nodeId": "5989c77e436cde7136986b3a",
                        "position": 0,
                        "response": "VCL compile successful 192.168.50.103:36085_cache3.",
                        "statusCode": 200
                    }
                },
                "content": "vcl 4.0;//oned\n\n backend default {\n    .host = \"127.0.0.1\";\n    .port = \"8070\";\n}\n \n sub vcl_recv {\n    if (req.url == \"/?test\") {\n      return (synth(500));\n    }\n    if (req.url == \"/?\") {\n      return (synth(200));\n    }\n }",
                "created": "2017-10-05T13:18:00.558Z",
                "deployData": {
                    "5989c76d436cde7136986b36": {
                        "mainAction": "AGENT_VCL_DEPLOY_OK",
                        "node": "192.168.50.104:46085_cache4",
                        "nodeId": "5989c76d436cde7136986b36",
                        "response": "VCL deployment successful. 192.168.50.104:46085_cache4.",
                        "statusCode": 200
                    },
                    "5989c77e436cde7136986b3a": {
                        "mainAction": "AGENT_VCL_DEPLOY_OK",
                        "node": "192.168.50.103:36085_cache3",
                        "nodeId": "5989c77e436cde7136986b3a",
                        "response": "VCL deployment successful. 192.168.50.103:36085_cache3.",
                        "statusCode": 200
                    }
                },
                "group": {
                    "id": "na",
                    "name": "detached"
                },
                "head": true,
                "id": "59d63108bf085f6187eb9eaf",
                "timestamp": "2017-10-18T11:45:44.733Z"
            },
            "content": "vcl 4.0;//oned\n\n backend default {\n    .host = \"127.0.0.1\";\n    .port = \"8070\";\n}\n \n sub vcl_recv {\n    if (req.url == \"/?test\") {\n      return (synth(500));\n    }\n    if (req.url == \"/?\") {\n      return (synth(200));\n    }\n }",
            "created": "2017-03-21T13:25:08.056Z",
            "createdByUser": {
                "id": "521afbcdd29aeea08603b01c",
                "username": "vac"
            },
            "id": "58d129c1db6c70a566bd5111",
            "isprivate": false,
            "name": "test",
            "timestamp": "2017-10-18T11:45:44.733Z",
            "used": true
        },
        "commit": {
            "branch": {
                "id": "59bb9037fbea0f30ff5f34d5",
                "name": "purge_vcl_test003"
            },
            "committedByUser": {
                "id": "521afbcdd29aeea08603b01c",
                "username": "vac"
            },
            "compilationData": {
                "5989c787436cde7136986b3e": {
                    "compilationMessage": "No VCL found",
                    "line": 0,
                    "mainAction": "AGENT_VCL_COMPILE_ERROR",
                    "node": "127.0.0.1:17085_c1",
                    "nodeId": "5989c787436cde7136986b3e",
                    "position": 0,
                    "response": "VCL compile failed 127.0.0.1:17085_c1.",
                    "statusCode": 500
                }
            },
            "content": "",
            "created": "2017-09-15T08:32:55.710Z",
            "deployData": {},
            "group": {
                "id": "na",
                "name": "detached"
            },
            "head": true,
            "id": "59bb9037fbea0f30ff5f34d6",
            "timestamp": "2017-10-05T13:18:11.436Z"
        },
        "content": "",
        "created": "2017-09-15T08:32:55.706Z",
        "createdByUser": {
            "id": "521afbcdd29aeea08603b01c",
            "username": "vac"
        },
        "description": "I know what you did",
        "id": "59bb9037fbea0f30ff5f34d5",
        "isprivate": false,
        "name": "purge_vcl_test003",
        "timestamp": "2017-10-05T13:18:11.436Z",
        "used": false
    },
    {
        "commit": {
            "branch": {
                "id": "59d258b877c82b1ba527ae7c",
                "name": "asd"
            },
            "committedByUser": {
                "id": "521afbcdd29aeea08603b01c",
                "username": "vac"
            },
            "compilationData": {
                "5989c76d436cde7136986b36": {
                    "mainAction": "AGENT_NOT_OK_STATUS",
                    "node": "192.168.50.104:46085_cache4",
                    "nodeId": "5989c76d436cde7136986b36",
                    "response": "service unavailable 192.168.50.104:46085_cache4.",
                    "statusCode": 503
                },
                "5989c77e436cde7136986b3a": {
                    "mainAction": "AGENT_NOT_OK_STATUS",
                    "node": "192.168.50.103:36085_cache3",
                    "nodeId": "5989c77e436cde7136986b3a",
                    "response": "service unavailable 192.168.50.103:36085_cache3.",
                    "statusCode": 503
                },
                "5989c787436cde7136986b3e": {
                    "line": 0,
                    "mainAction": "AGENT_VCL_COMPILE_OK",
                    "node": "127.0.0.1:17085_c1",
                    "nodeId": "5989c787436cde7136986b3e",
                    "position": 0,
                    "response": "VCL compile successful 127.0.0.1:17085_c1.",
                    "statusCode": 200
                }
            },
            "content": "# A basic skeleton.\nvcl 4.0;\nbackend default {\n    .host = \"127.0.0.1\";\n    .port = \"9070\";\n}\n\nsub vcl_recv {\n}",
            "created": "2017-10-05T13:20:30.787Z",
            "deployData": {
                "5989c787436cde7136986b3e": {
                    "mainAction": "AGENT_VCL_DEPLOY_OK",
                    "node": "127.0.0.1:17085_c1",
                    "nodeId": "5989c787436cde7136986b3e",
                    "response": "VCL deployment successful. 127.0.0.1:17085_c1.",
                    "statusCode": 200
                }
            },
            "group": {
                "id": "na",
                "name": "detached"
            },
            "head": true,
            "id": "59d6319ebf085f6187eb9ee3",
            "timestamp": "2017-10-16T09:28:22.638Z"
        },
        "content": "# A basic skeleton.\nvcl 4.0;\nbackend default {\n    .host = \"127.0.0.1\";\n    .port = \"9070\";\n}\n\nsub vcl_recv {\n}",
        "created": "2017-10-02T15:18:16.959Z",
        "createdByUser": {
            "id": "521afbcdd29aeea08603b01c",
            "username": "vac"
        },
        "id": "59d258b877c82b1ba527ae7c",
        "isprivate": false,
        "name": "asd",
        "timestamp": "2017-10-16T09:28:22.638Z",
        "used": false
        }
    ]
}


GET

Example with api/v1/vcl/1/2

{page_number}=1 {items_per_page}=2

{
    "list": [
        {
            "commit": {
                "branch": {
                    "id": "58d129c1db6c70a566bd5111",
                    "name": "test"
                },
                "committedByUser": {
                    "id": "521afbcdd29aeea08603b01c",
                    "username": "vac"
                },
                "compilationData": {
                    "5989c76d436cde7136986b36": {
                        "line": 0,
                        "mainAction": "AGENT_VCL_COMPILE_OK",
                        "node": "192.168.50.104:46085_cache4",
                        "nodeId": "5989c76d436cde7136986b36",
                        "position": 0,
                        "response": "VCL compile successful 192.168.50.104:46085_cache4.",
                        "statusCode": 200
                    },
                    "5989c77e436cde7136986b3a": {
                        "line": 0,
                        "mainAction": "AGENT_VCL_COMPILE_OK",
                        "node": "192.168.50.103:36085_cache3",
                        "nodeId": "5989c77e436cde7136986b3a",
                        "position": 0,
                        "response": "VCL compile successful 192.168.50.103:36085_cache3.",
                        "statusCode": 200
                    }
                },
                "content": "vcl 4.0;//oned\n\n backend default {\n    .host = \"127.0.0.1\";\n    .port = \"8070\";\n}\n \n sub vcl_recv {\n    if (req.url == \"/?test\") {\n      return (synth(500));\n    }\n    if (req.url == \"/?\") {\n      return (synth(200));\n    }\n }",
                "created": "2017-10-05T13:18:00.558Z",
                "deployData": {
                    "5989c76d436cde7136986b36": {
                        "mainAction": "AGENT_VCL_DEPLOY_OK",
                        "node": "192.168.50.104:46085_cache4",
                        "nodeId": "5989c76d436cde7136986b36",
                        "response": "VCL deployment successful. 192.168.50.104:46085_cache4.",
                        "statusCode": 200
                    },
                    "5989c77e436cde7136986b3a": {
                        "mainAction": "AGENT_VCL_DEPLOY_OK",
                        "node": "192.168.50.103:36085_cache3",
                        "nodeId": "5989c77e436cde7136986b3a",
                        "response": "VCL deployment successful. 192.168.50.103:36085_cache3.",
                        "statusCode": 200
                    }
                },
                "group": {
                    "id": "na",
                    "name": "detached"
                },
                "head": true,
                "id": "59d63108bf085f6187eb9eaf",
                "timestamp": "2017-10-18T11:45:44.733Z"
            },
            "content": "vcl 4.0;//oned\n\n backend default {\n    .host = \"127.0.0.1\";\n    .port = \"8070\";\n}\n \n sub vcl_recv {\n    if (req.url == \"/?test\") {\n      return (synth(500));\n    }\n    if (req.url == \"/?\") {\n      return (synth(200));\n    }\n }",
            "created": "2017-03-21T13:25:08.056Z",
            "createdByUser": {
                "id": "521afbcdd29aeea08603b01c",
                "username": "vac"
            },
            "id": "58d129c1db6c70a566bd5111",
            "isprivate": false,
            "name": "test",
            "timestamp": "2017-10-18T11:45:44.733Z",
            "used": true
        },
        {
            "commit": {
                "branch": {
                    "id": "5994423adb6c223517f8d3ed",
                    "name": "demo"
                },
                "committedByUser": {
                    "id": "521afbcdd29aeea08603b01c",
                    "username": "vac"
                },
                "compilationData": {
                    "5989c76d436cde7136986b36": {
                        "compilationMessage": "Message from VCC-compiler:\nExpected an action, 'if', '{' or '}'\n('<vcl.inline>' Line 18 Pos 5)\n    elseif (req.http.host ~ \"192.168.50.20\") { set req.backend_hint = two; }\n----######------------------------------------------------------------------\n\nRunning VCC-compiler failed, exited with 2\nVCL compilation failed",
                        "line": 18,
                        "mainAction": "AGENT_VCL_COMPILE_ERROR",
                        "node": "192.168.50.104:46085_cache4",
                        "nodeId": "5989c76d436cde7136986b36",
                        "position": 5,
                        "response": "VCL compile failed 192.168.50.104:46085_cache4.",
                        "statusCode": 500
                    },
                    "5989c77e436cde7136986b3a": {
                        "compilationMessage": "Message from VCC-compiler:\nExpected an action, 'if', '{' or '}'\n('<vcl.inline>' Line 18 Pos 5)\n    elseif (req.http.host ~ \"192.168.50.20\") { set req.backend_hint = two; }\n----######------------------------------------------------------------------\n\nRunning VCC-compiler failed, exited with 2\nVCL compilation failed",
                        "line": 18,
                        "mainAction": "AGENT_VCL_COMPILE_ERROR",
                        "node": "192.168.50.103:36085_cache3",
                        "nodeId": "5989c77e436cde7136986b3a",
                        "position": 5,
                        "response": "VCL compile failed 192.168.50.103:36085_cache3.",
                        "statusCode": 500
                    },
                    "5989c787436cde7136986b3e": {
                        "compilationMessage": "Message from VCC-compiler:\nExpected an action, 'if', '{' or '}'\n('<vcl.inline>' Line 18 Pos 5)\n    elseif (req.http.host ~ \"192.168.50.20\") { set req.backend_hint = two; }\n----######------------------------------------------------------------------\n\nRunning VCC-compiler failed, exited with 2\nVCL compilation failed",
                        "line": 18,
                        "mainAction": "AGENT_VCL_COMPILE_ERROR",
                        "node": "127.0.0.1:17085_c1",
                        "nodeId": "5989c787436cde7136986b3e",
                        "position": 5,
                        "response": "VCL compile failed 127.0.0.1:17085_c1.",
                        "statusCode": 500
                    }
                },
                "content": "vcl 4.0;//ss9870987wssssssss\n\n\nimport std;\n\n backend default {\n    .host = \"127.0.0.1\";\n    .port = \"8070\";\n}\n\n backend two {\n    .host = \"127.0.0.1\";\n    .port = \"9070\";\n}\n \n sub vcl_recv {\n    if (req.http.host ~ \"(?i)localhost\") { set req.backend_hint = default; \n    elseif (req.http.host ~ \"192.168.50.20\") { set req.backend_hint = two; }\n }\n \n sub vcl_deliver {\n     set req.http.x-time = now;\n }",
                "created": "2017-10-16T09:44:09.155Z",
                "deployData": {},
                "group": {
                    "id": "na",
                    "name": "detached"
                },
                "head": true,
                "id": "59e47f6977c8096ca5e77704",
                "timestamp": "2017-10-16T09:50:45.060Z"
            },
            "content": "vcl 4.0;//ss9870987wssssssss\n\n\nimport std;\n\n backend default {\n    .host = \"127.0.0.1\";\n    .port = \"8070\";\n}\n\n backend two {\n    .host = \"127.0.0.1\";\n    .port = \"9070\";\n}\n \n sub vcl_recv {\n    if (req.http.host ~ \"(?i)localhost\") { set req.backend_hint = default; \n    elseif (req.http.host ~ \"192.168.50.20\") { set req.backend_hint = two; }\n }\n \n sub vcl_deliver {\n     set req.http.x-time = now;\n }",
            "created": "2017-08-16T13:01:46.321Z",
            "createdByUser": {
                "id": "521afbcdd29aeea08603b01c",
                "username": "vac"
            },
            "id": "5994423adb6c223517f8d3ed",
            "isprivate": false,
            "name": "demo",
            "timestamp": "2017-10-16T09:50:45.059Z",
            "used": false
        }
    ]
}


GET

{
            "commit": {
                "branch": {
                    "id": "59d258b877c82b1ba527ae7c",
                    "name": "asd"
                },
                "committedByUser": {
                    "id": "521afbcdd29aeea08603b01c",
                    "username": "vac"
                },
                "compilationData": {
                    "5989c76d436cde7136986b36": {
                        "mainAction": "AGENT_NOT_OK_STATUS",
                        "node": "192.168.50.104:46085_cache4",
                        "nodeId": "5989c76d436cde7136986b36",
                        "response": "service unavailable 192.168.50.104:46085_cache4.",
                        "statusCode": 503
                    },
                    "5989c77e436cde7136986b3a": {
                        "mainAction": "AGENT_NOT_OK_STATUS",
                        "node": "192.168.50.103:36085_cache3",
                        "nodeId": "5989c77e436cde7136986b3a",
                        "response": "service unavailable 192.168.50.103:36085_cache3.",
                        "statusCode": 503
                    },
                    "5989c787436cde7136986b3e": {
                        "line": 0,
                        "mainAction": "AGENT_VCL_COMPILE_OK",
                        "node": "127.0.0.1:17085_c1",
                        "nodeId": "5989c787436cde7136986b3e",
                        "position": 0,
                        "response": "VCL compile successful 127.0.0.1:17085_c1.",
                        "statusCode": 200
                    }
                },
                "content": "# A basic skeleton.\nvcl 4.0;\nbackend default {\n    .host = \"127.0.0.1\";\n    .port = \"9070\";\n}\n\nsub vcl_recv {\n}",
                "created": "2017-10-05T13:20:30.787Z",
                "deployData": {
                    "5989c787436cde7136986b3e": {
                        "mainAction": "AGENT_VCL_DEPLOY_OK",
                        "node": "127.0.0.1:17085_c1",
                        "nodeId": "5989c787436cde7136986b3e",
                        "response": "VCL deployment successful. 127.0.0.1:17085_c1.",
                        "statusCode": 200
                    }
                },
                "group": {
                    "id": "na",
                    "name": "detached"
                },
                "head": true,
                "id": "59d6319ebf085f6187eb9ee3",
                "timestamp": "2017-10-16T09:28:22.638Z"
            },
            "content": "# A basic skeleton.\nvcl 4.0;\nbackend default {\n    .host = \"127.0.0.1\";\n    .port = \"9070\";\n}\n\nsub vcl_recv {\n}",
            "created": "2017-10-02T15:18:16.959Z",
            "createdByUser": {
                "id": "521afbcdd29aeea08603b01c",
                "username": "vac"
            },
            "id": "59d258b877c82b1ba527ae7c",
            "isprivate": false,
            "name": "asd",
            "timestamp": "2017-10-16T09:28:22.638Z",
            "used": false
        }
    ]
}


POST

    {
        "description":"This is a new VCL.",
        "name":"vcl1",
        "content": "vcl 4.0;"
    }

{
    "commit": {
        "branch": {
            "id": "59e74b6ffbea8558092aee2b",
            "name": "vcl1"
        },
        "committedByUser": {
            "id": "59e73ba9fbea8558092aee21",
            "username": "test"
        },
        "compilationData": {},
        "content": "vcl 4.0;",
        "created": "2017-10-18T12:39:11.085Z",
        "deployData": {},
        "group": {
            "id": "na",
            "name": "detached"
        },
        "head": true,
        "id": "59e74b6ffbea8558092aee2c",
        "timestamp": "2017-10-18T12:39:11.085Z"
    },
    "content": "vcl 4.0;",
    "created": "2017-10-18T12:39:11.082Z",
    "createdByUser": {
        "id": "59e73ba9fbea8558092aee21",
        "username": "test"
    },
    "description": "This is a new VCL",
    "id": "59e74b6ffbea8558092aee2b",
    "isprivate": false,
    "name": "vcl1",
    "timestamp": "2017-10-18T12:39:11.083Z",
    "used": false
}


PUT/PATCH

    {
    "name": "VCLone",
    "description":"update"
    }

{
    "commit": {
        "branch": {
            "id": "59e74bb4fbea8558092aee2d",
            "name": "VCLone"
        },
        "committedByUser": {
            "id": "59e73ba9fbea8558092aee21",
            "username": "test"
        },
        "compilationData": {},
        "content": "vcl 4.0;",
        "created": "2017-10-18T12:40:20.611Z",
        "deployData": {},
        "group": {
            "id": "na",
            "name": "detached"
        },
        "head": true,
        "id": "59e74bb4fbea8558092aee2e",
        "timestamp": "2017-10-18T12:40:20.611Z"
    },
    "content": "vcl 4.0;",
    "created": "2017-10-18T12:40:20.608Z",
    "createdByUser": {
        "id": "59e73ba9fbea8558092aee21",
        "username": "test"
    },
    "description": "update",
    "id": "59e74bb4fbea8558092aee2d",
    "isprivate": false,
    "name": "VCLone",
    "timestamp": "2017-10-18T12:50:10.463Z",
    "used": false
}


POST

    {
        "content":"#some vcl content"
    }

{
    "branch": {
        "id": "59e74bb4fbea8558092aee2d",
        "name": "VCLone"
    },
    "committedByUser": {
        "id": "59e73ba9fbea8558092aee21",
        "username": "test"
    },
    "compilationData": {},
    "content": "#some VCL content",
    "created": "2017-10-18T12:56:34.552Z",
    "deployData": {},
    "group": {
        "id": "na",
        "name": "detached"
    },
    "head": true,
    "id": "59e74f82fbea8558092aee31",
    "timestamp": "2017-10-18T12:56:34.552Z"
}


POST

-H "Content-Type: text/plain" --data-binary "#more content"

{
    "id": "59e74ff7fbea8558092aee32",
    "timestamp": "2017-10-18T12:58:31.098Z",
    "content": "#more content",
    "created": "2017-10-18T12:58:31.098Z",
    "branch": {
        "id": "59e74bb4fbea8558092aee2d",
        "name": "VCLone"
    },
    "deployData": {},
    "group": {
        "id": "na",
        "name": "detached"
    },
    "head": true,
    "committedByUser": {
        "id": "521afbcdd29aeea08603b01c",
        "username": "vac"
    },
    "compilationData": {}
}


GET

Note that this routine will return actual VCL content with their respective commit ids.

{
    "list": [
        {
            "branch": {
                "id": "59e74bb4fbea8558092aee2d",
                "name": "VCLone"
            },
            "committedByUser": {
                "id": "59e73ba9fbea8558092aee21",
                "username": "test"
            },
            "compilationData": {},
            "content": "#some VCL content",
            "created": "2017-10-18T12:56:34.552Z",
            "deployData": {},
            "group": {
                "id": "na",
                "name": "detached"
            },
            "head": false,
            "id": "59e74f82fbea8558092aee31",
            "timestamp": "2017-10-18T12:58:31.098Z"
        },
        {
            "branch": {
                "id": "59e74bb4fbea8558092aee2d",
                "name": "VCLone"
            },
            "committedByUser": {
                "id": "521afbcdd29aeea08603b01c",
                "username": "vac"
            },
            "compilationData": {},
            "content": "#more content",
            "created": "2017-10-18T12:58:31.098Z",
            "deployData": {},
            "group": {
                "id": "na",
                "name": "detached"
            },
            "head": true,
            "id": "59e74ff7fbea8558092aee32",
            "timestamp": "2017-10-18T12:58:31.098Z"
        },
        {
            "branch": {
                "id": "59e74bb4fbea8558092aee2d",
                "name": "VCLone"
            },
            "committedByUser": {
                "id": "59e73ba9fbea8558092aee21",
                "username": "test"
            },
            "compilationData": {},
            "content": "vcl 4.0;",
            "created": "2017-10-18T12:40:20.611Z",
            "deployData": {},
            "group": {
                "id": "na",
                "name": "detached"
            },
            "head": false,
            "id": "59e74bb4fbea8558092aee2e",
            "timestamp": "2017-10-18T12:56:34.552Z"
        }
    ]
}


GET

Note that this routine will return the VCL content applicable for that VCL branch.

{
    "branch": {
        "id": "59e74bb4fbea8558092aee2d",
        "name": "VCLone"
    },
    "committedByUser": {
        "id": "521afbcdd29aeea08603b01c",
        "username": "vac"
    },
    "compilationData": {},
    "content": "#more content",
    "created": "2017-10-18T12:58:31.098Z",
    "deployData": {},
    "group": {
        "id": "na",
        "name": "detached"
    },
    "head": true,
    "id": "59e74ff7fbea8558092aee32",
    "timestamp": "2017-10-18T12:58:31.098Z"
}


POST


{
    "branch": {
        "id": "59e74bb4fbea8558092aee2d",
        "name": "VCLone"
    },
    "committedByUser": {
        "id": "521afbcdd29aeea08603b01c",
        "username": "vac"
    },
    "compilationData": {},
    "content": "vcl 4.0;",
    "created": "2017-10-18T13:14:40.139Z",
    "deployData": {},
    "group": {
        "id": "na",
        "name": "detached"
    },
    "head": true,
    "id": "59e753c0fbea8558092aee33",
    "timestamp": "2017-10-18T13:14:40.139Z"
}


DELETE

{
    "message": "Entity with id=59e74bb4fbea8558092aee2d removed successfully."
}

VCL belongs to a group, so it can’t be deleted from the VAC

    {
        "message":"Cannot delete VCL. It is actively assigned to ( alfredo )"
    }