/v2/projects/{project_id}

GET /v2/projects/{project_id}

Get a project

Parameters

  • project_id: Project UUID

Response status codes

  • 200: Project information returned

  • 404: The project doesn’t exist

Sample session

curl -i -X GET 'http://localhost:3080/v2/projects/2d37e1d1-0bbd-4525-8777-529b1bba7f85'

GET /v2/projects/2d37e1d1-0bbd-4525-8777-529b1bba7f85 HTTP/1.1



HTTP/1.1 200
Connection: close
Content-Length: 560
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/{project_id}

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "drawing_grid_size": 25,
    "filename": "test.gns3",
    "grid_size": 75,
    "name": "test",
    "path": "/tmp/tmp_bw_8f9p/projects/2d37e1d1-0bbd-4525-8777-529b1bba7f85",
    "project_id": "2d37e1d1-0bbd-4525-8777-529b1bba7f85",
    "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
}

PUT /v2/projects/{project_id}

Update a project instance

Response status codes

  • 200: Node updated

  • 400: Invalid request

  • 404: Instance doesn’t exist

Input

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
grid_size integer Grid size for the drawing area for nodes
name ['string', 'null'] Project name
path ['string', 'null'] Path of the project on the server (work only with --local)
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 PUT 'http://localhost:3080/v2/projects/10010203-0405-0607-0809-0a0b0c0d0e0f' -d '{"name": "test2"}'

PUT /v2/projects/10010203-0405-0607-0809-0a0b0c0d0e0f HTTP/1.1
{
    "name": "test2"
}


HTTP/1.1 200
Connection: close
Content-Length: 692
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/{project_id}

{
    "auto_close": true,
    "auto_open": false,
    "auto_start": false,
    "drawing_grid_size": 25,
    "filename": "test.gns3",
    "grid_size": 75,
    "name": "test2",
    "path": "/tmp/tmp4p7e6dvr/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": [
        {
            "name": "TEST1"
        },
        {
            "name": "TEST2",
            "value": "value1"
        }
    ],
    "zoom": 100
}

DELETE /v2/projects/{project_id}

Delete a project from disk

Parameters

  • project_id: Project UUID

Response status codes

  • 204: Changes have been written on disk

  • 404: The project doesn’t exist

Sample session

curl -i -X DELETE 'http://localhost:3080/v2/projects/e45cfcd2-7582-4ab2-9e60-aff5f4e519a4'

DELETE /v2/projects/e45cfcd2-7582-4ab2-9e60-aff5f4e519a4 HTTP/1.1



HTTP/1.1 204
Connection: close
Content-Length: 0
Content-Type: application/octet-stream
Date: Wed, 08 Jan 2020 02:28:01 GMT
Server: Python/3.6 GNS3/2.2.4dev1
X-Route: /v2/projects/{project_id}