Vridlo/api/vridlo.groups

vridlo.group.index
It allows accessing to a list of groups, which are presented in the system. Do not poll this method more than once an hour. Added into API v1.0.

Path
/v1/groups

GET
Returns a list of groups, which are presented in the system. Do not poll this method more than once an hour. Added into API v1.0.

Authentication
This method requires NO authentication.

Arguments
Number of items to return per page. If this argument is omitted, it defaults to 10. The maximum allowed value is 50. The page of results to return. If this argument is omitted, it defaults to 1.
 * per_page (Optional)
 * page (Optional)

NOTE: Arguments can be provided as arguments along with headers fields.

Example Response
[ {   "id": 1, "member_count": 2, "description": "Info group", "names": [ {        "kind": "name" "text": "group" },     {         "kind": "nickname" "text": "Bublo" }  ],   "member_slugs": [ "user", "user1", ],  "recitals": [ {       "kind": "email", "address": "group@gmail.com", "foremost": false },    {        "kind": "email", "address": "group@packages.altlinux.org", "foremost": true },    {        "kind": "slug", "address": "group", "foremost": false },    {        "kind": "jabber", "address": "group@jabber.ru", "foremost": false },    {        "kind": "website", "address": "http://group.me", "foremost": false },    {        "kind": "location", "address": { "x": "37.618448", "y": "55.753165", "grid": "yandex", "name": "Moskva. Kremlin. Granovita palata" },       "foremost": false }  ]  } ]

Return Codes
The resource list is accessible. Returned data responds to the current state of the resource list, and reading the list is finished.
 * 200 (OK)

The resource list is accessible. Returned data responds to the current state of the resource list, and reading the list is NOT finished yet.
 * 206 (Partial Content)

The resource list is accessible. But data can't be returned since range provided don't match the list boundaries.
 * 416 (Range Not Satisfiable)

SSL is required to access the Vridlo API.
 * 422.3 (SSL is required)

The requested service is temporarily unavailable.
 * 500 (Service currently unavailable)

vridlo.group.slug
This allows accessing to the specified group record by URI-parameter. Added into API v1.0.

Path
/v1/groups/

POST
Creates the group specified by URI-parameter using the set of properties passed as form data or get parameter array, and returns state of the created record as JSON.

Authentication
This method requires write authentication with write permission token to group model.

Arguments
Name array for the group. Description of the group. Recital record array for the group. String record array for the group, that describes list of member slugs.
 * names is array of Name (Mandatory)
 * description is string (Optional)
 * recitals is array of Recital (Mandatory)
 * member_slugs is array of string (Mandatory)

Sample request
{  "description": "Info group", "names": [ {       "kind": "name" "text": "group" },    {        "kind": "nickname" "text": "Bublo" }  ],   "member_slugs": [ "user", "user1", ],  "recitals": [ {      "kind": "email", "address": "group@gmail.com", "foremost": false },   {       "kind": "email", "address": "group@altlinux.org", "foremost": true },   {       "kind": "slug", "address": "group", "foremost": false },   {       "kind": "location", "address": { "x": "37.618448", "y": "55.753165", "grid": "yandex", "name": "Moskva. Kremlin. Senatskij palace" },      "foremost": false }  ] }

Example Response
Good response with created record:

{  "id": 1, "member_count": 2, "description": "Info group", "names": [ {        "kind": "name" "text": "group" },     {         "kind": "nickname" "text": "Bublo" }  ],   "member_slugs": [ "user", "user1", ],  "recitals": [ {       "kind": "email", "address": "group@gmail.com", "foremost": false },    {        "kind": "email", "address": "group@altlinux.org", "foremost": true },    {        "kind": "slug", "address": "group", "foremost": false },    {        "kind": "jabber", "address": "group@jabber.ru", "foremost": false },    {        "kind": "website", "address": "http://group.me", "foremost": false },    {        "kind": "location", "address": { "x": "37.618448", "y": "55.753165", "grid": "yandex", "name": "Moskva. Kremlin. Senatskij palace" },       "foremost": false }  ] }

Error response 423:

{  "error_code": 3 }

Return Codes
The resource wasn't found, and was created. Returned data responds to the current state of the resource.
 * 200 (OK)

SSL is required to access the Vridlo API.
 * 422.3 (SSL is required)

The incoming data is invalid. See details for help.
 * 422.5 (Invalid incoming data)

The record with provided slug is not found.
 * 404 (Not Found)

The Internal Server Error has occurred.
 * 500 (Internal Server Error)

GET
Gets properties of the group specified by URI-parameter, and returns then as JSON. Do not poll this method more than once an hour.

Authentication
This method requires NO authentication.

Arguments
This method requires NO arguments.

Example Response
Good response:

