This page describes the RESTful API provided by GraphSpace for uploading and managing your graphs. This API offers the following advantages:
  • A user with an account can write software to upload several graphs in an automated manner.
  • In the JSON for every uploaded graph, the user may specific the graph’s names, details about it, and information on every node and edge.

In order to fully utilize the features of this RESTful API, you must have an account on GraphSpace.

Prerequisites

To execute the examples from the command line you will need an HTTP client. On Debian systems you can install one by running

sudo apt-get install curl

REST API Basics

All of the GraphSpace API documentation adhere to the following semantics.

Anything in "[]" specifies a variable. For example, [email] means use GraphSpace account (email) in place of [email] in the request.

Example GET graph request in the documentation is:

curl -X POST "http://localhost:8000/api/users/[email]/graph/get/[graphname]/" -F "username=[email]" -F "password=[password]"; echo

The same GET graph request for a graph named "example_graphname" and a GraphSpace email of "example@example.com" with password "example_password" would be:

curl -X POST "http://localhost:8000/api/users/example@example.com/graph/get/example_graphname/" -F "username=example@example.com" -F "password=example_password"; echo

In general, API calls using this REST API will have a "StatusCode" property. This property adheres to the usual REST API status codes.

REST API calls

Below is a list of the different REST API calls.


Graphs

JSON Reference

This section details the structure of the JSON that all graphs inserted into GraphSpace should follow. Any deviation from this schema may result in GraphSpace rejecting the graph or problems in rendering the graph. For the sake of completeness, we have copied the description of several of the node and edge attributes directly from the CytoscapeJS documentation. We thank them for the excellent documentation of their framework.

A properly formatted JSON for a graph in GraphSpace contains the following structure:

{
    "graph": {
        "nodes": [],
        "edges": []
    },
    "metadata": {
        "title": "",
        "description": "",
        "tags": []
    }
}

Node

This table lists all the properties that GraphSpace supports for a Node element.

PropertyDescription
id A unique id representing the node. (REQUIRED)
content The text that is displayed inside of the node.
popup A string that will be displayed in a popup window when the user clicks the node. This string can be HTML-formatted. (This attribute is specific to GraphSpace.)
k An integer index for this node. GraphSpace uses this attribute when the user seeks to step through the nodes and edges of the graph. (This attribute is specific to GraphSpace.)
background_color The background color of the node. It may be the names of colors or hexadecimal values of the colors.
height The height of the node.
width The width of the node.
shape The shape of the node. May be: rectangle, roundrectangle, ellipse, triangle, pentagon, hexagon, heptagon, octagon, star, diamond, vee, or rhomboid.
background_blackenBlackens the node's body for values from 0 to 1; whitens the node's body for values from 0 to -1.
background_opacityThe opacity level of the node's background color.
border_widthThe size of the node's border.
border_styleThe style of the node's border; may be solid, dotted, dashed, or double.
border_colorThe color of the node's border.
border_opacityThe opacity of the node's border.
background_imageThe URL that points to the image that should be used as the node's background. PNG, JPG, and SVG are supported formats. You may use a data URI to use embedded images, thereby saving a HTTP request.
background_image_opacityThe opacity of the background image.
background_widthSpecifies the width of the image. A percent value (e.g. 50%) may be used to set the image width relative to the node width. If used in combination with background-fit, then this value overrides the width of the image in calculating the fitting — thereby overriding the aspect ratio. The auto value is used by default, which uses the width of the image.
background_heightSpecifies the height of the image. A percent value (e.g. 50%) may be used to set the image height relative to the node height. If used in combination with background-fit, then this value overrides the height of the image in calculating the fitting — thereby overriding the aspect ratio. The auto value is used by default, which uses the height of the image.
background_fitSpecifies the width of the image. A percent value (e.g. 50%) may be used to set the image width relative to the node width. If used in combination with background-fit, then this value overrides the width of the image in calculating the fitting — thereby overriding the aspect ratio. The auto value is used by default, which uses the width of the image.
background_repeatWhether to repeat the background image; may be no-repeat, repeat-x, repeat-y, or repeat.
background_position_xThe x position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px).
background_position_yThe y position of the background image, measured in percent (e.g. 50%) or pixels (e.g. 10px).
background_clipHow background image clipping is handled; may be node for clipped to node shape or none for no clipping.
colorThe color of the text displayed inside the node.
font_familyA comma-separated list of font names to use on the node text.
font_sizeThe size of the node text.
font_styleA CSS font style to be applied to the node text.
font_weightA CSS font weight to be applied to the node text.
text_transformA transformation to apply to the label text; may be none, uppercase, or lowercase.
text_wrapA wrapping style to apply to the label text; may be none for no wrapping (including manual newlines: \n) or wrap for manual and/or autowrapping.
text_max_widthThe maximum width for wrapped text, applied when text-wrap is set to wrap. For only manual newlines (i.e. \n), set a very large value like 1000px such that only your newline characters would apply.
edge_text_rotationWhether to rotate edge labels as the relative angle of an edge changes; may be none for page-aligned labels or autorotate for edge-aligned labels. This works best with left-to-right text.
text_opacityThe opacity of the label text, including its outline.
text_outline_colorThe color of the outline around the element's label text.
text_outline_opacityThe opacity of the outline on label text.
text_outline_widthThe size of the outline on label text.
text_shadow_blurThe shadow blur distance.
text_shadow_colorThe color of the shadow.
text_shadow_offset_xThe x offset relative to the text where the shadow will be displayed, can be negative. If you set blur to 0, add an offset to view your shadow.
text_shadow_offset_y The y offset relative to the text where the shadow will be displayed, can be negative. If you set blur to 0, add an offset to view your shadow.
text_shadow_opacityThe opacity of the shadow on the text; the shadow is disabled for 0 (default value).
text_background_shape The shape to use for the label background, can be rectangle or roundrectangle.
text_border_widthThe width of the border around the label.
text_border_styleThe style of the border around the label; may be solid, dotted, dashed, or double.
text_border_colorThe color of the border around the label.
min_zoomed_font_sizeIf zooming makes the effective font size of the label smaller than this, then no label is shown.
text_halignThe vertical alignment of a label; may have value left, center, or right.
text_valignThe vertical alignment of a label; may have value top, center, or bottom.

