# List repositories for the authenticated user

From **GitHub v3 REST API**.

`GET /user/repos`

Lists repositories that the authenticated user has explicit permission (`:read`, `:write`, or `:admin`) to access.

The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.

## Parameters

### `visibility`

- Location: query
- Required: false
- Type: `string`
- Default: `all`
- Allowed values: `"all"`, `"public"`, `"private"`

Can be one of `all`, `public`, or `private`. Note: For GitHub AE, can be one of `all`, `internal`, or `private`.

### `affiliation`

- Location: query
- Required: false
- Type: `string`
- Default: `owner,collaborator,organization_member`

Comma-separated list of values. Can include:  
\* `owner`: Repositories that are owned by the authenticated user.  
\* `collaborator`: Repositories that the user has been added to as a collaborator.  
\* `organization_member`: Repositories that the user has access to through being a member of an organization. This includes every repository on every team that the user is on.

### `type`

- Location: query
- Required: false
- Type: `string`
- Default: `all`
- Allowed values: `"all"`, `"owner"`, `"public"`, `"private"`, `"member"`

Can be one of `all`, `owner`, `public`, `private`, `member`. Note: For GitHub AE, can be one of `all`, `owner`, `internal`, `private`, `member`. Default: `all`  
  
Will cause a `422` error if used in the same request as **visibility** or **affiliation**. Will cause a `422` error if used in the same request as **visibility** or **affiliation**.

### `sort`

- Location: query
- Required: false
- Type: `string`
- Default: `full_name`
- Allowed values: `"created"`, `"updated"`, `"pushed"`, `"full_name"`

Can be one of `created`, `updated`, `pushed`, `full_name`.

### `direction`

- Location: query
- Required: false
- Type: `string`
- Allowed values: `"asc"`, `"desc"`

Can be one of `asc` or `desc`. Default: `asc` when using `full_name`, otherwise `desc`

### `per_page`

- Location: query
- Required: false
- Type: `integer`
- Default: `30`

Results per page (max 100)

### `page`

- Location: query
- Required: false
- Type: `integer`
- Default: `1`

Page number of the results to fetch.

### `since`

- Location: query
- Required: false
- Type: `string`
- Format: `date-time`

Only show notifications updated after the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.

### `before`

- Location: query
- Required: false
- Type: `string`
- Format: `date-time`

