Provides API endpoints related to permissions
Summary
Functions
List pending permission requests
List saved permissions
Remove saved permission
Create permission request
Get permission request
List session permission requests
Reply to pending permission request
Types
@type v2_permission_request_list_200_json_resp() :: %{ data: [OpenCode.Generated.PermissionV2Request.t()], location: OpenCode.Generated.LocationInfo.t() }
@type v2_permission_saved_list_200_json_resp() :: %{ data: [OpenCode.Generated.PermissionSavedInfo.t()] }
@type v2_session_permission_create_200_json_resp() :: %{ data: v2_session_permission_create_200_json_resp_data() }
@type v2_session_permission_get_200_json_resp() :: %{ data: OpenCode.Generated.PermissionV2Request.t() }
@type v2_session_permission_list_200_json_resp() :: %{ data: [OpenCode.Generated.PermissionV2Request.t()] }
Functions
@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
@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
@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.
@spec v2_session_permission_create( sessionID :: String.t(), body :: map(), opts :: keyword() ) :: {:ok, v2_session_permission_create_200_json_resp()} | {:error, OpenCode.Generated.InvalidRequestError.t() | OpenCode.Generated.SessionNotFoundError.t() | OpenCode.Generated.UnauthorizedError.t()}
Create permission request
Evaluate and, when approval is required, create a permission request for a session.
Request Body
Content Types: application/json
@spec v2_session_permission_get( sessionID :: String.t(), requestID :: String.t(), opts :: keyword() ) :: {:ok, v2_session_permission_get_200_json_resp()} | {:error, OpenCode.Generated.InvalidRequestError.t() | OpenCode.Generated.PermissionNotFoundError.t() | OpenCode.Generated.SessionNotFoundError.t() | OpenCode.Generated.UnauthorizedError.t()}
Get permission request
Retrieve a pending permission request owned by a session.
@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.
@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