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, 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, project_id, campus_id, cursus_id, estimate_time, created_at, updated_at, begin_at, end_at, max_people, duration_days, terminating_after, solo, is_subscriptable, minimum_mark, team_behaviour, commit, difficulty, description, objectives, divisor.

The sort field. Sorted by id desc by default.

Example:

To sort on project sessions on the fields objectives on a descending order and divisor on a ascending order:

...&sort=-objectives,divisor

filter optional . Must be one of: id, project_id, campus_id, cursus_id, estimate_time, created_at, updated_at, begin_at, end_at, max_people, duration_days, terminating_after, solo, is_subscriptable, team_behaviour, difficulty, future, end.

Filtering on one or more fields

Example:

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

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

Filterable fields:
  • id (standard field)
  • project_id (standard field)
  • campus_id (standard field)
  • cursus_id (standard field)
  • estimate_time (standard field)
  • created_at (standard field)
  • updated_at (standard field)
  • begin_at (standard field)
  • end_at (standard field)
  • max_people (standard field)
  • duration_days (standard field)
  • terminating_after (standard field)
  • solo (standard field)
  • is_subscriptable (standard field)
  • team_behaviour (standard field)
  • difficulty : Filter on difficulty.
  • future : Return only project sessions which begins in the future. Can be one of: true, false
  • end (standard field)
range optional . Must be one of: id, project_id, campus_id, cursus_id, estimate_time, created_at, updated_at, begin_at, end_at, max_people, duration_days, terminating_after, solo, is_subscriptable, team_behaviour, difficulty.

Select on a particular range

Example:

To range on project sessions with the difficulty field between min_value and max_value:

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

Rangeable fields:
  • id
  • project_id
  • campus_id
  • cursus_id
  • estimate_time
  • created_at
  • updated_at
  • begin_at
  • end_at
  • max_people
  • duration_days
  • terminating_after
  • solo
  • is_subscriptable
  • team_behaviour
  • difficulty
GET /v2/project_sessions/graph/on/created_at/by/day
200
{
  "2017-11-22": 5
}
curl  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" "https://api.intra.42.fr/v2/project_sessions/graph/on/created_at/by/day"

{
  "2017-11-22": 5
}
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/project_sessions/graph/on/created_at/by/day")
response.status
# => 200
response.parsed
# => {"2017-11-22"=>5}