Edge

This table lists all the properties that GraphSpace supports for an Edge element.

Name Description
source The id of the node where the edge is coming from. (REQUIRED)
target The id of the node where edge is going to. (REQUIRED)
popup A string that will be displayed in a popup window when the user clicks the edge. This string can be HTML-formatted. (This attribute is specific to GraphSpace.)
k An integer index for this edge. GraphSpace uses this attribute when the user seeks to step through the nodes and edges of the graph. (This attribute is specific to GraphSpace.)
widthThe width of an edge's line.
line_colorThe color of the edge's line.
line_styleThe style of the edge's line; may be solid, dotted, or dashed.
source_arrow_colorThe color of the edge's source arrow.
source_arrow_shapeThe shape of the edge's source arrow; may be tee, triangle, triangle-tee, triangle-backcurve, square, circle, diamond, or none.
source_arrow_fillThe fill state of the edge's source arrow; may be filled or hollow.
mid_source_arrow_colorThe color of the edge's mid source arrow.
mid_source_arrow_shapeThe shape of the edge's mid source arrow; may be tee, triangle, triangle-tee, triangle-backcurve, square, circle, diamond, or none.
mid_source_arrow_fillThe fill state of the edge's mid source arrow; may be filled or hollow.
target_arrow_colorThe color of the edge's target arrow.
target_arrow_shapeThe shape of the edge's target arrow; may be tee, triangle, triangle-tee, triangle-backcurve, square, circle, diamond, or none.
target_arrow_fillThe fill state of the edge's target arrow; may be filled or hollow.
mid_target_arrow_colorThe color of the edge's target arrow.
mid_target_arrow_shapeThe shape of the edge's target arrow; may be tee, triangle, triangle-tee, triangle-backcurve, square, circle, diamond, or none.
mid_target_arrow_fillThe fill state of the edge's target arrow; may be filled or hollow.

Metadata

Contains information information about the graph. Supports the following properties:

