View Source ShortcutApi.Projects (shortcut_api_ex v1.0.5)

API wrapper for Shortcut Projects endpoints. See: https://developer.shortcut.com/api/rest/v3#Projects

All functions require a valid Shortcut API token.

Summary

Functions

Creates a new project.

Retrieves a single project by ID.

Lists all projects.

Updates an existing project.

Types

project_id()

@type project_id() :: pos_integer()

response()

@type response() :: {:ok, map() | [map()]} | {:error, any()}

token()

@type token() :: String.t()

Functions

create_project(token, params)

@spec create_project(token(), map()) :: response()

Creates a new project.

Parameters

  • token - Shortcut API token
  • params - Map containing the project parameters

Required params

  • :name - Project name

Examples

iex> params = %{name: "New Project"}
iex> ShortcutApi.Projects.create_project("token", params)
{:ok, %{id: 12345, name: "New Project"}}

delete_project(token, project_id)

@spec delete_project(token(), project_id()) :: response()

Deletes a project.

Parameters

  • token - Shortcut API token
  • project_id - The ID of the project to delete

Examples

iex> ShortcutApi.Projects.delete_project("token", 12345)
{:ok, %{}}

get_project(token, project_id)

@spec get_project(token(), project_id()) :: response()

Retrieves a single project by ID.

Parameters

  • token - Shortcut API token
  • project_id - The ID of the project to retrieve

Examples

iex> ShortcutApi.Projects.get_project("token", 12345)
{:ok, %{id: 12345, name: "Project name"}}

list_projects(token)

@spec list_projects(token()) :: response()

Lists all projects.

Parameters

  • token - Shortcut API token

Examples

iex> ShortcutApi.Projects.list_projects("token")
{:ok, [%{id: 12345, name: "Project name"}, ...]}

update_project(token, project_id, params)

@spec update_project(token(), project_id(), map()) :: response()

Updates an existing project.

Parameters

  • token - Shortcut API token
  • project_id - The ID of the project to update
  • params - Map containing the update parameters

Examples

iex> params = %{name: "Updated Project Name"}
iex> ShortcutApi.Projects.update_project("token", 12345, params)
{:ok, %{id: 12345, name: "Updated Project Name"}}