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, begin_at, end_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, begin_at, end_at, user_id, created_at, scale_team_id.

The sort field. Sorted by id desc by default.

Example:

To sort on slots on the fields created_at on a descending order and scale_team_id on a ascending order:

...&sort=-created_at,scale_team_id

filter optional . Must be one of: id, begin_at, end_at, created_at, campus_id, future, end.

Filtering on one or more fields

Example:

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

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

Filterable fields:
  • id (standard field)
  • begin_at (standard field)
  • end_at (standard field)
  • created_at (standard field)
  • campus_id : .
  • future : Return only slots which begins in the future. Can be one of: true, false
  • end (standard field)
range optional . Must be one of: id, begin_at, end_at, created_at.

Select on a particular range

Example:

To range on slots with the created_at field between min_value and max_value:

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

Rangeable fields:
  • id
  • begin_at
  • end_at
  • created_at
GET /v2/slots/graph/on/begin_at/by/day
200
{
  "2017-11-20": 123,
  "2017-11-21": 0,
  "2017-11-22": 0,
  "2017-11-23": 0,
  "2017-11-24": 1266
}
curl  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" "https://api.intra.42.fr/v2/slots/graph/on/begin_at/by/day"

{
  "2017-11-20": 123,
  "2017-11-21": 0,
  "2017-11-22": 0,
  "2017-11-23": 0,
  "2017-11-24": 1266
}
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/slots/graph/on/begin_at/by/day")
response.status
# => 200
response.parsed
# => {"2017-11-20"=>123, "2017-11-21"=>0, "2017-11-22"=>0, "2017-11-23"=>0, "2017-11-24"=>1266}