## Create a dataset

`client.datasets.create(DatasetCreateParamsbody, RequestOptionsoptions?): Dataset`

**post** `/v5/datasets`

Create a dataset and populate it with its initial items in a single call.

Use this when the dataset does not exist yet: it creates the dataset and seeds it with the
items you provide. To add more items to a dataset that already exists, use
POST /v5/dataset-items/batch instead. A name is required, and the request must include at
least one item in `data`; the optional `files` field associates files with the created items.
The provided items are inserted as dataset items as a side effect of creation, and any `tags`
are attached to the dataset. The returned dataset is at version 1.

### Parameters

- `body: DatasetCreateParams`

  - `data: Array<Record<string, unknown>>`

    Items to be included in the dataset

  - `name: string`

  - `description?: string`

  - `files?: Array<Record<string, string>>`

    Files to be associated to the dataset

  - `tags?: Array<string>`

    The tags associated with the entity

### Returns

- `Dataset`

  - `id: string`

    The unique identifier of the entity.

  - `created_at: string`

    The date and time when the entity was created in ISO format.

  - `created_by: Identity`

    The identity that created the entity.

    - `id: string`

    - `type: "user" | "service_account"`

      - `"user"`

      - `"service_account"`

    - `object?: "identity"`

      - `"identity"`

  - `current_version_num: number`

  - `name: string`

  - `tags: Array<string> | null`

    The tags associated with the entity

  - `archived_at?: string`

    The date and time when the entity was archived in ISO format.

  - `description?: string`

  - `object?: "dataset"`

    - `"dataset"`

### Example

```typescript
import SGPClient from 'scale-gp';

const client = new SGPClient({
  accountID: 'My Account ID',
  apiKey: process.env['SGP_API_KEY'], // This is the default and can be omitted
});

const dataset = await client.datasets.create({ data: [{ foo: 'bar' }], name: 'name' });

console.log(dataset.id);
```

#### Response

```json
{
  "id": "id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "created_by": {
    "id": "id",
    "type": "user",
    "object": "identity"
  },
  "current_version_num": 0,
  "name": "name",
  "tags": [
    "string"
  ],
  "archived_at": "2019-12-27T18:11:19.117Z",
  "description": "description",
  "object": "dataset"
}
```
