# List projects

get ` https://app.mk.io/api/v1/projects`

## Listing, Sorting and Filtering Projects

This endpoint returns the list of projects.

### Sorting

The results from this endpoint can be ordered using the `$orderby` query parameter. Specify a list of field names, separated by commas where each one can optionally specify `asc` or `desc`.

Sorting is valid on the following fields: `assignedPaymentMethodId`, `created`, `createdBy`, `displayName`, `id`, `isActive`, `locationId`, `name`, `updated`

### Filtering

The `$filter` query parameter allows for projects to be filtered on the basis of fields in the schema using OData query syntax. See [this document](https://learn.microsoft.com/en-us/odata/concepts/queryoptions-overview#filter) for more details on the syntax used.

Filters are valid on the following fields: `assignedPaymentMethodId`, `created`, `createdBy`, `createdByEmail`, `createdByName`, `displayName`, `id`, `isActive`, `locationId`, `locationName`, `name`, `updated`

### Examples:

`?$top=10` \- Returns only the first 10 projects from the list.

`?$orderby=name desc` \- Sorts projects by name in descending order.

`?$filter=name eq 'descriptive name'` \- Returns projects that match the provided name.

`?$orderby=created desc` \- Sorts projects by creation date in descending order.

`?$filter=created ge 2021-01-01T00:00:00Z` \- Returns projects created after January 1, 2021.

RBAC Capability Required: `core.project.get`

## Authentication

Authorization Bearer

Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Query parameters

- **$orderby** `string` Optional  
  Specifies the key by which the result collection should be ordered.

- **$filter** `string` Optional  
  Restricts the set of items returned.

- **$top** `string` Optional  
  Specifies a non-negative integer `n` that limits the number of items returned from a collection. The service returns the number of available items up to but not greater than the specified value `n`.

- **$skiptoken** `string` Optional  
  Specifies a start offset to support paginated results. Use `@odata.nextLink` in the result object to enumerate the collection - it will be present only if there's more than one page of entities.

- **show_hidden** `string` Optional  
  Shows hidden projects if present.

## Response

### 200 OK

- **@odata.nextLink** `string` Optional  
  @odata.nextLink URL if the page length and number of items match.

- **supplemental** `object` [ListResponseSupplementalSchema](https://docs.mediakind.com/api-reference/management-api/schemas/listresponsesupplementalschema) Required  
  Supplemental info

- **count** `integer` Required  
    Number of items returned
  - **kind** `string` Required  
    Type of items in the list
  - **operation** `string` Required  
    Operation type. Should always say 'list'
  - **pagination** `object` [PaginationInfoSchema](https://docs.mediakind.com/api-reference/management-api/schemas/paginationinfoschema) Required  
    Pagination info

- **end** `integer` Required  
      Position of the last item in the list
    - **records** `integer` Required  
      Total number of items returned in the list
    - **start** `integer` Required  
      Position of the first item in the list
    - **total** `integer` Required  
      Total number of items in the project

- **subscription** `object` [ProjectInfoSchema](https://docs.mediakind.com/api-reference/management-api/schemas/projectinfoschema) Optional  
  Project info

- **id** `string` Required  
    Project ID
  - **name** `string` Required  
    Project name

- **value** `list of objects` [ProjectGetSchema](https://docs.mediakind.com/api-reference/management-api/schemas/projectgetschema) Required  
  List of projects the user has access to within this organization.

## Errors

### 400 Bad Request

- **error** `object` [ErrorDetail](https://docs.mediakind.com/api-reference/management-api/schemas/errordetail) Required  
  Pertinent information about the error

- **code** `string` Required  
    The error code.
  - **detail** `string` Required  
    The error message.
  - **extraDetail** `map from strings to any` Optional  
    Extra information regarding this error.

### 401 Unauthorized

- **error** `object` [ErrorDetail](https://docs.mediakind.com/api-reference/management-api/schemas/errordetail) Required  
  Pertinent information about the error

### 403 Forbidden

- **error** `object` [ErrorDetail](https://docs.mediakind.com/api-reference/management-api/schemas/errordetail) Required  
  Pertinent information about the error

### 404 Not Found

- **error** `object` [ErrorDetail](https://docs.mediakind.com/api-reference/management-api/schemas/errordetail) Required  
  Pertinent information about the error

### 429 Too Many Requests

- **error** `object` [ErrorDetail](https://docs.mediakind.com/api-reference/management-api/schemas/errordetail) Required  
  Pertinent information about the error

### 500 Internal Server Error

- **error** `object` [ErrorDetail](https://docs.mediakind.com/api-reference/management-api/schemas/errordetail) Required  
  Pertinent information about the error