Name Description
name Name that is displayed on top of graph while viewing it.
description May be HTML formatted string. May be link to image hosted elsewhere. May simly be a string which contains information such as a legend or significance of the graph.
tags Array of strings. Used to categorize graphs. See Tags for more information.

Example JSON

The following example is a correctly structured JSON for GraphSpace.

{
    "graph": {
        "nodes": [
            {
                "data": {
                    "shape": "ellipse",
                    "id":"P4314611",
                    "content": "DCC",
                    "height": 50,
                    "width": 50,
                    "background_color": "yellow",
                    "background_blacken": 0.1,
                    "border_width": 2,
                    "k": 0
                }
            }, 
            {
                "data": {
                    "shape": "ellipse",
                    "id":"P0810711",
                    "content": "This is an example\n of how to use new lines for the content of\n a node.",
                    "height": 150,
                    "width": 150,
                    "background_color": "red",
                    "background_blacken": 0,
                    "border_width": 5,
                    "border_style": "double",
                    "border_color": "black",
                    "text_wrap": "wrap",
                    "color": "black",
                    "text_outline_width": 2,
                    "text_outline_color": "#888",
                    "k": 0
                }
            }
        ],
        "edges": [
            {
                "data": {
                    "source": "P4314611",
                    "target": "P0810711",
                    "width": 12,
                    "line_color": "blue",
                    "line_style": "dotted",
                    "source_arrow_color": "yellow",
                    "target_arrow_shape": "triangle",
                    "k": 0
                }
            }
        ]

    },
    "metadata": {
        "title": "Graph Name",
        "description": "Description of graph.. can also point to an image hosted elsewhere",
        "tags": [
            "tutorial"
        ]
    }
}

Add graph

In order to add a graph to GraphSpace, make the following POST request where [email] is your email and [password] is your password.
curl -X POST "http://graphspace.org/api/users/[email]/graph/add/[graphname]/" -F "username=[email]" -F "password=[password]" -F graphname=@"path_to_json"; echo
Here is an example of a basic graph JSON:
{
    "graph": {
        "nodes": [
            {
                "data": {
                    "shape": "ellipse",
                    "id":"P4314611",
                    "content": "DCC",
                    "height": 50,
                    "width": 50,
                    "background_color": "yellow",
                    "background_blacken": 0.1,
                    "border_width": 2
                }
            }, 
            {
                "data": {
                    "shape": "ellipse",
                    "id":"P0810711",
                    "content": "This is an example\n of how to use new lines for the content of\n a node.",
                    "height": 150,
                    "width": 150,
                    "background_color": "red",
                    "background_blacken": 0,
                    "border_width": 5,
                    "border_style": "double",
                    "border_color": "black",
                    "text_wrap": "wrap",
                    "color": "black",
                    "text_outline_width": 2,
                    "text_outline_color": "#888"
                }
            }
        ],
        "edges": [
            {
                "data": {
                    "source": "P4314611",
                    "target": "P0810711",
                    "width": 12,
                    "line_color": "blue",
                    "line_style": "dotted",
                    "source_arrow_color": "yellow",
                    "target_arrow_shape": "triangle"
                }
            }
        ]

    },
    "metadata": {
        "title": "Graph Name",
        "description": "Description of graph.. can also point to an image hosted elsewhere",
        "tags": [
            "tutorial"
        ]
    }
}
Example successful response:
{
    "Message": "Graph inserted into GraphSpace!",
    "StatusCode": 201
}
If JSON fails validation, it should give some sort of error as to why it failed
{
    "Error": "Property content not in JSON for node",
    "StatusCode": 400
}

Graph Exists

Checks to see if there is a graph that a user owns in GraphSpace. Note: This command only checks for graphs owned by the user making the request.
curl -X POST "http://graphspace.org/api/users/[email]/graph/exists/[graphname]/" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "Message": "User [email] owns a graph with id [graphname]!",
    "StatusCode": 200
}
Example failed response:
{
    "Error": "User [email] owns no graph with id [graphname]!",
    "StatusCode": 404
}

Get graph

