Humaans (Humaans v0.4.0)
View SourceA HTTP client for the Humaans API.
This library provides an interface to the Humaans API, allowing you to manage
people, companies, bank accounts, compensations, timesheet entries, and more.
It follows a modular design where the main Humaans
module serves as the
entry point for creating clients, while specific resource modules handle
operations for each resource type.
Architecture
The library follows a layered architecture:
Humaans
- Main module that creates configured client instances- Resource modules (
People
,Companies
, etc.) - Handle operations specific to each resource type - HTTP client - Abstracts the HTTP communication details in a configurable manner
Configuration Options
When creating a client with Humaans.new/1
, you can configure:
:access_token
- Your Humaans API access token (required):base_url
- The base URL for API requests (defaults to "https://app.humaans.io/api"):http_client
- The HTTP client module to use (defaults toHumaans.HTTPClient.Req
)
Examples
# Create a default client
client = Humaans.new(access_token: "some-access-token")
# Create a client with custom base URL
client = Humaans.new(
access_token: "some-access-token",
base_url: "https://custom-instance.humaans.io/api"
)
# Create a client with custom HTTP client
client = Humaans.new(
access_token: "some-access-token",
http_client: MyCustomHTTPClient
)
# Make API calls
{:ok, people} = Humaans.People.list(client)
{:ok, person} = Humaans.People.retrieve(client, "123")
{:ok, companies} = Humaans.Companies.list(client)
# Create a new person
person_params = %{
"firstName" => "Jane",
"lastName" => "Doe",
"email" => "jane.doe@example.com"
}
{:ok, new_person} = Humaans.People.create(client, person_params)
Summary
Functions
Access the Bank Accounts API.
Access the Companies API.
Access the Compensation Types API.
Access the Compensations API.
Creates a new client with the given access token and optional parameters.
Access the People API.
Access the Timesheet Entries API.
Access the Timesheet Submissions API.
Types
Functions
Access the Bank Accounts API.
Returns the module that contains functions for working with bank account resources.
Access the Companies API.
Returns the module that contains functions for working with company resources.
Access the Compensation Types API.
Returns the module that contains functions for working with compensation type resources.
Access the Compensations API.
Returns the module that contains functions for working with compensation resources.
Creates a new client with the given access token and optional parameters.
Options
:access_token
- The access token to use for authentication (required):base_url
- The base URL for API requests (defaults to https://app.humaans.io/api)
Examples
iex> client = Humaans.new(access_token: "some-access-token")
iex> is_map(client)
true
Access the People API.
Returns the module that contains functions for working with people resources.
Access the Timesheet Entries API.
Returns the module that contains functions for working with timesheet entry resources.
Access the Timesheet Submissions API.
Returns the module that contains functions for working with timesheet submission resources.