POST /v2/cursus_users
Create a cursus user
POST /v2/users/:user_id/cursus_users
Create a cursus user for the given User
live_help Notes
assignment
This action requires one of theses roles:
Advanced tutor
settings Params
Param name | Description |
---|---|
user_id |
optional
. Must be String
The user id or slug |
cursus_user | optional , nil allowed . Must be a Hash |
cursus_user[cursus_id] |
required
. Must be Fixnum
The cursus id. Must be unique in the scope of a given user. |
cursus_user[user_id] |
required
. Must be Fixnum
The user id. |
cursus_user[end_at] |
optional
, nil allowed
. Must be DateTime
The end at. |
cursus_user[begin_at] |
required
. Must be DateTime
The begin at. |
cursus_user[has_coalition] |
required
. Must be one of: true , false .
Is it has coalition ? Default to true. |
cursus_user[skip_begin_validation] |
optional
, nil allowed
. Must be String
The skip begin validation. |
Examples
POST /v2/cursus_users
{
"cursus_user": {
"begin_at": "2017-07-22 13:43:10 UTC",
"cursus_id": "2",
"end_at": "2018-03-22 13:43:10 UTC",
"user_id": "1"
}
}
201
{
"id": 127,
"begin_at": "2017-07-22T13:43:10.000Z",
"end_at": "2018-03-22T13:43:10.000Z",
"grade": null,
"level": 0.0,
"skills": [],
"cursus_id": 2,
"has_coalition": true,
"user": {
"id": 1,
"login": "jeanne",
"url": "https://api.intra.42.fr/v2/users/jeanne"
},
"cursus": {
"id": 2,
"created_at": "2017-11-22T13:41:00.825Z",
"name": "42",
"slug": "42"
}
}
curl -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{"cursus_user":{"begin_at":"2017-07-22 13:43:10 UTC","cursus_id":"2","end_at":"2018-03-22 13:43:10 UTC","user_id":"1"}}' "https://api.intra.42.fr/v2/cursus_users"
{
"id": 127,
"begin_at": "2017-07-22T13:43:10.000Z",
"end_at": "2018-03-22T13:43:10.000Z",
"grade": null,
"level": 0.0,
"skills": [],
"cursus_id": 2,
"has_coalition": true,
"user": {
"id": 1,
"login": "jeanne",
"url": "https://api.intra.42.fr/v2/users/jeanne"
},
"cursus": {
"id": 2,
"created_at": "2017-11-22T13:41:00.825Z",
"name": "42",
"slug": "42"
}
}
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
params = {cursus_user: {begin_at: "2017-07-22 13:43:10 UTC", cursus_id: "2", end_at: "2018-03-22 13:43:10 UTC", user_id: "1"}}
response = token.post("/v2/cursus_users", params: params)
response.status
# => 201
response.parsed
# => {"id"=>127, "begin_at"=>"2017-07-22T13:43:10.000Z", "end_at"=>"2018-03-22T13:43:10.000Z", "grade"=>nil, "level"=>0.0, "skills"=>[], "cursus_id"=>2, "has_coalition"=>true, "user"=>{"id"=>1, "login"=>"jeanne", "url"=>"https://api.intra.42.fr/v2/users/jeanne"}, "cursus"=>{"id"=>2, "created_at"=>"2017-11-22T13:41:00.825Z", "name"=>"42", "slug"=>"42"}}