To get the JSON for an existing graph use the following GET command. You can only get the JSON for a graph that belongs to you or is shared with a group you belong to. Here, [email] refers to the owner of the graph whose JSON you are trying to retrieve. It may or may not be your email.
curl -X POST "http://graphspace.org/api/users/[email]/graph/get/[graphname]/" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "graph": {
        "nodes": [
            {
                "data": {
                    "shape": "ellipse",
                    "id":"P4314611",
                    "content": "DCC",
                    "height": 50,
                    "width": 50,
                    "background_color": "yellow",
                    "background_blacken": 0.1,
                    "border_width": 2,
                    "k": 0
                }
            }, 
            {
                "data": {
                    "shape": "ellipse",
                    "id":"P0810711",
                    "content": "This is an example\n of how to use new lines for the content of\n a node.",
                    "height": 150,
                    "width": 150,
                    "background_color": "red",
                    "background_blacken": 0,
                    "border_width": 5,
                    "border_style": "double",
                    "border_color": "black",
                    "text_wrap": "wrap",
                    "color": "black",
                    "text_outline_width": 2,
                    "text_outline_color": "#888",
                    "k": 0
                }
            }
        ],
        "edges": [
            {
                "data": {
                    "source": "P4314611",
                    "target": "P0810711",
                    "width": 12,
                    "line_color": "blue",
                    "line_style": "dotted",
                    "source_arrow_color": "yellow",
                    "target_arrow_shape": "triangle",
                    "k": 0
                }
            }
        ]

    },
    "metadata": {
        "title": "Graph Name",
        "description": "Description of graph.. can also point to an image hosted elsewhere",
        "tags": [
            "tutorial"
        ]
    }
}
Example failed response:
{
    "Error": "No Such Graph Exists!",
    "StatusCode": 404
}

Update graph

If a user wants to update any information for a specific graph, they can do so using this command. The user uploads the modified JSON of the graph to the server. Note, a user can only update a graph if it already exists in GraphSpace for that user.
curl -X POST "http://graphspace.org/api/users/[email]/graph/update/[graphname]/" -F "username=[email]" -F "password=[password]" -F graphname=@"path_to_json"
Example successful response:
{
    "Message": "Updated [graphname] for [email].",
    "StatusCode": 201
}
Example failed response:
{
    "Error": "Can't update [graphname] because it does not exist for [email]",
    "StatusCode": 404
}

Remove graph

To remove a graph use the following command. You can only remove a graph that belongs to you.
curl -X POST "http://graphspace.org/api/users/[email]/graph/delete/[graphname]/" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "Message": "Successfully deleted [graphname] owned by [email].",
    "StatusCode": 200
}
Example failed response:
{
    "Error": "No Such Graph Exists.",
    "StatusCode": 404
}

Get user graphs

Get all ids of graphs belonging to the user making this request. The result is a JSON object containing a list of all graph ids for the specified user.
curl -X POST "http://graphspace.org/api/users/[email]/graphs/" -F "username=[email]" -F "password=[password]"; echo
Example response:
{
    "Graphs": [
        "tutorial_graph1",
        "tutorail_graph2"
    ],
    "StatusCode": 200
}

Get all graphs

Get a summary of all graphs belonging to the user making this request and public graphs (viewable to all users of GS). The result is a JSON object containing a list of summarized inforation about graphs.
curl -X POST "http://graphspace.org/api/graphs/get/" -F "username=[email]" -F "password=[password]" -F "offset=[offset]" -F "limit=[limit]"; echo
Note:
  • Offset is a optional field. Defaults to 10, limits the number of results in the response. Maximum is 1000
  • Limit is a optional field. Defaults to 0, used to offset the resultlist.
Example response:
{
  "metadata": {
    "count": 2,
    "limit": "25",
    "offset": "0"
  },
  "result": [
    {
      "created_at": "2012-10-25T06:29:26",
      "owner_email": "[email]",
      "updated_at": "2013-10-16T17:49:51",
      "num_edges": 2,
      "num_nodes": 1,
      "graphname": "tutorial_graph1"
    },
    {
      "created_at": "2012-10-25T07:03:10",
      "owner_email": "[email]",
      "updated_at": "2013-10-16T17:50:13",
      "num_edges": 2,
      "num_nodes": 1,
      "graphname": "tutorial_graph2"
    }
  "StatusCode": 200
}

Make graph public

Makes a specific graph that user owns public (viewable to all users of GS). All layouts shared with groups will also become public.
curl -X POST "http://graphspace.org/api/users/[email]/graph/makeGraphPublic/[graphname]/" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "Message": "Successfully made [graphname] owned by [email] public.",
    "StatusCode": 200
}
Example failed response:
{
    "Error": "Graph with name [graphname] doesn't exist under [email].",
    "StatusCode": 404
}