Only show notifications updated before the given time. This is a timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DDTHH:MM:SSZ`.

## Responses

### `200`

Response

### `application/json`

- Type: `array`

```json
[
  {
    "allow_merge_commit": true,
    "allow_rebase_merge": true,
    "allow_squash_merge": true,
    "archive_url": "https://api.github.com/repos/octocat/Hello-World/{archive_format}{/ref}",
    "archived": false,
    "assignees_url": "https://api.github.com/repos/octocat/Hello-World/assignees{/user}",
    "blobs_url": "https://api.github.com/repos/octocat/Hello-World/git/blobs{/sha}",
    "branches_url": "https://api.github.com/repos/octocat/Hello-World/branches{/branch}",
    "clone_url": "https://github.com/octocat/Hello-World.git",
    "collaborators_url": "https://api.github.com/repos/octocat/Hello-World/collaborators{/collaborator}",
    "comments_url": "https://api.github.com/repos/octocat/Hello-World/comments{/number}",
    "commits_url": "https://api.github.com/repos/octocat/Hello-World/commits{/sha}",
    "compare_url": "https://api.github.com/repos/octocat/Hello-World/compare/{base}...{head}",
    "contents_url": "https://api.github.com/repos/octocat/Hello-World/contents/{+path}",
    "contributors_url": "https://api.github.com/repos/octocat/Hello-World/contributors",
    "created_at": "2011-01-26T19:01:12Z",
    "default_branch": "master",
    "delete_branch_on_merge": true,
    "deployments_url": "https://api.github.com/repos/octocat/Hello-World/deployments",
    "description": "This your first repo!",
    "disabled": false,
    "downloads_url": "https://api.github.com/repos/octocat/Hello-World/downloads",
    "events_url": "https://api.github.com/repos/octocat/Hello-World/events",
    "fork": false,
    "forks": 1,
    "forks_count": 9,
    "forks_url": "https://api.github.com/repos/octocat/Hello-World/forks",
    "full_name": "octocat/Hello-World",
    "git_commits_url": "https://api.github.com/repos/octocat/Hello-World/git/commits{/sha}",
    "git_refs_url": "https://api.github.com/repos/octocat/Hello-World/git/refs{/sha}",
    "git_tags_url": "https://api.github.com/repos/octocat/Hello-World/git/tags{/sha}",
    "git_url": "git:github.com/octocat/Hello-World.git",
    "has_downloads": true,
    "has_issues": true,
    "has_pages": false,
    "has_projects": true,
    "has_wiki": true,
    "homepage": "https://github.com",
    "hooks_url": "https://api.github.com/repos/octocat/Hello-World/hooks",
    "html_url": "https://github.com/octocat/Hello-World",
    "id": 1296269,
    "is_template": true,
    "issue_comment_url": "https://api.github.com/repos/octocat/Hello-World/issues/comments{/number}",
    "issue_events_url": "https://api.github.com/repos/octocat/Hello-World/issues/events{/number}",
    "issues_url": "https://api.github.com/repos/octocat/Hello-World/issues{/number}",
    "keys_url": "https://api.github.com/repos/octocat/Hello-World/keys{/key_id}",
    "labels_url": "https://api.github.com/repos/octocat/Hello-World/labels{/name}",
    "language": null,
    "languages_url": "https://api.github.com/repos/octocat/Hello-World/languages",
    "license": {
      "html_url": "https://github.com/licenses/mit",
      "key": "mit",
      "name": "MIT License",
      "node_id": "MDc6TGljZW5zZW1pdA==",
      "spdx_id": "MIT",
      "url": "https://api.github.com/licenses/mit"
    },
    "merges_url": "https://api.github.com/repos/octocat/Hello-World/merges",
    "milestones_url": "https://api.github.com/repos/octocat/Hello-World/milestones{/number}",
    "mirror_url": "git:git.example.com/octocat/Hello-World",
    "name": "Hello-World",
    "network_count": 0,
    "node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
    "notifications_url": "https://api.github.com/repos/octocat/Hello-World/notifications{?since,all,participating}",
    "open_issues": 1,
    "open_issues_count": 0,
    "owner": {
      "avatar_url": "https://github.com/images/error/octocat_happy.gif",
      "events_url": "https://api.github.com/users/octocat/events{/privacy}",
      "followers_url": "https://api.github.com/users/octocat/followers",
      "following_url": "https://api.github.com/users/octocat/following{/other_user}",
      "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
      "gravatar_id": "",
      "html_url": "https://github.com/octocat",
      "id": 1,
      "login": "octocat",
      "node_id": "MDQ6VXNlcjE=",
      "organizations_url": "https://api.github.com/users/octocat/orgs",
      "received_events_url": "https://api.github.com/users/octocat/received_events",
      "repos_url": "https://api.github.com/users/octocat/repos",
      "site_admin": false,
      "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
      "type": "User",
      "url": "https://api.github.com/users/octocat"
    },
    "permissions": {
      "admin": false,
      "pull": true,
      "push": false
    },
    "private": false,
    "pulls_url": "https://api.github.com/repos/octocat/Hello-World/pulls{/number}",
    "pushed_at": "2011-01-26T19:06:43Z",
    "releases_url": "https://api.github.com/repos/octocat/Hello-World/releases{/id}",
    "size": 108,
    "ssh_url": "git@github.com:octocat/Hello-World.git",
    "stargazers_count": 80,
    "stargazers_url": "https://api.github.com/repos/octocat/Hello-World/stargazers",
    "statuses_url": "https://api.github.com/repos/octocat/Hello-World/statuses/{sha}",
    "subscribers_count": 42,
    "subscribers_url": "https://api.github.com/repos/octocat/Hello-World/subscribers",
    "subscription_url": "https://api.github.com/repos/octocat/Hello-World/subscription",
    "svn_url": "https://svn.github.com/octocat/Hello-World",
    "tags_url": "https://api.github.com/repos/octocat/Hello-World/tags",
    "teams_url": "https://api.github.com/repos/octocat/Hello-World/teams",
    "temp_clone_token": "ABTLWHOULUVAXGTRYU7OC2876QJ2O",
    "template_repository": null,
    "topics": [
      "octocat",
      "atom",
      "electron",
      "api"
    ],
    "trees_url": "https://api.github.com/repos/octocat/Hello-World/git/trees{/sha}",
    "updated_at": "2011-01-26T19:14:43Z",
    "url": "https://api.github.com/repos/octocat/Hello-World",
    "visibility": "public",
    "watchers": 1,
    "watchers_count": 80
  }
]
```

```json
{"items":{"$ref":"#/components/schemas/repository"},"type":"array"}
```

### `304`

Not modified

### `401`

Requires authentication

### `application/json`

- Type: `object`

Basic Error

```json
{"description":"Basic Error","properties":{"documentation_url":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"},"url":{"type":"string"}},"title":"Basic Error","type":"object"}
```

### `403`

Forbidden

### `application/json`

- Type: `object`

Basic Error

```json
{"description":"Basic Error","properties":{"documentation_url":{"type":"string"},"message":{"type":"string"},"status":{"type":"string"},"url":{"type":"string"}},"title":"Basic Error","type":"object"}
```

### `422`

Validation failed

### `application/json`

- Type: `object`

Validation Error

```json
{"description":"Validation Error","properties":{"documentation_url":{"type":"string"},"errors":{"items":{"properties":{"code":{"type":"string"},"field":{"type":"string"},"index":{"type":"integer"},"message":{"type":"string"},"resource":{"type":"string"},"value":{"oneOf":[{"nullable":true,"type":"string"},{"nullable":true,"type":"integer"},{"items":{"type":"string"},"nullable":true,"type":"array"}]}},"required":["code"],"type":"object"},"type":"array"},"message":{"type":"string"}},"required":["message","documentation_url"],"title":"Validation Error","type":"object"}
```

## Request examples

### cURL

```shell
curl --request GET \
  --url {protocol}://{hostname}/api/v3/user/repos
```
