list sites.md

List Sites

Infra API · Sites

GET https://app.mk.io/api/v1/projects/{project_name}/infra/sites

List sites on the specified project. To learn more about sites, read Site Concept.

Listing, Sorting and Filtering Sites

This endpoint returns the list of sites in the specified project.

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: created, createdBy, displayName, id, labels, metadata/name, name, status/owner, updated, updatedBy

Filtering

There are two ways to filter the set of returned sites from this endpoint - the first is to use the $filter query parameter, the second is to use the $label_key and $label query parameters.

The $filter query parameter allows for sites to be filtered on the basis of fields in the schema using OData query syntax. See this document for more details on the syntax used.

Filters are valid on the following fields: created, createdBy, createdByEmail, createdByName, displayName, id, labels, metadata/name, name, status/locationName, status/owner, updated, updatedBy, updatedByEmail, updatedByName

$label_key and $label are specific to querying sites based on their labels. Labels are a set of key-value pairs that can be used to identify sites with any arbitrary metadata you want, specifically for the purpose of retrieving relevant subsets of sites.

Examples:

?$top=10 - Returns only the first 10 sites from the list.

?$orderby=name desc - Sorts sites by name in descending order.

?$filter=name eq 'descriptive name' - Returns sites that match the provided name.

?$orderby=created desc - Sorts sites by creation date in descending order.

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

?$label=studio=paravalley - Returns sites with the label studio set to paravalley.

?$label=release-date~2023 - Returns sites with the label release-date set to a value that contains 2023.

?$label_key=studio&label_key=release-date - Returns sites with any value set for the studio label and the release-date label.

RBAC Capability Required: infra.site.get

Authentication

Path parameters

Name Type Required Description
project_name string Yes

Query parameters

Name Type Required Description
$orderby string No Specifies the key by which the result collection should be ordered.
$filter string No Restricts the set of items returned.
$top string No Specifies a non-negative integer n that limits the number of items returned from a collection.
$skiptoken string No 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.
$label_key string No Filters the set to the specified label key. If multiple $label_keys are specified, matching items must have all labels.
$label string No Filters the set to the specified label key/value pair. Supports equality, inequality, and inexact matching. If multiple values are provided for the same key, items matching either value will be returned.

Example request

curl -X GET "https://app.mk.io/api/v1/projects/{project_name}/infra/sites" \
  -H "Authorization: Bearer <token>"

Responses

200 — A list of sites

Example error responses

400 — Bad Request

{
  "error": {
    "code": "string",
    "detail": "string",
    "extraDetail": {
      "key": null
    }
  },
  "ref": "string",
  "status": 0
}

401 — Unauthorized

{
  "error": {
    "code": "string",
    "detail": "string",
    "extraDetail": {
      "key": null
    }
  },
  "ref": "string",
  "status": 0
}

403 — Forbidden

{
  "error": {
    "code": "string",
    "detail": "string",
    "extraDetail": {
      "key": null
    }
  },
  "ref": "string",
  "status": 0
}

404 — Not Found

{
  "error": {
    "code": "string",
    "detail": "string",
    "extraDetail": {
      "key": null
    }
  },
  "ref": "string",
  "status": 0
}

429 — Too Many Requests

{
  "error": {
    "code": "string",
    "detail": "string",
    "extraDetail": {
      "key": null
    }
  },
  "ref": "string",
  "status": 0
}

500 — Internal Server Error

{
  "error": {
    "code": "string",
    "detail": "string",
    "extraDetail": {
      "key": null
    }
  },
  "ref": "string",
  "status": 0
}