POST /v2/roles_entities
Create a roles entity
live_help Notes
assignment
This action requires one of theses roles:
Advanced tutor
, Advanced staff
settings Params
Param name | Description |
---|---|
roles_entity | optional , nil allowed . Must be a Hash |
roles_entity[role_id] |
required
. Must be Fixnum
The role id. Must be unique in the scope of a given entity id and entity type. |
roles_entity[entity_id] |
required
. Must be Fixnum
The entity id. |
roles_entity[expires_at] |
optional
, nil allowed
. Must be DateTime
The expires at. |
roles_entity[entity_type] |
optional
, nil allowed
. Must be one of: Doorkeeper::Application .
The entity type. |
Examples
POST /v2/roles_entities
{
"roles_entity": {
"entity_id": "8",
"entity_type": "Doorkeeper::Application",
"role_id": "8"
}
}
201
{
"id": 21,
"entity_id": 8,
"entity_type": "Doorkeeper::Application",
"created_at": "2017-11-22T13:43:59.468Z",
"expires_at": null,
"entity": {
"id": 8,
"name": "test forbidden application",
"description": null,
"image": null,
"website": null,
"public": false,
"scopes": [],
"created_at": "2017-11-22T13:43:11.638Z",
"updated_at": "2017-11-22T13:43:59.474Z",
"owner": {
"id": 116,
"login": "mwindu2",
"url": "https://api.intra.42.fr/v2/users/mwindu2"
},
"rate_limit": 1800
},
"role": {
"id": 8,
"name": "Translater",
"description": "Ability to create and manage content translations"
}
}
curl -X POST -H "Authorization: Bearer YOUR_ACCESS_TOKEN" -H "Content-Type: application/json" -d '{"roles_entity":{"entity_id":"8","entity_type":"Doorkeeper::Application","role_id":"8"}}' "https://api.intra.42.fr/v2/roles_entities"
{
"id": 21,
"entity_id": 8,
"entity_type": "Doorkeeper::Application",
"created_at": "2017-11-22T13:43:59.468Z",
"expires_at": null,
"entity": {
"id": 8,
"name": "test forbidden application",
"description": null,
"image": null,
"website": null,
"public": false,
"scopes": [],
"created_at": "2017-11-22T13:43:11.638Z",
"updated_at": "2017-11-22T13:43:59.474Z",
"owner": {
"id": 116,
"login": "mwindu2",
"url": "https://api.intra.42.fr/v2/users/mwindu2"
},
"rate_limit": 1800
},
"role": {
"id": 8,
"name": "Translater",
"description": "Ability to create and manage content translations"
}
}
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 = {roles_entity: {entity_id: "8", entity_type: "Doorkeeper::Application", role_id: "8"}}
response = token.post("/v2/roles_entities", params: params)
response.status
# => 201
response.parsed
# => {"id"=>21, "entity_id"=>8, "entity_type"=>"Doorkeeper::Application", "created_at"=>"2017-11-22T13:43:59.468Z", "expires_at"=>nil, "entity"=>{"id"=>8, "name"=>"test forbidden application", "description"=>nil, "image"=>nil, "website"=>nil, "public"=>false, "scopes"=>[], "created_at"=>"2017-11-22T13:43:11.638Z", "updated_at"=>"2017-11-22T13:43:59.474Z", "owner"=>{"id"=>116, "login"=>"mwindu2", "url"=>"https://api.intra.42.fr/v2/users/mwindu2"}, "rate_limit"=>1800}, "role"=>{"id"=>8, "name"=>"Translater", "description"=>"Ability to create and manage content translations"}}