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

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"}}