# V2 Projects

## List Projects

`V2ProjectListPageResponse V2Projects.List(V2ProjectListParams?parameters, CancellationTokencancellationToken = default)`

**get** `/api/v2/projects`

List projects in an organization. Requires `organization_id` or a project-scoped API key.

### Parameters

- `V2ProjectListParams parameters`

  - `string? name`

  - `string? organizationID`

  - `Long? pageSize`

  - `string? pageToken`

### Returns

- `class V2ProjectListPageResponse:`

  API query response schema for projects.

  - `required IReadOnlyList<V2ProjectListResponse> Items`

    The list of items.

    - `required string ID`

      The project's unique identifier.

    - `required string Name`

      The project's display name.

    - `required string OrganizationID`

      The organization the project belongs to.

    - `DateTimeOffset? CreatedAt`

      Creation datetime

    - `Boolean IsDefault`

      Whether this project is the default project for its organization.

    - `DateTimeOffset? UpdatedAt`

      Update datetime

  - `string? NextPageToken`

    A token, which can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.

  - `Long? TotalSize`

    The total number of items available. This is only populated when specifically requested. The value may be an estimate and can be used for display purposes only.

### Example

```csharp
V2ProjectListParams parameters = new();

var page = await client.V2Projects.List(parameters);
await foreach (var item in page.Paginate())
{
    Console.WriteLine(item);
}
```

#### Response

```json
{
  "items": [
    {
      "id": "id",
      "name": "name",
      "organization_id": "organization_id",
      "created_at": "2019-12-27T18:11:19.117Z",
      "is_default": true,
      "updated_at": "2019-12-27T18:11:19.117Z"
    }
  ],
  "next_page_token": "next_page_token",
  "total_size": 0
}
```

## Get Project

`V2ProjectGetResponse V2Projects.Get(V2ProjectGetParamsparameters, CancellationTokencancellationToken = default)`

**get** `/api/v2/projects/{project_id}`

Get a project by ID.

### Parameters

- `V2ProjectGetParams parameters`

  - `required string projectID`

  - `string? organizationID`

### Returns

- `class V2ProjectGetResponse:`

  API response schema for a project.

  - `required string ID`

    The project's unique identifier.

  - `required string Name`

    The project's display name.

  - `required string OrganizationID`

    The organization the project belongs to.

  - `DateTimeOffset? CreatedAt`

    Creation datetime

  - `Boolean IsDefault`

    Whether this project is the default project for its organization.

  - `DateTimeOffset? UpdatedAt`

    Update datetime

### Example

```csharp
V2ProjectGetParams parameters = new()
{
    ProjectID = "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
};

var v2Project = await client.V2Projects.Get(parameters);

Console.WriteLine(v2Project);
```

#### Response

```json
{
  "id": "id",
  "name": "name",
  "organization_id": "organization_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "is_default": true,
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```