{  "id": "1", "member_count": 2, "description": "Info group", "names": [ {        "kind": "name" "text": "group" },     {         "kind": "nickname" "text": "Bublo" }  ],   "member_slugs": [ "user", "user1", ],  "recitals": [ {       "kind": "email", "address": "group@gmail.com", "foremost": false },    {        "kind": "email", "address": "group@altlinux.org", "foremost": true },    {        "kind": "slug", "address": "group", "foremost": false },    {        "kind": "jabber", "address": "group@jabber.ru", "foremost": false },    {        "kind": "website", "address": "http://group.me", "foremost": false },    {        "kind": "location", "address": { "x": "37.618448", "y": "55.753165", "grid": "yandex", "name": "Moskva. Kremlin. Senatskij palace" },       "foremost": false }  ] }

Error response 423:

{  "error_code": 3 }

Return Codes
The resource was found and is accessible. Returned data responds to the current state of the resource.
 * 200 (OK)

SSL is required to access the Vridlo API.
 * 422.3 (SSL is required)

The record with provided slug is not found.
 * 404 (Not Found)

The Internal Server Error has occurred.
 * 500 (Internal Server Error)

PUT/PATCH
Sets one or many properties of the group specified by URI-parameter, and returns updated state as JSON.

Authentication
This method requires write authentication with write permission token to group model.

Arguments
NOTE: Blank fields will be skipped, new array fields will be appended

Name array for the group. Description of the group. Recital record array for the group. String record array for the group, that describes list of member slugs.
 * names is array of Name (Optional)
 * description is string (Optional)
 * recitals is array of Recital (Optional)
 * member_slugs is array of string (Optional)

Sample request
{  "description": "Info group", "names": [ {       "kind": "name" "text": "group" },    {        "kind": "nickname" "text": "Bublo" }  ],   "member_slugs": [ "user", "user1", ],  "recitals": [ {      "kind": "email", "address": "group@gmail.com", "foremost": false },   {       "kind": "email", "address": "group@altlinux.org", "foremost": true },   {       "kind": "slug", "address": "group", "foremost": false },   {       "kind": "location", "address": { "x": "37.618448", "y": "55.753165", "grid": "yandex", "name": "Moskva. Kremlin. Senatskij palace" },      "foremost": false }  ] }

Example Request
PUT:/v1/groups/ca?name=Core_Assembler

Example Response
Good response:

{  "id": "1", "member_count": 2, "description": "Info group", "names": [ {        "kind": "name" "text": "group" },     {         "kind": "nickname" "text": "Bublo" }  ],   "member_slugs": [ "user", "user1", ],  "recitals": [ {       "kind": "email", "address": "group@gmail.com", "foremost": false },    {        "kind": "email", "address": "group@altlinux.org", "foremost": true },    {        "kind": "slug", "address": "group", "foremost": false },    {        "kind": "jabber", "address": "group@jabber.ru", "foremost": false },    {        "kind": "website", "address": "http://group.me", "foremost": false },    {        "kind": "location", "address": { "x": "37.618448", "y": "55.753165", "grid": "yandex", "name": "Moskva. Kremlin. Senatskij palace" },       "foremost": false }  ] }

Error response 423:

{  "error_code": 3 }

Return Codes
The resource was found and is accessible. Changes were made on the resource successfully. Returned data responds to the current state of the resource.
 * 200 (OK)

The resource was found and is accessible. But no changes were made on the resource.
 * 204 (No Content)

SSL is required to access the Vridlo API.
 * 422.3 (SSL is required)

The incoming data is invalid. See details for help.
 * 422.5 (Invalid incoming data)

The record with provided id/slug is not found.
 * 404 (Not Found)

The Internal Server Error has occurred.
 * 500 (Internal Server Error)

DELETE
Destroys the group specified by URI-parameter, and returns state of the destroyed record as JSON.

Authentication
This method requires write authentication with write permission token to group model.

Arguments
This method requires NO arguments.

Example Response
Good response returning deleted record:

{  "id": "1", "member_count": 2, "description": "Info group", "names": [ {        "kind": "name" "text": "group" },     {         "kind": "nickname" "text": "Bublo" }  ],   "member_slugs": [ "user", "user1", ],  "recitals": [ {       "kind": "email", "address": "group@gmail.com", "foremost": false },    {        "kind": "email", "address": "group@altlinux.org", "foremost": true },    {        "kind": "slug", "address": "group", "foremost": false },    {        "kind": "jabber", "address": "group@jabber.ru", "foremost": false },    {        "kind": "website", "address": "http://group.me", "foremost": false },    {        "kind": "location", "address": { "x": "37.618448", "y": "55.753165", "grid": "yandex", "name": "Moskva. Kremlin. Senatskij palace" },       "foremost": false }  ] }

Error response 423:

{  "error_code": 3 }

Return Codes
The resource was found and is accessible, and successfully destroyed. Returned data responds to the state of the destroyed resource.
 * 200 (OK)

SSL is required to access the Vridlo API.
 * 422.3 (SSL is required)

The record with provided slug is not found.
 * 404 (Not Found)

The Internal Server Error has occurred.
 * 500 (Internal Server Error)