# graphprototype.create

### Description

`object graphprototype.create(object/array graphPrototypes)`

This method allows to create new graph prototypes.

### Parameters

`(object/array)` Graph prototypes to create.

Additionally to the [standard graph prototype
properties](object#graph_prototype), the method accepts the following
parameters.

|Parameter|[Type](/manual/api/reference_commentary#data_types)|Description|
|---------|---------------------------------------------------|-----------|
|**gitems**<br>(required)|array|Graph items to be created for the graph prototypes. Graph items can reference both items and item prototypes, but at least one item prototype must be present.|

### Return values

`(object)` Returns an object containing the IDs of the created graph
prototypes under the `graphids` property. The order of the returned IDs
matches the order of the passed graph prototypes.

### Examples

#### Creating a graph prototype

Create a graph prototype with two items.

Request:

``` {.java}
{
    "jsonrpc": "2.0",
    "method": "graphprototype.create",
    "params": {
        "name": "Disk space usage {#FSNAME}",
        "width": 900,
        "height": 200,
        "gitems": [
            {
                "itemid": "22828",
                "color": "00AA00"
            },
            {
                "itemid": "22829",
                "color": "3333FF"
            }
        ]
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Response:

``` {.java}
{
    "jsonrpc": "2.0",
    "result": {
        "graphids": [
            "652"
        ]
    },
    "id": 1
}
```

### See also

-   [Graph item](/manual/api/reference/graphitem/object#graph_item)

### Source

CGraphPrototype::create() in
*frontends/php/include/classes/api/services/CGraphPrototype.php*.
