GET /v2/users/graph(/on/:field(/by/:interval))
Return grouped temporal data on users
Count all occurences on a particular field (default on created_at) by a particular period, starting from the first occurence to now.
settings Params
| Param name | Description |
|---|---|
| field |
optional
. Must be one of: created_at, updated_at.
The date field to graph on. Default to |
| interval |
optional
. Must be one of: day, week, month, quarter, year, hour_of_day, day_of_week, day_of_month, month_of_year.
The interval to graph by. Default to |
| sort |
optional
. Must be one of: id, login, email, encrypted_password, reset_password_token, reset_password_sent_at, created_at, updated_at, image, first_name, last_name, pool_year, pool_month, kind, status, otp_secret_key, otp_tmp, otp_activated, otp_backup_passwords, slack_team, slack_login, slack_mail, slack_code_validation, slack_validated_at, token_id, email_stop, linked_user_id, usual_first_name, last_seen_at, password_changed_at, encrypted_single_usage_password, first_warn_anon_sent_at, second_warn_anon_sent_at, alumnized_at, anonymized_at.
The sort field. Sorted by id desc by default. MoreExample:To sort on users on the fields alumnized_at on a descending order and anonymized_at on a ascending order: ...&sort=-alumnized_at,anonymized_at |
| filter |
optional
. Must be one of: id, login, email, created_at, updated_at, pool_year, pool_month, kind, status, primary_campus_id, first_name, last_name, alumni?, staff?.
Filtering on one or more fields MoreExample:
To filter on users with the
...&filter[id]=a_value,another_value Filterable fields:
|
| range |
optional
. Must be one of: id, login, email, created_at, updated_at, pool_year, pool_month, kind, status.
Select on a particular range MoreExample:
To range on users with the
...&range[status]=min_value,max_value Rangeable fields:
|
Examples
GET /v2/users/graph/on/created_at/by/day
200
{
"2017-11-22": 126
}
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" "https://api.intra.42.fr/v2/users/graph/on/created_at/by/day"
{
"2017-11-22": 126
}
require "oauth2"
UID = "Your application uid"
SECRET = "Your application secret"
client = OAuth2::Client.new(UID, SECRET, site: "https://api.intra.42.fr")
token = client.client_credentials.get_token
response = token.get("/v2/users/graph/on/created_at/by/day")
response.status
# => 200
response.parsed
# => {"2017-11-22"=>126}