# `OpenCode.Generated.Permissions`
[🔗](https://github.com/UtkarshUsername/opencode-sdk-elixir/blob/v0.1.84/lib/opencode/generated/permissions.ex#L1)

Provides API endpoints related to permissions

# `v2_permission_request_list_200_json_resp`

```elixir
@type v2_permission_request_list_200_json_resp() :: %{
  data: [OpenCode.Generated.PermissionV2Request.t()],
  location: OpenCode.Generated.LocationInfo.t()
}
```

# `v2_permission_saved_list_200_json_resp`

```elixir
@type v2_permission_saved_list_200_json_resp() :: %{
  data: [OpenCode.Generated.PermissionSavedInfo.t()]
}
```

# `v2_session_permission_list_200_json_resp`

```elixir
@type v2_session_permission_list_200_json_resp() :: %{
  data: [OpenCode.Generated.PermissionV2Request.t()]
}
```

# `v2_permission_request_list`

```elixir
@spec v2_permission_request_list(opts :: keyword()) ::
  {:ok, v2_permission_request_list_200_json_resp()}
  | {:error,
     OpenCode.Generated.InvalidRequestError.t()
     | OpenCode.Generated.UnauthorizedError.t()}
```

List pending permission requests

Retrieve pending permission requests for a location.

## Options

  * `location`

# `v2_permission_saved_list`

```elixir
@spec v2_permission_saved_list(opts :: keyword()) ::
  {:ok, v2_permission_saved_list_200_json_resp()}
  | {:error,
     OpenCode.Generated.InvalidRequestError.t()
     | OpenCode.Generated.UnauthorizedError.t()}
```

List saved permissions

Retrieve saved permissions, optionally filtered by project.

## Options

  * `projectID`

# `v2_permission_saved_remove`

```elixir
@spec v2_permission_saved_remove(id :: String.t(), opts :: keyword()) ::
  :ok
  | {:error,
     OpenCode.Generated.InvalidRequestError.t()
     | OpenCode.Generated.UnauthorizedError.t()}
```

Remove saved permission

Remove a saved permission by ID.

# `v2_session_permission_list`

```elixir
@spec v2_session_permission_list(sessionID :: String.t(), opts :: keyword()) ::
  {:ok, v2_session_permission_list_200_json_resp()}
  | {:error,
     OpenCode.Generated.InvalidRequestError.t()
     | OpenCode.Generated.SessionNotFoundError.t()
     | OpenCode.Generated.UnauthorizedError.t()}
```

List session permission requests

Retrieve pending permission requests owned by a session.

# `v2_session_permission_reply`

```elixir
@spec v2_session_permission_reply(
  sessionID :: String.t(),
  requestID :: String.t(),
  body :: map(),
  opts :: keyword()
) ::
  :ok
  | {:error,
     OpenCode.Generated.InvalidRequestError.t()
     | OpenCode.Generated.PermissionNotFoundError.t()
     | OpenCode.Generated.SessionNotFoundError.t()
     | OpenCode.Generated.UnauthorizedError.t()}
```

Reply to pending permission request

Respond to a pending permission request owned by a session.

## Request Body

**Content Types**: `application/json`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
