/v2/projects

POST /v2/projects

Create a new project on the server

Response status codes

  • 201: Project created

  • 409: Project already created

Input

Name Mandatory Type Description
auto_close boolean Project auto close
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
drawing_grid_size integer Grid size for the drawing area for drawings
grid_size integer Grid size for the drawing area for nodes
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id ['string', 'null'] Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area

Output

Name Mandatory Type Description
auto_close boolean Project auto close when client cut off the notifications feed
auto_open boolean Project open when GNS3 start
auto_start boolean Project start when opened
drawing_grid_size integer Grid size for the drawing area for drawings
filename ['string', 'null'] Project filename
grid_size integer Grid size for the drawing area for nodes
name ['string', 'null'] Project name
path ['string', 'null'] Project directory
project_id string Project UUID
scene_height integer Height of the drawing area
scene_width integer Width of the drawing area
show_grid boolean Show the grid on the drawing area
show_interface_labels boolean Show interface labels on the drawing area
show_layers boolean Show layers on the drawing area
snap_to_grid boolean Snap to grid on the drawing area
status enum Possible values: opened, closed
supplier ['object', 'null'] Supplier of the project
variables ['array', 'null'] Variables required to run the project
zoom integer Zoom of the drawing area

Sample session

curl -i -X POST 'http://localhost:3080/v2/projects' -d '{"name": "test", "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f"}'

POST /v2/projects HTTP/1.1
{
    "name": "test",
    "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f"
}


HTTP/1.1 201
Connection: close
Content-Length: 560
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:28:00 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/projects

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "drawing_grid_size": 25,
    "filename": "test.gns3",
    "grid_size": 75,
    "name": "test",
    "path": "/tmp/tmp22gkofb4/projects/10010203-0405-0607-0809-0a0b0c0d0e0f",
    "project_id": "10010203-0405-0607-0809-0a0b0c0d0e0f",
    "scene_height": 1000,
    "scene_width": 2000,
    "show_grid": false,
    "show_interface_labels": false,
    "show_layers": false,
    "snap_to_grid": false,
    "status": "opened",
    "supplier": null,
    "variables": null,
    "zoom": 100
}

GET /v2/projects

List projects

Response status codes

  • 200: List of projects

Sample session

curl -i -X GET 'http://localhost:3080/v2/projects'

GET /v2/projects HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 638
Content-Type: application/json
Date: Wed, 08 Jan 2020 02:28:01 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/projects

[
    {
        "auto_close": true,
        "auto_open": false,
        "auto_start": false,
        "drawing_grid_size": 25,
        "filename": "test.gns3",
        "grid_size": 75,
        "name": "test",
        "path": "/tmp/pytest-of-grossmj/pytest-41/test_list_projects1",
        "project_id": "00010203-0405-0607-0809-0a0b0c0d0e0f",
        "scene_height": 1000,
        "scene_width": 2000,
        "show_grid": false,
        "show_interface_labels": false,
        "show_layers": false,
        "snap_to_grid": false,
        "status": "opened",
        "supplier": null,
        "variables": null,
        "zoom": 100
    }
]