# dev.knotless.listRepos

> Published by [lexicons.knotless.dev](https://lexicon.garden/identity/did:plc:yqsg7znbbhfmj3a2nrpnaerk)

✓ This is the authoritative definition for this NSID.

## Description

Public repositories an appview has indexed, newest first.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:yqsg7znbbhfmj3a2nrpnaerk/dev.knotless.listRepos)
- [Documentation](https://lexicon.garden/lexicon/did:plc:yqsg7znbbhfmj3a2nrpnaerk/dev.knotless.listRepos/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:yqsg7znbbhfmj3a2nrpnaerk/dev.knotless.listRepos/examples)

## Definitions

### `dev.knotless.listRepos`

**Type**: `query`

Public repositories an appview has indexed, newest first. No authentication needed; asked as an account, with a service token or the pages' session cookie, the first page of a search with no runner or triager starts with the private repositories that account may read on this appview that match too, each marked private, and the answer is that account's alone.

#### Parameters

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cursor` | `string` | No |  |
| `limit` | `integer` | No |  |
| `q` | `string` | No | Only repositories whose name or description holds this text, ignoring case. |
| `runner` | `string` (did) | No | Only repositories whose record names this account among its runners: how a runner finds the repositories it is to run. |
| `triager` | `string` (did) | No | Only repositories whose record names this account among its triagers: how a triager finds the repositories it is to triage. |

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cursor` | `string` | No |  |
| `repos` | `array` | Yes |  |

### `dev.knotless.listRepos#repoView`

**Type**: `object`

A repository, from its dev.knotless.repo record.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `createdAt` | `string` (datetime) | Yes |  |
| `description` | `string` | No |  |
| `did` | `string` (did) | Yes | The repository's owner. |
| `forkOf` | `string` (at-uri) | No | The dev.knotless.repo record this repository was forked from. |
| `name` | `string` | Yes | The repository's name: its record key. |
| `owner` | `ref` → `dev.knotless.defs#actorView` | No | The owner, by handle and picture, as the appview knows it. |
| `private` | `boolean` | No | Whether it is private, in a space: listed only to an account that may read it, asking. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Public repositories an appview has indexed, newest first. No authentication needed; asked as an account, with a service token or the pages' session cookie, the first page of a search with no runner or triager starts with the private repositories that account may read on this appview that match too, each marked private, and the answer is that account's alone.",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "cursor": {
              "maxLength": 512,
              "type": "string"
            },
            "repos": {
              "items": {
                "ref": "#repoView",
                "type": "ref"
              },
              "type": "array"
            }
          },
          "required": [
            "repos"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "cursor": {
            "maxLength": 512,
            "type": "string"
          },
          "limit": {
            "default": 50,
            "maximum": 500,
            "minimum": 1,
            "type": "integer"
          },
          "q": {
            "description": "Only repositories whose name or description holds this text, ignoring case.",
            "maxLength": 100,
            "type": "string"
          },
          "runner": {
            "description": "Only repositories whose record names this account among its runners: how a runner finds the repositories it is to run.",
            "format": "did",
            "type": "string"
          },
          "triager": {
            "description": "Only repositories whose record names this account among its triagers: how a triager finds the repositories it is to triage.",
            "format": "did",
            "type": "string"
          }
        },
        "type": "params"
      },
      "type": "query"
    },
    "repoView": {
      "description": "A repository, from its dev.knotless.repo record.",
      "properties": {
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "description": {
          "maxGraphemes": 300,
          "maxLength": 3000,
          "type": "string"
        },
        "did": {
          "description": "The repository's owner.",
          "format": "did",
          "type": "string"
        },
        "forkOf": {
          "description": "The dev.knotless.repo record this repository was forked from.",
          "format": "at-uri",
          "type": "string"
        },
        "name": {
          "description": "The repository's name: its record key.",
          "maxLength": 100,
          "type": "string"
        },
        "owner": {
          "description": "The owner, by handle and picture, as the appview knows it.",
          "ref": "dev.knotless.defs#actorView",
          "type": "ref"
        },
        "private": {
          "description": "Whether it is private, in a space: listed only to an account that may read it, asking.",
          "type": "boolean"
        }
      },
      "required": [
        "did",
        "name",
        "createdAt"
      ],
      "type": "object"
    }
  },
  "description": "Public repositories an appview has indexed, newest first.",
  "id": "dev.knotless.listRepos",
  "lexicon": 1
}
```
