Packages

ory_client

1.22.24
1.22.63 1.22.62 1.22.61 1.22.60 1.22.59 1.22.58 1.22.57 1.22.56 1.22.55 1.22.54 1.22.53 1.22.52 1.22.51 1.22.50 1.22.49 1.22.48 1.22.47 1.22.46 1.22.45 1.22.44 1.22.43 1.22.42 1.22.41 1.22.40 1.22.39 1.22.38 1.22.37 1.22.36 1.22.35 1.22.34 1.22.33 1.22.32 1.22.28 1.22.27 1.22.26 1.22.25 1.22.24 1.22.23 1.22.22 1.22.21 1.22.16 1.22.15 1.22.14 1.22.13 1.22.12 1.22.11 1.22.10 1.22.9 1.22.8 1.22.7 1.22.6 1.22.5 1.22.4 1.22.3 1.22.2 1.22.1 1.22.0 1.21.6 1.21.5 1.21.4 1.21.3 1.21.2 1.21.1 1.21.0 1.20.23 1.20.22 1.20.11 1.20.10 1.20.9 1.20.8 1.20.7 1.20.6 1.20.5 1.20.4 1.20.3 1.20.2 1.20.1 1.20.0 1.19.0 1.18.5 1.18.4 1.17.2 1.17.1 1.16.10 1.6.2 1.6.1 1.5.2 1.5.1 1.5.0 1.4.9 1.4.8 1.4.7 1.4.6 1.4.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4.0 1.3.0 1.2.17 1.2.16 1.2.15 1.2.14 1.2.11 1.2.10 1.2.9 1.2.8 1.2.7 1.2.6 1.2.5 1.2.4 1.2.3 1.2.2 1.2.1 1.2.0 1.1.51 1.1.50 1.1.49 1.1.48 1.1.47 1.1.46 1.1.45 1.1.44 1.1.41 1.1.40 1.1.39 1.1.39-alpha.0 1.1.38 1.1.37 1.1.36 1.1.35 1.1.34 1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.26 1.1.25 1.1.24 1.1.23 1.1.22 1.1.21 1.1.20 1.1.19 1.1.18 1.1.17 1.1.7 1.1.5 1.1.4 1.1.3 1.1.2 1.1.1 1.1.0 1.0.2 1.0.1 1.0.0 1.0.0-alpha.0 0.2.0-alpha.60 0.2.0-alpha.48 0.2.0-alpha.47 0.2.0-alpha.46 0.2.0-alpha.45 0.2.0-alpha.44 0.2.0-alpha.43 0.2.0-alpha.42 0.2.0-alpha.41 0.2.0-alpha.40 0.2.0-alpha.39 0.2.0-alpha.38 0.2.0-alpha.37 0.2.0-alpha.36 0.2.0-alpha.35 0.2.0-alpha.34 0.2.0-alpha.33 0.2.0-alpha.32 0.2.0-alpha.31 0.2.0-alpha.30 0.2.0-alpha.29 0.2.0-alpha.28 0.2.0-alpha.27 0.2.0-alpha.26 0.2.0-alpha.25 0.2.0-alpha.24 0.2.0-alpha.23 0.2.0-alpha.22 0.2.0-alpha.21 0.2.0-alpha.20 0.2.0-alpha.19 0.2.0-alpha.18 0.2.0-alpha.16 0.2.0-alpha.15 0.2.0-alpha.14 0.2.0-alpha.4 0.2.0-alpha.2 0.1.0-alpha.12 0.1.0-alpha.11 0.1.0-alpha.10 0.1.0-alpha.9 0.1.0-alpha.8 0.1.0-alpha.7 0.1.0-alpha.6 0.1.0-alpha.5 0.1.0-alpha.4 0.1.0-alpha.3 0.1.0-alpha.2 0.1.0-alpha.1 0.0.1-alpha.189 0.0.1-alpha.188 0.0.1-alpha.187

OpenAPI API client for Ory Network, Ory's web-scale API for identity and access control.

