Humaans.Companies behaviour (Humaans v0.4.0)
View SourceThis 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
Retrieves a specific company by ID.
Lists all company resources.
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, any()}
@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, any()}
Callbacks
Functions
Retrieves a specific company by ID.
Parameters
client
- Client map created withHumaans.new/1
id
- String ID of the company to retrieve
Examples
client = Humaans.new(access_token: "your_access_token")
{:ok, company} = Humaans.Companies.get(client, "company_id")
@spec list(client :: map(), params :: keyword()) :: list_response()
Lists all company resources.
Returns a list of company resources that match the optional filters provided in params
.
Parameters
client
- Client map created withHumaans.new/1
params
- Optional parameters for filtering the results (default:%{}
)
Examples
client = Humaans.new(access_token: "your_access_token")
# List all companies
{:ok, companies} = Humaans.Companies.list(client)
# List with filtering parameters
{:ok, companies} = Humaans.Companies.list(client, %{limit: 10})
Updates a specific company by ID.
Parameters
client
- Client map created withHumaans.new/1
id
- String ID of the company to updateparams
- Map of parameters to update
Examples
client = Humaans.new(access_token: "your_access_token")
params = %{name: "New Company Name"}
{:ok, updated_company} = Humaans.Companies.update(client, "company_id", params)