Make graph private

Makes a specific graph that user owns private (only groups that graph is shared with and owner of graph can see it).
curl -X POST "http://graphspace.org/api/users/[email]/graph/makeGraphPrivate/[graphname]/" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "Message": "Successfully made [graphname] owned by [email] public.",
    "StatusCode": 200
}
Example failed response:
{
    "Error": "Graph with name [graphname] doesn't exist under [email].",
    "StatusCode": 404
}

Groups

Note: All spaces that are contained within the name of a group will be truncated for GET requests. For example, if there is a group named: "Test 1", then the [group_id] for this group would be "Test1".

Create group

To create a group, use the following command. You will be the owner of the group, and you will have to set the description later.
curl -X POST "http://graphspace.org/api/groups/add/[group_owner]/[groupname]/" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "Group Id": "Test2",
    "Message": "Group created!",
    "Group Name": "Test2",
    "StatusCode": 201
}
Example failure response:
{
    "Error": "Group name already exists for this account",
    "StatusCode": 400
}

Remove group

To remove a group use the following command. You can only remove a group that you are the owner of.
curl -X POST "http://graphspace.org/api/groups/delete/[group_owner]/[groupname]/" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "Message": "Successfully deleted [groupname] owned by [group_owner].",
    "StatusCode": 200
}

Example failed response:
{
    "Message": "Group not found!",
    "StatusCode": 200
}

Get group

Get a group by id. The result is a JSON object with the group's id, description, and owner, as well as the list of users belonging to the group, and the list of graph ids (and the user ids for those graphs) that are shared with the group.
curl -X POST "http://graphspace.org/api/groups/get/[group_owner]/[group_id]/" -F "username=[email]" -F "password=[password]"; echo
{
    "Groups": {
        "owner": "dsingh5270@gmail.com",
        "graphs": [
            "api_test",
            "secret_feature"
        ],
        "group_id": "Test1",
        "description": "This is test group to see if changing description works properly.",
        "members": [
            "annaritz@vt.edu",
            "ategge@vt.edu",
            "dsingh5270@gmail.com"
        ]
    },
    "StatusCode": 200
}

Get groups a user belongs to

Get groups a user belongs to. The result is a JSON object with a list of group ids.
curl -X POST "http://graphspace.org/api/users/[email]/groups/" -F "username=[email]" -F "password=[password]"; echo
Example response:
{
  "Groups": [
      {
          "group_owner": "[email]",
          "groupId": "[Test1]"
      }
  ],
  "StatusCode": 200
}

Add user to group

Add a user to a group. You can only add a user to a group that you belong to.
curl -X POST "http://graphspace.org/api/groups/[group_owner]/[groupname]/adduser/[member]/" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "Message": "Successfully added user [member] to [groupname].",
    "StatusCode": 200
}
Example failed response:
{
    "Error": "Group doesn't exist or user has already been added!",
    "StatusCode": 400
}

Remove user from group

Remove a user from a group. You can remove yourself from any group, but you must be the owner of a group to remove other members.
curl -X POST "http://graphspace.org/api/groups/[group_owner]/[groupname]/removeuser/[member]/" -F "username=[email]" -F "password=[email]"; echo
Example successful response:
{
    "Message": "Successfully removed user [member] from [groupname].",
    "StatusCode": 200
}

Share graph with a group

Share a graph with a group, effectively giving all members in the group the ability to see a graph. You can only share graphs you own with groups you are a member of or the owner of.
curl -X POST "http://graphspace.org/api/users/graphs/[graph name]/share/[group_owner]/[group name]/" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "Message": "Graph successfully shared with group!",
    "StatusCode": 200
}

