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 created_at.

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 month_of_year.

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.

The sort field. Sorted by id desc by default.

Example:

To sort on users on the fields second_warn_anon_sent_at on a descending order and alumnized_at on a ascending order:

...&sort=-second_warn_anon_sent_at,alumnized_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

Example:

To filter on users with the id field matching a_value or another_value:

...&filter[id]=a_value,another_value

Filterable fields:
  • id (standard field)
  • login (standard field)
  • email (standard field)
  • created_at (standard field)
  • updated_at (standard field)
  • pool_year (standard field)
  • pool_month (standard field)
  • kind (standard field)
  • status (standard field)
  • primary_campus_id : .
  • first_name : .
  • last_name : .
  • alumni? : .
  • staff? : .
range optional . Must be one of: id, login, email, created_at, updated_at, pool_year, pool_month, kind, status.

Select on a particular range

Example:

To range on users with the status field between min_value and max_value:

...&range[status]=min_value,max_value

Rangeable fields:
  • id
  • login
  • email
  • created_at
  • updated_at
  • pool_year
  • pool_month
  • kind
  • status
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}