Current section

Files

Jump to
ory_client lib ory api workspace.ex
Raw

lib/ory/api/workspace.ex

# NOTE: This file is auto generated by OpenAPI Generator 7.12.0 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule Ory.Api.Workspace do
@moduledoc """
API calls for all endpoints tagged `Workspace`.
"""
alias Ory.Connection
import Ory.RequestBuilder
@doc """
Create a new workspace
### Parameters
- `connection` (Ory.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:body` (CreateWorkspaceBody):
### Returns
- `{:ok, Ory.Model.Workspace.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_workspace(Tesla.Env.client, keyword()) :: {:ok, Ory.Model.Workspace.t} | {:ok, Ory.Model.ErrorGeneric.t} | {:error, Tesla.Env.t}
def create_workspace(connection, opts \\ []) do
optional_params = %{
:body => :body
}
request =
%{}
|> method(:post)
|> url("/workspaces")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, Ory.Model.Workspace},
{400, Ory.Model.ErrorGeneric},
{401, Ory.Model.ErrorGeneric},
{403, Ory.Model.ErrorGeneric},
{500, Ory.Model.ErrorGeneric},
{:default, Ory.Model.ErrorGeneric}
])
end
@doc """
Create workspace API key
Create an API key for a workspace.
### Parameters
- `connection` (Ory.Connection): Connection to server
- `workspace` (String.t): The Workspace ID
- `opts` (keyword): Optional parameters
- `:body` (CreateWorkspaceApiKeyBody):
### Returns
- `{:ok, Ory.Model.WorkspaceApiKey.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec create_workspace_api_key(Tesla.Env.client, String.t, keyword()) :: {:ok, Ory.Model.ErrorGeneric.t} | {:ok, Ory.Model.WorkspaceApiKey.t} | {:error, Tesla.Env.t}
def create_workspace_api_key(connection, workspace, opts \\ []) do
optional_params = %{
:body => :body
}
request =
%{}
|> method(:post)
|> url("/workspaces/#{workspace}/tokens")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{201, Ory.Model.WorkspaceApiKey},
{:default, Ory.Model.ErrorGeneric}
])
end
@doc """
Delete workspace API key
Deletes an API key and immediately removes it.
### Parameters
- `connection` (Ory.Connection): Connection to server
- `workspace` (String.t): The Workspace ID or Workspace slug
- `token_id` (String.t): The Token ID
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, nil}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec delete_workspace_api_key(Tesla.Env.client, String.t, String.t, keyword()) :: {:ok, nil} | {:ok, Ory.Model.ErrorGeneric.t} | {:error, Tesla.Env.t}
def delete_workspace_api_key(connection, workspace, token_id, _opts \\ []) do
request =
%{}
|> method(:delete)
|> url("/workspaces/#{workspace}/tokens/#{token_id}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{204, false},
{:default, Ory.Model.ErrorGeneric}
])
end
@doc """
Get a workspace
Any workspace member can access this endpoint.
### Parameters
- `connection` (Ory.Connection): Connection to server
- `workspace` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Ory.Model.Workspace.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec get_workspace(Tesla.Env.client, String.t, keyword()) :: {:ok, Ory.Model.Workspace.t} | {:ok, Ory.Model.ErrorGeneric.t} | {:error, Tesla.Env.t}
def get_workspace(connection, workspace, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/workspaces/#{workspace}")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Ory.Model.Workspace},
{400, Ory.Model.ErrorGeneric},
{401, Ory.Model.ErrorGeneric},
{403, Ory.Model.ErrorGeneric},
{500, Ory.Model.ErrorGeneric},
{:default, Ory.Model.ErrorGeneric}
])
end
@doc """
List a workspace's API keys
A list of all the workspace's API keys.
### Parameters
- `connection` (Ory.Connection): Connection to server
- `workspace` (String.t): The Workspace ID or Workspace slug
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, [%WorkspaceApiKey{}, ...]}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec list_workspace_api_keys(Tesla.Env.client, String.t, keyword()) :: {:ok, Ory.Model.ErrorGeneric.t} | {:ok, [Ory.Model.WorkspaceApiKey.t]} | {:error, Tesla.Env.t}
def list_workspace_api_keys(connection, workspace, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/workspaces/#{workspace}/tokens")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Ory.Model.WorkspaceApiKey},
{:default, Ory.Model.ErrorGeneric}
])
end
@doc """
List all projects of a workspace
Any workspace member can access this endpoint.
### Parameters
- `connection` (Ory.Connection): Connection to server
- `workspace` (String.t):
- `opts` (keyword): Optional parameters
### Returns
- `{:ok, Ory.Model.ListWorkspaceProjects.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec list_workspace_projects(Tesla.Env.client, String.t, keyword()) :: {:ok, Ory.Model.ErrorGeneric.t} | {:ok, Ory.Model.ListWorkspaceProjects.t} | {:error, Tesla.Env.t}
def list_workspace_projects(connection, workspace, _opts \\ []) do
request =
%{}
|> method(:get)
|> url("/workspaces/#{workspace}/projects")
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Ory.Model.ListWorkspaceProjects},
{400, Ory.Model.ErrorGeneric},
{401, Ory.Model.ErrorGeneric},
{403, Ory.Model.ErrorGeneric},
{500, Ory.Model.ErrorGeneric},
{:default, Ory.Model.ErrorGeneric}
])
end
@doc """
List workspaces the user is a member of
### Parameters
- `connection` (Ory.Connection): Connection to server
- `opts` (keyword): Optional parameters
- `:page_size` (integer()): Items per Page This is the number of items per page to return. For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).
- `:page_token` (String.t): Next Page Token The next page token. For details on pagination please head over to the [pagination documentation](https://www.ory.sh/docs/ecosystem/api-design#pagination).
### Returns
- `{:ok, Ory.Model.ListWorkspaces.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec list_workspaces(Tesla.Env.client, keyword()) :: {:ok, Ory.Model.ErrorGeneric.t} | {:ok, Ory.Model.ListWorkspaces.t} | {:error, Tesla.Env.t}
def list_workspaces(connection, opts \\ []) do
optional_params = %{
:page_size => :query,
:page_token => :query
}
request =
%{}
|> method(:get)
|> url("/workspaces")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Ory.Model.ListWorkspaces},
{400, Ory.Model.ErrorGeneric},
{401, Ory.Model.ErrorGeneric},
{403, Ory.Model.ErrorGeneric},
{500, Ory.Model.ErrorGeneric},
{:default, Ory.Model.ErrorGeneric}
])
end
@doc """
Update an workspace
Workspace members with the role `OWNER` can access this endpoint.
### Parameters
- `connection` (Ory.Connection): Connection to server
- `workspace` (String.t):
- `opts` (keyword): Optional parameters
- `:body` (UpdateWorkspaceBody):
### Returns
- `{:ok, Ory.Model.Workspace.t}` on success
- `{:error, Tesla.Env.t}` on failure
"""
@spec update_workspace(Tesla.Env.client, String.t, keyword()) :: {:ok, Ory.Model.Workspace.t} | {:ok, Ory.Model.ErrorGeneric.t} | {:error, Tesla.Env.t}
def update_workspace(connection, workspace, opts \\ []) do
optional_params = %{
:body => :body
}
request =
%{}
|> method(:put)
|> url("/workspaces/#{workspace}")
|> add_optional_params(optional_params, opts)
|> ensure_body()
|> Enum.into([])
connection
|> Connection.request(request)
|> evaluate_response([
{200, Ory.Model.Workspace},
{400, Ory.Model.ErrorGeneric},
{401, Ory.Model.ErrorGeneric},
{403, Ory.Model.ErrorGeneric},
{500, Ory.Model.ErrorGeneric},
{:default, Ory.Model.ErrorGeneric}
])
end
end