POST /v2/closes
Create a close
POST /v2/users/:user_id/closes
Create a close for the given User
If you want to link a community service with this close, pass it trough the community_services_attributes
array attribute. An email is automatically sent to the user when he is assigned to a community service.
live_help Notes
assignment
This action requires one of theses roles:
Basic staff
group_work
Requires following application scopes:
tig
settings Params
Param name | Description |
---|---|
user_id |
optional
. Must be String
The user id or slug |
close | optional , nil allowed . Must be a Hash |
close[user_id] |
required
. Must be Fixnum
The closed user |
close[closer_id] |
required
. Must be Fixnum
The closer, defaults to the token owner if there is one |
close[kind] |
required
. Must be one of: agu , other , deserter , black_hole , serious_misconduct , social_security , non_admitted , pace_unknown .
The close kind |
close[reason] |
required
. Must be String
The reason of this close |
close[end_at] |
optional
, nil allowed
. Must be DateTime
When the close will be end |
close[community_services_attributes] |
optional
, nil allowed
. Must be an Array of nested elements
The linked community service(s) |
close[community_services_attributes][duration] |
required
. Must be one of: 7200 , 14400 , 28800 .
The community service duration in seconds. Must be 2 hours, 4 hours or 8 hours. |
close[community_services_attributes][occupation] |
optional
, nil allowed
. Must be String
The community service occupation |
Examples
POST /v2/closes
{
"close": {
"closer_id": "2",
"kind": "other",
"reason": "Mange des patates douces en cluster 🍠",
"state": "close",
"user_id": "64",
"end_at": "2017-11-23T13:43:29.676Z"
}
}
201
{
"id": 3,
"reason": "Mange des patates douces en cluster 🍠",
"state": "close",
"created_at": "2017-11-22T13:43:29.676Z",
"updated_at": "2017-11-22T13:43:29.676Z",
"community_services": [],
"user": {
"id": 64,
"login": "shepalpa",
"url": "https://api.intra.42.fr/v2/users/shepalpa"
},
"closer": {
"id": 2,
"login": "andre",
"url": "https://api.intra.42.fr/v2/users/andre"
}
}
curl -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{"close":{"closer_id":"2","kind":"other","reason":"Mange des patates douces en cluster 🍠","state":"close","user_id":"64","end_at":"2017-11-23T13:43:29.676Z"}}' "https://api.intra.42.fr/v2/closes"
{
"id": 3,
"reason": "Mange des patates douces en cluster 🍠",
"state": "close",
"created_at": "2017-11-22T13:43:29.676Z",
"updated_at": "2017-11-22T13:43:29.676Z",
"community_services": [],
"user": {
"id": 64,
"login": "shepalpa",
"url": "https://api.intra.42.fr/v2/users/shepalpa"
},
"closer": {
"id": 2,
"login": "andre",
"url": "https://api.intra.42.fr/v2/users/andre"
}
}
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 = {close: {closer_id: "2", kind: "other", reason: "Mange des patates douces en cluster 🍠", state: "close", user_id: "64", end_at: "2017-11-23T13:43:29.676Z"}}
response = token.post("/v2/closes", params: params)
response.status
# => 201
response.parsed
# => {"id"=>3, "reason"=>"Mange des patates douces en cluster 🍠", "state"=>"close", "created_at"=>"2017-11-22T13:43:29.676Z", "updated_at"=>"2017-11-22T13:43:29.676Z", "community_services"=>[], "user"=>{"id"=>64, "login"=>"shepalpa", "url"=>"https://api.intra.42.fr/v2/users/shepalpa"}, "closer"=>{"id"=>2, "login"=>"andre", "url"=>"https://api.intra.42.fr/v2/users/andre"}}