This module provides functions for managing company resources in the Humaans API. Note that unlike other resources, companies can only be listed, retrieved, and updated, but not created or deleted through the API.
Summary
Functions
get(client, id)
deprecated
Lists all companies.
Retrieves a specific company by ID.
Updates a specific company by ID.
Types
@type list_response() :: {:ok, [ %Humaans.Resources.Company{ autogenerate_employee_id: term(), autogenerate_employee_id_for_new_hires: term(), created_at: term(), domains: term(), id: term(), is_timesheet_enabled: term(), name: term(), next_employee_id: term(), package: term(), payment_status: term(), status: term(), trial_end_date: term(), updated_at: term() } ]} | {:error, Humaans.Error.t()}
@type response() :: {:ok, %Humaans.Resources.Company{ autogenerate_employee_id: term(), autogenerate_employee_id_for_new_hires: term(), created_at: term(), domains: term(), id: term(), is_timesheet_enabled: term(), name: term(), next_employee_id: term(), package: term(), payment_status: term(), status: term(), trial_end_date: term(), updated_at: term() }} | {:error, Humaans.Error.t()}
Functions
This function is deprecated. Use Humaans.Companies.retrieve/2 instead.
@spec list(client :: map(), params :: map() | keyword() | [{String.t(), term()}]) :: {:ok, [Humaans.Resources.Company.t()]} | {:error, Humaans.Error.t()}
Lists all companies.
Returns a list of companies matching the optional filter params.
Parameters
client- Client created withHumaans.new/1params- Optional map of filter parameters (default:%{})
Examples
client = Humaans.new(access_token: "your_access_token")
{:ok, companies} = Humaans.Companies.list(client)
{:ok, companies} = Humaans.Companies.list(client, %{})
@spec retrieve(client :: map(), id :: String.t()) :: {:ok, Humaans.Resources.Company.t()} | {:error, Humaans.Error.t()}
Retrieves a specific company by ID.
Parameters
client- Client created withHumaans.new/1id- String ID of the company to retrieve
Examples
client = Humaans.new(access_token: "your_access_token")
{:ok, company} = Humaans.Companies.retrieve(client, "company_id")
@spec update(client :: map(), id :: String.t(), params :: map() | keyword()) :: {:ok, Humaans.Resources.Company.t()} | {:error, Humaans.Error.t()}
Updates a specific company by ID.
Parameters
client- Client created withHumaans.new/1id- String ID of the company to updateparams- Map of attributes to update
Examples
client = Humaans.new(access_token: "your_access_token")
{:ok, company} = Humaans.Companies.update(client, "company_id", %{})