Unshare graph with a group

Unshare a graph with a group, effectively removing read permission from all members in the group. You can only unshare graphs you own from groups you belong to.
curl -X POST "http://graphspace.org/api/users/graphs/[graphname]/unshare/[group_owner]/[group name]/" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "Message": "Graph successfully unshared with group!",
    "StatusCode": 200
}

Layouts

Get all layouts for a Graph

Get all the layouts that are attached to a certain graph.
curl -X POST "http://graphspace.org/api/users/[email]/graph/[graphname]/layouts/get" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "metadata": {
        "count": 2,
        "limit": 10,
        "offset": 0
    },
    "result": [
        {
            "graph_id": "tutorial_graph1",
            "layout_id": 3,
            "json": "{}",
            "user_id": "[email]",
            "layout_name": "test_layout1",
            "owner_id": "[email]"
        },
        {
            "graph_id": "tutorial_graph2",
            "layout_id": 607,
            "json": "{}",
            "user_id": "[email]",
            "layout_name": "test_layout2",
            "owner_id": "[email]"
        }
    ],
    "StatusCode": 200
}

Get layout

To get the JSON for an existing layout use the following command. You can only get the JSON for a layout that belongs to you or is shared with a group you belong to or available for public access. Here, [layout_id] refers to id of the layout whose JSON you are trying to retrieve.
curl -X POST "http://graphspace.org/layouts/get/[layout_id]" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
  "graph_id": "[graph_id]",
  "layout_id": [layout_id],
  "json": "[layout_json]",
  "user_id": "[graph_owner]",
  "layout_name": "[layout_name]",
  "owner_id": "[layout_owner]"
}

Create layout

In order to add a layout to a graph, make the following POST request where [email] is your email, [password] is your password, [layout_name] is the name of layout and [json] is the layout data as a JSON string.
curl -X POST "http://graphspace.org/api/users/[email]/graph/[graphname]/layouts/add" -F "username=[email]" -F "password=[password]" -F "json=[json]" -F "layout_name=[layout_name]"; echo
Example successful response:
{
  "Message": "Added [layout_name] layout with id=619.",
  "StatusCode": 201
}

Update layout

If a user wants to update any information for a specific layout, they can do so using this command. The user uploads the modified JSON of the layout to the server. Note, a user can only update a layout if it already exists in GraphSpace for that user.
curl -X POST "http://graphspace.org/layouts/update/[layout_id]" -F "username=[email]" -F "password=[password]" -F "json=[json]"; echo
Example successful response:
{
  "Message": "Updated Layout with id=[layout_id].",
  "StatusCode": 201
}
Example failed response:
{
  "Error": "No Such Layout Exists!",
  "StatusCode": 404
}

Tags

Get Tags for User

Get all the tags that a user has for their graphs.
curl -X POST "http://graphspace.org/api/tags/user/[email]/" -F "username=[email]" -F "password=[password]"
Example successful response:
{
    "Tags": [
        "tutorial,
        "pathways",
        "pictures",
    ],
    "StatusCode": 200
}

Get Tags for a Graph

Get all the tags that are attached to a certain graph.
curl -X POST "http://graphspace.org/api/tags/user/[email]/[graphname]/" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "Tags": [
        "tutorial"
    ],
    "StatusCode": 200
}

Make all graphs for a tag public

Changes the privacy of all graphs that contain a [tag] under [email] public.
curl -X POST "http://graphspace.org/api/tags/user/[email]/[tag]/makePublic/" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "Message": "Graphs with tag have been made public",
    "StatusCode": 200
}

Make all graphs for a tag private

Changes the privacy of all graphs that contain a [tag] under [email] private.
curl -X POST "http://graphspace.org/api/tags/user/[email]/[tag]/makePrivate/" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "Message": "Graph with tag have been made private",
    "StatusCode": 200
}

Delete all graphs for a tag

Delets all graphs that contain a [tag] under [email].
curl -X POST "http://graphspace.org/api/tags/user/[email]/[tag]/delete/" -F "username=[email]" -F "password=[password]"; echo
Example successful response:
{
    "Message": "Graphs with tag have been deleted",
    "StatusCode": 200
}