{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "methods": [
    {
      "name": "account.ban",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "account.changePassword",
      "description": "Changes a user password after access is successfully restored with the [vk.com/dev/auth.restore|auth.restore] method.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "restore_sid",
          "description": "Session id received after the [vk.com/dev/auth.restore|auth.restore] method is executed. (If the password is changed right after the access was restored)",
          "type": "string"
        },
        {
          "name": "change_password_hash",
          "description": "Hash received after a successful OAuth authorization with a code got by SMS. (If the password is changed right after the access was restored)",
          "type": "string"
        },
        {
          "name": "old_password",
          "description": "Current user password.",
          "type": "string"
        },
        {
          "name": "new_password",
          "description": "New password that will be set as a current",
          "type": "string",
          "required": true,
          "minLength": 6
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/account_changePassword_response"
        }
      }
    },
    {
      "name": "account.getActiveOffers",
      "description": "Returns a list of active ads (offers) which executed by the user will bring him/her respective number of votes to his balance in the application.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of results to return.",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 100
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/account_getActiveOffers_response"
        }
      }
    },
    {
      "name": "account.getAppPermissions",
      "description": "Gets settings of the user in this application.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID whose settings information shall be got. By default: current user.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/account_getAppPermissions_response"
        }
      }
    },
    {
      "name": "account.getBanned",
      "description": "Returns a user's blacklist.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of results.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of results to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 200
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/account_getBanned_response"
        }
      }
    },
    {
      "name": "account.getCounters",
      "description": "Returns non-null values of user counters.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "filter",
          "description": "Counters to be returned.",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "friends",
              "messages",
              "photos",
              "videos",
              "notes",
              "gifts",
              "events",
              "groups",
              "sdk",
              "friends_suggestions"
            ]
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/account_getCounters_response"
        }
      }
    },
    {
      "name": "account.getInfo",
      "description": "Returns current account info.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "fields",
          "description": "Fields to return. Possible values: *'country' — user country,, *'https_required' — is \"HTTPS only\" option enabled,, *'own_posts_default' — is \"Show my posts only\" option is enabled,, *'no_wall_replies' — are wall replies disabled or not,, *'intro' — is intro passed by user or not,, *'lang' — user language. By default: all.",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "country",
              "https_required",
              "own_posts_default",
              "no_wall_replies",
              "intro",
              "lang"
            ]
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/account_getInfo_response"
        }
      }
    },
    {
      "name": "account.getProfileInfo",
      "description": "Returns the current account info.",
      "access_token_type": [
        "user"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/account_getProfileInfo_response"
        }
      }
    },
    {
      "name": "account.getPushSettings",
      "description": "Gets settings of push notifications.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "device_id",
          "description": "Unique device ID.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/account_getPushSettings_response"
        }
      }
    },
    {
      "name": "account.registerDevice",
      "description": "Subscribes an iOS/Android/Windows Phone-based device to receive push notifications",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "token",
          "description": "Device token used to send notifications. (for mpns, the token shall be URL for sending of notifications)",
          "type": "string",
          "required": true
        },
        {
          "name": "device_model",
          "description": "String name of device model.",
          "type": "string"
        },
        {
          "name": "device_year",
          "description": "Device year.",
          "type": "integer"
        },
        {
          "name": "device_id",
          "description": "Unique device ID.",
          "type": "string",
          "required": true
        },
        {
          "name": "system_version",
          "description": "String version of device operating system.",
          "type": "string"
        },
        {
          "name": "settings",
          "description": "Push settings in a [vk.com/dev/push_settings|special format].",
          "type": "string"
        },
        {
          "name": "sandbox",
          "type": "boolean",
          "default": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "account.saveProfileInfo",
      "description": "Edits current profile info.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "first_name",
          "description": "User first name.",
          "type": "string"
        },
        {
          "name": "last_name",
          "description": "User last name.",
          "type": "string"
        },
        {
          "name": "maiden_name",
          "description": "User maiden name (female only)",
          "type": "string"
        },
        {
          "name": "screen_name",
          "description": "User screen name.",
          "type": "string"
        },
        {
          "name": "cancel_request_id",
          "description": "ID of the name change request to be canceled. If this parameter is sent, all the others are ignored.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "sex",
          "description": "User sex. Possible values: , * '1' – female,, * '2' – male.",
          "type": "integer",
          "minimum": 0,
          "enum": [
            0,
            1,
            2
          ],
          "enumNames": [
            "undefined",
            "female",
            "male"
          ]
        },
        {
          "name": "relation",
          "description": "User relationship status. Possible values: , * '1' – single,, * '2' – in a relationship,, * '3' – engaged,, * '4' – married,, * '5' – it's complicated,, * '6' – actively searching,, * '7' – in love,, * '0' – not specified.",
          "type": "integer",
          "minimum": 0,
          "enum": [
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            0
          ],
          "enumNames": [
            "single",
            "relationship",
            "engaged",
            "married",
            "complicated",
            "actively searching",
            "in love",
            "not specified"
          ]
        },
        {
          "name": "relation_partner_id",
          "description": "ID of the relationship partner.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "bdate",
          "description": "User birth date, format: DD.MM.YYYY.",
          "type": "string"
        },
        {
          "name": "bdate_visibility",
          "description": "Birth date visibility. Returned values: , * '1' – show birth date,, * '2' – show only month and day,, * '0' – hide birth date.",
          "type": "integer",
          "minimum": 0,
          "enum": [
            1,
            2,
            0
          ],
          "enumNames": [
            "show",
            "hide year",
            "hide"
          ]
        },
        {
          "name": "home_town",
          "description": "User home town.",
          "type": "string"
        },
        {
          "name": "country_id",
          "description": "User country.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "city_id",
          "description": "User city.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "status",
          "description": "Status text.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/account_saveProfileInfo_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_invalid_address"
        }
      ]
    },
    {
      "name": "account.setInfo",
      "description": "Allows to edit the current account info.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "name",
          "description": "Setting name.",
          "type": "string"
        },
        {
          "name": "value",
          "description": "Setting value.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "account.setNameInMenu",
      "description": "Sets an application screen name (up to 17 characters), that is shown to the user in the left menu.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "name",
          "description": "Application screen name.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_menu"
        }
      ]
    },
    {
      "name": "account.setOffline",
      "description": "Marks a current user as offline.",
      "access_token_type": [
        "user"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "account.setOnline",
      "description": "Marks the current user as online for 15 minutes.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "voip",
          "description": "'1' if videocalls are available for current device.",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "account.setPushSettings",
      "description": "Change push settings.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "device_id",
          "description": "Unique device ID.",
          "type": "string",
          "required": true
        },
        {
          "name": "settings",
          "description": "Push settings in a [vk.com/dev/push_settings|special format].",
          "type": "string"
        },
        {
          "name": "key",
          "description": "Notification key.",
          "type": "string"
        },
        {
          "name": "value",
          "description": "New value for the key in a [vk.com/dev/push_settings|special format].",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "account.setSilenceMode",
      "description": "Mutes push notifications for the set period of time.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "device_id",
          "description": "Unique device ID.",
          "type": "string"
        },
        {
          "name": "time",
          "description": "Time in seconds for what notifications should be disabled. '-1' to disable forever.",
          "type": "integer"
        },
        {
          "name": "peer_id",
          "description": "Destination ID. \"For user: 'User ID', e.g. '12345'. For chat: '2000000000' + 'Chat ID', e.g. '2000000001'. For community: '- Community ID', e.g. '-12345'. \"",
          "type": "integer"
        },
        {
          "name": "sound",
          "description": "'1' — to enable sound in this dialog, '0' — to disable sound. Only if 'peer_id' contains user or community ID.",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "account.unban",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "account.unregisterDevice",
      "description": "Unsubscribes a device from push notifications.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "device_id",
          "description": "Unique device ID.",
          "type": "string"
        },
        {
          "name": "sandbox",
          "type": "boolean",
          "default": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "ads.addOfficeUsers",
      "description": "Adds managers and/or supervisors to advertising account.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "data",
          "description": "Serialized JSON array of objects that describe added managers. Description of 'user_specification' objects see below.",
          "type": "array",
          "required": true,
          "format": "json",
          "items": {
            "$ref": "objects.json#/definitions/ads_user_specification_cutted"
          },
          "minItems": 1,
          "maxItems": 10
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_addOfficeUsers_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.checkLink",
      "description": "Allows to check the ad link.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "link_type",
          "description": "Object type: *'community' — community,, *'post' — community post,, *'application' — VK application,, *'video' — video,, *'site' — external site.",
          "type": "string",
          "required": true,
          "enum": [
            "community",
            "post",
            "application",
            "video",
            "site"
          ]
        },
        {
          "name": "link_url",
          "description": "Object URL.",
          "type": "string",
          "required": true
        },
        {
          "name": "campaign_id",
          "description": "Campaign ID",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_checkLink_response"
        }
      }
    },
    {
      "name": "ads.createAds",
      "description": "Creates ads.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "data",
          "description": "Serialized JSON array of objects that describe created ads. Description of 'ad_specification' objects see below.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_createAds_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_ads_partial_success"
        },
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.createCampaigns",
      "description": "Creates advertising campaigns.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "data",
          "description": "Serialized JSON array of objects that describe created campaigns. Description of 'campaign_specification' objects see below.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_createCampaigns_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_ads_partial_success"
        },
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.createClients",
      "description": "Creates clients of an advertising agency.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "data",
          "description": "Serialized JSON array of objects that describe created campaigns. Description of 'client_specification' objects see below.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_createClients_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_ads_partial_success"
        },
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.createTargetGroup",
      "description": "Creates a group to re-target ads for users who visited advertiser's site (viewed information about the product, registered, etc.).",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "client_id",
          "description": "'Only for advertising agencies.', ID of the client with the advertising account where the group will be created.",
          "type": "integer"
        },
        {
          "name": "name",
          "description": "Name of the target group — a string up to 64 characters long.",
          "type": "string",
          "required": true
        },
        {
          "name": "lifetime",
          "description": "'For groups with auditory created with pixel code only.', , Number of days after that users will be automatically removed from the group.",
          "type": "integer",
          "required": true,
          "minimum": 1,
          "maximum": 720
        },
        {
          "name": "target_pixel_id",
          "type": "integer"
        },
        {
          "name": "target_pixel_rules",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_createTargetGroup_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.deleteAds",
      "description": "Archives ads.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "ids",
          "description": "Serialized JSON array with ad IDs.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_deleteAds_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_ads_object_deleted"
        },
        {
          "$ref": "errors.json#/errors/api_error_ads_partial_success"
        },
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.deleteCampaigns",
      "description": "Archives advertising campaigns.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "ids",
          "description": "Serialized JSON array with IDs of deleted campaigns.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_deleteCampaigns_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_ads_object_deleted"
        },
        {
          "$ref": "errors.json#/errors/api_error_ads_partial_success"
        },
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.deleteClients",
      "description": "Archives clients of an advertising agency.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "ids",
          "description": "Serialized JSON array with IDs of deleted clients.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_deleteClients_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_ads_object_deleted"
        },
        {
          "$ref": "errors.json#/errors/api_error_ads_partial_success"
        },
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.deleteTargetGroup",
      "description": "Deletes a retarget group.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "client_id",
          "description": "'Only for advertising agencies.' , ID of the client with the advertising account where the group will be created.",
          "type": "integer"
        },
        {
          "name": "target_group_id",
          "description": "Group ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getAccounts",
      "description": "Returns a list of advertising accounts.",
      "access_token_type": [
        "user"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getAccounts_response"
        }
      }
    },
    {
      "name": "ads.getAds",
      "description": "Returns number of ads.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "required": true,
          "type": "integer"
        },
        {
          "name": "ad_ids",
          "description": "Filter by ads. Serialized JSON array with ad IDs. If the parameter is null, all ads will be shown.",
          "type": "string"
        },
        {
          "name": "campaign_ids",
          "description": "Filter by advertising campaigns. Serialized JSON array with campaign IDs. If the parameter is null, ads of all campaigns will be shown.",
          "type": "string"
        },
        {
          "name": "client_id",
          "description": "'Available and required for advertising agencies.' ID of the client ads are retrieved from.",
          "type": "integer"
        },
        {
          "name": "include_deleted",
          "description": "Flag that specifies whether archived ads shall be shown: *0 — show only active ads,, *1 — show all ads.",
          "type": "boolean"
        },
        {
          "name": "only_deleted",
          "description": "Flag that specifies whether to show only archived ads: *0 — show all ads,, *1 — show only archived ads. Available when include_deleted flag is *1",
          "type": "boolean"
        },
        {
          "name": "limit",
          "description": "Limit of number of returned ads. Used only if ad_ids parameter is null, and 'campaign_ids' parameter contains ID of only one campaign.",
          "type": "integer"
        },
        {
          "name": "offset",
          "description": "Offset. Used in the same cases as 'limit' parameter.",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getAds_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getAdsLayout",
      "description": "Returns descriptions of ad layouts.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "required": true,
          "type": "integer"
        },
        {
          "name": "ad_ids",
          "description": "Filter by ads. Serialized JSON array with ad IDs. If the parameter is null, all ads will be shown.",
          "type": "string"
        },
        {
          "name": "campaign_ids",
          "description": "Filter by advertising campaigns. Serialized JSON array with campaign IDs. If the parameter is null, ads of all campaigns will be shown.",
          "type": "string"
        },
        {
          "name": "client_id",
          "description": "'For advertising agencies.' ID of the client ads are retrieved from.",
          "type": "integer"
        },
        {
          "name": "include_deleted",
          "description": "Flag that specifies whether archived ads shall be shown. *0 — show only active ads,, *1 — show all ads.",
          "type": "boolean"
        },
        {
          "name": "limit",
          "description": "Limit of number of returned ads. Used only if 'ad_ids' parameter is null, and 'campaign_ids' parameter contains ID of only one campaign.",
          "type": "integer"
        },
        {
          "name": "offset",
          "description": "Offset. Used in the same cases as 'limit' parameter.",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getAdsLayout_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getAdsTargeting",
      "description": "Returns ad targeting parameters.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "required": true,
          "type": "integer"
        },
        {
          "name": "ad_ids",
          "description": "Filter by ads. Serialized JSON array with ad IDs. If the parameter is null, all ads will be shown.",
          "type": "string"
        },
        {
          "name": "campaign_ids",
          "description": "Filter by advertising campaigns. Serialized JSON array with campaign IDs. If the parameter is null, ads of all campaigns will be shown.",
          "type": "string"
        },
        {
          "name": "client_id",
          "description": "'For advertising agencies.' ID of the client ads are retrieved from.",
          "type": "integer"
        },
        {
          "name": "include_deleted",
          "description": "flag that specifies whether archived ads shall be shown: *0 — show only active ads,, *1 — show all ads.",
          "type": "boolean"
        },
        {
          "name": "limit",
          "description": "Limit of number of returned ads. Used only if 'ad_ids' parameter is null, and 'campaign_ids' parameter contains ID of only one campaign.",
          "type": "integer"
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of results.",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getAdsTargeting_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getBudget",
      "description": "Returns current budget of the advertising account.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getBudget_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getCampaigns",
      "description": "Returns a list of campaigns in an advertising account.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "client_id",
          "description": "'For advertising agencies'. ID of the client advertising campaigns are retrieved from.",
          "type": "integer"
        },
        {
          "name": "include_deleted",
          "description": "Flag that specifies whether archived ads shall be shown. *0 — show only active campaigns,, *1 — show all campaigns.",
          "type": "boolean"
        },
        {
          "name": "campaign_ids",
          "description": "Filter of advertising campaigns to show. Serialized JSON array with campaign IDs. Only campaigns that exist in 'campaign_ids' and belong to the specified advertising account will be shown. If the parameter is null, all campaigns will be shown.",
          "type": "string"
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "ads_count"
            ]
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getCampaigns_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getCategories",
      "description": "Returns a list of possible ad categories.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "lang",
          "description": "Language. The full list of supported languages is [vk.com/dev/api_requests|here].",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getCategories_response"
        }
      }
    },
    {
      "name": "ads.getClients",
      "description": "Returns a list of advertising agency's clients.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getClients_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getDemographics",
      "description": "Returns demographics for ads or campaigns.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "ids_type",
          "description": "Type of requested objects listed in 'ids' parameter: *ad — ads,, *campaign — campaigns.",
          "type": "string",
          "required": true,
          "enum": [
            "ad",
            "campaign"
          ]
        },
        {
          "name": "ids",
          "description": "IDs requested ads or campaigns, separated with a comma, depending on the value set in 'ids_type'. Maximum 2000 objects.",
          "type": "string",
          "required": true
        },
        {
          "name": "period",
          "description": "Data grouping by dates: *day — statistics by days,, *month — statistics by months,, *overall — overall statistics. 'date_from' and 'date_to' parameters set temporary limits.",
          "type": "string",
          "required": true,
          "enum": [
            "day",
            "month",
            "overall"
          ]
        },
        {
          "name": "date_from",
          "description": "Date to show statistics from. For different value of 'period' different date format is used: *day: YYYY-MM-DD, example: 2011-09-27 — September 27, 2011, **0 — day it was created on,, *month: YYYY-MM, example: 2011-09 — September 2011, **0 — month it was created in,, *overall: 0.",
          "type": "string",
          "required": true
        },
        {
          "name": "date_to",
          "description": "Date to show statistics to. For different value of 'period' different date format is used: *day: YYYY-MM-DD, example: 2011-09-27 — September 27, 2011, **0 — current day,, *month: YYYY-MM, example: 2011-09 — September 2011, **0 — current month,, *overall: 0.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getDemographics_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getFloodStats",
      "description": "Returns information about current state of a counter — number of remaining runs of methods and time to the next counter nulling in seconds.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getFloodStats_response"
        }
      }
    },
    {
      "name": "ads.getLookalikeRequests",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "client_id",
          "type": "integer"
        },
        {
          "name": "requests_ids",
          "type": "string"
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "limit",
          "type": "integer",
          "default": 10,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "sort_by",
          "type": "string",
          "default": "id"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getLookalikeRequests_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getMusicians",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "artist_name",
          "type": "string",
          "required": true,
          "minLength": 3
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getMusicians_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        },
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        }
      ]
    },
    {
      "name": "ads.getOfficeUsers",
      "description": "Returns a list of managers and supervisors of advertising account.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getOfficeUsers_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getPostsReach",
      "description": "Returns detailed statistics of promoted posts reach from campaigns and ads.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "ids_type",
          "description": "Type of requested objects listed in 'ids' parameter: *ad — ads,, *campaign — campaigns.",
          "type": "string",
          "required": true,
          "enum": [
            "ad",
            "campaign"
          ]
        },
        {
          "name": "ids",
          "description": "IDs requested ads or campaigns, separated with a comma, depending on the value set in 'ids_type'. Maximum 100 objects.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getPostsReach_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getRejectionReason",
      "description": "Returns a reason of ad rejection for pre-moderation.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "ad_id",
          "description": "Ad ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getRejectionReason_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getStatistics",
      "description": "Returns statistics of performance indicators for ads, campaigns, clients or the whole account.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "ids_type",
          "description": "Type of requested objects listed in 'ids' parameter: *ad — ads,, *campaign — campaigns,, *client — clients,, *office — account.",
          "type": "string",
          "required": true,
          "enum": [
            "ad",
            "campaign",
            "client",
            "office"
          ]
        },
        {
          "name": "ids",
          "description": "IDs requested ads, campaigns, clients or account, separated with a comma, depending on the value set in 'ids_type'. Maximum 2000 objects.",
          "type": "string",
          "required": true
        },
        {
          "name": "period",
          "description": "Data grouping by dates: *day — statistics by days,, *month — statistics by months,, *overall — overall statistics. 'date_from' and 'date_to' parameters set temporary limits.",
          "type": "string",
          "required": true,
          "enum": [
            "day",
            "month",
            "overall"
          ]
        },
        {
          "name": "date_from",
          "description": "Date to show statistics from. For different value of 'period' different date format is used: *day: YYYY-MM-DD, example: 2011-09-27 — September 27, 2011, **0 — day it was created on,, *month: YYYY-MM, example: 2011-09 — September 2011, **0 — month it was created in,, *overall: 0.",
          "type": "string",
          "required": true
        },
        {
          "name": "date_to",
          "description": "Date to show statistics to. For different value of 'period' different date format is used: *day: YYYY-MM-DD, example: 2011-09-27 — September 27, 2011, **0 — current day,, *month: YYYY-MM, example: 2011-09 — September 2011, **0 — current month,, *overall: 0.",
          "type": "string",
          "required": true
        },
        {
          "name": "stats_fields",
          "description": "Additional fields to add to statistics",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "views_times"
            ]
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getStatistics_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getSuggestions",
      "description": "Returns a set of auto-suggestions for various targeting parameters.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "section",
          "description": "Section, suggestions are retrieved in. Available values: *countries — request of a list of countries. If q is not set or blank, a short list of countries is shown. Otherwise, a full list of countries is shown. *regions — requested list of regions. 'country' parameter is required. *cities — requested list of cities. 'country' parameter is required. *districts — requested list of districts. 'cities' parameter is required. *stations — requested list of subway stations. 'cities' parameter is required. *streets — requested list of streets. 'cities' parameter is required. *schools — requested list of educational organizations. 'cities' parameter is required. *interests — requested list of interests. *positions — requested list of positions (professions). *group_types — requested list of group types. *religions — requested list of religious commitments. *browsers — requested list of browsers and mobile devices.",
          "type": "string",
          "required": true,
          "enum": [
            "countries",
            "regions",
            "cities",
            "districts",
            "stations",
            "streets",
            "schools",
            "interests",
            "positions",
            "group_types",
            "religions",
            "browsers"
          ]
        },
        {
          "name": "ids",
          "description": "Objects IDs separated by commas. If the parameter is passed, 'q, country, cities' should not be passed.",
          "type": "string"
        },
        {
          "name": "q",
          "description": "Filter-line of the request (for countries, regions, cities, streets, schools, interests, positions).",
          "type": "string"
        },
        {
          "name": "country",
          "description": "ID of the country objects are searched in.",
          "type": "integer"
        },
        {
          "name": "cities",
          "description": "IDs of cities where objects are searched in, separated with a comma.",
          "type": "string"
        },
        {
          "name": "lang",
          "description": "Language of the returned string values. Supported languages: *ru — Russian,, *ua — Ukrainian,, *en — English.",
          "type": "string",
          "enum": [
            "ru",
            "ua",
            "en"
          ],
          "enumNames": [
            "russian",
            "ukrainian",
            "english"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getSuggestions_response"
        },
        "regionsResponse": {
          "$ref": "responses.json#/definitions/ads_getSuggestions_regions_response"
        },
        "citiesResponse": {
          "$ref": "responses.json#/definitions/ads_getSuggestions_cities_response"
        },
        "schoolsResponse": {
          "$ref": "responses.json#/definitions/ads_getSuggestions_schools_response"
        }
      }
    },
    {
      "name": "ads.getTargetGroups",
      "description": "Returns a list of target groups.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "client_id",
          "description": "'Only for advertising agencies.', ID of the client with the advertising account where the group will be created.",
          "type": "integer"
        },
        {
          "name": "extended",
          "description": "'1' — to return pixel code.",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getTargetGroups_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getTargetingStats",
      "description": "Returns the size of targeting audience, and also recommended values for CPC and CPM.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "client_id",
          "type": "integer"
        },
        {
          "name": "criteria",
          "description": "Serialized JSON object that describes targeting parameters. Description of 'criteria' object see below.",
          "type": "string"
        },
        {
          "name": "ad_id",
          "description": "ID of an ad which targeting parameters shall be analyzed.",
          "type": "integer"
        },
        {
          "name": "ad_format",
          "description": "Ad format. Possible values: *'1' — image and text,, *'2' — big image,, *'3' — exclusive format,, *'4' — community, square image,, *'7' — special app format,, *'8' — special community format,, *'9' — post in community,, *'10' — app board.",
          "type": "integer",
          "enum": [
            1,
            2,
            3,
            4,
            7,
            8,
            9,
            10
          ],
          "enumNames": [
            "image and text",
            "big image",
            "exclusive format",
            "community square image",
            "special app format",
            "special community format",
            "post in community",
            "app board"
          ]
        },
        {
          "name": "ad_platform",
          "description": "Platforms to use for ad showing. Possible values: (for 'ad_format' = '1'), *'0' — VK and partner sites,, *'1' — VK only. (for 'ad_format' = '9'), *'all' — all platforms,, *'desktop' — desktop version,, *'mobile' — mobile version and apps.",
          "type": "string"
        },
        {
          "name": "ad_platform_no_wall",
          "type": "string"
        },
        {
          "name": "ad_platform_no_ad_network",
          "type": "string"
        },
        {
          "name": "link_url",
          "description": "URL for the advertised object.",
          "type": "string",
          "required": true
        },
        {
          "name": "link_domain",
          "description": "Domain of the advertised object.",
          "type": "string"
        },
        {
          "name": "need_precise",
          "description": "Additionally return recommended cpc and cpm to reach 5,10..95 percents of audience.",
          "type": "boolean"
        },
        {
          "name": "impressions_limit_period",
          "description": "Impressions limit period in seconds, must be a multiple of 86400(day)",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getTargetingStats_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.getUploadURL",
      "description": "Returns URL to upload an ad photo to.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "ad_format",
          "description": "Ad format: *1 — image and text,, *2 — big image,, *3 — exclusive format,, *4 — community, square image,, *7 — special app format.",
          "type": "integer",
          "required": true,
          "enum": [
            1,
            2,
            3,
            4,
            7
          ],
          "enumNames": [
            "image and text",
            "big image",
            "exclusive format",
            "community, square image",
            "special app format"
          ]
        },
        {
          "name": "icon",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getUploadURL_response"
        }
      }
    },
    {
      "name": "ads.getVideoUploadURL",
      "description": "Returns URL to upload an ad video to.",
      "access_token_type": [
        "user"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_getVideoUploadURL_response"
        }
      }
    },
    {
      "name": "ads.importTargetContacts",
      "description": "Imports a list of advertiser's contacts to count VK registered users against the target group.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "client_id",
          "description": "'Only for advertising agencies.' , ID of the client with the advertising account where the group will be created.",
          "type": "integer"
        },
        {
          "name": "target_group_id",
          "description": "Target group ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "contacts",
          "description": "List of phone numbers, emails or user IDs separated with a comma.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_importTargetContacts_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.removeOfficeUsers",
      "description": "Removes managers and/or supervisors from advertising account.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "ids",
          "description": "Serialized JSON array with IDs of deleted managers.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_removeOfficeUsers_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.updateAds",
      "description": "Edits ads.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "data",
          "description": "Serialized JSON array of objects that describe changes in ads. Description of 'ad_edit_specification' objects see below.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_updateAds_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.updateCampaigns",
      "description": "Edits advertising campaigns.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "data",
          "description": "Serialized JSON array of objects that describe changes in campaigns. Description of 'campaign_mod' objects see below.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_updateCampaigns_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_ads_partial_success"
        },
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.updateClients",
      "description": "Edits clients of an advertising agency.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "data",
          "description": "Serialized JSON array of objects that describe changes in clients. Description of 'client_mod' objects see below.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_updateClients_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.updateOfficeUsers",
      "description": "Adds managers and/or supervisors to advertising account.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "data",
          "description": "Serialized JSON array of objects that describe added managers. Description of 'user_specification' objects see below.",
          "type": "array",
          "required": true,
          "format": "json",
          "items": {
            "$ref": "objects.json#/definitions/ads_user_specification"
          },
          "minItems": 1,
          "maxItems": 10
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/ads_updateOfficeUsers_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "ads.updateTargetGroup",
      "description": "Edits a retarget group.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "account_id",
          "description": "Advertising account ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "client_id",
          "description": "'Only for advertising agencies.' , ID of the client with the advertising account where the group will be created.",
          "type": "integer"
        },
        {
          "name": "target_group_id",
          "description": "Group ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "name",
          "description": "New name of the target group — a string up to 64 characters long.",
          "type": "string",
          "required": true
        },
        {
          "name": "domain",
          "description": "Domain of the site where user accounting code will be placed.",
          "type": "string"
        },
        {
          "name": "lifetime",
          "description": "'Only for the groups that get audience from sites with user accounting code.', Time in days when users added to a retarget group will be automatically excluded from it. '0' - automatic exclusion is off.",
          "type": "integer",
          "required": true,
          "minimum": 1,
          "maximum": 720
        },
        {
          "name": "target_pixel_id",
          "type": "integer"
        },
        {
          "name": "target_pixel_rules",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_weighted_flood"
        }
      ]
    },
    {
      "name": "adsweb.getAdCategories",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "office_id",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/adsweb_getAdCategories_response"
        }
      }
    },
    {
      "name": "adsweb.getAdUnitCode",
      "access_token_type": [
        "user"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/adsweb_getAdUnitCode_response"
        }
      }
    },
    {
      "name": "adsweb.getAdUnits",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "office_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "sites_ids",
          "type": "string"
        },
        {
          "name": "ad_units_ids",
          "type": "string"
        },
        {
          "name": "fields",
          "type": "string"
        },
        {
          "name": "limit",
          "type": "integer",
          "default": null,
          "minimum": 0
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/adsweb_getAdUnits_response"
        }
      }
    },
    {
      "name": "adsweb.getFraudHistory",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "office_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "sites_ids",
          "type": "string"
        },
        {
          "name": "limit",
          "type": "integer",
          "default": null,
          "minimum": 0
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/adsweb_getFraudHistory_response"
        }
      }
    },
    {
      "name": "adsweb.getSites",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "office_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "sites_ids",
          "type": "string"
        },
        {
          "name": "fields",
          "type": "string"
        },
        {
          "name": "limit",
          "type": "integer",
          "default": null,
          "minimum": 0
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/adsweb_getSites_response"
        }
      }
    },
    {
      "name": "adsweb.getStatistics",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "office_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "ids_type",
          "type": "string",
          "required": true
        },
        {
          "name": "ids",
          "type": "string",
          "required": true
        },
        {
          "name": "period",
          "type": "string",
          "required": true
        },
        {
          "name": "date_from",
          "type": "string",
          "required": true
        },
        {
          "name": "date_to",
          "type": "string",
          "required": true
        },
        {
          "name": "fields",
          "type": "string"
        },
        {
          "name": "limit",
          "type": "integer",
          "default": null,
          "minimum": 0
        },
        {
          "name": "page_id",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/adsweb_getStatistics_response"
        }
      }
    },
    {
      "name": "appWidgets.getAppImageUploadServer",
      "description": "Returns a URL for uploading a photo to the community collection for community app widgets",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "image_type",
          "type": "string",
          "required": true,
          "enum": [
            "160x160",
            "160x240",
            "24x24",
            "50x50",
            "510x128"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/appWidgets_getAppImageUploadServer_response"
        }
      }
    },
    {
      "name": "appWidgets.getAppImages",
      "description": "Returns an app collection of images for community app widgets",
      "access_token_type": [
        "user",
        "group",
        "service"
      ],
      "parameters": [
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of images.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Maximum count of results.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "image_type",
          "type": "string",
          "enum": [
            "160x160",
            "160x240",
            "24x24",
            "50x50",
            "510x128"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/appWidgets_getAppImages_response"
        }
      }
    },
    {
      "name": "appWidgets.getGroupImageUploadServer",
      "description": "Returns a URL for uploading a photo to the community collection for community app widgets",
      "access_token_type": [
        "group"
      ],
      "parameters": [
        {
          "name": "image_type",
          "type": "string",
          "required": true,
          "enum": [
            "160x160",
            "160x240",
            "24x24",
            "50x50",
            "510x128"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/appWidgets_getGroupImageUploadServer_response"
        }
      }
    },
    {
      "name": "appWidgets.getGroupImages",
      "description": "Returns a community collection of images for community app widgets",
      "access_token_type": [
        "group"
      ],
      "parameters": [
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of images.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Maximum count of results.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "image_type",
          "type": "string",
          "enum": [
            "160x160",
            "160x240",
            "24x24",
            "50x50",
            "510x128"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/appWidgets_getGroupImages_response"
        }
      }
    },
    {
      "name": "appWidgets.getImagesById",
      "description": "Returns an image for community app widgets by its ID",
      "access_token_type": [
        "user",
        "group",
        "service"
      ],
      "parameters": [
        {
          "name": "images",
          "description": "List of images IDs",
          "type": "array",
          "required": true,
          "items": {
            "type": "string"
          },
          "maxItems": 100
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/appWidgets_getImagesById_response"
        }
      }
    },
    {
      "name": "appWidgets.saveAppImage",
      "description": "Allows to save image into app collection for community app widgets",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "hash",
          "description": "Parameter returned when photo is uploaded to server",
          "type": "string",
          "required": true
        },
        {
          "name": "image",
          "description": "Parameter returned when photo is uploaded to server",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/appWidgets_saveAppImage_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_photo"
        }
      ]
    },
    {
      "name": "appWidgets.saveGroupImage",
      "description": "Allows to save image into community collection for community app widgets",
      "access_token_type": [
        "group"
      ],
      "parameters": [
        {
          "name": "hash",
          "description": "Parameter returned when photo is uploaded to server",
          "type": "string",
          "required": true
        },
        {
          "name": "image",
          "description": "Parameter returned when photo is uploaded to server",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/appWidgets_saveGroupImage_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_photo"
        }
      ]
    },
    {
      "name": "appWidgets.update",
      "description": "Allows to update community app widget",
      "access_token_type": [
        "group"
      ],
      "parameters": [
        {
          "name": "code",
          "type": "string",
          "required": true,
          "maxLength": 100000
        },
        {
          "name": "type",
          "type": "string",
          "required": true,
          "enum": [
            "compact_list",
            "cover_list",
            "donation",
            "list",
            "match",
            "matches",
            "table",
            "text",
            "tiles"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_compile"
        },
        {
          "$ref": "errors.json#/errors/api_error_runtime"
        },
        {
          "$ref": "errors.json#/errors/api_error_blocked"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_access_post"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_access_replies"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_group_id"
        }
      ]
    },
    {
      "name": "apps.deleteAppRequests",
      "description": "Deletes all request notifications from the current app.",
      "access_token_type": [
        "user"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "apps.get",
      "description": "Returns applications data.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "app_id",
          "description": "Application ID",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "app_ids",
          "description": "List of application ID",
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 100
        },
        {
          "name": "platform",
          "description": "platform. Possible values: *'ios' — iOS,, *'android' — Android,, *'winphone' — Windows Phone,, *'web' — приложения на vk.com. By default: 'web'.",
          "type": "string",
          "default": "web",
          "enum": [
            "android",
            "ios",
            "web",
            "winphone"
          ]
        },
        {
          "name": "extended",
          "type": "boolean",
          "default": 0
        },
        {
          "name": "return_friends",
          "type": "boolean",
          "default": 0
        },
        {
          "name": "fields",
          "description": "Profile fields to return. Sample values: 'nickname', 'screen_name', 'sex', 'bdate' (birthdate), 'city', 'country', 'timezone', 'photo', 'photo_medium', 'photo_big', 'has_mobile', 'contacts', 'education', 'online', 'counters', 'relation', 'last_seen', 'activity', 'can_write_private_message', 'can_see_all_posts', 'can_post', 'universities', (only if return_friends - 1)",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "name_case",
          "description": "Case for declension of user name and surname: 'nom' — nominative (default),, 'gen' — genitive,, 'dat' — dative,, 'acc' — accusative,, 'ins' — instrumental,, 'abl' — prepositional. (only if 'return_friends' = '1')",
          "type": "string",
          "enum": [
            "nom",
            "gen",
            "dat",
            "acc",
            "ins",
            "abl"
          ],
          "enumNames": [
            "nominative",
            "genitive",
            "dative",
            "accusative",
            "instrumental",
            "prepositional"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/apps_get_response"
        }
      }
    },
    {
      "name": "apps.getCatalog",
      "description": "Returns a list of applications (apps) available to users in the App Catalog.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "sort",
          "description": "Sort order: 'popular_today' — popular for one day (default), 'visitors' — by visitors number , 'create_date' — by creation date, 'growth_rate' — by growth rate, 'popular_week' — popular for one week",
          "type": "string",
          "enum": [
            "popular_today",
            "visitors",
            "create_date",
            "growth_rate",
            "popular_week"
          ]
        },
        {
          "name": "offset",
          "description": "Offset required to return a specific subset of apps.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of apps to return.",
          "type": "integer",
          "required": true,
          "default": 100,
          "minimum": 0
        },
        {
          "name": "platform",
          "type": "string"
        },
        {
          "name": "extended",
          "description": "'1' — to return additional fields 'screenshots', 'MAU', 'catalog_position', and 'international'. If set, 'count' must be less than or equal to '100'. '0' — not to return additional fields (default).",
          "type": "boolean"
        },
        {
          "name": "return_friends",
          "type": "boolean"
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "name_case",
          "type": "string"
        },
        {
          "name": "q",
          "description": "Search query string.",
          "type": "string"
        },
        {
          "name": "genre_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "filter",
          "description": "'installed' — to return list of installed apps (only for mobile platform).",
          "type": "string",
          "enum": [
            "favorite",
            "featured",
            "installed",
            "new"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/apps_getCatalog_response"
        }
      }
    },
    {
      "name": "apps.getFriendsList",
      "description": "Creates friends list for requests and invites in current app.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "extended",
          "type": "boolean",
          "default": 0
        },
        {
          "name": "count",
          "description": "List size.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 5000
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "type",
          "description": "List type. Possible values: * 'invite' — available for invites (don't play the game),, * 'request' — available for request (play the game). By default: 'invite'.",
          "type": "string",
          "default": "invite",
          "enum": [
            "invite",
            "request"
          ]
        },
        {
          "name": "fields",
          "description": "Additional profile fields, see [vk.com/dev/fields|description].",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/apps_getFriendsList_response"
        }
      }
    },
    {
      "name": "apps.getLeaderboard",
      "description": "Returns players rating in the game.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "type",
          "description": "Leaderboard type. Possible values: *'level' — by level,, *'points' — by mission points,, *'score' — by score ().",
          "type": "string",
          "required": true,
          "enum": [
            "level",
            "points",
            "score"
          ]
        },
        {
          "name": "global",
          "description": "Rating type. Possible values: *'1' — global rating among all players,, *'0' — rating among user friends.",
          "type": "boolean",
          "default": 1
        },
        {
          "name": "extended",
          "description": "1 — to return additional info about users",
          "type": "boolean",
          "default": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/apps_getLeaderboard_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/apps_getLeaderboard_extended_response"
        }
      }
    },
    {
      "name": "apps.getScopes",
      "description": "Returns scopes for auth",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "type",
          "type": "string",
          "default": "user",
          "enum": [
            "group",
            "user"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/apps_getScopes_response"
        }
      }
    },
    {
      "name": "apps.getScore",
      "description": "Returns user score in app",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/apps_getScore_response"
        }
      }
    },
    {
      "name": "apps.promoHasActiveGift",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "promo_id",
          "description": "Id of game promo action",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "user_id",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_bool_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_action_failed"
        }
      ]
    },
    {
      "name": "apps.promoUseGift",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "promo_id",
          "description": "Id of game promo action",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "user_id",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_bool_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_action_failed"
        }
      ]
    },
    {
      "name": "apps.sendRequest",
      "description": "Sends a request to another user in an app that uses VK authorization.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "id of the user to send a request",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "text",
          "description": "request text",
          "type": "string"
        },
        {
          "name": "type",
          "description": "request type. Values: 'invite' – if the request is sent to a user who does not have the app installed,, 'request' – if a user has already installed the app",
          "type": "string",
          "default": "request",
          "enum": [
            "invite",
            "request"
          ]
        },
        {
          "name": "name",
          "type": "string",
          "maxLength": 128
        },
        {
          "name": "key",
          "description": "special string key to be sent with the request",
          "type": "string"
        },
        {
          "name": "separate",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/apps_sendRequest_response"
        }
      }
    },
    {
      "name": "auth.restore",
      "description": "Allows to restore account access using a code received via SMS. \" This method is only available for apps with [vk.com/dev/auth_direct|Direct authorization] access. \"",
      "access_token_type": [
        "user",
        "open"
      ],
      "parameters": [
        {
          "name": "phone",
          "description": "User phone number.",
          "type": "string",
          "required": true
        },
        {
          "name": "last_name",
          "description": "User last name.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/auth_restore_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_auth_flood_error"
        }
      ]
    },
    {
      "name": "board.addTopic",
      "description": "Creates a new topic on a community's discussion board.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of the community that owns the discussion board.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "title",
          "description": "Topic title.",
          "type": "string",
          "required": true
        },
        {
          "name": "text",
          "description": "Text of the topic.",
          "type": "string"
        },
        {
          "name": "from_group",
          "description": "For a community: '1' — to post the topic as by the community, '0' — to post the topic as by the user (default)",
          "type": "boolean"
        },
        {
          "name": "attachments",
          "description": "List of media objects attached to the topic, in the following format: \"<owner_id>_<media_id>,<owner_id>_<media_id>\", '' — Type of media object: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, '<owner_id>' — ID of the media owner. '<media_id>' — Media ID. Example: \"photo100172_166443618,photo66748_265827614\", , \"NOTE: If you try to attach more than one reference, an error will be thrown.\",",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/board_addTopic_response"
        }
      }
    },
    {
      "name": "board.closeTopic",
      "description": "Closes a topic on a community's discussion board so that comments cannot be posted.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of the community that owns the discussion board.",
          "type": "integer",
          "minimum": 0,
          "required": true
        },
        {
          "name": "topic_id",
          "description": "Topic ID.",
          "type": "integer",
          "minimum": 0,
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "board.createComment",
      "description": "Adds a comment on a topic on a community's discussion board.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of the community that owns the discussion board.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "topic_id",
          "description": "ID of the topic to be commented on.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "message",
          "description": "(Required if 'attachments' is not set.) Text of the comment.",
          "type": "string"
        },
        {
          "name": "attachments",
          "description": "(Required if 'text' is not set.) List of media objects attached to the comment, in the following format: \"<owner_id>_<media_id>,<owner_id>_<media_id>\", '' — Type of media object: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, '<owner_id>' — ID of the media owner. '<media_id>' — Media ID.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "from_group",
          "description": "'1' — to post the comment as by the community, '0' — to post the comment as by the user (default)",
          "type": "boolean"
        },
        {
          "name": "sticker_id",
          "description": "Sticker ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "guid",
          "description": "Unique identifier to avoid repeated comments.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/board_createComment_response"
        }
      }
    },
    {
      "name": "board.deleteComment",
      "description": "Deletes a comment on a topic on a community's discussion board.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of the community that owns the discussion board.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "topic_id",
          "description": "Topic ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "board.deleteTopic",
      "description": "Deletes a topic from a community's discussion board.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of the community that owns the discussion board.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "topic_id",
          "description": "Topic ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "board.editComment",
      "description": "Edits a comment on a topic on a community's discussion board.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of the community that owns the discussion board.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "topic_id",
          "description": "Topic ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "comment_id",
          "description": "ID of the comment on the topic.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "message",
          "description": "(Required if 'attachments' is not set). New comment text.",
          "type": "string"
        },
        {
          "name": "attachments",
          "description": "(Required if 'message' is not set.) List of media objects attached to the comment, in the following format: \"<owner_id>_<media_id>,<owner_id>_<media_id>\", '' — Type of media object: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, '<owner_id>' — ID of the media owner. '<media_id>' — Media ID. Example: \"photo100172_166443618,photo66748_265827614\"",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "board.editTopic",
      "description": "Edits the title of a topic on a community's discussion board.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of the community that owns the discussion board.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "topic_id",
          "description": "Topic ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "title",
          "description": "New title of the topic.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "board.fixTopic",
      "description": "Pins a topic (fixes its place) to the top of a community's discussion board.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of the community that owns the discussion board.",
          "type": "integer",
          "minimum": 0,
          "required": true
        },
        {
          "name": "topic_id",
          "description": "Topic ID.",
          "type": "integer",
          "minimum": 0,
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "board.getComments",
      "description": "Returns a list of comments on a topic on a community's discussion board.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of the community that owns the discussion board.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "topic_id",
          "description": "Topic ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "need_likes",
          "description": "'1' — to return the 'likes' field, '0' — not to return the 'likes' field (default)",
          "type": "boolean"
        },
        {
          "name": "start_comment_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of comments.",
          "type": "integer"
        },
        {
          "name": "count",
          "description": "Number of comments to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "extended",
          "description": "'1' — to return information about users who posted comments, '0' — to return no additional fields (default)",
          "type": "boolean"
        },
        {
          "name": "sort",
          "description": "Sort order: 'asc' — by creation date in chronological order, 'desc' — by creation date in reverse chronological order,",
          "type": "string",
          "enum": [
            "asc",
            "desc"
          ],
          "enumNames": [
            "chronological",
            "reverse chronological"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/board_getComments_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/board_getComments_extended_response"
        }
      }
    },
    {
      "name": "board.getTopics",
      "description": "Returns a list of topics on a community's discussion board.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of the community that owns the discussion board.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "topic_ids",
          "description": "IDs of topics to be returned (100 maximum). By default, all topics are returned. If this parameter is set, the 'order', 'offset', and 'count' parameters are ignored.",
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        {
          "name": "order",
          "description": "Sort order: '1' — by date updated in reverse chronological order. '2' — by date created in reverse chronological order. '-1' — by date updated in chronological order. '-2' — by date created in chronological order. If no sort order is specified, topics are returned in the order specified by the group administrator. Pinned topics are returned first, regardless of the sorting.",
          "type": "integer",
          "enum": [
            1,
            2,
            -1,
            -2,
            0
          ],
          "enumNames": [
            "updated desc",
            "created desc",
            "updated asc",
            "created asc",
            "as by administrator"
          ]
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of topics.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of topics to return.",
          "type": "integer",
          "default": 40,
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "extended",
          "description": "'1' — to return information about users who created topics or who posted there last, '0' — to return no additional fields (default)",
          "type": "boolean"
        },
        {
          "name": "preview",
          "description": "'1' — to return the first comment in each topic,, '2' — to return the last comment in each topic,, '0' — to return no comments. By default: '0'.",
          "type": "integer",
          "enum": [
            1,
            2,
            0
          ],
          "enumNames": [
            "first",
            "last",
            "none"
          ]
        },
        {
          "name": "preview_length",
          "description": "Number of characters after which to truncate the previewed comment. To preview the full comment, specify '0'.",
          "type": "integer",
          "default": 90,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/board_getTopics_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/board_getTopics_extended_response"
        }
      }
    },
    {
      "name": "board.openTopic",
      "description": "Re-opens a previously closed topic on a community's discussion board.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of the community that owns the discussion board.",
          "type": "integer",
          "minimum": 0,
          "required": true
        },
        {
          "name": "topic_id",
          "description": "Topic ID.",
          "type": "integer",
          "minimum": 0,
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "board.restoreComment",
      "description": "Restores a comment deleted from a topic on a community's discussion board.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of the community that owns the discussion board.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "topic_id",
          "description": "Topic ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "board.unfixTopic",
      "description": "Unpins a pinned topic from the top of a community's discussion board.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of the community that owns the discussion board.",
          "type": "integer",
          "minimum": 0,
          "required": true
        },
        {
          "name": "topic_id",
          "description": "Topic ID.",
          "type": "integer",
          "minimum": 0,
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "database.getChairs",
      "description": "Returns list of chairs on a specified faculty.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "faculty_id",
          "description": "id of the faculty to get chairs from",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "offset required to get a certain subset of chairs",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "amount of chairs to get",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 10000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/database_getChairs_response"
        }
      }
    },
    {
      "name": "database.getCities",
      "description": "Returns a list of cities.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "country_id",
          "description": "Country ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "region_id",
          "description": "Region ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "q",
          "description": "Search query.",
          "type": "string"
        },
        {
          "name": "need_all",
          "description": "'1' — to return all cities in the country, '0' — to return major cities in the country (default),",
          "type": "boolean"
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of cities.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of cities to return.",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/database_getCities_response"
        }
      }
    },
    {
      "name": "database.getCitiesById",
      "description": "Returns information about cities by their IDs.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "city_ids",
          "description": "City IDs.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          },
          "maxItems": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/database_getCitiesById_response"
        }
      }
    },
    {
      "name": "database.getCountries",
      "description": "Returns a list of countries.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "need_all",
          "description": "'1' — to return a full list of all countries, '0' — to return a list of countries near the current user's country (default).",
          "type": "boolean"
        },
        {
          "name": "code",
          "description": "Country codes in [vk.com/dev/country_codes|ISO 3166-1 alpha-2] standard.",
          "type": "string"
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of countries.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of countries to return.",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/database_getCountries_response"
        }
      }
    },
    {
      "name": "database.getCountriesById",
      "description": "Returns information about countries by their IDs.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "country_ids",
          "description": "Country IDs.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          },
          "maxItems": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/database_getCountriesById_response"
        }
      }
    },
    {
      "name": "database.getFaculties",
      "description": "Returns a list of faculties (i.e., university departments).",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "university_id",
          "description": "University ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of faculties.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of faculties to return.",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 10000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/database_getFaculties_response"
        }
      }
    },
    {
      "name": "database.getMetroStations",
      "description": "Get metro stations by city",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "city_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "offset",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 500
        },
        {
          "name": "extended",
          "type": "boolean",
          "default": false
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/database_getMetroStations_response"
        }
      }
    },
    {
      "name": "database.getMetroStationsById",
      "description": "Get metro station by his id",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "station_ids",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          },
          "maxItems": 30
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/database_getMetroStationsById_response"
        }
      }
    },
    {
      "name": "database.getRegions",
      "description": "Returns a list of regions.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "country_id",
          "description": "Country ID, received in [vk.com/dev/database.getCountries|database.getCountries] method.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "q",
          "description": "Search query.",
          "type": "string"
        },
        {
          "name": "offset",
          "description": "Offset needed to return specific subset of regions.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of regions to return.",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/database_getRegions_response"
        }
      }
    },
    {
      "name": "database.getSchoolClasses",
      "description": "Returns a list of school classes specified for the country.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "country_id",
          "description": "Country ID.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/database_getSchoolClasses_response"
        }
      }
    },
    {
      "name": "database.getSchools",
      "description": "Returns a list of schools.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "q",
          "description": "Search query.",
          "type": "string"
        },
        {
          "name": "city_id",
          "description": "City ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of schools.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of schools to return.",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 10000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/database_getSchools_response"
        }
      }
    },
    {
      "name": "database.getUniversities",
      "description": "Returns a list of higher education institutions.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "q",
          "description": "Search query.",
          "type": "string"
        },
        {
          "name": "country_id",
          "description": "Country ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "city_id",
          "description": "City ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of universities.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of universities to return.",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 10000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/database_getUniversities_response"
        }
      }
    },
    {
      "name": "docs.add",
      "description": "Copies a document to a user's or community's document list.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the document. Use a negative value to designate a community ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "doc_id",
          "description": "Document ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "access_key",
          "description": "Access key. This parameter is required if 'access_key' was returned with the document's data.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/docs_add_response"
        }
      }
    },
    {
      "name": "docs.delete",
      "description": "Deletes a user or community document.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the document. Use a negative value to designate a community ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "doc_id",
          "description": "Document ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_doc_delete_access"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_doc_id"
        }
      ]
    },
    {
      "name": "docs.edit",
      "description": "Edits a document.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "User ID or community ID. Use a negative value to designate a community ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "doc_id",
          "description": "Document ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "title",
          "description": "Document title.",
          "type": "string",
          "maxLength": 128
        },
        {
          "name": "tags",
          "description": "Document tags.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_doc_access"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_doc_id"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_doc_title"
        }
      ]
    },
    {
      "name": "docs.get",
      "description": "Returns detailed information about user or community documents.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "count",
          "description": "Number of documents to return. By default, all documents.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of documents.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "type",
          "type": "integer",
          "default": 0,
          "minimum": 0,
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8
          ]
        },
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the documents. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "return_tags",
          "type": "boolean",
          "default": false
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/docs_get_response"
        }
      }
    },
    {
      "name": "docs.getById",
      "description": "Returns information about documents by their IDs.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "docs",
          "description": "Document IDs. Example: , \"66748_91488,66748_91455\",",
          "type": "array",
          "required": true,
          "items": {
            "type": "string"
          }
        },
        {
          "name": "return_tags",
          "type": "boolean",
          "default": false
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/docs_getById_response"
        }
      }
    },
    {
      "name": "docs.getMessagesUploadServer",
      "description": "Returns the server address for document upload.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "type",
          "description": "Document type.",
          "type": "string",
          "default": "doc",
          "enum": [
            "audio_message",
            "doc",
            "graffiti"
          ]
        },
        {
          "name": "peer_id",
          "description": "Destination ID. \"For user: 'User ID', e.g. '12345'. For chat: '2000000000' + 'Chat ID', e.g. '2000000001'. For community: '- Community ID', e.g. '-12345'. \"",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_getUploadServer_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_deny_send"
        }
      ]
    },
    {
      "name": "docs.getTypes",
      "description": "Returns documents types available for current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the documents. Use a negative value to designate a community ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/docs_getTypes_response"
        }
      }
    },
    {
      "name": "docs.getUploadServer",
      "description": "Returns the server address for document upload.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID (if the document will be uploaded to the community).",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/docs_getUploadServer"
        }
      }
    },
    {
      "name": "docs.getWallUploadServer",
      "description": "Returns the server address for document upload onto a user's or community's wall.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID (if the document will be uploaded to the community).",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_getUploadServer_response"
        }
      }
    },
    {
      "name": "docs.save",
      "description": "Saves a document after [vk.com/dev/upload_files_2|uploading it to a server].",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "file",
          "description": "This parameter is returned when the file is [vk.com/dev/upload_files_2|uploaded to the server].",
          "type": "string",
          "required": true
        },
        {
          "name": "title",
          "description": "Document title.",
          "type": "string"
        },
        {
          "name": "tags",
          "description": "Document tags.",
          "type": "string"
        },
        {
          "name": "return_tags",
          "type": "boolean",
          "default": false
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/docs_save_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_save_file"
        }
      ]
    },
    {
      "name": "docs.search",
      "description": "Returns a list of documents matching the search criteria.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "q",
          "description": "Search query string.",
          "type": "string",
          "required": true,
          "maxLength": 512
        },
        {
          "name": "search_own",
          "type": "boolean"
        },
        {
          "name": "count",
          "description": "Number of results to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of results.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "return_tags",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/docs_search_response"
        }
      }
    },
    {
      "name": "donut.getFriends",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "type": "integer",
          "default": 10,
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getMembers_fields_response"
        }
      }
    },
    {
      "name": "donut.getSubscription",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/donut_getSubscription_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        }
      ]
    },
    {
      "name": "donut.getSubscriptions",
      "description": "Returns a list of user's VK Donut subscriptions.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "type": "integer",
          "default": 10,
          "minimum": 0,
          "maximum": 100
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/donut_getSubscriptions_response"
        }
      }
    },
    {
      "name": "donut.isDon",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_bool_response"
        }
      }
    },
    {
      "name": "downloadedGames.getPaidStatus",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/downloadedGames_paid_status_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_action_failed"
        },
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        }
      ]
    },
    {
      "name": "fave.addArticle",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "url",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        }
      ]
    },
    {
      "name": "fave.addLink",
      "description": "Adds a link to user faves.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "link",
          "description": "Link URL.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "fave.addPage",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "group_id",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "fave.addPost",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "id",
          "type": "integer",
          "required": true
        },
        {
          "name": "access_key",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "fave.addProduct",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "id",
          "type": "integer",
          "required": true
        },
        {
          "name": "access_key",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "fave.addTag",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "name",
          "type": "string",
          "maxLength": 50
        },
        {
          "name": "position",
          "type": "string",
          "default": "back",
          "enum": [
            "back",
            "front"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/fave_addTag_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_limits"
        }
      ]
    },
    {
      "name": "fave.addVideo",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "id",
          "type": "integer",
          "required": true
        },
        {
          "name": "access_key",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "fave.editTag",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "id",
          "type": "integer",
          "required": true
        },
        {
          "name": "name",
          "type": "string",
          "required": true,
          "maxLength": 50
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "fave.get",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "extended",
          "description": "'1' — to return additional 'wall', 'profiles', and 'groups' fields. By default: '0'.",
          "type": "boolean",
          "default": false
        },
        {
          "name": "item_type",
          "type": "string",
          "enum": [
            "article",
            "clip",
            "link",
            "narrative",
            "page",
            "podcast",
            "post",
            "product",
            "video"
          ]
        },
        {
          "name": "tag_id",
          "description": "Tag ID.",
          "type": "integer"
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of users.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of users to return.",
          "type": "integer",
          "default": 50,
          "minimum": 1,
          "maximum": 100
        },
        {
          "name": "fields",
          "type": "string",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "is_from_snackbar",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/fave_get_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/fave_get_extended_response"
        }
      }
    },
    {
      "name": "fave.getPages",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "offset",
          "type": "integer",
          "minimum": 0,
          "maximum": 10000
        },
        {
          "name": "count",
          "type": "integer",
          "default": 50,
          "minimum": 1,
          "maximum": 500
        },
        {
          "name": "type",
          "type": "string",
          "enum": [
            "groups",
            "hints",
            "users"
          ]
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        },
        {
          "name": "tag_id",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/fave_getPages_response"
        }
      }
    },
    {
      "name": "fave.getTags",
      "access_token_type": [
        "user"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/fave_getTags_response"
        }
      }
    },
    {
      "name": "fave.markSeen",
      "access_token_type": [
        "user"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_bool_response"
        }
      }
    },
    {
      "name": "fave.removeArticle",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "article_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_bool_response"
        }
      }
    },
    {
      "name": "fave.removeLink",
      "description": "Removes link from the user's faves.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "link_id",
          "description": "Link ID (can be obtained by [vk.com/dev/faves.getLinks|faves.getLinks] method).",
          "type": "string"
        },
        {
          "name": "link",
          "description": "Link URL",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "fave.removePage",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "type": "integer"
        },
        {
          "name": "group_id",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "fave.removePost",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "id",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "fave.removeProduct",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "id",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "fave.removeTag",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "id",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "fave.removeVideo",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "id",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "fave.reorderTags",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "ids",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "fave.setPageTags",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "group_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "tag_ids",
          "type": "array",
          "items": {
            "type": "integer"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        }
      ]
    },
    {
      "name": "fave.setTags",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "item_type",
          "type": "string",
          "enum": [
            "article",
            "clip",
            "link",
            "narrative",
            "page",
            "podcast",
            "post",
            "product",
            "video"
          ]
        },
        {
          "name": "item_owner_id",
          "type": "integer"
        },
        {
          "name": "item_id",
          "type": "integer"
        },
        {
          "name": "tag_ids",
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        {
          "name": "link_id",
          "type": "string"
        },
        {
          "name": "link_url",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_fave_aliexpress_tag"
        }
      ]
    },
    {
      "name": "fave.trackPageInteraction",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "group_id",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "friends.add",
      "description": "Approves or creates a friend request.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "ID of the user whose friend request will be approved or to whom a friend request will be sent.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "text",
          "description": "Text of the message (up to 500 characters) for the friend request, if any.",
          "type": "string"
        },
        {
          "name": "follow",
          "description": "'1' to pass an incoming request to followers list.",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/friends_add_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_friends_add_in_enemy"
        },
        {
          "$ref": "errors.json#/errors/api_error_friends_add_enemy"
        },
        {
          "$ref": "errors.json#/errors/api_error_friends_add_yourself"
        },
        {
          "$ref": "errors.json#/errors/api_error_friends_add_not_found"
        }
      ]
    },
    {
      "name": "friends.addList",
      "description": "Creates a new friend list for the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "name",
          "description": "Name of the friend list.",
          "type": "string",
          "required": true
        },
        {
          "name": "user_ids",
          "description": "IDs of users to be added to the friend list.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/friends_addList_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_friends_list_limit"
        }
      ]
    },
    {
      "name": "friends.areFriends",
      "description": "Checks the current user's friendship status with other specified users.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_ids",
          "description": "IDs of the users whose friendship status to check.",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer"
          }
        },
        {
          "name": "need_sign",
          "description": "'1' — to return 'sign' field. 'sign' is md5(\"{id}_{user_id}_{friends_status}_{application_secret}\"), where id is current user ID. This field allows to check that data has not been modified by the client. By default: '0'.",
          "type": "boolean"
        },
        {
          "name": "extended",
          "description": "Return friend request read_state field",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/friends_areFriends_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/friends_areFriends_extended_response"
        }
      }
    },
    {
      "name": "friends.delete",
      "description": "Declines a friend request or deletes a user from the current user's friend list.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "ID of the user whose friend request is to be declined or who is to be deleted from the current user's friend list.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/friends_delete_response"
        }
      }
    },
    {
      "name": "friends.deleteAllRequests",
      "description": "Marks all incoming friend requests as viewed.",
      "access_token_type": [
        "user"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "friends.deleteList",
      "description": "Deletes a friend list of the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "list_id",
          "description": "ID of the friend list to delete.",
          "type": "integer",
          "required": true,
          "minimum": 0,
          "maximum": 24
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_friends_list_id"
        }
      ]
    },
    {
      "name": "friends.edit",
      "description": "Edits the friend lists of the selected user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "ID of the user whose friend list is to be edited.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "list_ids",
          "description": "IDs of the friend lists to which to add the user.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "friends.editList",
      "description": "Edits a friend list of the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "name",
          "description": "Name of the friend list.",
          "type": "string"
        },
        {
          "name": "list_id",
          "description": "Friend list ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "user_ids",
          "description": "IDs of users in the friend list.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "add_user_ids",
          "description": "(Applies if 'user_ids' parameter is not set.), User IDs to add to the friend list.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "delete_user_ids",
          "description": "(Applies if 'user_ids' parameter is not set.), User IDs to delete from the friend list.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_friends_list_id"
        }
      ]
    },
    {
      "name": "friends.get",
      "description": "Returns a list of user IDs or detailed information about a user's friends.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID. By default, the current user ID.",
          "type": "integer"
        },
        {
          "name": "order",
          "description": "Sort order: , 'name' — by name (enabled only if the 'fields' parameter is used), 'hints' — by rating, similar to how friends are sorted in My friends section, , This parameter is available only for [vk.com/dev/standalone|desktop applications].",
          "type": "string",
          "enum": [
            "hints",
            "random",
            "mobile",
            "name",
            "smart"
          ]
        },
        {
          "name": "list_id",
          "description": "ID of the friend list returned by the [vk.com/dev/friends.getLists|friends.getLists] method to be used as the source. This parameter is taken into account only when the uid parameter is set to the current user ID. This parameter is available only for [vk.com/dev/standalone|desktop applications].",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of friends to return.",
          "type": "integer",
          "default": 5000,
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of friends.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "fields",
          "description": "Profile fields to return. Sample values: 'uid', 'first_name', 'last_name', 'nickname', 'sex', 'bdate' (birthdate), 'city', 'country', 'timezone', 'photo', 'photo_medium', 'photo_big', 'domain', 'has_mobile', 'rate', 'contacts', 'education'.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "name_case",
          "description": "Case for declension of user name and surname: , 'nom' — nominative (default) , 'gen' — genitive , 'dat' — dative , 'acc' — accusative , 'ins' — instrumental , 'abl' — prepositional",
          "type": "string",
          "enum": [
            "nom",
            "gen",
            "dat",
            "acc",
            "ins",
            "abl"
          ],
          "enumNames": [
            "nominative",
            "genitive",
            "dative",
            "accusative",
            "instrumental",
            "prepositional"
          ]
        },
        {
          "name": "ref",
          "type": "string",
          "maxLength": 255
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/friends_get_response"
        },
        "fieldsResponse": {
          "$ref": "responses.json#/definitions/friends_get_fields_response"
        }
      }
    },
    {
      "name": "friends.getAppUsers",
      "description": "Returns a list of IDs of the current user's friends who installed the application.",
      "access_token_type": [
        "user"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/friends_getAppUsers_response"
        }
      }
    },
    {
      "name": "friends.getByPhones",
      "description": "Returns a list of the current user's friends whose phone numbers, validated or specified in a profile, are in a given list.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "phones",
          "description": "List of phone numbers in MSISDN format (maximum 1000). Example: \"+79219876543,+79111234567\"",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "fields",
          "description": "Profile fields to return. Sample values: 'nickname', 'screen_name', 'sex', 'bdate' (birthdate), 'city', 'country', 'timezone', 'photo', 'photo_medium', 'photo_big', 'has_mobile', 'rate', 'contacts', 'education', 'online, counters'.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/friends_getByPhones_response"
        }
      }
    },
    {
      "name": "friends.getLists",
      "description": "Returns a list of the user's friend lists.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "return_system",
          "description": "'1' — to return system friend lists. By default: '0'.",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/friends_getLists_response"
        }
      }
    },
    {
      "name": "friends.getMutual",
      "description": "Returns a list of user IDs of the mutual friends of two users.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "source_uid",
          "description": "ID of the user whose friends will be checked against the friends of the user specified in 'target_uid'.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "target_uid",
          "description": "ID of the user whose friends will be checked against the friends of the user specified in 'source_uid'.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "target_uids",
          "description": "IDs of the users whose friends will be checked against the friends of the user specified in 'source_uid'.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          },
          "maxItems": 100
        },
        {
          "name": "order",
          "description": "Sort order: 'random' — random order",
          "type": "string"
        },
        {
          "name": "count",
          "description": "Number of mutual friends to return.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of mutual friends.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/friends_getMutual_response"
        },
        "targetUidsResponse": {
          "$ref": "responses.json#/definitions/friends_getMutual_target_uids_response"
        }
      }
    },
    {
      "name": "friends.getOnline",
      "description": "Returns a list of user IDs of a user's friends who are online.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "list_id",
          "description": "Friend list ID. If this parameter is not set, information about all online friends is returned.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "online_mobile",
          "description": "'1' — to return an additional 'online_mobile' field, '0' — (default),",
          "type": "boolean"
        },
        {
          "name": "order",
          "description": "Sort order: 'random' — random order",
          "type": "string"
        },
        {
          "name": "count",
          "description": "Number of friends to return.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of friends.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/friends_getOnline_response"
        },
        "onlineMobileResponse": {
          "$ref": "responses.json#/definitions/friends_getOnline_online_mobile_response"
        }
      }
    },
    {
      "name": "friends.getRecent",
      "description": "Returns a list of user IDs of the current user's recently added friends.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "count",
          "description": "Number of recently added friends to return.",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/friends_getRecent_response"
        }
      }
    },
    {
      "name": "friends.getRequests",
      "description": "Returns information about the current user's incoming and outgoing friend requests.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of friend requests.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of friend requests to return (default 100, maximum 1000).",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 1000
        },
        {
          "name": "extended",
          "description": "'1' — to return response messages from users who have sent a friend request or, if 'suggested' is set to '1', to return a list of suggested friends",
          "type": "boolean"
        },
        {
          "name": "need_mutual",
          "description": "'1' — to return a list of mutual friends (up to 20), if any",
          "type": "boolean"
        },
        {
          "name": "out",
          "description": "'1' — to return outgoing requests, '0' — to return incoming requests (default)",
          "type": "boolean"
        },
        {
          "name": "sort",
          "description": "Sort order: '1' — by number of mutual friends, '0' — by date",
          "type": "integer",
          "minimum": 0,
          "enum": [
            0,
            1,
            2
          ],
          "enumNames": [
            "date",
            "mutual",
            "rotate"
          ]
        },
        {
          "name": "need_viewed",
          "type": "boolean",
          "default": 0
        },
        {
          "name": "suggested",
          "description": "'1' — to return a list of suggested friends, '0' — to return friend requests (default)",
          "type": "boolean"
        },
        {
          "name": "ref",
          "type": "string",
          "maxLength": 255
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/friends_getRequests_response"
        },
        "needMutualResponse": {
          "$ref": "responses.json#/definitions/friends_getRequests_need_mutual_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/friends_getRequests_extended_response"
        }
      }
    },
    {
      "name": "friends.getSuggestions",
      "description": "Returns a list of profiles of users whom the current user may know.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "filter",
          "description": "Types of potential friends to return: 'mutual' — users with many mutual friends , 'contacts' — users found with the [vk.com/dev/account.importContacts|account.importContacts] method , 'mutual_contacts' — users who imported the same contacts as the current user with the [vk.com/dev/account.importContacts|account.importContacts] method",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "mutual",
              "contacts",
              "mutual_contacts"
            ]
          }
        },
        {
          "name": "count",
          "description": "Number of suggestions to return.",
          "type": "integer",
          "default": 500,
          "minimum": 0,
          "maximum": 500
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of suggestions.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "fields",
          "description": "Profile fields to return. Sample values: 'nickname', 'screen_name', 'sex', 'bdate' (birthdate), 'city', 'country', 'timezone', 'photo', 'photo_medium', 'photo_big', 'has_mobile', 'rate', 'contacts', 'education', 'online', 'counters'.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "name_case",
          "description": "Case for declension of user name and surname: , 'nom' — nominative (default) , 'gen' — genitive , 'dat' — dative , 'acc' — accusative , 'ins' — instrumental , 'abl' — prepositional",
          "type": "string",
          "enum": [
            "nom",
            "gen",
            "dat",
            "acc",
            "ins",
            "abl"
          ],
          "enumNames": [
            "nominative",
            "genitive",
            "dative",
            "accusative",
            "instrumental",
            "prepositional"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/friends_getSuggestions_response"
        }
      }
    },
    {
      "name": "friends.search",
      "description": "Returns a list of friends matching the search criteria.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "q",
          "description": "Search query string (e.g., 'Vasya Babich').",
          "type": "string"
        },
        {
          "name": "fields",
          "description": "Profile fields to return. Sample values: 'nickname', 'screen_name', 'sex', 'bdate' (birthdate), 'city', 'country', 'timezone', 'photo', 'photo_medium', 'photo_big', 'has_mobile', 'rate', 'contacts', 'education', 'online',",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "name_case",
          "description": "Case for declension of user name and surname: 'nom' — nominative (default), 'gen' — genitive , 'dat' — dative, 'acc' — accusative , 'ins' — instrumental , 'abl' — prepositional",
          "type": "string",
          "default": "Nom",
          "enum": [
            "nom",
            "gen",
            "dat",
            "acc",
            "ins",
            "abl"
          ],
          "enumNames": [
            "nominative",
            "genitive",
            "dative",
            "accusative",
            "instrumental",
            "prepositional"
          ]
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of friends.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of friends to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/friends_search_response"
        }
      }
    },
    {
      "name": "gifts.get",
      "description": "Returns a list of user gifts.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of gifts to return.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of results.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/gifts_get_response"
        }
      }
    },
    {
      "name": "groups.addAddress",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "title",
          "type": "string",
          "required": true,
          "maxLength": 255
        },
        {
          "name": "address",
          "type": "string",
          "required": true,
          "maxLength": 255
        },
        {
          "name": "additional_address",
          "type": "string",
          "maxLength": 400
        },
        {
          "name": "country_id",
          "type": "integer",
          "required": true,
          "minimum": 1
        },
        {
          "name": "city_id",
          "type": "integer",
          "required": true,
          "minimum": 1
        },
        {
          "name": "metro_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "latitude",
          "type": "number",
          "required": true,
          "minimum": -90,
          "maximum": 90
        },
        {
          "name": "longitude",
          "type": "number",
          "required": true,
          "minimum": -180,
          "maximum": 180
        },
        {
          "name": "phone",
          "type": "string"
        },
        {
          "name": "work_info_status",
          "type": "string",
          "default": "no_information",
          "enum": [
            "always_opened",
            "forever_closed",
            "no_information",
            "temporarily_closed",
            "timetable"
          ],
          "$ref": "objects.json#/definitions/groups_address_work_info_status"
        },
        {
          "name": "timetable",
          "type": "string"
        },
        {
          "name": "is_main_address",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_addAddress_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_groups"
        },
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_group_too_many_addresses"
        }
      ]
    },
    {
      "name": "groups.addCallbackServer",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "url",
          "type": "string",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "required": true,
          "maxLength": 14
        },
        {
          "name": "secret_key",
          "type": "string",
          "maxLength": 50
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_addCallbackServer_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_callback_api_servers_limit"
        }
      ]
    },
    {
      "name": "groups.addLink",
      "description": "Allows to add a link to the community.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "link",
          "description": "Link URL.",
          "type": "string",
          "required": true
        },
        {
          "name": "text",
          "description": "Description text for the link.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_addLink_response"
        }
      }
    },
    {
      "name": "groups.approveRequest",
      "description": "Allows to approve join request to the community.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_limits"
        }
      ]
    },
    {
      "name": "groups.ban",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "owner_id",
          "type": "integer"
        },
        {
          "name": "end_date",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "reason",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "comment",
          "type": "string"
        },
        {
          "name": "comment_visible",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "groups.create",
      "description": "Creates a new community.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "title",
          "description": "Community title.",
          "type": "string",
          "required": true
        },
        {
          "name": "description",
          "description": "Community description (ignored for 'type' = 'public').",
          "type": "string"
        },
        {
          "name": "type",
          "description": "Community type. Possible values: *'group' – group,, *'event' – event,, *'public' – public page",
          "type": "string",
          "default": "group",
          "enum": [
            "event",
            "group",
            "public"
          ]
        },
        {
          "name": "public_category",
          "description": "Category ID (for 'type' = 'public' only).",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "subtype",
          "description": "Public page subtype. Possible values: *'1' – place or small business,, *'2' – company, organization or website,, *'3' – famous person or group of people,, *'4' – product or work of art.",
          "type": "integer",
          "minimum": 0,
          "enum": [
            1,
            2,
            3,
            4
          ],
          "enumNames": [
            "place or business",
            "company or website",
            "person or group",
            "product or art"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_create_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_limits"
        }
      ]
    },
    {
      "name": "groups.deleteAddress",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "address_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_groups"
        },
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        }
      ]
    },
    {
      "name": "groups.deleteCallbackServer",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "server_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        }
      ]
    },
    {
      "name": "groups.deleteLink",
      "description": "Allows to delete a link from the community.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "link_id",
          "description": "Link ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "groups.disableOnline",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "groups.edit",
      "description": "Edits a community.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "title",
          "description": "Community title.",
          "type": "string"
        },
        {
          "name": "description",
          "description": "Community description.",
          "type": "string"
        },
        {
          "name": "screen_name",
          "description": "Community screen name.",
          "type": "string"
        },
        {
          "name": "access",
          "description": "Community type. Possible values: *'0' – open,, *'1' – closed,, *'2' – private.",
          "type": "integer",
          "minimum": 0,
          "$ref": "objects.json#/definitions/groups_group_access"
        },
        {
          "name": "website",
          "description": "Website that will be displayed in the community information field.",
          "type": "string"
        },
        {
          "name": "subject",
          "description": "Community subject. Possible values: , *'1' – auto/moto,, *'2' – activity holidays,, *'3' – business,, *'4' – pets,, *'5' – health,, *'6' – dating and communication, , *'7' – games,, *'8' – IT (computers and software),, *'9' – cinema,, *'10' – beauty and fashion,, *'11' – cooking,, *'12' – art and culture,, *'13' – literature,, *'14' – mobile services and internet,, *'15' – music,, *'16' – science and technology,, *'17' – real estate,, *'18' – news and media,, *'19' – security,, *'20' – education,, *'21' – home and renovations,, *'22' – politics,, *'23' – food,, *'24' – industry,, *'25' – travel,, *'26' – work,, *'27' – entertainment,, *'28' – religion,, *'29' – family,, *'30' – sports,, *'31' – insurance,, *'32' – television,, *'33' – goods and services,, *'34' – hobbies,, *'35' – finance,, *'36' – photo,, *'37' – esoterics,, *'38' – electronics and appliances,, *'39' – erotic,, *'40' – humor,, *'41' – society, humanities,, *'42' – design and graphics.",
          "type": "string",
          "$ref": "objects.json#/definitions/groups_group_subject"
        },
        {
          "name": "email",
          "description": "Organizer email (for events).",
          "type": "string"
        },
        {
          "name": "phone",
          "description": "Organizer phone number (for events).",
          "type": "string"
        },
        {
          "name": "rss",
          "description": "RSS feed address for import (available only to communities with special permission. Contact vk.com/support to get it.",
          "type": "string"
        },
        {
          "name": "event_start_date",
          "description": "Event start date in Unixtime format.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "event_finish_date",
          "description": "Event finish date in Unixtime format.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "event_group_id",
          "description": "Organizer community ID (for events only).",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "public_category",
          "description": "Public page category ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "public_subcategory",
          "description": "Public page subcategory ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "public_date",
          "description": "Founding date of a company or organization owning the community in \"dd.mm.YYYY\" format.",
          "type": "string"
        },
        {
          "name": "wall",
          "description": "Wall settings. Possible values: *'0' – disabled,, *'1' – open,, *'2' – limited (groups and events only),, *'3' – closed (groups and events only).",
          "type": "integer",
          "minimum": 0,
          "$ref": "objects.json#/definitions/groups_group_wall"
        },
        {
          "name": "topics",
          "description": "Board topics settings. Possbile values: , *'0' – disabled,, *'1' – open,, *'2' – limited (for groups and events only).",
          "type": "integer",
          "minimum": 0,
          "$ref": "objects.json#/definitions/groups_group_topics"
        },
        {
          "name": "photos",
          "description": "Photos settings. Possible values: *'0' – disabled,, *'1' – open,, *'2' – limited (for groups and events only).",
          "type": "integer",
          "minimum": 0,
          "$ref": "objects.json#/definitions/groups_group_photos"
        },
        {
          "name": "video",
          "description": "Video settings. Possible values: *'0' – disabled,, *'1' – open,, *'2' – limited (for groups and events only).",
          "type": "integer",
          "minimum": 0,
          "$ref": "objects.json#/definitions/groups_group_video"
        },
        {
          "name": "audio",
          "description": "Audio settings. Possible values: *'0' – disabled,, *'1' – open,, *'2' – limited (for groups and events only).",
          "type": "integer",
          "minimum": 0,
          "$ref": "objects.json#/definitions/groups_group_audio"
        },
        {
          "name": "links",
          "description": "Links settings (for public pages only). Possible values: *'0' – disabled,, *'1' – enabled.",
          "type": "boolean"
        },
        {
          "name": "events",
          "description": "Events settings (for public pages only). Possible values: *'0' – disabled,, *'1' – enabled.",
          "type": "boolean"
        },
        {
          "name": "places",
          "description": "Places settings (for public pages only). Possible values: *'0' – disabled,, *'1' – enabled.",
          "type": "boolean"
        },
        {
          "name": "contacts",
          "description": "Contacts settings (for public pages only). Possible values: *'0' – disabled,, *'1' – enabled.",
          "type": "boolean"
        },
        {
          "name": "docs",
          "description": "Documents settings. Possible values: *'0' – disabled,, *'1' – open,, *'2' – limited (for groups and events only).",
          "type": "integer",
          "minimum": 0,
          "$ref": "objects.json#/definitions/groups_group_docs"
        },
        {
          "name": "wiki",
          "description": "Wiki pages settings. Possible values: *'0' – disabled,, *'1' – open,, *'2' – limited (for groups and events only).",
          "type": "integer",
          "minimum": 0,
          "$ref": "objects.json#/definitions/groups_group_wiki"
        },
        {
          "name": "messages",
          "description": "Community messages. Possible values: *'0' — disabled,, *'1' — enabled.",
          "type": "boolean"
        },
        {
          "name": "articles",
          "type": "boolean"
        },
        {
          "name": "addresses",
          "type": "boolean"
        },
        {
          "name": "age_limits",
          "description": "Community age limits. Possible values: *'1' — no limits,, *'2' — 16+,, *'3' — 18+.",
          "type": "integer",
          "default": 1,
          "minimum": 0,
          "enum": [
            1,
            2,
            3
          ],
          "$ref": "objects.json#/definitions/groups_group_age_limits"
        },
        {
          "name": "market",
          "description": "Market settings. Possible values: *'0' – disabled,, *'1' – enabled.",
          "type": "boolean"
        },
        {
          "name": "market_comments",
          "description": "market comments settings. Possible values: *'0' – disabled,, *'1' – enabled.",
          "type": "boolean"
        },
        {
          "name": "market_country",
          "description": "Market delivery countries.",
          "type": "array",
          "items": {
            "type": "integer"
          },
          "maxItems": 10
        },
        {
          "name": "market_city",
          "description": "Market delivery cities (if only one country is specified).",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          },
          "maxItems": 10
        },
        {
          "name": "market_currency",
          "description": "Market currency settings. Possbile values: , *'643' – Russian rubles,, *'980' – Ukrainian hryvnia,, *'398' – Kazakh tenge,, *'978' – Euro,, *'840' – US dollars",
          "type": "integer",
          "minimum": 0,
          "$ref": "objects.json#/definitions/groups_group_market_currency"
        },
        {
          "name": "market_contact",
          "description": "Seller contact for market. Set '0' for community messages.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "market_wiki",
          "description": "ID of a wiki page with market description.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "obscene_filter",
          "description": "Obscene expressions filter in comments. Possible values: , *'0' – disabled,, *'1' – enabled.",
          "type": "boolean"
        },
        {
          "name": "obscene_stopwords",
          "description": "Stopwords filter in comments. Possible values: , *'0' – disabled,, *'1' – enabled.",
          "type": "boolean"
        },
        {
          "name": "obscene_words",
          "description": "Keywords for stopwords filter.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "main_section",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "secondary_section",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "country",
          "description": "Country of the community.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "city",
          "description": "City of the community.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_invalid_address"
        }
      ]
    },
    {
      "name": "groups.editAddress",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "address_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "title",
          "type": "string",
          "maxLength": 255
        },
        {
          "name": "address",
          "type": "string",
          "maxLength": 255
        },
        {
          "name": "additional_address",
          "type": "string",
          "maxLength": 400
        },
        {
          "name": "country_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "city_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "metro_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "latitude",
          "type": "number",
          "minimum": -90,
          "maximum": 90
        },
        {
          "name": "longitude",
          "type": "number",
          "minimum": -180,
          "maximum": 180
        },
        {
          "name": "phone",
          "type": "string"
        },
        {
          "name": "work_info_status",
          "type": "string",
          "enum": [
            "always_opened",
            "forever_closed",
            "no_information",
            "temporarily_closed",
            "timetable"
          ],
          "$ref": "objects.json#/definitions/groups_address_work_info_status"
        },
        {
          "name": "timetable",
          "type": "string"
        },
        {
          "name": "is_main_address",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_editAddress_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_groups"
        },
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_group_too_many_addresses"
        }
      ]
    },
    {
      "name": "groups.editCallbackServer",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "server_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "url",
          "type": "string",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "required": true,
          "maxLength": 14
        },
        {
          "name": "secret_key",
          "type": "string",
          "maxLength": 50
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        }
      ]
    },
    {
      "name": "groups.editLink",
      "description": "Allows to edit a link in the community.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "link_id",
          "description": "Link ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "text",
          "description": "New description text for the link.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "groups.editManager",
      "description": "Allows to add, remove or edit the community manager.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "role",
          "description": "Manager role. Possible values: *'moderator',, *'editor',, *'administrator',, *'advertiser'.",
          "type": "string",
          "$ref": "objects.json#/definitions/groups_group_role"
        },
        {
          "name": "is_contact",
          "description": "'1' — to show the manager in Contacts block of the community.",
          "type": "boolean"
        },
        {
          "name": "contact_position",
          "description": "Position to show in Contacts block.",
          "type": "string"
        },
        {
          "name": "contact_phone",
          "description": "Contact phone.",
          "type": "string"
        },
        {
          "name": "contact_email",
          "description": "Contact e-mail.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_group_change_creator"
        },
        {
          "$ref": "errors.json#/errors/api_error_group_not_in_club"
        },
        {
          "$ref": "errors.json#/errors/api_error_group_too_many_officers"
        },
        {
          "$ref": "errors.json#/errors/api_error_group_need_2fa"
        },
        {
          "$ref": "errors.json#/errors/api_error_group_host_need_2fa"
        }
      ]
    },
    {
      "name": "groups.enableOnline",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "groups.get",
      "description": "Returns a list of the communities to which a user belongs.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "extended",
          "description": "'1' — to return complete information about a user's communities, '0' — to return a list of community IDs without any additional fields (default),",
          "type": "boolean"
        },
        {
          "name": "filter",
          "description": "Types of communities to return: 'admin' — to return communities administered by the user , 'editor' — to return communities where the user is an administrator or editor, 'moder' — to return communities where the user is an administrator, editor, or moderator, 'groups' — to return only groups, 'publics' — to return only public pages, 'events' — to return only events",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/groups_filter"
          }
        },
        {
          "name": "fields",
          "description": "Profile fields to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/groups_fields"
          }
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of communities.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of communities to return.",
          "type": "integer",
          "minimum": 0,
          "maximum": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_get_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/groups_get_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_groups"
        }
      ]
    },
    {
      "name": "groups.getAddresses",
      "description": "Returns a list of community addresses.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID or screen name of the community.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "address_ids",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          },
          "maxItems": 100
        },
        {
          "name": "latitude",
          "description": "Latitude of  the user geo position.",
          "type": "number",
          "minimum": -90,
          "maximum": 90
        },
        {
          "name": "longitude",
          "description": "Longitude of the user geo position.",
          "type": "number",
          "minimum": -180,
          "maximum": 180
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of community addresses.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of community addresses to return.",
          "type": "integer",
          "default": 10,
          "minimum": 0
        },
        {
          "name": "fields",
          "description": "Address fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/addresses_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getAddresses_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_group_id"
        },
        {
          "$ref": "errors.json#/errors/api_error_access_groups"
        }
      ]
    },
    {
      "name": "groups.getBanned",
      "description": "Returns a list of users on a community blacklist.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of users.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of users to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        },
        {
          "name": "owner_id",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getBanned_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        }
      ]
    },
    {
      "name": "groups.getById",
      "description": "Returns information about communities by their IDs.",
      "access_token_type": [
        "user",
        "group",
        "service"
      ],
      "parameters": [
        {
          "name": "group_ids",
          "description": "IDs or screen names of communities.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "group_id",
          "description": "ID or screen name of the community.",
          "type": "string"
        },
        {
          "name": "fields",
          "description": "Group fields to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/groups_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getById_legacy_response"
        }
      }
    },
    {
      "name": "groups.getCallbackConfirmationCode",
      "description": "Returns Callback API confirmation code for the community.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getCallbackConfirmationCode_response"
        }
      }
    },
    {
      "name": "groups.getCallbackServers",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "server_ids",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getCallbackServers_response"
        }
      }
    },
    {
      "name": "groups.getCallbackSettings",
      "description": "Returns [vk.com/dev/callback_api|Callback API] notifications settings.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "server_id",
          "description": "Server ID.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getCallbackSettings_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        }
      ]
    },
    {
      "name": "groups.getCatalog",
      "description": "Returns communities list for a catalog category.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "category_id",
          "description": "Category id received from [vk.com/dev/groups.getCatalogInfo|groups.getCatalogInfo].",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "subcategory_id",
          "description": "Subcategory id received from [vk.com/dev/groups.getCatalogInfo|groups.getCatalogInfo].",
          "type": "integer",
          "minimum": 0,
          "maximum": 99
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getCatalog_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_communities_catalog_disabled"
        },
        {
          "$ref": "errors.json#/errors/api_error_communities_categories_disabled"
        }
      ]
    },
    {
      "name": "groups.getCatalogInfo",
      "description": "Returns categories list for communities catalog",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "extended",
          "description": "1 – to return communities count and three communities for preview. By default: 0.",
          "type": "boolean",
          "default": 0
        },
        {
          "name": "subcategories",
          "description": "1 – to return subcategories info. By default: 0.",
          "type": "boolean",
          "default": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getCatalogInfo_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/groups_getCatalogInfo_extended_response"
        }
      }
    },
    {
      "name": "groups.getInvitedUsers",
      "description": "Returns invited users list of a community",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Group ID to return invited users for.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of results.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of results to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0
        },
        {
          "name": "fields",
          "description": "List of additional fields to be returned. Available values: 'sex, bdate, city, country, photo_50, photo_100, photo_200_orig, photo_200, photo_400_orig, photo_max, photo_max_orig, online, online_mobile, lists, domain, has_mobile, contacts, connections, site, education, universities, schools, can_post, can_see_all_posts, can_see_audio, can_write_private_message, status, last_seen, common_count, relation, relatives, counters'.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "name_case",
          "description": "Case for declension of user name and surname. Possible values: *'nom' — nominative (default),, *'gen' — genitive,, *'dat' — dative,, *'acc' — accusative, , *'ins' — instrumental,, *'abl' — prepositional.",
          "type": "string",
          "enum": [
            "nom",
            "gen",
            "dat",
            "acc",
            "ins",
            "abl"
          ],
          "enumNames": [
            "nominative",
            "genitive",
            "dative",
            "accusative",
            "instrumental",
            "prepositional"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getInvitedUsers_response"
        }
      }
    },
    {
      "name": "groups.getInvites",
      "description": "Returns a list of invitations to join communities and events.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of invitations.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of invitations to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0
        },
        {
          "name": "extended",
          "description": "'1' — to return additional [vk.com/dev/fields_groups|fields] for communities..",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getInvites_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/groups_getInvites_extended_response"
        }
      }
    },
    {
      "name": "groups.getLongPollServer",
      "description": "Returns the data needed to query a Long Poll server for events",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getLongPollServer_response"
        }
      }
    },
    {
      "name": "groups.getLongPollSettings",
      "description": "Returns Long Poll notification settings",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getLongPollSettings_response"
        }
      }
    },
    {
      "name": "groups.getMembers",
      "description": "Returns a list of community members.",
      "access_token_type": [
        "user",
        "group",
        "service"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID or screen name of the community.",
          "type": "string"
        },
        {
          "name": "sort",
          "description": "Sort order. Available values: 'id_asc', 'id_desc', 'time_asc', 'time_desc'. 'time_asc' and 'time_desc' are availavle only if the method is called by the group's 'moderator'.",
          "type": "string",
          "default": "id_asc",
          "enum": [
            "id_asc",
            "id_desc",
            "time_asc",
            "time_desc"
          ]
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of community members.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of community members to return.",
          "type": "integer",
          "default": 1000,
          "minimum": 0
        },
        {
          "name": "fields",
          "description": "List of additional fields to be returned. Available values: 'sex, bdate, city, country, photo_50, photo_100, photo_200_orig, photo_200, photo_400_orig, photo_max, photo_max_orig, online, online_mobile, lists, domain, has_mobile, contacts, connections, site, education, universities, schools, can_post, can_see_all_posts, can_see_audio, can_write_private_message, status, last_seen, common_count, relation, relatives, counters'.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "filter",
          "description": "*'friends' – only friends in this community will be returned,, *'unsure' – only those who pressed 'I may attend' will be returned (if it's an event).",
          "type": "string",
          "enum": [
            "friends",
            "unsure"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getMembers_response"
        },
        "fieldsResponse": {
          "$ref": "responses.json#/definitions/groups_getMembers_fields_response"
        },
        "filterResponse": {
          "$ref": "responses.json#/definitions/groups_getMembers_filter_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_group_id"
        }
      ]
    },
    {
      "name": "groups.getRequests",
      "description": "Returns a list of requests to the community.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of results.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of results to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "fields",
          "description": "Profile fields to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getRequests_response"
        },
        "fieldsResponse": {
          "$ref": "responses.json#/definitions/groups_getRequests_fields_response"
        }
      }
    },
    {
      "name": "groups.getSettings",
      "description": "Returns community settings.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getSettings_response"
        }
      }
    },
    {
      "name": "groups.getTagList",
      "description": "List of group's tags",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getTagList_response"
        }
      }
    },
    {
      "name": "groups.getTokenPermissions",
      "access_token_type": [
        "group"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_getTokenPermissions_response"
        }
      }
    },
    {
      "name": "groups.invite",
      "description": "Allows to invite friends to the community.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_limits"
        }
      ]
    },
    {
      "name": "groups.isMember",
      "description": "Returns information specifying whether a user is a member of a community.",
      "access_token_type": [
        "user",
        "group",
        "service"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID or screen name of the community.",
          "type": "string",
          "required": true
        },
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "user_ids",
          "description": "User IDs.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "extended",
          "description": "'1' — to return an extended response with additional fields. By default: '0'.",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_isMember_response"
        },
        "userIdsResponse": {
          "$ref": "responses.json#/definitions/groups_isMember_user_ids_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/groups_isMember_extended_response"
        },
        "userIds_Extended_Response": {
          "$ref": "responses.json#/definitions/groups_isMember_user_ids_extended_response"
        }
      }
    },
    {
      "name": "groups.join",
      "description": "With this method you can join the group or public page, and also confirm your participation in an event.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID or screen name of the community.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "not_sure",
          "description": "Optional parameter which is taken into account when 'gid' belongs to the event: '1' — Perhaps I will attend, '0' — I will be there for sure (default), ,",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_limits"
        },
        {
          "$ref": "errors.json#/errors/api_error_group_invite_links_not_valid"
        }
      ]
    },
    {
      "name": "groups.leave",
      "description": "With this method you can leave a group, public page, or event.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID or screen name of the community.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_client_update_needed"
        }
      ]
    },
    {
      "name": "groups.removeUser",
      "description": "Removes a user from the community.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "groups.reorderLink",
      "description": "Allows to reorder links in the community.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "link_id",
          "description": "Link ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "after",
          "description": "ID of the link after which to place the link with 'link_id'.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "groups.search",
      "description": "Returns a list of communities matching the search criteria.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "q",
          "description": "Search query string.",
          "type": "string",
          "required": true
        },
        {
          "name": "type",
          "description": "Community type. Possible values: 'group, page, event.'",
          "type": "string",
          "enum": [
            "group",
            "page",
            "event"
          ]
        },
        {
          "name": "country_id",
          "description": "Country ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "city_id",
          "description": "City ID. If this parameter is transmitted, country_id is ignored.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "future",
          "description": "'1' — to return only upcoming events. Works with the 'type' = 'event' only.",
          "type": "boolean"
        },
        {
          "name": "market",
          "description": "'1' — to return communities with enabled market only.",
          "type": "boolean"
        },
        {
          "name": "sort",
          "description": "Sort order. Possible values: *'0' — default sorting (similar the full version of the site),, *'1' — by growth speed,, *'2'— by the \"day attendance/members number\" ratio,, *'3' — by the \"Likes number/members number\" ratio,, *'4' — by the \"comments number/members number\" ratio,, *'5' — by the \"boards entries number/members number\" ratio.",
          "type": "integer",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5
          ],
          "enumNames": [
            "default",
            "growth",
            "attendance",
            "likes",
            "comments",
            "entries"
          ]
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of results.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of communities to return. \"Note that you can not receive more than first thousand of results, regardless of 'count' and 'offset' values.\"",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/groups_search_response"
        }
      }
    },
    {
      "name": "groups.setCallbackSettings",
      "description": "Allow to set notifications settings for group.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "server_id",
          "description": "Server ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "api_version",
          "type": "string"
        },
        {
          "name": "message_new",
          "description": "A new incoming message has been received ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "message_reply",
          "description": "A new outcoming message has been received ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "message_allow",
          "description": "Allowed messages notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "message_edit",
          "type": "boolean"
        },
        {
          "name": "message_deny",
          "description": "Denied messages notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "message_typing_state",
          "type": "boolean"
        },
        {
          "name": "photo_new",
          "description": "New photos notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "audio_new",
          "description": "New audios notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "video_new",
          "description": "New videos notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "wall_reply_new",
          "description": "New wall replies notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "wall_reply_edit",
          "description": "Wall replies edited notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "wall_reply_delete",
          "description": "A wall comment has been deleted ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "wall_reply_restore",
          "description": "A wall comment has been restored ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "wall_post_new",
          "description": "New wall posts notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "wall_repost",
          "description": "New wall posts notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "board_post_new",
          "description": "New board posts notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "board_post_edit",
          "description": "Board posts edited notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "board_post_restore",
          "description": "Board posts restored notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "board_post_delete",
          "description": "Board posts deleted notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "photo_comment_new",
          "description": "New comment to photo notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "photo_comment_edit",
          "description": "A photo comment has been edited ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "photo_comment_delete",
          "description": "A photo comment has been deleted ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "photo_comment_restore",
          "description": "A photo comment has been restored ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "video_comment_new",
          "description": "New comment to video notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "video_comment_edit",
          "description": "A video comment has been edited ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "video_comment_delete",
          "description": "A video comment has been deleted ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "video_comment_restore",
          "description": "A video comment has been restored ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "market_comment_new",
          "description": "New comment to market item notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "market_comment_edit",
          "description": "A market comment has been edited ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "market_comment_delete",
          "description": "A market comment has been deleted ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "market_comment_restore",
          "description": "A market comment has been restored ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "market_order_new",
          "type": "boolean"
        },
        {
          "name": "market_order_edit",
          "type": "boolean"
        },
        {
          "name": "poll_vote_new",
          "description": "A vote in a public poll has been added ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "group_join",
          "description": "Joined community notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "group_leave",
          "description": "Left community notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "group_change_settings",
          "type": "boolean"
        },
        {
          "name": "group_change_photo",
          "type": "boolean"
        },
        {
          "name": "group_officers_edit",
          "type": "boolean"
        },
        {
          "name": "user_block",
          "description": "User added to community blacklist",
          "type": "boolean"
        },
        {
          "name": "user_unblock",
          "description": "User removed from community blacklist",
          "type": "boolean"
        },
        {
          "name": "lead_forms_new",
          "description": "New form in lead forms",
          "type": "boolean"
        },
        {
          "name": "like_add",
          "type": "boolean"
        },
        {
          "name": "like_remove",
          "type": "boolean"
        },
        {
          "name": "message_event",
          "type": "boolean"
        },
        {
          "name": "donut_subscription_create",
          "type": "boolean"
        },
        {
          "name": "donut_subscription_prolonged",
          "type": "boolean"
        },
        {
          "name": "donut_subscription_cancelled",
          "type": "boolean"
        },
        {
          "name": "donut_subscription_price_changed",
          "type": "boolean"
        },
        {
          "name": "donut_subscription_expired",
          "type": "boolean"
        },
        {
          "name": "donut_money_withdraw",
          "type": "boolean"
        },
        {
          "name": "donut_money_withdraw_error",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        }
      ]
    },
    {
      "name": "groups.setLongPollSettings",
      "description": "Sets Long Poll notification settings",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "enabled",
          "description": "Sets whether Long Poll is enabled ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "api_version",
          "type": "string"
        },
        {
          "name": "message_new",
          "description": "A new incoming message has been received ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "message_reply",
          "description": "A new outcoming message has been received ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "message_allow",
          "description": "Allowed messages notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "message_deny",
          "description": "Denied messages notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "message_edit",
          "description": "A message has been edited ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "message_typing_state",
          "type": "boolean"
        },
        {
          "name": "photo_new",
          "description": "New photos notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "audio_new",
          "description": "New audios notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "video_new",
          "description": "New videos notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "wall_reply_new",
          "description": "New wall replies notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "wall_reply_edit",
          "description": "Wall replies edited notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "wall_reply_delete",
          "description": "A wall comment has been deleted ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "wall_reply_restore",
          "description": "A wall comment has been restored ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "wall_post_new",
          "description": "New wall posts notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "wall_repost",
          "description": "New wall posts notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "board_post_new",
          "description": "New board posts notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "board_post_edit",
          "description": "Board posts edited notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "board_post_restore",
          "description": "Board posts restored notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "board_post_delete",
          "description": "Board posts deleted notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "photo_comment_new",
          "description": "New comment to photo notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "photo_comment_edit",
          "description": "A photo comment has been edited ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "photo_comment_delete",
          "description": "A photo comment has been deleted ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "photo_comment_restore",
          "description": "A photo comment has been restored ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "video_comment_new",
          "description": "New comment to video notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "video_comment_edit",
          "description": "A video comment has been edited ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "video_comment_delete",
          "description": "A video comment has been deleted ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "video_comment_restore",
          "description": "A video comment has been restored ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "market_comment_new",
          "description": "New comment to market item notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "market_comment_edit",
          "description": "A market comment has been edited ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "market_comment_delete",
          "description": "A market comment has been deleted ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "market_comment_restore",
          "description": "A market comment has been restored ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "poll_vote_new",
          "description": "A vote in a public poll has been added ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "group_join",
          "description": "Joined community notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "group_leave",
          "description": "Left community notifications ('0' — disabled, '1' — enabled).",
          "type": "boolean"
        },
        {
          "name": "group_change_settings",
          "type": "boolean"
        },
        {
          "name": "group_change_photo",
          "type": "boolean"
        },
        {
          "name": "group_officers_edit",
          "type": "boolean"
        },
        {
          "name": "user_block",
          "description": "User added to community blacklist",
          "type": "boolean"
        },
        {
          "name": "user_unblock",
          "description": "User removed from community blacklist",
          "type": "boolean"
        },
        {
          "name": "like_add",
          "type": "boolean"
        },
        {
          "name": "like_remove",
          "type": "boolean"
        },
        {
          "name": "message_event",
          "type": "boolean"
        },
        {
          "name": "donut_subscription_create",
          "type": "boolean"
        },
        {
          "name": "donut_subscription_prolonged",
          "type": "boolean"
        },
        {
          "name": "donut_subscription_cancelled",
          "type": "boolean"
        },
        {
          "name": "donut_subscription_price_changed",
          "type": "boolean"
        },
        {
          "name": "donut_subscription_expired",
          "type": "boolean"
        },
        {
          "name": "donut_money_withdraw",
          "type": "boolean"
        },
        {
          "name": "donut_money_withdraw_error",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "groups.setSettings",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "messages",
          "type": "boolean"
        },
        {
          "name": "bots_capabilities",
          "type": "boolean"
        },
        {
          "name": "bots_start_button",
          "type": "boolean"
        },
        {
          "name": "bots_add_to_chat",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "groups.setUserNote",
      "description": "In order to save note about group participant",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "user_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "note",
          "description": "Note body",
          "type": "string",
          "maxLength": 96
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_bool_response"
        }
      }
    },
    {
      "name": "groups.tagAdd",
      "description": "Add new group's tag",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "tag_name",
          "type": "string",
          "required": true,
          "maxLength": 20
        },
        {
          "name": "tag_color",
          "type": "string",
          "enum": [
            "454647",
            "45678f",
            "4bb34b",
            "5181b8",
            "539b9c",
            "5c9ce6",
            "63b9ba",
            "6bc76b",
            "76787a",
            "792ec0",
            "7a6c4f",
            "7ececf",
            "9e8d6b",
            "a162de",
            "aaaeb3",
            "bbaa84",
            "e64646",
            "ff5c5c",
            "ffa000",
            "ffc107"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_bool_response"
        }
      }
    },
    {
      "name": "groups.tagBind",
      "description": "Bind or unbind group's tag to user",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "tag_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "user_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "act",
          "description": "Describe the action",
          "type": "string",
          "required": true,
          "enum": [
            "bind",
            "unbind"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_bool_response"
        }
      }
    },
    {
      "name": "groups.tagDelete",
      "description": "Delete group's tag",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "tag_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_bool_response"
        }
      }
    },
    {
      "name": "groups.tagUpdate",
      "description": "Update group's tag",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "tag_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "tag_name",
          "type": "string",
          "required": true,
          "maxLength": 20
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_bool_response"
        }
      }
    },
    {
      "name": "groups.toggleMarket",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "state",
          "type": "string",
          "required": true,
          "enum": [
            "advanced",
            "basic",
            "none"
          ],
          "$ref": "objects.json#/definitions/groups_market_state"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_market_shop_already_enabled"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_shop_already_disabled"
        }
      ]
    },
    {
      "name": "groups.unban",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "owner_id",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "likes.add",
      "description": "Adds the specified object to the 'Likes' list of the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "type",
          "description": "Object type: 'post' — post on user or community wall, 'comment' — comment on a wall post, 'photo' — photo, 'audio' — audio, 'video' — video, 'note' — note, 'photo_comment' — comment on the photo, 'video_comment' — comment on the video, 'topic_comment' — comment in the discussion, 'sitepage' — page of the site where the [vk.com/dev/Like|Like widget] is installed",
          "type": "string",
          "required": true,
          "$ref": "objects.json#/definitions/likes_type"
        },
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the object.",
          "type": "integer"
        },
        {
          "name": "item_id",
          "description": "Object ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "access_key",
          "description": "Access key required for an object owned by a private entity.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/likes_add_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_likes_reaction_can_not_be_applied"
        }
      ]
    },
    {
      "name": "likes.delete",
      "description": "Deletes the specified object from the 'Likes' list of the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "type",
          "description": "Object type: 'post' — post on user or community wall, 'comment' — comment on a wall post, 'photo' — photo, 'audio' — audio, 'video' — video, 'note' — note, 'photo_comment' — comment on the photo, 'video_comment' — comment on the video, 'topic_comment' — comment in the discussion, 'sitepage' — page of the site where the [vk.com/dev/Like|Like widget] is installed",
          "type": "string",
          "required": true,
          "$ref": "objects.json#/definitions/likes_type"
        },
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the object.",
          "type": "integer"
        },
        {
          "name": "item_id",
          "description": "Object ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "access_key",
          "description": "Access key required for an object owned by a private entity.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/likes_delete_response"
        }
      }
    },
    {
      "name": "likes.getList",
      "description": "Returns a list of IDs of users who added the specified object to their 'Likes' list.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "type",
          "description": ", Object type: 'post' — post on user or community wall, 'comment' — comment on a wall post, 'photo' — photo, 'audio' — audio, 'video' — video, 'note' — note, 'photo_comment' — comment on the photo, 'video_comment' — comment on the video, 'topic_comment' — comment in the discussion, 'sitepage' — page of the site where the [vk.com/dev/Like|Like widget] is installed",
          "type": "string",
          "required": true,
          "$ref": "objects.json#/definitions/likes_type"
        },
        {
          "name": "owner_id",
          "description": "ID of the user, community, or application that owns the object. If the 'type' parameter is set as 'sitepage', the application ID is passed as 'owner_id'. Use negative value for a community id. If the 'type' parameter is not set, the 'owner_id' is assumed to be either the current user or the same application ID as if the 'type' parameter was set to 'sitepage'.",
          "type": "integer"
        },
        {
          "name": "item_id",
          "description": "Object ID. If 'type' is set as 'sitepage', 'item_id' can include the 'page_id' parameter value used during initialization of the [vk.com/dev/Like|Like widget].",
          "type": "integer"
        },
        {
          "name": "page_url",
          "description": "URL of the page where the [vk.com/dev/Like|Like widget] is installed. Used instead of the 'item_id' parameter.",
          "type": "string"
        },
        {
          "name": "filter",
          "description": "Filters to apply: 'likes' — returns information about all users who liked the object (default), 'copies' — returns information only about users who told their friends about the object",
          "type": "string",
          "enum": [
            "likes",
            "copies"
          ]
        },
        {
          "name": "friends_only",
          "description": "Specifies which users are returned: '1' — to return only the current user's friends, '0' — to return all users (default)",
          "type": "integer",
          "default": 0,
          "enum": [
            0,
            1,
            2,
            3
          ]
        },
        {
          "name": "extended",
          "description": "Specifies whether extended information will be returned. '1' — to return extended information about users and communities from the 'Likes' list, '0' — to return no additional information (default)",
          "type": "boolean"
        },
        {
          "name": "offset",
          "description": "Offset needed to select a specific subset of users.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of user IDs to return (maximum '1000'). Default is '100' if 'friends_only' is set to '0', otherwise, the default is '10' if 'friends_only' is set to '1'.",
          "type": "integer",
          "minimum": 0,
          "maximum": 1000
        },
        {
          "name": "skip_own",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/likes_getList_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/likes_getList_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_likes_reaction_can_not_be_applied"
        }
      ]
    },
    {
      "name": "likes.isLiked",
      "description": "Checks for the object in the 'Likes' list of the specified user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "type",
          "description": "Object type: 'post' — post on user or community wall, 'comment' — comment on a wall post, 'photo' — photo, 'audio' — audio, 'video' — video, 'note' — note, 'photo_comment' — comment on the photo, 'video_comment' — comment on the video, 'topic_comment' — comment in the discussion",
          "type": "string",
          "required": true,
          "$ref": "objects.json#/definitions/likes_type"
        },
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the object.",
          "type": "integer"
        },
        {
          "name": "item_id",
          "description": "Object ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/likes_isLiked_response"
        }
      }
    },
    {
      "name": "market.add",
      "description": "Ads a new item to the market.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "name",
          "description": "Item name.",
          "type": "string",
          "required": true,
          "minLength": 4,
          "maxLength": 100
        },
        {
          "name": "description",
          "description": "Item description.",
          "type": "string",
          "required": true,
          "minLength": 10
        },
        {
          "name": "category_id",
          "description": "Item category ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "price",
          "description": "Item price.",
          "type": "number",
          "minimum": 0.01
        },
        {
          "name": "old_price",
          "type": "number",
          "minimum": 0.01
        },
        {
          "name": "deleted",
          "description": "Item status ('1' — deleted, '0' — not deleted).",
          "type": "boolean"
        },
        {
          "name": "main_photo_id",
          "description": "Cover photo ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "photo_ids",
          "description": "IDs of additional photos.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          },
          "maxItems": 4
        },
        {
          "name": "url",
          "description": "Url for button in market item.",
          "type": "string",
          "minLength": 0,
          "maxLength": 320
        },
        {
          "name": "dimension_width",
          "type": "integer",
          "minimum": 0,
          "maximum": 100000
        },
        {
          "name": "dimension_height",
          "type": "integer",
          "minimum": 0,
          "maximum": 100000
        },
        {
          "name": "dimension_length",
          "type": "integer",
          "minimum": 0,
          "maximum": 100000
        },
        {
          "name": "weight",
          "type": "integer",
          "minimum": 0,
          "maximum": 100000000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_add_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_market"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_too_many_items"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_item_has_bad_links"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_variant_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_property_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_grouping_items_must_have_distinct_properties"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_grouping_must_contain_more_than_one_item"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_photos_crop_invalid_format"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_photos_crop_overflow"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_photos_crop_size_too_low"
        }
      ]
    },
    {
      "name": "market.addAlbum",
      "description": "Creates new collection of items",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "title",
          "description": "Collection title.",
          "type": "string",
          "required": true,
          "maxLength": 128
        },
        {
          "name": "photo_id",
          "description": "Cover photo ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "main_album",
          "description": "Set as main ('1' – set, '0' – no).",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_addAlbum_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_market_too_many_albums"
        }
      ]
    },
    {
      "name": "market.addToAlbum",
      "description": "Adds an item to one or multiple collections.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "item_id",
          "description": "Item ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "album_ids",
          "description": "Collections IDs to add item to.",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer",
            "minimum": 0
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_market_album_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_item_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_too_many_items_in_album"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_item_already_added"
        }
      ]
    },
    {
      "name": "market.createComment",
      "description": "Creates a new comment for an item.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "item_id",
          "description": "Item ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "message",
          "description": "Comment text (required if 'attachments' parameter is not specified)",
          "type": "string"
        },
        {
          "name": "attachments",
          "description": "Comma-separated list of objects attached to a comment. The field is submitted the following way: , \"'<owner_id>_<media_id>,<owner_id>_<media_id>'\", , '' - media attachment type: \"'photo' - photo, 'video' - video, 'audio' - audio, 'doc' - document\", , '<owner_id>' - media owner id, '<media_id>' - media attachment id, , For example: \"photo100172_166443618,photo66748_265827614\",",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "from_group",
          "description": "'1' - comment will be published on behalf of a community, '0' - on behalf of a user (by default).",
          "type": "boolean"
        },
        {
          "name": "reply_to_comment",
          "description": "ID of a comment to reply with current comment to.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "sticker_id",
          "description": "Sticker ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "guid",
          "description": "Random value to avoid resending one comment.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_createComment_response"
        }
      }
    },
    {
      "name": "market.delete",
      "description": "Deletes an item.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "item_id",
          "description": "Item ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_market"
        }
      ]
    },
    {
      "name": "market.deleteAlbum",
      "description": "Deletes a collection of items.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an collection owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "album_id",
          "description": "Collection ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_market_album_not_found"
        }
      ]
    },
    {
      "name": "market.deleteComment",
      "description": "Deletes an item's comment",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "identifier of an item owner community, \"Note that community id in the 'owner_id' parameter should be negative number. For example 'owner_id'=-1 matches the [vk.com/apiclub|VK API] community \"",
          "type": "integer",
          "required": true
        },
        {
          "name": "comment_id",
          "description": "comment id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_deleteComment_response"
        }
      }
    },
    {
      "name": "market.edit",
      "description": "Edits an item.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "item_id",
          "description": "Item ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "name",
          "description": "Item name.",
          "type": "string",
          "required": true,
          "minLength": 4,
          "maxLength": 100
        },
        {
          "name": "description",
          "description": "Item description.",
          "type": "string",
          "required": true,
          "minLength": 10
        },
        {
          "name": "category_id",
          "description": "Item category ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "price",
          "description": "Item price.",
          "type": "number",
          "required": true,
          "minimum": 0.01
        },
        {
          "name": "deleted",
          "description": "Item status ('1' — deleted, '0' — not deleted).",
          "type": "boolean"
        },
        {
          "name": "main_photo_id",
          "description": "Cover photo ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "photo_ids",
          "description": "IDs of additional photos.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          },
          "maxItems": 4
        },
        {
          "name": "url",
          "description": "Url for button in market item.",
          "type": "string",
          "minLength": 0,
          "maxLength": 320
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_market"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_item_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_item_has_bad_links"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_photos_crop_invalid_format"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_photos_crop_overflow"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_photos_crop_size_too_low"
        }
      ]
    },
    {
      "name": "market.editAlbum",
      "description": "Edits a collection of items",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an collection owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "album_id",
          "description": "Collection ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "title",
          "description": "Collection title.",
          "type": "string",
          "required": true,
          "maxLength": 128
        },
        {
          "name": "photo_id",
          "description": "Cover photo id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "main_album",
          "description": "Set as main ('1' – set, '0' – no).",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_market_album_not_found"
        }
      ]
    },
    {
      "name": "market.editComment",
      "description": "Chages item comment's text",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "message",
          "description": "New comment text (required if 'attachments' are not specified), , 2048 symbols maximum.",
          "type": "string"
        },
        {
          "name": "attachments",
          "description": "Comma-separated list of objects attached to a comment. The field is submitted the following way: , \"'<owner_id>_<media_id>,<owner_id>_<media_id>'\", , '' - media attachment type: \"'photo' - photo, 'video' - video, 'audio' - audio, 'doc' - document\", , '<owner_id>' - media owner id, '<media_id>' - media attachment id, , For example: \"photo100172_166443618,photo66748_265827614\",",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "market.editOrder",
      "description": "Edit order",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "user_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "order_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "merchant_comment",
          "type": "string",
          "maxLength": 400
        },
        {
          "name": "status",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_market_orders_no_cart_items"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_invalid_dimensions"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_cant_change_vkpay_status"
        }
      ]
    },
    {
      "name": "market.get",
      "description": "Returns items list for a community.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community, \"Note that community id in the 'owner_id' parameter should be negative number. For example 'owner_id'=-1 matches the [vk.com/apiclub|VK API] community \"",
          "type": "integer",
          "required": true
        },
        {
          "name": "album_id",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of items to return.",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of results.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "extended",
          "description": "'1' – method will return additional fields: 'likes, can_comment, car_repost, photos'. These parameters are not returned by default.",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_get_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/market_get_extended_response"
        }
      }
    },
    {
      "name": "market.getAlbumById",
      "description": "Returns items album's data",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "identifier of an album owner community, \"Note that community id in the 'owner_id' parameter should be negative number. For example 'owner_id'=-1 matches the [vk.com/apiclub|VK API] community \"",
          "type": "integer",
          "required": true
        },
        {
          "name": "album_ids",
          "description": "collections identifiers to obtain data from",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer",
            "minimum": 0
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_getAlbumById_response"
        }
      }
    },
    {
      "name": "market.getAlbums",
      "description": "Returns community's collections list.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an items owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of results.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of items to return.",
          "type": "integer",
          "default": 50,
          "minimum": 0,
          "maximum": 100
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_getAlbums_response"
        }
      }
    },
    {
      "name": "market.getById",
      "description": "Returns information about market items by their ids.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "item_ids",
          "description": "Comma-separated ids list: {user id}_{item id}. If an item belongs to a community -{community id} is used. \" 'Videos' value example: , '-4363_136089719,13245770_137352259'\"",
          "type": "array",
          "required": true,
          "items": {
            "type": "string"
          },
          "maxItems": 100
        },
        {
          "name": "extended",
          "description": "'1' – to return additional fields: 'likes, can_comment, car_repost, photos'. By default: '0'.",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_getById_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/market_getById_extended_response"
        }
      }
    },
    {
      "name": "market.getCategories",
      "description": "Returns a list of market categories.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "count",
          "description": "Number of results to return.",
          "type": "integer",
          "default": 10,
          "minimum": 0,
          "maximum": 1000
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of results.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_getCategories_new_response"
        }
      }
    },
    {
      "name": "market.getComments",
      "description": "Returns comments list for an item.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community",
          "type": "integer",
          "required": true
        },
        {
          "name": "item_id",
          "description": "Item ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "need_likes",
          "description": "'1' — to return likes info.",
          "type": "boolean"
        },
        {
          "name": "start_comment_id",
          "description": "ID of a comment to start a list from (details below).",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of results to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "sort",
          "description": "Sort order ('asc' — from old to new, 'desc' — from new to old)",
          "type": "string",
          "default": "asc",
          "enum": [
            "asc",
            "desc"
          ],
          "enumNames": [
            "old to new",
            "new to old"
          ]
        },
        {
          "name": "extended",
          "description": "'1' — comments will be returned as numbered objects, in addition lists of 'profiles' and 'groups' objects will be returned.",
          "type": "boolean"
        },
        {
          "name": "fields",
          "description": "List of additional profile fields to return. See the [vk.com/dev/fields|details]",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_getComments_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_market_comments_closed"
        }
      ]
    },
    {
      "name": "market.getGroupOrders",
      "description": "Get market orders",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "type": "integer",
          "default": 10,
          "minimum": 1,
          "maximum": 50
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_getGroupOrders_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_market_shop_not_enabled"
        }
      ]
    },
    {
      "name": "market.getOrderById",
      "description": "Get order",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "user_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "order_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "extended",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_getOrderById_response"
        }
      }
    },
    {
      "name": "market.getOrderItems",
      "description": "Get market items in the order",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "order_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "offset",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "type": "integer",
          "default": 50,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_getOrderItems_response"
        }
      }
    },
    {
      "name": "market.getOrders",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "type": "integer",
          "default": 10,
          "minimum": 0,
          "maximum": 10
        },
        {
          "name": "extended",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_getOrders_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/market_getOrders_extended_response"
        }
      }
    },
    {
      "name": "market.removeFromAlbum",
      "description": "Removes an item from one or multiple collections.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "item_id",
          "description": "Item ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "album_ids",
          "description": "Collections IDs to remove item from.",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer",
            "minimum": 0
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_market_album_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_item_not_found"
        }
      ]
    },
    {
      "name": "market.reorderAlbums",
      "description": "Reorders the collections list.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "album_id",
          "description": "Collection ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "before",
          "description": "ID of a collection to place current collection before it.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "after",
          "description": "ID of a collection to place current collection after it.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_market"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_album_not_found"
        }
      ]
    },
    {
      "name": "market.reorderItems",
      "description": "Changes item place in a collection.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "album_id",
          "description": "ID of a collection to reorder items in. Set 0 to reorder full items list.",
          "type": "integer"
        },
        {
          "name": "item_id",
          "description": "Item ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "before",
          "description": "ID of an item to place current item before it.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "after",
          "description": "ID of an item to place current item after it.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_market"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_album_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_item_not_found"
        }
      ]
    },
    {
      "name": "market.report",
      "description": "Sends a complaint to the item.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "item_id",
          "description": "Item ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "reason",
          "description": "Complaint reason. Possible values: *'0' — spam,, *'1' — child porn,, *'2' — extremism,, *'3' — violence,, *'4' — drugs propaganda,, *'5' — adult materials,, *'6' — insult.",
          "type": "integer",
          "default": 0,
          "minimum": 0,
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "enumNames": [
            "spam",
            "child pornography",
            "extremism",
            "violence",
            "drug propaganda",
            "adult material",
            "insult abuse"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "market.reportComment",
      "description": "Sends a complaint to the item's comment.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "reason",
          "description": "Complaint reason. Possible values: *'0' — spam,, *'1' — child porn,, *'2' — extremism,, *'3' — violence,, *'4' — drugs propaganda,, *'5' — adult materials,, *'6' — insult.",
          "type": "integer",
          "required": true,
          "minimum": 0,
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "enumNames": [
            "spam",
            "child pornography",
            "extremism",
            "violence",
            "drug propaganda",
            "adult material",
            "insult abuse"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "market.restore",
      "description": "Restores recently deleted item",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an item owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "item_id",
          "description": "Deleted item ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_market"
        },
        {
          "$ref": "errors.json#/errors/api_error_market_restore_too_late"
        }
      ]
    },
    {
      "name": "market.restoreComment",
      "description": "Restores a recently deleted comment",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "identifier of an item owner community, \"Note that community id in the 'owner_id' parameter should be negative number. For example 'owner_id'=-1 matches the [vk.com/apiclub|VK API] community \"",
          "type": "integer",
          "required": true
        },
        {
          "name": "comment_id",
          "description": "deleted comment id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_restoreComment_response"
        }
      }
    },
    {
      "name": "market.search",
      "description": "Searches market items in a community's catalog",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of an items owner community.",
          "type": "integer",
          "required": true
        },
        {
          "name": "album_id",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "q",
          "description": "Search query, for example \"pink slippers\".",
          "type": "string"
        },
        {
          "name": "price_from",
          "description": "Minimum item price value.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "price_to",
          "description": "Maximum item price value.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "sort",
          "type": "integer",
          "default": 0,
          "enum": [
            0,
            1,
            2,
            3
          ]
        },
        {
          "name": "rev",
          "description": "'0' — do not use reverse order, '1' — use reverse order",
          "type": "integer",
          "default": 1,
          "minimum": 0,
          "enum": [
            0,
            1
          ],
          "enumNames": [
            "normal",
            "reverse"
          ]
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of results.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of items to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "extended",
          "description": "'1' – to return additional fields: 'likes, can_comment, car_repost, photos'. By default: '0'.",
          "type": "boolean",
          "default": "0"
        },
        {
          "name": "status",
          "type": "integer",
          "default": 0,
          "minimum": 0,
          "enum": [
            0,
            2
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/market_search_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/market_search_extended_response"
        }
      }
    },
    {
      "name": "messages.addChatUser",
      "description": "Adds a new user to a chat.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "chat_id",
          "description": "Chat ID.",
          "type": "integer",
          "required": true,
          "minimum": 0,
          "maximum": 100000000
        },
        {
          "name": "user_id",
          "description": "ID of the user to be added to the chat.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "visible_messages_count",
          "type": "integer",
          "minimum": 0,
          "maximum": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_limits"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_not_admin"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_message_request_already_sent"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_contact_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_disabled"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_member_access_to_group_denied"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_unsupported"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_group_peer_access"
        }
      ]
    },
    {
      "name": "messages.allowMessagesFromGroup",
      "description": "Allows sending messages from community to the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Group ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "key",
          "type": "string",
          "maxLength": 256
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "messages.createChat",
      "description": "Creates a chat with several participants.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "user_ids",
          "description": "IDs of the users to be added to the chat.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "title",
          "description": "Chat title.",
          "type": "string"
        },
        {
          "name": "group_id",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_createChat_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_contact_not_found"
        }
      ]
    },
    {
      "name": "messages.delete",
      "description": "Deletes one or more messages.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "message_ids",
          "description": "Message IDs.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "spam",
          "description": "'1' — to mark message as spam.",
          "type": "boolean"
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with user access token)",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "delete_for_all",
          "description": "'1' — delete message for for all.",
          "type": "boolean",
          "default": false
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_delete_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_cant_delete_for_all"
        }
      ]
    },
    {
      "name": "messages.deleteChatPhoto",
      "description": "Deletes a chat's cover picture.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "chat_id",
          "description": "Chat ID.",
          "type": "integer",
          "required": true,
          "minimum": 0,
          "maximum": 100000000
        },
        {
          "name": "group_id",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_deleteChatPhoto_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_not_admin"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_disabled"
        }
      ]
    },
    {
      "name": "messages.deleteConversation",
      "description": "Deletes all private messages in a conversation.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID. To clear a chat history use 'chat_id'",
          "type": "integer"
        },
        {
          "name": "peer_id",
          "description": "Destination ID. \"For user: 'User ID', e.g. '12345'. For chat: '2000000000' + 'chat_id', e.g. '2000000001'. For community: '- community ID', e.g. '-12345'. \"",
          "type": "integer"
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with user access token)",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_deleteConversation_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_contact_not_found"
        }
      ]
    },
    {
      "name": "messages.denyMessagesFromGroup",
      "description": "Denies sending message from community to the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Group ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "messages.edit",
      "description": "Edits the message.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "peer_id",
          "description": "Destination ID. \"For user: 'User ID', e.g. '12345'. For chat: '2000000000' + 'chat_id', e.g. '2000000001'. For community: '- community ID', e.g. '-12345'. \"",
          "type": "integer",
          "required": true
        },
        {
          "name": "message",
          "description": "(Required if 'attachments' is not set.) Text of the message.",
          "type": "string"
        },
        {
          "name": "lat",
          "description": "Geographical latitude of a check-in, in degrees (from -90 to 90).",
          "type": "number"
        },
        {
          "name": "long",
          "description": "Geographical longitude of a check-in, in degrees (from -180 to 180).",
          "type": "number"
        },
        {
          "name": "attachment",
          "description": "(Required if 'message' is not set.) List of objects attached to the message, separated by commas, in the following format: \"<owner_id>_<media_id>\", '' — Type of media attachment: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, 'wall' — wall post, '<owner_id>' — ID of the media attachment owner. '<media_id>' — media attachment ID. Example: \"photo100172_166443618\"",
          "type": "string"
        },
        {
          "name": "keep_forward_messages",
          "description": "'1' — to keep forwarded, messages.",
          "type": "boolean"
        },
        {
          "name": "keep_snippets",
          "description": "'1' — to keep attached snippets.",
          "type": "boolean"
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with user access token)",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "dont_parse_links",
          "type": "boolean",
          "default": false
        },
        {
          "name": "message_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "conversation_message_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "template",
          "type": "string"
        },
        {
          "name": "keyboard",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_edit_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_deny_send"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_edit_expired"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_too_big"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_edit_kind_disallowed"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_too_long_message"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_user_no_access"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_keyboard_invalid"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_too_many_posts"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_unsupported"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_bot_feature"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_cant_edit_pinned_yet"
        }
      ]
    },
    {
      "name": "messages.editChat",
      "description": "Edits the title of a chat.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "chat_id",
          "description": "Chat ID.",
          "type": "integer",
          "required": true,
          "minimum": 0,
          "maximum": 100000000
        },
        {
          "name": "title",
          "description": "New title of the chat.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_not_admin"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_disabled"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_unsupported"
        }
      ]
    },
    {
      "name": "messages.getByConversationMessageId",
      "description": "Returns messages by their IDs within the conversation.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "peer_id",
          "description": "Destination ID. \"For user: 'User ID', e.g. '12345'. For chat: '2000000000' + 'chat_id', e.g. '2000000001'. For community: '- community ID', e.g. '-12345'. \"",
          "type": "integer",
          "required": true
        },
        {
          "name": "conversation_message_ids",
          "description": "Conversation message IDs.",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer",
            "minimum": 0
          },
          "maxItems": 100
        },
        {
          "name": "extended",
          "description": "Information whether the response should be extended",
          "type": "boolean"
        },
        {
          "name": "fields",
          "description": "Profile fields to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with group access token)",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_getByConversationMessageId_response"
        }
      }
    },
    {
      "name": "messages.getById",
      "description": "Returns messages by their IDs.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "message_ids",
          "description": "Message IDs.",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer",
            "minimum": 0
          },
          "maxItems": 100
        },
        {
          "name": "preview_length",
          "description": "Number of characters after which to truncate a previewed message. To preview the full message, specify '0'. \"NOTE: Messages are not truncated by default. Messages are truncated by words.\"",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "extended",
          "description": "Information whether the response should be extended",
          "type": "boolean"
        },
        {
          "name": "fields",
          "description": "Profile fields to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with group access token)",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_getById_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/messages_getById_extended_response"
        }
      }
    },
    {
      "name": "messages.getChatPreview",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "peer_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "link",
          "description": "Invitation link.",
          "type": "string"
        },
        {
          "name": "fields",
          "description": "Profile fields to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_getChatPreview_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_user_no_access"
        }
      ]
    },
    {
      "name": "messages.getConversationMembers",
      "description": "Returns a list of IDs of users participating in a chat.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "peer_id",
          "description": "Peer ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "fields",
          "description": "Profile fields to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with group access token)",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_getConversationMembers_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_user_no_access"
        }
      ]
    },
    {
      "name": "messages.getConversations",
      "description": "Returns a list of the current user's conversations.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of conversations.",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of conversations to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "filter",
          "description": "Filter to apply: 'all' — all conversations, 'unread' — conversations with unread messages, 'important' — conversations, marked as important (only for community messages), 'unanswered' — conversations, marked as unanswered (only for community messages)",
          "type": "string",
          "default": "all",
          "enum": [
            "all",
            "important",
            "unanswered",
            "unread"
          ]
        },
        {
          "name": "extended",
          "description": "'1' — return extra information about users and communities",
          "type": "boolean"
        },
        {
          "name": "start_message_id",
          "description": "ID of the message from what to return dialogs.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "fields",
          "description": "Profile and communities fields to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with group access token)",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_getConversations_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_not_exist"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_contact_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_user_no_access"
        }
      ]
    },
    {
      "name": "messages.getConversationsById",
      "description": "Returns conversations by their IDs",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "peer_ids",
          "description": "Destination IDs. \"For user: 'User ID', e.g. '12345'. For chat: '2000000000' + 'chat_id', e.g. '2000000001'. For community: '- community ID', e.g. '-12345'. \"",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer"
          },
          "maxItems": 100
        },
        {
          "name": "extended",
          "description": "Return extended properties",
          "type": "boolean"
        },
        {
          "name": "fields",
          "description": "Profile and communities fields to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with group access token)",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_getConversationsById_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/messages_getConversationsById_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_not_exist"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_user_no_access"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_contact_not_found"
        }
      ]
    },
    {
      "name": "messages.getHistory",
      "description": "Returns message history for the specified user or group chat.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of messages.",
          "type": "integer"
        },
        {
          "name": "count",
          "description": "Number of messages to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "user_id",
          "description": "ID of the user whose message history you want to return.",
          "type": "integer"
        },
        {
          "name": "peer_id",
          "type": "integer"
        },
        {
          "name": "start_message_id",
          "description": "Starting message ID from which to return history.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "rev",
          "description": "Sort order: '1' — return messages in chronological order. '0' — return messages in reverse chronological order.",
          "type": "integer",
          "enum": [
            1,
            0
          ],
          "enumNames": [
            "chronological",
            "reverse chronological"
          ]
        },
        {
          "name": "extended",
          "description": "Information whether the response should be extended",
          "type": "boolean"
        },
        {
          "name": "fields",
          "description": "Profile fields to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with group access token)",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_getHistory_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/messages_getHistory_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_contact_not_found"
        }
      ]
    },
    {
      "name": "messages.getHistoryAttachments",
      "description": "Returns media files from the dialog or group chat.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "peer_id",
          "description": "Peer ID. \", For group chat: '2000000000 + chat ID' , , For community: '-community ID'\"",
          "type": "integer",
          "required": true
        },
        {
          "name": "media_type",
          "description": "Type of media files to return: *'photo',, *'video',, *'audio',, *'doc',, *'link'.,*'market'.,*'wall'.,*'share'",
          "type": "string",
          "default": "photo",
          "enum": [
            "audio",
            "audio_message",
            "doc",
            "graffiti",
            "link",
            "market",
            "photo",
            "share",
            "video",
            "wall"
          ]
        },
        {
          "name": "start_from",
          "description": "Message ID to start return results from.",
          "type": "string"
        },
        {
          "name": "count",
          "description": "Number of objects to return.",
          "type": "integer",
          "default": 30,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "photo_sizes",
          "description": "'1' — to return photo sizes in a",
          "type": "boolean"
        },
        {
          "name": "fields",
          "description": "Additional profile [vk.com/dev/fields|fields] to return. ",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with group access token)",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "preserve_order",
          "type": "boolean"
        },
        {
          "name": "max_forwards_level",
          "type": "integer",
          "default": 45,
          "minimum": 0,
          "maximum": 45
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_getHistoryAttachments_response"
        }
      }
    },
    {
      "name": "messages.getImportantMessages",
      "description": "Returns a list of user's important messages.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "count",
          "description": "Amount of needed important messages.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "offset",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "start_message_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "preview_length",
          "description": "Maximum length of messages body.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "fields",
          "description": "Actors fields to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        },
        {
          "name": "extended",
          "description": "Return extended properties",
          "type": "boolean"
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with group access token)",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_getImportantMessages_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/messages_getImportantMessages_extended_response"
        }
      }
    },
    {
      "name": "messages.getIntentUsers",
      "access_token_type": [
        "group"
      ],
      "parameters": [
        {
          "name": "intent",
          "type": "string",
          "required": true,
          "enum": [
            "confirmed_notification",
            "non_promo_newsletter",
            "promo_newsletter"
          ]
        },
        {
          "name": "subscribe_id",
          "type": "integer",
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "extended",
          "type": "boolean"
        },
        {
          "name": "name_case",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_getIntentUsers_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_intent_cant_use"
        }
      ]
    },
    {
      "name": "messages.getInviteLink",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "peer_id",
          "description": "Destination ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "reset",
          "description": "1 — to generate new link (revoke previous), 0 — to return previous link.",
          "type": "boolean",
          "default": false
        },
        {
          "name": "group_id",
          "description": "Group ID",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_getInviteLink_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_cant_see_invite_link"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_cant_change_invite_link"
        }
      ]
    },
    {
      "name": "messages.getLastActivity",
      "description": "Returns a user's current status and date of last activity.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_getLastActivity_response"
        }
      }
    },
    {
      "name": "messages.getLongPollHistory",
      "description": "Returns updates in user's private messages.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "ts",
          "description": "Last value of the 'ts' parameter returned from the Long Poll server or by using [vk.com/dev/messages.getLongPollHistory|messages.getLongPollHistory] method.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "pts",
          "description": "Lsat value of 'pts' parameter returned from the Long Poll server or by using [vk.com/dev/messages.getLongPollHistory|messages.getLongPollHistory] method.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "preview_length",
          "description": "Number of characters after which to truncate a previewed message. To preview the full message, specify '0'. \"NOTE: Messages are not truncated by default. Messages are truncated by words.\"",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "onlines",
          "description": "'1' — to return history with online users only.",
          "type": "boolean"
        },
        {
          "name": "fields",
          "description": "Additional profile [vk.com/dev/fields|fields] to return.",
          "type": "array",
          "default": "photo,photo_medium_rec,sex,online,screen_name",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "events_limit",
          "description": "Maximum number of events to return.",
          "type": "integer",
          "default": 1000,
          "minimum": 1000
        },
        {
          "name": "msgs_limit",
          "description": "Maximum number of messages to return.",
          "type": "integer",
          "default": 200,
          "minimum": 200
        },
        {
          "name": "max_msg_id",
          "description": "Maximum ID of the message among existing ones in the local copy. Both messages received with API methods (for example, , ), and data received from a Long Poll server (events with code 4) are taken into account.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with user access token)",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "lp_version",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "last_n",
          "type": "integer",
          "default": 0,
          "minimum": 0,
          "maximum": 2000
        },
        {
          "name": "credentials",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_getLongPollHistory_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_too_old_pts"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_too_new_pts"
        },
        {
          "$ref": "errors.json#/errors/api_error_timeout"
        }
      ],
      "timeout": 5
    },
    {
      "name": "messages.getLongPollServer",
      "description": "Returns data required for connection to a Long Poll server.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "need_pts",
          "description": "'1' — to return the 'pts' field, needed for the [vk.com/dev/messages.getLongPollHistory|messages.getLongPollHistory] method.",
          "type": "boolean"
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with user access token)",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "lp_version",
          "description": "Long poll version",
          "type": "integer",
          "default": 0,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_getLongPollServer_response"
        }
      }
    },
    {
      "name": "messages.isMessagesFromGroupAllowed",
      "description": "Returns information whether sending messages from the community to current user is allowed.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Group ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_isMessagesFromGroupAllowed_response"
        }
      }
    },
    {
      "name": "messages.joinChatByInviteLink",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "link",
          "description": "Invitation link.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_joinChatByInviteLink_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_user_no_access"
        },
        {
          "$ref": "errors.json#/errors/api_error_limits"
        }
      ]
    },
    {
      "name": "messages.markAsAnsweredConversation",
      "description": "Marks and unmarks conversations as unanswered.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "peer_id",
          "description": "ID of conversation to mark as important.",
          "type": "integer",
          "required": true
        },
        {
          "name": "answered",
          "description": "'1' — to mark as answered, '0' — to remove the mark",
          "type": "boolean",
          "default": 1
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with group access token)",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "messages.markAsImportant",
      "description": "Marks and unmarks messages as important (starred).",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "message_ids",
          "description": "IDs of messages to mark as important.",
          "type": "array",
          "default": [],
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "important",
          "description": "'1' — to add a star (mark as important), '0' — to remove the star",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_markAsImportant_response"
        }
      }
    },
    {
      "name": "messages.markAsImportantConversation",
      "description": "Marks and unmarks conversations as important.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "peer_id",
          "description": "ID of conversation to mark as important.",
          "type": "integer",
          "required": true
        },
        {
          "name": "important",
          "description": "'1' — to add a star (mark as important), '0' — to remove the star",
          "type": "boolean",
          "default": 1
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with group access token)",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "messages.markAsRead",
      "description": "Marks messages as read.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "message_ids",
          "description": "IDs of messages to mark as read.",
          "type": "array",
          "default": [],
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "peer_id",
          "description": "Destination ID. \"For user: 'User ID', e.g. '12345'. For chat: '2000000000' + 'chat_id', e.g. '2000000001'. For community: '- community ID', e.g. '-12345'. \"",
          "type": "integer"
        },
        {
          "name": "start_message_id",
          "description": "Message ID to start from.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with user access token)",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "mark_conversation_as_read",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "messages.pin",
      "description": "Pin a message.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "peer_id",
          "description": "Destination ID. \"For user: 'User ID', e.g. '12345'. For chat: '2000000000' + 'Chat ID', e.g. '2000000001'. For community: '- Community ID', e.g. '-12345'. \"",
          "type": "integer",
          "required": true
        },
        {
          "name": "message_id",
          "description": "Message ID",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "conversation_message_id",
          "description": "Conversation message ID",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_pin_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_not_admin"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_cant_pin_one_time_story"
        }
      ]
    },
    {
      "name": "messages.removeChatUser",
      "description": "Allows the current user to leave a chat or, if the current user started the chat, allows the user to remove another user from the chat.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "chat_id",
          "description": "Chat ID.",
          "type": "integer",
          "required": true,
          "minimum": 0,
          "maximum": 100000000
        },
        {
          "name": "user_id",
          "description": "ID of the user to be removed from the chat.",
          "type": "integer"
        },
        {
          "name": "member_id",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_not_admin"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_user_not_in_chat"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_contact_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_disabled"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_unsupported"
        }
      ]
    },
    {
      "name": "messages.restore",
      "description": "Restores a deleted message.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "message_id",
          "description": "ID of a previously-deleted message to restore.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with user access token)",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "messages.search",
      "description": "Returns a list of the current user's private messages that match search criteria.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "q",
          "description": "Search query string.",
          "type": "string"
        },
        {
          "name": "peer_id",
          "description": "Destination ID. \"For user: 'User ID', e.g. '12345'. For chat: '2000000000' + 'chat_id', e.g. '2000000001'. For community: '- community ID', e.g. '-12345'. \"",
          "type": "integer"
        },
        {
          "name": "date",
          "description": "Date to search message before in Unixtime.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "preview_length",
          "description": "Number of characters after which to truncate a previewed message. To preview the full message, specify '0'. \"NOTE: Messages are not truncated by default. Messages are truncated by words.\"",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of messages.",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of messages to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "extended",
          "type": "boolean"
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with group access token)",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_search_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/messages_search_extended_response"
        }
      }
    },
    {
      "name": "messages.searchConversations",
      "description": "Returns a list of the current user's conversations that match search criteria.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "q",
          "description": "Search query string.",
          "type": "string"
        },
        {
          "name": "count",
          "description": "Maximum number of results.",
          "type": "integer",
          "default": 20,
          "minimum": 1,
          "maximum": 255
        },
        {
          "name": "extended",
          "description": "'1' — return extra information about users and communities",
          "type": "boolean"
        },
        {
          "name": "fields",
          "description": "Profile fields to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with user access token)",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_searchConversations_response"
        }
      }
    },
    {
      "name": "messages.send",
      "description": "Sends a message.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID (by default — current user).",
          "type": "integer"
        },
        {
          "name": "random_id",
          "description": "Unique identifier to avoid resending the message.",
          "type": "integer"
        },
        {
          "name": "peer_id",
          "description": "Destination ID. \"For user: 'User ID', e.g. '12345'. For chat: '2000000000' + 'chat_id', e.g. '2000000001'. For community: '- community ID', e.g. '-12345'. \"",
          "type": "integer"
        },
        {
          "name": "peer_ids",
          "description": "IDs of message recipients. (See peer_id)",
          "type": "array",
          "items": {
            "type": "integer"
          },
          "maxItems": 100
        },
        {
          "name": "domain",
          "description": "User's short address (for example, 'illarionov').",
          "type": "string"
        },
        {
          "name": "chat_id",
          "description": "ID of conversation the message will relate to.",
          "type": "integer",
          "minimum": 0,
          "maximum": 100000000
        },
        {
          "name": "user_ids",
          "description": "IDs of message recipients (if new conversation shall be started).",
          "type": "array",
          "items": {
            "type": "integer"
          },
          "maxItems": 100
        },
        {
          "name": "message",
          "description": "(Required if 'attachments' is not set.) Text of the message.",
          "type": "string"
        },
        {
          "name": "lat",
          "description": "Geographical latitude of a check-in, in degrees (from -90 to 90).",
          "type": "number"
        },
        {
          "name": "long",
          "description": "Geographical longitude of a check-in, in degrees (from -180 to 180).",
          "type": "number"
        },
        {
          "name": "attachment",
          "description": "(Required if 'message' is not set.) List of objects attached to the message, separated by commas, in the following format: \"<owner_id>_<media_id>\", '' — Type of media attachment: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, 'wall' — wall post, '<owner_id>' — ID of the media attachment owner. '<media_id>' — media attachment ID. Example: \"photo100172_166443618\"",
          "type": "string"
        },
        {
          "name": "reply_to",
          "type": "integer"
        },
        {
          "name": "forward_messages",
          "description": "ID of forwarded messages, separated with a comma. Listed messages of the sender will be shown in the message body at the recipient's. Example: \"123,431,544\"",
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        {
          "name": "forward",
          "description": "JSON describing the forwarded message or reply",
          "type": "string",
          "$ref": "objects.json#/definitions/messages_forward"
        },
        {
          "name": "sticker_id",
          "description": "Sticker id.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with group access token)",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "keyboard",
          "type": "string",
          "$ref": "objects.json#/definitions/messages_keyboard"
        },
        {
          "name": "template",
          "type": "string"
        },
        {
          "name": "payload",
          "type": "string",
          "maxLength": 1000
        },
        {
          "name": "content_source",
          "description": "JSON describing the content source in the message",
          "type": "string"
        },
        {
          "name": "dont_parse_links",
          "type": "boolean",
          "default": false
        },
        {
          "name": "disable_mentions",
          "type": "boolean",
          "default": false
        },
        {
          "name": "intent",
          "type": "string",
          "default": "default",
          "enum": [
            "account_update",
            "bot_ad_invite",
            "bot_ad_promo",
            "confirmed_notification",
            "customer_support",
            "default",
            "game_notification",
            "moderated_newsletter",
            "non_promo_newsletter",
            "promo_newsletter",
            "purchase_update"
          ]
        },
        {
          "name": "subscribe_id",
          "type": "integer",
          "minimum": 0,
          "maximum": 100
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_send_response"
        },
        "userIdsResponse": {
          "$ref": "responses.json#/definitions/messages_send_user_ids_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_user_blocked"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_deny_send"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_privacy"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_too_long_message"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_too_long_forwards"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_cant_fwd"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_user_no_access"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_keyboard_invalid"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_bot_feature"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_contact_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_too_many_posts"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_intent_cant_use"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_intent_limit_overflow"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_unsupported"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_disabled"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_not_admin"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_peer_blocked_reason_by_time"
        }
      ]
    },
    {
      "name": "messages.sendMessageEventAnswer",
      "access_token_type": [
        "group"
      ],
      "parameters": [
        {
          "name": "event_id",
          "type": "string",
          "required": true
        },
        {
          "name": "user_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "peer_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "event_data",
          "type": "string",
          "maxLength": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "messages.setActivity",
      "description": "Changes the status of a user as typing in a conversation.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer"
        },
        {
          "name": "type",
          "description": "'typing' — user has started to type.",
          "type": "string"
        },
        {
          "name": "peer_id",
          "description": "Destination ID. \"For user: 'User ID', e.g. '12345'. For chat: '2000000000' + 'chat_id', e.g. '2000000001'. For community: '- community ID', e.g. '-12345'. \"",
          "type": "integer"
        },
        {
          "name": "group_id",
          "description": "Group ID (for group messages with group access token)",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_group_peer_access"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_user_no_access"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_contact_not_found"
        }
      ]
    },
    {
      "name": "messages.setChatPhoto",
      "description": "Sets a previously-uploaded picture as the cover picture of a chat.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "file",
          "description": "Upload URL from the 'response' field returned by the [vk.com/dev/photos.getChatUploadServer|photos.getChatUploadServer] method upon successfully uploading an image.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/messages_setChatPhoto_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_upload"
        },
        {
          "$ref": "errors.json#/errors/api_error_photo_changed"
        },
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_not_admin"
        }
      ]
    },
    {
      "name": "messages.unpin",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "peer_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "group_id",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_chat_not_admin"
        }
      ]
    },
    {
      "name": "newsfeed.addBan",
      "description": "Prevents news from specified users and communities from appearing in the current user's newsfeed.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_ids",
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        {
          "name": "group_ids",
          "type": "array",
          "items": {
            "type": "integer"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "newsfeed.deleteBan",
      "description": "Allows news from previously banned users and communities to be shown in the current user's newsfeed.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_ids",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "group_ids",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "newsfeed.deleteList",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "list_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "newsfeed.get",
      "description": "Returns data required to show newsfeed for the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "filters",
          "description": "Filters to apply: 'post' — new wall posts, 'photo' — new photos, 'photo_tag' — new photo tags, 'wall_photo' — new wall photos, 'friend' — new friends",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/newsfeed_filters"
          }
        },
        {
          "name": "return_banned",
          "description": "'1' — to return news items from banned sources",
          "type": "boolean"
        },
        {
          "name": "start_time",
          "description": "Earliest timestamp (in Unix time) of a news item to return. By default, 24 hours ago.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "end_time",
          "description": "Latest timestamp (in Unix time) of a news item to return. By default, the current time.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "max_photos",
          "description": "Maximum number of photos to return. By default, '5'.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "source_ids",
          "description": "Sources to obtain news from, separated by commas. User IDs can be specified in formats '' or 'u' , where '' is the user's friend ID. Community IDs can be specified in formats '-' or 'g' , where '' is the community ID. If the parameter is not set, all of the user's friends and communities are returned, except for banned sources, which can be obtained with the [vk.com/dev/newsfeed.getBanned|newsfeed.getBanned] method.",
          "type": "string"
        },
        {
          "name": "start_from",
          "description": "identifier required to get the next page of results. Value for this parameter is returned in 'next_from' field in a reply.",
          "type": "string"
        },
        {
          "name": "count",
          "description": "Number of news items to return (default 50, maximum 100). For auto feed, you can use the 'new_offset' parameter returned by this method.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "fields",
          "description": "Additional fields of [vk.com/dev/fields|profiles] and [vk.com/dev/fields_groups|communities] to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        },
        {
          "name": "section",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/newsfeed_get_response"
        }
      }
    },
    {
      "name": "newsfeed.getBanned",
      "description": "Returns a list of users and communities banned from the current user's newsfeed.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "extended",
          "description": "'1' — return extra information about users and communities",
          "type": "boolean"
        },
        {
          "name": "fields",
          "description": "Profile fields to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "name_case",
          "description": "Case for declension of user name and surname: 'nom' — nominative (default), 'gen' — genitive , 'dat' — dative, 'acc' — accusative , 'ins' — instrumental , 'abl' — prepositional",
          "type": "string",
          "enum": [
            "nom",
            "gen",
            "dat",
            "acc",
            "ins",
            "abl"
          ],
          "enumNames": [
            "nominative",
            "genitive",
            "dative",
            "accusative",
            "instrumental",
            "prepositional"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/newsfeed_getBanned_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/newsfeed_getBanned_extended_response"
        }
      }
    },
    {
      "name": "newsfeed.getComments",
      "description": "Returns a list of comments in the current user's newsfeed.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "count",
          "description": "Number of comments to return. For auto feed, you can use the 'new_offset' parameter returned by this method.",
          "type": "integer",
          "default": 30,
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "filters",
          "description": "Filters to apply: 'post' — new comments on wall posts, 'photo' — new comments on photos, 'video' — new comments on videos, 'topic' — new comments on discussions, 'note' — new comments on notes,",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/newsfeed_comments_filters"
          }
        },
        {
          "name": "reposts",
          "description": "Object ID, comments on repost of which shall be returned, e.g. 'wall1_45486'. (If the parameter is set, the 'filters' parameter is optional.),",
          "type": "string"
        },
        {
          "name": "start_time",
          "description": "Earliest timestamp (in Unix time) of a comment to return. By default, 24 hours ago.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "end_time",
          "description": "Latest timestamp (in Unix time) of a comment to return. By default, the current time.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "last_comments_count",
          "type": "integer",
          "default": 0,
          "minimum": 0,
          "maximum": 10
        },
        {
          "name": "start_from",
          "description": "Identificator needed to return the next page with results. Value for this parameter returns in 'next_from' field.",
          "type": "string"
        },
        {
          "name": "fields",
          "description": "Additional fields of [vk.com/dev/fields|profiles] and [vk.com/dev/fields_groups|communities] to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/newsfeed_getComments_response"
        }
      }
    },
    {
      "name": "newsfeed.getLists",
      "description": "Returns a list of newsfeeds followed by the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "list_ids",
          "description": "numeric list identifiers.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "extended",
          "description": "Return additional list info",
          "type": "boolean",
          "default": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/newsfeed_getLists_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/newsfeed_getLists_extended_response"
        }
      }
    },
    {
      "name": "newsfeed.getMentions",
      "description": "Returns a list of posts on user walls in which the current user is mentioned.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "Owner ID.",
          "type": "integer"
        },
        {
          "name": "start_time",
          "description": "Earliest timestamp (in Unix time) of a post to return. By default, 24 hours ago.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "end_time",
          "description": "Latest timestamp (in Unix time) of a post to return. By default, the current time.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of posts.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of posts to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 50
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/newsfeed_getMentions_response"
        }
      }
    },
    {
      "name": "newsfeed.getRecommended",
      "description": ", Returns a list of newsfeeds recommended to the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "start_time",
          "description": "Earliest timestamp (in Unix time) of a news item to return. By default, 24 hours ago.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "end_time",
          "description": "Latest timestamp (in Unix time) of a news item to return. By default, the current time.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "max_photos",
          "description": "Maximum number of photos to return. By default, '5'.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "start_from",
          "description": "'new_from' value obtained in previous call.",
          "type": "string"
        },
        {
          "name": "count",
          "description": "Number of news items to return.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "fields",
          "description": "Additional fields of [vk.com/dev/fields|profiles] and [vk.com/dev/fields_groups|communities] to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/newsfeed_getRecommended_response"
        }
      }
    },
    {
      "name": "newsfeed.getSuggestedSources",
      "description": "Returns communities and users that current user is suggested to follow.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "offset",
          "description": "offset required to choose a particular subset of communities or users.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "amount of communities or users to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 1000
        },
        {
          "name": "shuffle",
          "description": "shuffle the returned list or not.",
          "type": "boolean"
        },
        {
          "name": "fields",
          "description": "list of extra fields to be returned. See available fields for [vk.com/dev/fields|users] and [vk.com/dev/fields_groups|communities].",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/newsfeed_getSuggestedSources_response"
        }
      }
    },
    {
      "name": "newsfeed.ignoreItem",
      "description": "Hides an item from the newsfeed.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "type",
          "description": "Item type. Possible values: *'wall' – post on the wall,, *'tag' – tag on a photo,, *'profilephoto' – profile photo,, *'video' – video,, *'audio' – audio.",
          "type": "string",
          "required": true,
          "$ref": "objects.json#/definitions/newsfeed_ignore_item_type"
        },
        {
          "name": "owner_id",
          "description": "Item owner's identifier (user or community), \"Note that community id must be negative. 'owner_id=1' – user , 'owner_id=-1' – community \"",
          "type": "integer",
          "default": 0
        },
        {
          "name": "item_id",
          "description": "Item identifier",
          "type": "integer",
          "default": 0,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "newsfeed.saveList",
      "description": "Creates and edits user newsfeed lists",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "list_id",
          "description": "numeric list identifier (if not sent, will be set automatically).",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "title",
          "description": "list name.",
          "type": "string",
          "required": true
        },
        {
          "name": "source_ids",
          "description": "users and communities identifiers to be added to the list. Community identifiers must be negative numbers.",
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        {
          "name": "no_reposts",
          "description": "reposts display on and off ('1' is for off).",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/newsfeed_saveList_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_too_many_lists"
        }
      ]
    },
    {
      "name": "newsfeed.search",
      "description": "Returns search results by statuses.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "q",
          "description": "Search query string (e.g., 'New Year').",
          "type": "string"
        },
        {
          "name": "extended",
          "description": "'1' — to return additional information about the user or community that placed the post.",
          "type": "boolean"
        },
        {
          "name": "count",
          "description": "Number of posts to return.",
          "type": "integer",
          "default": 30,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "latitude",
          "description": "Geographical latitude point (in degrees, -90 to 90) within which to search.",
          "type": "number"
        },
        {
          "name": "longitude",
          "description": "Geographical longitude point (in degrees, -180 to 180) within which to search.",
          "type": "number"
        },
        {
          "name": "start_time",
          "description": "Earliest timestamp (in Unix time) of a news item to return. By default, 24 hours ago.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "end_time",
          "description": "Latest timestamp (in Unix time) of a news item to return. By default, the current time.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "start_from",
          "type": "string"
        },
        {
          "name": "fields",
          "description": "Additional fields of [vk.com/dev/fields|profiles] and [vk.com/dev/fields_groups|communities] to return.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/newsfeed_search_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/newsfeed_search_extended_response"
        }
      }
    },
    {
      "name": "newsfeed.unignoreItem",
      "description": "Returns a hidden item to the newsfeed.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "type",
          "description": "Item type. Possible values: *'wall' – post on the wall,, *'tag' – tag on a photo,, *'profilephoto' – profile photo,, *'video' – video,, *'audio' – audio.",
          "type": "string",
          "required": true,
          "$ref": "objects.json#/definitions/newsfeed_ignore_item_type"
        },
        {
          "name": "owner_id",
          "description": "Item owner's identifier (user or community), \"Note that community id must be negative. 'owner_id=1' – user , 'owner_id=-1' – community \"",
          "type": "integer",
          "required": true
        },
        {
          "name": "item_id",
          "description": "Item identifier",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "track_code",
          "description": "Track code of unignored item",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "newsfeed.unsubscribe",
      "description": "Unsubscribes the current user from specified newsfeeds.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "type",
          "description": "Type of object from which to unsubscribe: 'note' — note, 'photo' — photo, 'post' — post on user wall or community wall, 'topic' — topic, 'video' — video",
          "type": "string",
          "required": true,
          "enum": [
            "note",
            "photo",
            "post",
            "topic",
            "video"
          ]
        },
        {
          "name": "owner_id",
          "description": "Object owner ID.",
          "type": "integer"
        },
        {
          "name": "item_id",
          "description": "Object ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "notes.add",
      "description": "Creates a new note for the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "title",
          "description": "Note title.",
          "type": "string",
          "required": true
        },
        {
          "name": "text",
          "description": "Note text.",
          "type": "string",
          "required": true
        },
        {
          "name": "privacy_view",
          "type": "array",
          "default": "all",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "privacy_comment",
          "type": "array",
          "default": "all",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/notes_add_response"
        }
      }
    },
    {
      "name": "notes.createComment",
      "description": "Adds a new comment on a note.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "note_id",
          "description": "Note ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "owner_id",
          "description": "Note owner ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "reply_to",
          "description": "ID of the user to whom the reply is addressed (if the comment is a reply to another comment).",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "message",
          "description": "Comment text.",
          "type": "string",
          "required": true
        },
        {
          "name": "guid",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/notes_createComment_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_note"
        },
        {
          "$ref": "errors.json#/errors/api_error_access_note_comment"
        }
      ]
    },
    {
      "name": "notes.delete",
      "description": "Deletes a note of the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "note_id",
          "description": "Note ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_note_id"
        }
      ]
    },
    {
      "name": "notes.deleteComment",
      "description": "Deletes a comment on a note.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "owner_id",
          "description": "Note owner ID.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_note"
        },
        {
          "$ref": "errors.json#/errors/api_error_access_comment"
        }
      ]
    },
    {
      "name": "notes.edit",
      "description": "Edits a note of the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "note_id",
          "description": "Note ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "title",
          "description": "Note title.",
          "type": "string",
          "required": true
        },
        {
          "name": "text",
          "description": "Note text.",
          "type": "string",
          "required": true
        },
        {
          "name": "privacy_view",
          "type": "array",
          "default": "all",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "privacy_comment",
          "type": "array",
          "default": "all",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_note_id"
        }
      ]
    },
    {
      "name": "notes.editComment",
      "description": "Edits a comment on a note.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "owner_id",
          "description": "Note owner ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "message",
          "description": "New comment text.",
          "type": "string",
          "required": true,
          "minLength": 2
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_comment"
        }
      ]
    },
    {
      "name": "notes.get",
      "description": "Returns a list of notes created by a user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "note_ids",
          "description": "Note IDs.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "user_id",
          "description": "Note owner ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of notes to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "sort",
          "type": "integer",
          "default": 0,
          "minimum": 0,
          "enum": [
            0,
            1
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/notes_get_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_note_id"
        }
      ]
    },
    {
      "name": "notes.getById",
      "description": "Returns a note by its ID.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "note_id",
          "description": "Note ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "owner_id",
          "description": "Note owner ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "need_wiki",
          "type": "boolean",
          "default": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/notes_getById_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_note"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_note_id"
        }
      ]
    },
    {
      "name": "notes.getComments",
      "description": "Returns a list of comments on a note.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "note_id",
          "description": "Note ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "owner_id",
          "description": "Note owner ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "sort",
          "type": "integer",
          "default": 0,
          "minimum": 0,
          "enum": [
            0,
            1
          ]
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of comments to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 100
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/notes_getComments_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_note"
        }
      ]
    },
    {
      "name": "notes.restoreComment",
      "description": "Restores a deleted comment on a note.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "owner_id",
          "description": "Note owner ID.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_comment"
        }
      ]
    },
    {
      "name": "notifications.get",
      "description": "Returns a list of notifications about other users' feedback to the current user's wall posts.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "count",
          "description": "Number of notifications to return.",
          "type": "integer",
          "default": 30,
          "minimum": 1,
          "maximum": 100
        },
        {
          "name": "start_from",
          "type": "string"
        },
        {
          "name": "filters",
          "description": "Type of notifications to return: 'wall' — wall posts, 'mentions' — mentions in wall posts, comments, or topics, 'comments' — comments to wall posts, photos, and videos, 'likes' — likes, 'reposted' — wall posts that are copied from the current user's wall, 'followers' — new followers, 'friends' — accepted friend requests",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "wall",
              "mentions",
              "comments",
              "likes",
              "reposted",
              "followers",
              "friends"
            ]
          }
        },
        {
          "name": "start_time",
          "description": "Earliest timestamp (in Unix time) of a notification to return. By default, 24 hours ago.",
          "type": "integer"
        },
        {
          "name": "end_time",
          "description": "Latest timestamp (in Unix time) of a notification to return. By default, the current time.",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/notifications_get_response"
        }
      }
    },
    {
      "name": "notifications.markAsViewed",
      "description": "Resets the counter of new notifications about other users' feedback to the current user's wall posts.",
      "access_token_type": [
        "user"
      ],
      "parameters": [],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/notifications_markAsViewed_response"
        }
      }
    },
    {
      "name": "notifications.sendMessage",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "user_ids",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer",
            "minimum": 0
          },
          "minItems": 1,
          "maxItems": 100
        },
        {
          "name": "message",
          "type": "string",
          "required": true,
          "maxLength": 254
        },
        {
          "name": "fragment",
          "type": "string",
          "maxLength": 2047
        },
        {
          "name": "group_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "random_id",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/notifications_sendMessage_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_group_app_is_not_installed_in_community"
        }
      ]
    },
    {
      "name": "orders.cancelSubscription",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "user_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "subscription_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "pending_cancel",
          "type": "boolean",
          "default": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/orders_cancelSubscription_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_apps_subscription_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_apps_subscription_invalid_status"
        }
      ]
    },
    {
      "name": "orders.changeState",
      "description": "Changes order status.",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "order_id",
          "description": "order ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "action",
          "description": "action to be done with the order. Available actions: *cancel — to cancel unconfirmed order. *charge — to confirm unconfirmed order. Applies only if processing of [vk.com/dev/payments_status|order_change_state] notification failed. *refund — to cancel confirmed order.",
          "type": "string",
          "required": true,
          "enum": [
            "cancel",
            "charge",
            "refund"
          ]
        },
        {
          "name": "app_order_id",
          "description": "internal ID of the order in the application.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "test_mode",
          "description": "if this parameter is set to 1, this method returns a list of test mode orders. By default — 0.",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/orders_changeState_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_limits"
        },
        {
          "$ref": "errors.json#/errors/api_error_action_failed"
        }
      ]
    },
    {
      "name": "orders.get",
      "description": "Returns a list of orders.",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "description": "number of returned orders.",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 1000
        },
        {
          "name": "test_mode",
          "description": "if this parameter is set to 1, this method returns a list of test mode orders. By default — 0.",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/orders_get_response"
        }
      }
    },
    {
      "name": "orders.getAmount",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "votes",
          "type": "array",
          "required": true,
          "items": {
            "type": "string"
          },
          "maxItems": 100
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/orders_getAmount_response"
        }
      }
    },
    {
      "name": "orders.getById",
      "description": "Returns information about orders by their IDs.",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "order_id",
          "description": "order ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "order_ids",
          "description": "order IDs (when information about several orders is requested).",
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        {
          "name": "test_mode",
          "description": "if this parameter is set to 1, this method returns a list of test mode orders. By default — 0.",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/orders_getById_response"
        }
      }
    },
    {
      "name": "orders.getUserSubscriptionById",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "user_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "subscription_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/orders_getUserSubscriptionById_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_apps_subscription_not_found"
        }
      ]
    },
    {
      "name": "orders.getUserSubscriptions",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "user_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/orders_getUserSubscriptions_response"
        }
      }
    },
    {
      "name": "orders.updateSubscription",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "user_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "subscription_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "price",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/orders_updateSubscription_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_apps_subscription_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_apps_subscription_invalid_status"
        }
      ]
    },
    {
      "name": "pages.clearCache",
      "description": "Allows to clear the cache of particular 'external' pages which may be attached to VK posts.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "url",
          "description": "Address of the page where you need to refesh the cached version",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "pages.get",
      "description": "Returns information about a wiki page.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "Page owner ID.",
          "type": "integer"
        },
        {
          "name": "page_id",
          "description": "Wiki page ID.",
          "type": "integer"
        },
        {
          "name": "global",
          "description": "'1' — to return information about a global wiki page",
          "type": "boolean"
        },
        {
          "name": "site_preview",
          "description": "'1' — resulting wiki page is a preview for the attached link",
          "type": "boolean"
        },
        {
          "name": "title",
          "description": "Wiki page title.",
          "type": "string"
        },
        {
          "name": "need_source",
          "type": "boolean"
        },
        {
          "name": "need_html",
          "description": "'1' — to return the page as HTML,",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/pages_get_response"
        }
      }
    },
    {
      "name": "pages.getHistory",
      "description": "Returns a list of all previous versions of a wiki page.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "page_id",
          "description": "Wiki page ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "group_id",
          "description": "ID of the community that owns the wiki page.",
          "type": "integer"
        },
        {
          "name": "user_id",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/pages_getHistory_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_page"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_page_id"
        }
      ]
    },
    {
      "name": "pages.getTitles",
      "description": "Returns a list of wiki pages in a group.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of the community that owns the wiki page.",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/pages_getTitles_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_page"
        }
      ]
    },
    {
      "name": "pages.getVersion",
      "description": "Returns the text of one of the previous versions of a wiki page.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "version_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "group_id",
          "description": "ID of the community that owns the wiki page.",
          "type": "integer"
        },
        {
          "name": "user_id",
          "type": "integer"
        },
        {
          "name": "need_html",
          "description": "'1' — to return the page as HTML",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/pages_getVersion_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_page"
        }
      ]
    },
    {
      "name": "pages.parseWiki",
      "description": "Returns HTML representation of the wiki markup.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "text",
          "description": "Text of the wiki page.",
          "type": "string",
          "required": true
        },
        {
          "name": "group_id",
          "description": "ID of the group in the context of which this markup is interpreted.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/pages_parseWiki_response"
        }
      }
    },
    {
      "name": "pages.save",
      "description": "Saves the text of a wiki page.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "text",
          "description": "Text of the wiki page in wiki-format.",
          "type": "string"
        },
        {
          "name": "page_id",
          "description": "Wiki page ID. The 'title' parameter can be passed instead of 'pid'.",
          "type": "integer"
        },
        {
          "name": "group_id",
          "description": "ID of the community that owns the wiki page.",
          "type": "integer"
        },
        {
          "name": "user_id",
          "description": "User ID",
          "type": "integer"
        },
        {
          "name": "title",
          "description": "Wiki page title.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/pages_save_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_page"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_page_id"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_title"
        }
      ]
    },
    {
      "name": "pages.saveAccess",
      "description": "Saves modified read and edit access settings for a wiki page.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "page_id",
          "description": "Wiki page ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "group_id",
          "description": "ID of the community that owns the wiki page.",
          "type": "integer"
        },
        {
          "name": "user_id",
          "type": "integer"
        },
        {
          "name": "view",
          "description": "Who can view the wiki page: '1' — only community members, '2' — all users can view the page, '0' — only community managers",
          "type": "integer",
          "enum": [
            0,
            1,
            2
          ],
          "enumNames": [
            "managers",
            "members",
            "all"
          ]
        },
        {
          "name": "edit",
          "description": "Who can edit the wiki page: '1' — only community members, '2' — all users can edit the page, '0' — only community managers",
          "type": "integer",
          "enum": [
            0,
            1,
            2
          ],
          "enumNames": [
            "managers",
            "members",
            "all"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/pages_saveAccess_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_page"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_page_id"
        }
      ]
    },
    {
      "name": "photos.confirmTag",
      "description": "Confirms a tag on a photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "photo_id",
          "description": "Photo ID.",
          "type": "string",
          "required": true
        },
        {
          "name": "tag_id",
          "description": "Tag ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "photos.copy",
      "description": "Allows to copy a photo to the \"Saved photos\" album",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "photo's owner ID",
          "type": "integer",
          "required": true
        },
        {
          "name": "photo_id",
          "description": "photo ID",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "access_key",
          "description": "for private photos",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_copy_response"
        }
      }
    },
    {
      "name": "photos.createAlbum",
      "description": "Creates an empty photo album.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "title",
          "description": "Album title.",
          "type": "string",
          "required": true,
          "minLength": 2
        },
        {
          "name": "group_id",
          "description": "ID of the community in which the album will be created.",
          "type": "integer"
        },
        {
          "name": "description",
          "description": "Album description.",
          "type": "string"
        },
        {
          "name": "privacy_view",
          "type": "array",
          "default": "all",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "privacy_comment",
          "type": "array",
          "default": "all",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "upload_by_admins_only",
          "type": "boolean"
        },
        {
          "name": "comments_disabled",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_createAlbum_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_albums_limit"
        }
      ]
    },
    {
      "name": "photos.createComment",
      "description": "Adds a new comment on the photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "photo_id",
          "description": "Photo ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "message",
          "description": "Comment text.",
          "type": "string"
        },
        {
          "name": "attachments",
          "description": "(Required if 'message' is not set.) List of objects attached to the post, in the following format: \"<owner_id>_<media_id>,<owner_id>_<media_id>\", '' — Type of media attachment: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, '<owner_id>' — Media attachment owner ID. '<media_id>' — Media attachment ID. Example: \"photo100172_166443618,photo66748_265827614\"",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "from_group",
          "description": "'1' — to post a comment from the community",
          "type": "boolean"
        },
        {
          "name": "reply_to_comment",
          "type": "integer"
        },
        {
          "name": "sticker_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "access_key",
          "type": "string"
        },
        {
          "name": "guid",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_createComment_response"
        }
      }
    },
    {
      "name": "photos.delete",
      "description": "Deletes a photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "photo_id",
          "description": "Photo ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "photos.deleteAlbum",
      "description": "Deletes a photo album belonging to the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "album_id",
          "description": "Album ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "group_id",
          "description": "ID of the community that owns the album.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_album_id"
        }
      ]
    },
    {
      "name": "photos.deleteComment",
      "description": "Deletes a comment on the photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_deleteComment_response"
        }
      }
    },
    {
      "name": "photos.edit",
      "description": "Edits the caption of a photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "photo_id",
          "description": "Photo ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "caption",
          "description": "New caption for the photo. If this parameter is not set, it is considered to be equal to an empty string.",
          "type": "string"
        },
        {
          "name": "latitude",
          "type": "number"
        },
        {
          "name": "longitude",
          "type": "number"
        },
        {
          "name": "place_str",
          "type": "string"
        },
        {
          "name": "foursquare_id",
          "type": "string"
        },
        {
          "name": "delete_place",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "photos.editAlbum",
      "description": "Edits information about a photo album.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "album_id",
          "description": "ID of the photo album to be edited.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "title",
          "description": "New album title.",
          "type": "string"
        },
        {
          "name": "description",
          "description": "New album description.",
          "type": "string"
        },
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the album.",
          "type": "integer"
        },
        {
          "name": "privacy_view",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "privacy_comment",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "upload_by_admins_only",
          "type": "boolean"
        },
        {
          "name": "comments_disabled",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_album_id"
        }
      ]
    },
    {
      "name": "photos.editComment",
      "description": "Edits a comment on a photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "message",
          "description": "New text of the comment.",
          "type": "string"
        },
        {
          "name": "attachments",
          "description": "(Required if 'message' is not set.) List of objects attached to the post, in the following format: \"<owner_id>_<media_id>,<owner_id>_<media_id>\", '' — Type of media attachment: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, '<owner_id>' — Media attachment owner ID. '<media_id>' — Media attachment ID. Example: \"photo100172_166443618,photo66748_265827614\"",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "photos.get",
      "description": "Returns a list of a user's or community's photos.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photos. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "album_id",
          "description": "Photo album ID. To return information about photos from service albums, use the following string values: 'profile, wall, saved'.",
          "type": "string"
        },
        {
          "name": "photo_ids",
          "description": "Photo IDs.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "rev",
          "description": "Sort order: '1' — reverse chronological, '0' — chronological",
          "type": "boolean"
        },
        {
          "name": "extended",
          "description": "'1' — to return additional 'likes', 'comments', and 'tags' fields, '0' — (default)",
          "type": "boolean"
        },
        {
          "name": "feed_type",
          "description": "Type of feed obtained in 'feed' field of the method.",
          "type": "string"
        },
        {
          "name": "feed",
          "description": "unixtime, that can be obtained with [vk.com/dev/newsfeed.get|newsfeed.get] method in date field to get all photos uploaded by the user on a specific day, or photos the user has been tagged on. Also, 'uid' parameter of the user the event happened with shall be specified.",
          "type": "integer"
        },
        {
          "name": "photo_sizes",
          "description": "'1' — to return photo sizes in a [vk.com/dev/photo_sizes|special format]",
          "type": "boolean"
        },
        {
          "name": "offset",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "type": "integer",
          "default": 50,
          "minimum": 0,
          "maximum": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_get_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/photos_get_extended_response"
        }
      }
    },
    {
      "name": "photos.getAlbums",
      "description": "Returns a list of a user's or community's photo albums.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the albums.",
          "type": "integer"
        },
        {
          "name": "album_ids",
          "description": "Album IDs.",
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of albums.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of albums to return.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "need_system",
          "description": "'1' — to return system albums with negative IDs",
          "type": "boolean"
        },
        {
          "name": "need_covers",
          "description": "'1' — to return an additional 'thumb_src' field, '0' — (default)",
          "type": "boolean"
        },
        {
          "name": "photo_sizes",
          "description": "'1' — to return photo sizes in a",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_getAlbums_response"
        }
      }
    },
    {
      "name": "photos.getAlbumsCount",
      "description": "Returns the number of photo albums belonging to a user or community.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer"
        },
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_getAlbumsCount_response"
        }
      }
    },
    {
      "name": "photos.getAll",
      "description": "Returns a list of photos belonging to a user or community, in reverse chronological order.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of a user or community that owns the photos. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "extended",
          "description": "'1' — to return detailed information about photos",
          "type": "boolean"
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of photos. By default, '0'.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of photos to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "photo_sizes",
          "description": "'1' – to return image sizes in [vk.com/dev/photo_sizes|special format].",
          "type": "boolean"
        },
        {
          "name": "no_service_albums",
          "description": "'1' – to return photos only from standard albums, '0' – to return all photos including those in service albums, e.g., 'My wall photos' (default)",
          "type": "boolean"
        },
        {
          "name": "need_hidden",
          "description": "'1' – to show information about photos being hidden from the block above the wall.",
          "type": "boolean"
        },
        {
          "name": "skip_hidden",
          "description": "'1' – not to return photos being hidden from the block above the wall. Works only with owner_id>0, no_service_albums is ignored.",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_getAll_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/photos_getAll_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_blocked"
        }
      ]
    },
    {
      "name": "photos.getAllComments",
      "description": "Returns a list of comments on a specific photo album or all albums of the user sorted in reverse chronological order.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the album(s).",
          "type": "integer"
        },
        {
          "name": "album_id",
          "description": "Album ID. If the parameter is not set, comments on all of the user's albums will be returned.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "need_likes",
          "description": "'1' — to return an additional 'likes' field, '0' — (default)",
          "type": "boolean"
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of comments. By default, '0'.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of comments to return. By default, '20'. Maximum value, '100'.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_getAllComments_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_album_id"
        }
      ]
    },
    {
      "name": "photos.getById",
      "description": "Returns information about photos by their IDs.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "photos",
          "description": "IDs separated with a comma, that are IDs of users who posted photos and IDs of photos themselves with an underscore character between such IDs. To get information about a photo in the group album, you shall specify group ID instead of user ID. Example: \"1_129207899,6492_135055734, , -20629724_271945303\"",
          "type": "array",
          "required": true,
          "items": {
            "type": "string"
          }
        },
        {
          "name": "extended",
          "description": "'1' — to return additional fields, '0' — (default)",
          "type": "boolean"
        },
        {
          "name": "photo_sizes",
          "description": "'1' — to return photo sizes in a",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_getById_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/photos_getById_extended_response"
        }
      }
    },
    {
      "name": "photos.getChatUploadServer",
      "description": "Returns an upload link for chat cover pictures.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "chat_id",
          "description": "ID of the chat for which you want to upload a cover photo.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "crop_x",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "crop_y",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "crop_width",
          "description": "Width (in pixels) of the photo after cropping.",
          "type": "integer",
          "minimum": 200
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_getUploadServer_response"
        }
      }
    },
    {
      "name": "photos.getComments",
      "description": "Returns a list of comments on a photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "photo_id",
          "description": "Photo ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "need_likes",
          "description": "'1' — to return an additional 'likes' field, '0' — (default)",
          "type": "boolean"
        },
        {
          "name": "start_comment_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of comments. By default, '0'.",
          "type": "integer"
        },
        {
          "name": "count",
          "description": "Number of comments to return.",
          "type": "integer",
          "default": "20",
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "sort",
          "description": "Sort order: 'asc' — old first, 'desc' — new first",
          "type": "string",
          "enum": [
            "asc",
            "desc"
          ],
          "enumNames": [
            "old first",
            "new first"
          ]
        },
        {
          "name": "access_key",
          "type": "string"
        },
        {
          "name": "extended",
          "type": "boolean"
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_getComments_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/photos_getComments_extended_response"
        }
      }
    },
    {
      "name": "photos.getMarketAlbumUploadServer",
      "description": "Returns the server address for market album photo upload.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_getUploadServer_response"
        }
      }
    },
    {
      "name": "photos.getMarketUploadServer",
      "description": "Returns the server address for market photo upload.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "main_photo",
          "description": "'1' if you want to upload the main item photo.",
          "type": "boolean"
        },
        {
          "name": "crop_x",
          "description": "X coordinate of the crop left upper corner.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "crop_y",
          "description": "Y coordinate of the crop left upper corner.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "crop_width",
          "description": "Width of the cropped photo in px.",
          "type": "integer",
          "minimum": 400
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_getMarketUploadServer_response"
        }
      }
    },
    {
      "name": "photos.getMessagesUploadServer",
      "description": "Returns the server address for photo upload in a private message for a user.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "peer_id",
          "description": "Destination ID. \"For user: 'User ID', e.g. '12345'. For chat: '2000000000' + 'Chat ID', e.g. '2000000001'. For community: '- Community ID', e.g. '-12345'. \"",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_getMessagesUploadServer_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_deny_send"
        }
      ]
    },
    {
      "name": "photos.getNewTags",
      "description": "Returns a list of photos with tags that have not been viewed.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of photos.",
          "type": "integer"
        },
        {
          "name": "count",
          "description": "Number of photos to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 100
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_getNewTags_response"
        }
      }
    },
    {
      "name": "photos.getOwnerCoverPhotoUploadServer",
      "description": "Returns the server address for owner cover upload.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of community that owns the album (if the photo will be uploaded to a community album).",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "crop_x",
          "description": "X coordinate of the left-upper corner",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "crop_y",
          "description": "Y coordinate of the left-upper corner",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "crop_x2",
          "description": "X coordinate of the right-bottom corner",
          "type": "integer",
          "default": 795,
          "minimum": 0
        },
        {
          "name": "crop_y2",
          "description": "Y coordinate of the right-bottom corner",
          "type": "integer",
          "default": 200,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_getUploadServer_response"
        }
      }
    },
    {
      "name": "photos.getOwnerPhotoUploadServer",
      "description": "Returns an upload server address for a profile or community photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "identifier of a community or current user. \"Note that community id must be negative. 'owner_id=1' – user, 'owner_id=-1' – community, \"",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_getUploadServer_response"
        }
      }
    },
    {
      "name": "photos.getTags",
      "description": "Returns a list of tags on a photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "photo_id",
          "description": "Photo ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "access_key",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_getTags_response"
        }
      }
    },
    {
      "name": "photos.getUploadServer",
      "description": "Returns the server address for photo upload.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of community that owns the album (if the photo will be uploaded to a community album).",
          "type": "integer"
        },
        {
          "name": "album_id",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_getUploadServer_response"
        }
      }
    },
    {
      "name": "photos.getUserPhotos",
      "description": "Returns a list of photos in which a user is tagged.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of photos. By default, '0'.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of photos to return. Maximum value is 1000.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 1000
        },
        {
          "name": "extended",
          "description": "'1' — to return an additional 'likes' field, '0' — (default)",
          "type": "boolean"
        },
        {
          "name": "sort",
          "description": "Sort order: '1' — by date the tag was added in ascending order, '0' — by date the tag was added in descending order",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_getUserPhotos_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/photos_getUserPhotos_extended_response"
        }
      }
    },
    {
      "name": "photos.getWallUploadServer",
      "description": "Returns the server address for photo upload onto a user's wall.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "ID of community to whose wall the photo will be uploaded.",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_getWallUploadServer_response"
        }
      }
    },
    {
      "name": "photos.makeCover",
      "description": "Makes a photo into an album cover.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "photo_id",
          "description": "Photo ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "album_id",
          "description": "Album ID.",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "photos.move",
      "description": "Moves a photo from one album to another.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "target_album_id",
          "description": "ID of the album to which the photo will be moved.",
          "type": "integer",
          "required": true
        },
        {
          "name": "photo_id",
          "description": "Photo ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "photos.putTag",
      "description": "Adds a tag on the photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "photo_id",
          "description": "Photo ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "user_id",
          "description": "ID of the user to be tagged.",
          "type": "integer",
          "required": true
        },
        {
          "name": "x",
          "description": "Upper left-corner coordinate of the tagged area (as a percentage of the photo's width).",
          "type": "number"
        },
        {
          "name": "y",
          "description": "Upper left-corner coordinate of the tagged area (as a percentage of the photo's height).",
          "type": "number"
        },
        {
          "name": "x2",
          "description": "Lower right-corner coordinate of the tagged area (as a percentage of the photo's width).",
          "type": "number"
        },
        {
          "name": "y2",
          "description": "Lower right-corner coordinate of the tagged area (as a percentage of the photo's height).",
          "type": "number"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_putTag_response"
        }
      }
    },
    {
      "name": "photos.removeTag",
      "description": "Removes a tag from a photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "photo_id",
          "description": "Photo ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "tag_id",
          "description": "Tag ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "photos.reorderAlbums",
      "description": "Reorders the album in the list of user albums.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the album.",
          "type": "integer"
        },
        {
          "name": "album_id",
          "description": "Album ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "before",
          "description": "ID of the album before which the album in question shall be placed.",
          "type": "integer"
        },
        {
          "name": "after",
          "description": "ID of the album after which the album in question shall be placed.",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "photos.reorderPhotos",
      "description": "Reorders the photo in the list of photos of the user album.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "photo_id",
          "description": "Photo ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "before",
          "description": "ID of the photo before which the photo in question shall be placed.",
          "type": "integer"
        },
        {
          "name": "after",
          "description": "ID of the photo after which the photo in question shall be placed.",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_photos"
        }
      ]
    },
    {
      "name": "photos.report",
      "description": "Reports (submits a complaint about) a photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer",
          "required": true
        },
        {
          "name": "photo_id",
          "description": "Photo ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "reason",
          "description": "Reason for the complaint: '0' – spam, '1' – child pornography, '2' – extremism, '3' – violence, '4' – drug propaganda, '5' – adult material, '6' – insult, abuse",
          "type": "integer",
          "minimum": 0,
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "enumNames": [
            "spam",
            "child pornography",
            "extremism",
            "violence",
            "drug propaganda",
            "adult material",
            "insult abuse"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "photos.reportComment",
      "description": "Reports (submits a complaint about) a comment on a photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer",
          "required": true
        },
        {
          "name": "comment_id",
          "description": "ID of the comment being reported.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "reason",
          "description": "Reason for the complaint: '0' – spam, '1' – child pornography, '2' – extremism, '3' – violence, '4' – drug propaganda, '5' – adult material, '6' – insult, abuse",
          "type": "integer",
          "minimum": 0,
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "enumNames": [
            "spam",
            "child pornography",
            "extremism",
            "violence",
            "drug propaganda",
            "adult material",
            "insult abuse"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "photos.restore",
      "description": "Restores a deleted photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "photo_id",
          "description": "Photo ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "photos.restoreComment",
      "description": "Restores a deleted comment on a photo.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the photo.",
          "type": "integer"
        },
        {
          "name": "comment_id",
          "description": "ID of the deleted comment.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_restoreComment_response"
        }
      }
    },
    {
      "name": "photos.save",
      "description": "Saves photos after successful uploading.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "album_id",
          "description": "ID of the album to save photos to.",
          "type": "integer"
        },
        {
          "name": "group_id",
          "description": "ID of the community to save photos to.",
          "type": "integer"
        },
        {
          "name": "server",
          "description": "Parameter returned when photos are [vk.com/dev/upload_files|uploaded to server].",
          "type": "integer"
        },
        {
          "name": "photos_list",
          "description": "Parameter returned when photos are [vk.com/dev/upload_files|uploaded to server].",
          "type": "string"
        },
        {
          "name": "hash",
          "description": "Parameter returned when photos are [vk.com/dev/upload_files|uploaded to server].",
          "type": "string"
        },
        {
          "name": "latitude",
          "description": "Geographical latitude, in degrees (from '-90' to '90').",
          "type": "number"
        },
        {
          "name": "longitude",
          "description": "Geographical longitude, in degrees (from '-180' to '180').",
          "type": "number"
        },
        {
          "name": "caption",
          "description": "Text describing the photo. 2048 digits max.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_save_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_album_id"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_server"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_hash"
        }
      ]
    },
    {
      "name": "photos.saveMarketAlbumPhoto",
      "description": "Saves market album photos after successful uploading.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "photo",
          "description": "Parameter returned when photos are [vk.com/dev/upload_files|uploaded to server].",
          "type": "string",
          "required": true
        },
        {
          "name": "server",
          "description": "Parameter returned when photos are [vk.com/dev/upload_files|uploaded to server].",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "hash",
          "description": "Parameter returned when photos are [vk.com/dev/upload_files|uploaded to server].",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_saveMarketAlbumPhoto_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_hash"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_photo"
        }
      ]
    },
    {
      "name": "photos.saveMarketPhoto",
      "description": "Saves market photos after successful uploading.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "photo",
          "description": "Parameter returned when photos are [vk.com/dev/upload_files|uploaded to server].",
          "type": "string",
          "required": true
        },
        {
          "name": "server",
          "description": "Parameter returned when photos are [vk.com/dev/upload_files|uploaded to server].",
          "type": "integer",
          "required": true
        },
        {
          "name": "hash",
          "description": "Parameter returned when photos are [vk.com/dev/upload_files|uploaded to server].",
          "type": "string",
          "required": true
        },
        {
          "name": "crop_data",
          "description": "Parameter returned when photos are [vk.com/dev/upload_files|uploaded to server].",
          "type": "string"
        },
        {
          "name": "crop_hash",
          "description": "Parameter returned when photos are [vk.com/dev/upload_files|uploaded to server].",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_saveMarketPhoto_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_hash"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_photo"
        }
      ]
    },
    {
      "name": "photos.saveMessagesPhoto",
      "description": "Saves a photo after being successfully uploaded. URL obtained with [vk.com/dev/photos.getMessagesUploadServer|photos.getMessagesUploadServer] method.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "photo",
          "description": "Parameter returned when the photo is [vk.com/dev/upload_files|uploaded to the server].",
          "type": "string",
          "required": true
        },
        {
          "name": "server",
          "type": "integer"
        },
        {
          "name": "hash",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_saveMessagesPhoto_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_album_id"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_server"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_hash"
        }
      ]
    },
    {
      "name": "photos.saveOwnerCoverPhoto",
      "description": "Saves cover photo after successful uploading.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "hash",
          "description": "Parameter returned when photos are [vk.com/dev/upload_files|uploaded to server].",
          "type": "string",
          "required": true
        },
        {
          "name": "photo",
          "description": "Parameter returned when photos are [vk.com/dev/upload_files|uploaded to server].",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_saveOwnerCoverPhoto_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_photo"
        }
      ]
    },
    {
      "name": "photos.saveOwnerPhoto",
      "description": "Saves a profile or community photo. Upload URL can be got with the [vk.com/dev/photos.getOwnerPhotoUploadServer|photos.getOwnerPhotoUploadServer] method.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "server",
          "description": "parameter returned after [vk.com/dev/upload_files|photo upload].",
          "type": "string"
        },
        {
          "name": "hash",
          "description": "parameter returned after [vk.com/dev/upload_files|photo upload].",
          "type": "string"
        },
        {
          "name": "photo",
          "description": "parameter returned after [vk.com/dev/upload_files|photo upload].",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_saveOwnerPhoto_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_photo"
        }
      ]
    },
    {
      "name": "photos.saveWallPhoto",
      "description": "Saves a photo to a user's or community's wall after being uploaded.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "ID of the user on whose wall the photo will be saved.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "group_id",
          "description": "ID of community on whose wall the photo will be saved.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "photo",
          "description": "Parameter returned when the the photo is [vk.com/dev/upload_files|uploaded to the server].",
          "type": "string",
          "required": true
        },
        {
          "name": "server",
          "type": "integer"
        },
        {
          "name": "hash",
          "type": "string"
        },
        {
          "name": "latitude",
          "description": "Geographical latitude, in degrees (from '-90' to '90').",
          "type": "number"
        },
        {
          "name": "longitude",
          "description": "Geographical longitude, in degrees (from '-180' to '180').",
          "type": "number"
        },
        {
          "name": "caption",
          "description": "Text describing the photo. 2048 digits max.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_saveWallPhoto_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_param_album_id"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_server"
        },
        {
          "$ref": "errors.json#/errors/api_error_param_hash"
        }
      ]
    },
    {
      "name": "photos.search",
      "description": "Returns a list of photos.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "q",
          "description": "Search query string.",
          "type": "string"
        },
        {
          "name": "lat",
          "description": "Geographical latitude, in degrees (from '-90' to '90').",
          "type": "number"
        },
        {
          "name": "long",
          "description": "Geographical longitude, in degrees (from '-180' to '180').",
          "type": "number"
        },
        {
          "name": "start_time",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "end_time",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "sort",
          "description": "Sort order:",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of photos.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of photos to return.",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 1000
        },
        {
          "name": "radius",
          "description": "Radius of search in meters (works very approximately). Available values: '10', '100', '800', '6000', '50000'.",
          "type": "integer",
          "default": 5000,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/photos_search_response"
        }
      }
    },
    {
      "name": "polls.addVote",
      "description": "Adds the current user's vote to the selected answer in the poll.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the poll. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "poll_id",
          "description": "Poll ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "answer_ids",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "is_board",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/polls_addVote_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_polls_access"
        },
        {
          "$ref": "errors.json#/errors/api_error_polls_answer_id"
        },
        {
          "$ref": "errors.json#/errors/api_error_polls_poll_id"
        }
      ]
    },
    {
      "name": "polls.create",
      "description": "Creates polls that can be attached to the users' or communities' posts.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "question",
          "description": "question text",
          "type": "string"
        },
        {
          "name": "is_anonymous",
          "description": "'1' – anonymous poll, participants list is hidden,, '0' – public poll, participants list is available,, Default value is '0'.",
          "type": "boolean"
        },
        {
          "name": "is_multiple",
          "type": "boolean"
        },
        {
          "name": "end_date",
          "type": "integer",
          "minimum": 1550700000
        },
        {
          "name": "owner_id",
          "description": "If a poll will be added to a communty it is required to send a negative group identifier. Current user by default.",
          "type": "integer"
        },
        {
          "name": "add_answers",
          "description": "available answers list, for example: \" [\"yes\",\"no\",\"maybe\"]\", There can be from 1 to 10 answers.",
          "type": "string"
        },
        {
          "name": "photo_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "background_id",
          "type": "string",
          "enum": [
            1,
            2,
            3,
            4,
            6,
            8,
            9
          ]
        },
        {
          "name": "disable_unvote",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/polls_create_response"
        }
      }
    },
    {
      "name": "polls.deleteVote",
      "description": "Deletes the current user's vote from the selected answer in the poll.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the poll. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "poll_id",
          "description": "Poll ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "answer_id",
          "description": "Answer ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "is_board",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/polls_deleteVote_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_polls_access"
        },
        {
          "$ref": "errors.json#/errors/api_error_polls_answer_id"
        },
        {
          "$ref": "errors.json#/errors/api_error_polls_poll_id"
        }
      ]
    },
    {
      "name": "polls.edit",
      "description": "Edits created polls",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "poll owner id",
          "type": "integer"
        },
        {
          "name": "poll_id",
          "description": "edited poll's id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "question",
          "description": "new question text",
          "type": "string"
        },
        {
          "name": "add_answers",
          "description": "answers list, for example: , \"[\"yes\",\"no\",\"maybe\"]\"",
          "type": "string"
        },
        {
          "name": "edit_answers",
          "description": "object containing answers that need to be edited,, key – answer id, value – new answer text. Example: {\"382967099\":\"option1\", \"382967103\":\"option2\"}\"",
          "type": "string"
        },
        {
          "name": "delete_answers",
          "description": "list of answer ids to be deleted. For example: \"[382967099, 382967103]\"",
          "type": "string"
        },
        {
          "name": "end_date",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "photo_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "background_id",
          "type": "string",
          "enum": [
            0,
            1,
            2,
            3,
            4,
            6,
            8,
            9
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "polls.getById",
      "description": "Returns detailed information about a poll by its ID.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the poll. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "is_board",
          "description": "'1' – poll is in a board, '0' – poll is on a wall. '0' by default.",
          "type": "boolean"
        },
        {
          "name": "poll_id",
          "description": "Poll ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "extended",
          "type": "boolean"
        },
        {
          "name": "friends_count",
          "type": "integer",
          "default": 3,
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "name_case",
          "type": "string",
          "default": "nom",
          "enum": [
            "abl",
            "acc",
            "dat",
            "gen",
            "ins",
            "nom"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/polls_getById_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_polls_access"
        }
      ]
    },
    {
      "name": "polls.getVoters",
      "description": "Returns a list of IDs of users who selected specific answers in the poll.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the poll. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "poll_id",
          "description": "Poll ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "answer_ids",
          "description": "Answer IDs.",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "is_board",
          "type": "boolean"
        },
        {
          "name": "friends_only",
          "description": "'1' — to return only current user's friends, '0' — to return all users (default),",
          "type": "boolean"
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of voters. '0' — (default)",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of user IDs to return (if the 'friends_only' parameter is not set, maximum '1000', otherwise '10'). '100' — (default)",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "fields",
          "description": "Profile fields to return. Sample values: 'nickname', 'screen_name', 'sex', 'bdate (birthdate)', 'city', 'country', 'timezone', 'photo', 'photo_medium', 'photo_big', 'has_mobile', 'rate', 'contacts', 'education', 'online', 'counters'.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "name_case",
          "description": "Case for declension of user name and surname: , 'nom' — nominative (default) , 'gen' — genitive , 'dat' — dative , 'acc' — accusative , 'ins' — instrumental , 'abl' — prepositional",
          "type": "string",
          "enum": [
            "nom",
            "gen",
            "dat",
            "acc",
            "ins",
            "abl"
          ],
          "enumNames": [
            "nominative",
            "genitive",
            "dative",
            "accusative",
            "instrumental",
            "prepositional"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/polls_getVoters_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_polls_access"
        },
        {
          "$ref": "errors.json#/errors/api_error_polls_answer_id"
        },
        {
          "$ref": "errors.json#/errors/api_error_polls_poll_id"
        },
        {
          "$ref": "errors.json#/errors/api_error_polls_access_without_vote"
        }
      ]
    },
    {
      "name": "prettyCards.create",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "photo",
          "type": "string",
          "required": true
        },
        {
          "name": "title",
          "type": "string",
          "required": true
        },
        {
          "name": "link",
          "type": "string",
          "required": true,
          "maxLength": 2000
        },
        {
          "name": "price",
          "type": "string",
          "maxLength": 20
        },
        {
          "name": "price_old",
          "type": "string",
          "maxLength": 20
        },
        {
          "name": "button",
          "type": "string",
          "maxLength": 255
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/prettyCards_create_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_pretty_cards_too_many_cards"
        }
      ]
    },
    {
      "name": "prettyCards.delete",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "card_id",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/prettyCards_delete_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_pretty_cards_card_not_found"
        },
        {
          "$ref": "errors.json#/errors/api_error_pretty_cards_card_is_connected_to_post"
        }
      ]
    },
    {
      "name": "prettyCards.edit",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "card_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "photo",
          "type": "string"
        },
        {
          "name": "title",
          "type": "string"
        },
        {
          "name": "link",
          "type": "string",
          "maxLength": 2000
        },
        {
          "name": "price",
          "type": "string",
          "maxLength": 20
        },
        {
          "name": "price_old",
          "type": "string",
          "maxLength": 20
        },
        {
          "name": "button",
          "type": "string",
          "maxLength": 255
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/prettyCards_edit_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_pretty_cards_card_not_found"
        }
      ]
    },
    {
      "name": "prettyCards.get",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "type": "integer",
          "default": 10,
          "minimum": 0,
          "maximum": 100
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/prettyCards_get_response"
        }
      }
    },
    {
      "name": "prettyCards.getById",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "card_ids",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer"
          },
          "maxItems": 10
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/prettyCards_getById_response"
        }
      }
    },
    {
      "name": "prettyCards.getUploadURL",
      "access_token_type": [
        "user"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/prettyCards_getUploadURL_response"
        }
      }
    },
    {
      "name": "search.getHints",
      "description": "Allows the programmer to do a quick search for any substring.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "q",
          "description": "Search query string.",
          "type": "string"
        },
        {
          "name": "offset",
          "description": "Offset for querying specific result subset",
          "type": "integer",
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "limit",
          "description": "Maximum number of results to return.",
          "type": "integer",
          "default": 9,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "filters",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "search_global",
          "type": "boolean",
          "default": 1
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/search_getHints_response"
        }
      }
    },
    {
      "name": "secure.addAppEvent",
      "description": "Adds user activity information to an application",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "ID of a user to save the data",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "activity_id",
          "description": "there are 2 default activities: , * 1 – level. Works similar to ,, * 2 – points, saves points amount, Any other value is for saving completed missions",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "value",
          "description": "depends on activity_id: * 1 – number, current level number,, * 2 – number, current user's points amount, , Any other value is ignored",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_apps_already_unlocked"
        }
      ]
    },
    {
      "name": "secure.checkToken",
      "description": "Checks the user authentication in 'IFrame' and 'Flash' apps using the 'access_token' parameter.",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "token",
          "description": "client 'access_token'",
          "type": "string"
        },
        {
          "name": "ip",
          "description": "user 'ip address'. Note that user may access using the 'ipv6' address, in this case it is required to transmit the 'ipv6' address. If not transmitted, the address will not be checked.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/secure_checkToken_response"
        }
      }
    },
    {
      "name": "secure.getAppBalance",
      "description": "Returns payment balance of the application in hundredth of a vote.",
      "access_token_type": [
        "service"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/secure_getAppBalance_response"
        }
      }
    },
    {
      "name": "secure.getSMSHistory",
      "description": "Shows a list of SMS notifications sent by the application using [vk.com/dev/secure.sendSMSNotification|secure.sendSMSNotification] method.",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "user_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "date_from",
          "description": "filter by start date. It is set as UNIX-time.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "date_to",
          "description": "filter by end date. It is set as UNIX-time.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "limit",
          "description": "number of returned posts. By default — 1000.",
          "type": "integer",
          "default": 1000,
          "minimum": 0,
          "maximum": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/secure_getSMSHistory_response"
        }
      }
    },
    {
      "name": "secure.getTransactionsHistory",
      "description": "Shows history of votes transaction between users and the application.",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "type",
          "type": "integer"
        },
        {
          "name": "uid_from",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "uid_to",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "date_from",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "date_to",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "limit",
          "type": "integer",
          "default": 1000,
          "minimum": 0,
          "maximum": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/secure_getTransactionsHistory_response"
        }
      }
    },
    {
      "name": "secure.getUserLevel",
      "description": "Returns one of the previously set game levels of one or more users in the application.",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "user_ids",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/secure_getUserLevel_response"
        }
      }
    },
    {
      "name": "secure.giveEventSticker",
      "description": "Opens the game achievement and gives the user a sticker",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "user_ids",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "achievement_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/secure_giveEventSticker_response"
        }
      }
    },
    {
      "name": "secure.sendNotification",
      "description": "Sends notification to the user.",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "user_ids",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "user_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "message",
          "description": "notification text which should be sent in 'UTF-8' encoding ('254' characters maximum).",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/secure_sendNotification_response"
        }
      }
    },
    {
      "name": "secure.sendSMSNotification",
      "description": "Sends 'SMS' notification to a user's mobile device.",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "ID of the user to whom SMS notification is sent. The user shall allow the application to send him/her notifications (, +1).",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "message",
          "description": "'SMS' text to be sent in 'UTF-8' encoding. Only Latin letters and numbers are allowed. Maximum size is '160' characters.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_insufficient_funds"
        },
        {
          "$ref": "errors.json#/errors/api_error_mobile_not_activated"
        }
      ]
    },
    {
      "name": "secure.setCounter",
      "description": "Sets a counter which is shown to the user in bold in the left menu.",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "counters",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "user_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "counter",
          "description": "counter value.",
          "type": "integer"
        },
        {
          "name": "increment",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_menu"
        }
      ]
    },
    {
      "name": "stats.get",
      "description": "Returns statistics of a community or an application.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "app_id",
          "description": "Application ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "timestamp_from",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "timestamp_to",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "interval",
          "type": "string",
          "default": "day",
          "enum": [
            "all",
            "day",
            "month",
            "week",
            "year"
          ]
        },
        {
          "name": "intervals_count",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "filters",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "stats_groups",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "extended",
          "type": "boolean",
          "default": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/stats_get_response"
        }
      }
    },
    {
      "name": "stats.getPostReach",
      "description": "Returns stats for a wall post.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "post owner community id. Specify with \"-\" sign.",
          "type": "string",
          "required": true
        },
        {
          "name": "post_ids",
          "description": "wall posts id",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer",
            "minimum": 0
          },
          "maxItems": 30
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/stats_getPostReach_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_access_post"
        }
      ]
    },
    {
      "name": "stats.trackVisitor",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "id",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "status.get",
      "description": "Returns data required to show the status of a user or community.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID or community ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "group_id",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/status_get_response"
        }
      }
    },
    {
      "name": "status.set",
      "description": "Sets a new status for the current user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "text",
          "description": "Text of the new status.",
          "type": "string"
        },
        {
          "name": "group_id",
          "description": "Identifier of a community to set a status in. If left blank the status is set to current user.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_status_no_audio"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "storage.get",
      "description": "Returns a value of variable with the name set by key parameter.",
      "access_token_type": [
        "user",
        "group",
        "service"
      ],
      "parameters": [
        {
          "name": "key",
          "type": "string",
          "maxLength": 100
        },
        {
          "name": "keys",
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 1000
        },
        {
          "name": "user_id",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/storage_get_response"
        }
      }
    },
    {
      "name": "storage.getKeys",
      "description": "Returns the names of all variables.",
      "access_token_type": [
        "user",
        "group",
        "service"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "user id, whose variables names are returned if they were requested with a server method.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "description": "amount of variable names the info needs to be collected from.",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/storage_getKeys_response"
        }
      }
    },
    {
      "name": "storage.set",
      "description": "Saves a value of variable with the name set by 'key' parameter.",
      "access_token_type": [
        "user",
        "group",
        "service"
      ],
      "parameters": [
        {
          "name": "key",
          "type": "string",
          "required": true,
          "maxLength": 100
        },
        {
          "name": "value",
          "type": "string"
        },
        {
          "name": "user_id",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_limits"
        }
      ]
    },
    {
      "name": "stories.banOwner",
      "description": "Allows to hide stories from chosen sources from current user's feed.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owners_ids",
          "description": "List of sources IDs",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer"
          },
          "maxItems": 200
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "stories.delete",
      "description": "Allows to delete story.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "Story owner's ID. Current user id is used by default.",
          "type": "integer"
        },
        {
          "name": "story_id",
          "description": "Story ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "stories",
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 100
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "stories.get",
      "description": "Returns stories available for current user.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "Owner ID.",
          "type": "integer"
        },
        {
          "name": "extended",
          "description": "'1' — to return additional fields for users and communities. Default value is 0.",
          "type": "boolean",
          "default": false
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/stories_get_V5113_response"
        }
      }
    },
    {
      "name": "stories.getBanned",
      "description": "Returns list of sources hidden from current user's feed.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "extended",
          "description": "'1' — to return additional fields for users and communities. Default value is 0.",
          "type": "boolean"
        },
        {
          "name": "fields",
          "description": "Additional fields to return",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/stories_getBanned_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/stories_getBanned_extended_response"
        }
      }
    },
    {
      "name": "stories.getById",
      "description": "Returns story by its ID.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "stories",
          "description": "Stories IDs separated by commas. Use format {owner_id}+'_'+{story_id}, for example, 12345_54331.",
          "type": "array",
          "required": true,
          "items": {
            "type": "string"
          },
          "maxItems": 100
        },
        {
          "name": "extended",
          "description": "'1' — to return additional fields for users and communities. Default value is 0.",
          "type": "boolean",
          "default": false
        },
        {
          "name": "fields",
          "description": "Additional fields to return",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/stories_getById_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/stories_getById_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_story_expired"
        }
      ]
    },
    {
      "name": "stories.getPhotoUploadServer",
      "description": "Returns URL for uploading a story with photo.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "add_to_news",
          "description": "1 — to add the story to friend's feed.",
          "type": "boolean"
        },
        {
          "name": "user_ids",
          "description": "List of users IDs who can see the story.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "reply_to_story",
          "description": "ID of the story to reply with the current.",
          "type": "string"
        },
        {
          "name": "link_text",
          "description": "Link text (for community's stories only).",
          "type": "string",
          "$ref": "objects.json#/definitions/stories_upload_link_text"
        },
        {
          "name": "link_url",
          "description": "Link URL. Internal links on https://vk.com only.",
          "type": "string",
          "maxLength": 2048
        },
        {
          "name": "group_id",
          "description": "ID of the community to upload the story (should be verified or with the \"fire\" icon).",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "clickable_stickers",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/stories_getPhotoUploadServer_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_user_blocked"
        },
        {
          "$ref": "errors.json#/errors/api_error_story_incorrect_reply_privacy"
        },
        {
          "$ref": "errors.json#/errors/api_error_blocked"
        }
      ]
    },
    {
      "name": "stories.getReplies",
      "description": "Returns replies to the story.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "Story owner ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "story_id",
          "description": "Story ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "access_key",
          "description": "Access key for the private object.",
          "type": "string"
        },
        {
          "name": "extended",
          "description": "'1' — to return additional fields for users and communities. Default value is 0.",
          "type": "boolean",
          "default": false
        },
        {
          "name": "fields",
          "description": "Additional fields to return",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/stories_get_V5113_response"
        }
      }
    },
    {
      "name": "stories.getStats",
      "description": "Returns stories available for current user.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "Story owner ID. ",
          "type": "integer",
          "required": true
        },
        {
          "name": "story_id",
          "description": "Story ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/stories_getStats_response"
        }
      }
    },
    {
      "name": "stories.getVideoUploadServer",
      "description": "Allows to receive URL for uploading story with video.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "add_to_news",
          "description": "1 — to add the story to friend's feed.",
          "type": "boolean"
        },
        {
          "name": "user_ids",
          "description": "List of users IDs who can see the story.",
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0
          }
        },
        {
          "name": "reply_to_story",
          "description": "ID of the story to reply with the current.",
          "type": "string"
        },
        {
          "name": "link_text",
          "description": "Link text (for community's stories only).",
          "type": "string",
          "$ref": "objects.json#/definitions/stories_upload_link_text"
        },
        {
          "name": "link_url",
          "description": "Link URL. Internal links on https://vk.com only.",
          "type": "string",
          "maxLength": 2048
        },
        {
          "name": "group_id",
          "description": "ID of the community to upload the story (should be verified or with the \"fire\" icon).",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "clickable_stickers",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/stories_getVideoUploadServer_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_messages_user_blocked"
        },
        {
          "$ref": "errors.json#/errors/api_error_story_incorrect_reply_privacy"
        },
        {
          "$ref": "errors.json#/errors/api_error_blocked"
        }
      ]
    },
    {
      "name": "stories.getViewers",
      "description": "Returns a list of story viewers.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "Story owner ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "story_id",
          "description": "Story ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Maximum number of results.",
          "type": "integer",
          "default": 100,
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of results.",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "extended",
          "description": "'1' — to return detailed information about photos",
          "type": "boolean",
          "default": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/stories_getViewers_extended_V5115_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/stories_getViewers_extended_V5115_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_story_expired"
        }
      ]
    },
    {
      "name": "stories.hideAllReplies",
      "description": "Hides all replies in the last 24 hours from the user to current user's stories.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user whose replies should be hidden.",
          "type": "integer",
          "required": true
        },
        {
          "name": "group_id",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "stories.hideReply",
      "description": "Hides the reply to the current user's story.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user whose replies should be hidden.",
          "type": "integer",
          "required": true
        },
        {
          "name": "story_id",
          "description": "Story ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "stories.save",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "upload_results",
          "type": "array",
          "required": true,
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/stories_save_response"
        }
      }
    },
    {
      "name": "stories.search",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "q",
          "type": "string",
          "maxLength": 255
        },
        {
          "name": "place_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "latitude",
          "type": "number"
        },
        {
          "name": "longitude",
          "type": "number"
        },
        {
          "name": "radius",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "mentioned_id",
          "type": "integer"
        },
        {
          "name": "count",
          "type": "integer",
          "default": 20,
          "minimum": 1,
          "maximum": 1000
        },
        {
          "name": "extended",
          "type": "boolean"
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/stories_get_V5113_response"
        }
      }
    },
    {
      "name": "stories.sendInteraction",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "access_key",
          "type": "string",
          "required": true
        },
        {
          "name": "message",
          "type": "string",
          "maxLength": 1000
        },
        {
          "name": "is_broadcast",
          "type": "boolean",
          "default": false
        },
        {
          "name": "is_anonymous",
          "type": "boolean",
          "default": false
        },
        {
          "name": "unseen_marker",
          "type": "boolean",
          "default": false
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "stories.unbanOwner",
      "description": "Allows to show stories from hidden sources in current user's feed.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owners_ids",
          "description": "List of hidden sources to show stories from.",
          "type": "array",
          "required": true,
          "items": {
            "type": "integer"
          },
          "maxItems": 200
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "streaming.getServerUrl",
      "description": "Allows to receive data for the connection to Streaming API.",
      "access_token_type": [
        "service"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/streaming_getServerUrl_response"
        }
      }
    },
    {
      "name": "streaming.setSettings",
      "access_token_type": [
        "service"
      ],
      "parameters": [
        {
          "name": "monthly_tier",
          "type": "string",
          "enum": [
            "tier_1",
            "tier_2",
            "tier_3",
            "tier_4",
            "tier_5",
            "tier_6",
            "unlimited"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "users.get",
      "description": "Returns detailed information on users.",
      "access_token_type": [
        "user",
        "group",
        "service"
      ],
      "parameters": [
        {
          "name": "user_ids",
          "description": "User IDs or screen names ('screen_name'). By default, current user ID.",
          "type": "array",
          "items": {
            "type": "string"
          },
          "maxItems": 1000
        },
        {
          "name": "fields",
          "description": "Profile fields to return. Sample values: 'nickname', 'screen_name', 'sex', 'bdate' (birthdate), 'city', 'country', 'timezone', 'photo', 'photo_medium', 'photo_big', 'has_mobile', 'contacts', 'education', 'online', 'counters', 'relation', 'last_seen', 'activity', 'can_write_private_message', 'can_see_all_posts', 'can_post', 'universities', 'can_invite_to_chats'",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "name_case",
          "description": "Case for declension of user name and surname: 'nom' — nominative (default), 'gen' — genitive , 'dat' — dative, 'acc' — accusative , 'ins' — instrumental , 'abl' — prepositional",
          "type": "string",
          "enum": [
            "nom",
            "gen",
            "dat",
            "acc",
            "ins",
            "abl"
          ],
          "enumNames": [
            "nominative",
            "genitive",
            "dative",
            "accusative",
            "instrumental",
            "prepositional"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/users_get_response"
        }
      }
    },
    {
      "name": "users.getFollowers",
      "description": "Returns a list of IDs of followers of the user in question, sorted by date added, most recent first.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of followers.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of followers to return.",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 1000
        },
        {
          "name": "fields",
          "description": "Profile fields to return. Sample values: 'nickname', 'screen_name', 'sex', 'bdate' (birthdate), 'city', 'country', 'timezone', 'photo', 'photo_medium', 'photo_big', 'has_mobile', 'rate', 'contacts', 'education', 'online'.",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "name_case",
          "description": "Case for declension of user name and surname: 'nom' — nominative (default), 'gen' — genitive , 'dat' — dative, 'acc' — accusative , 'ins' — instrumental , 'abl' — prepositional",
          "type": "string",
          "enum": [
            "nom",
            "gen",
            "dat",
            "acc",
            "ins",
            "abl"
          ],
          "enumNames": [
            "nominative",
            "genitive",
            "dative",
            "accusative",
            "instrumental",
            "prepositional"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/users_getFollowers_response"
        },
        "fieldsResponse": {
          "$ref": "responses.json#/definitions/users_getFollowers_fields_response"
        }
      }
    },
    {
      "name": "users.getSubscriptions",
      "description": "Returns a list of IDs of users and communities followed by the user.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "User ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "extended",
          "description": "'1' — to return a combined list of users and communities, '0' — to return separate lists of users and communities (default)",
          "type": "boolean"
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of subscriptions.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of users and communities to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/users_getSubscriptions_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/users_getSubscriptions_extended_response"
        }
      }
    },
    {
      "name": "users.report",
      "description": "Reports (submits a complain about) a user.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "user_id",
          "description": "ID of the user about whom a complaint is being made.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "type",
          "description": "Type of complaint: 'porn' – pornography, 'spam' – spamming, 'insult' – abusive behavior, 'advertisement' – disruptive advertisements",
          "type": "string",
          "required": true,
          "enum": [
            "porn",
            "spam",
            "insult",
            "advertisement"
          ]
        },
        {
          "name": "comment",
          "description": "Comment describing the complaint.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "users.search",
      "description": "Returns a list of users matching the search criteria.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "q",
          "description": "Search query string (e.g., 'Vasya Babich').",
          "type": "string"
        },
        {
          "name": "sort",
          "description": "Sort order: '1' — by date registered, '0' — by rating",
          "type": "integer",
          "enum": [
            0,
            1
          ],
          "enumNames": [
            "by rating",
            "by date registered"
          ]
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of users.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of users to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 1000
        },
        {
          "name": "fields",
          "description": "Profile fields to return. Sample values: 'nickname', 'screen_name', 'sex', 'bdate' (birthdate), 'city', 'country', 'timezone', 'photo', 'photo_medium', 'photo_big', 'has_mobile', 'rate', 'contacts', 'education', 'online',",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "city",
          "description": "City ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "country",
          "description": "Country ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "hometown",
          "description": "City name in a string.",
          "type": "string"
        },
        {
          "name": "university_country",
          "description": "ID of the country where the user graduated.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "university",
          "description": "ID of the institution of higher education.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "university_year",
          "description": "Year of graduation from an institution of higher education.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "university_faculty",
          "description": "Faculty ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "university_chair",
          "description": "Chair ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "sex",
          "description": "'1' — female, '2' — male, '0' — any (default)",
          "type": "integer",
          "minimum": 0,
          "enum": [
            0,
            1,
            2
          ],
          "enumNames": [
            "any",
            "female",
            "male"
          ]
        },
        {
          "name": "status",
          "description": "Relationship status: '1' — Not married, '2' — In a relationship, '3' — Engaged, '4' — Married, '5' — It's complicated, '6' — Actively searching, '7' — In love",
          "type": "integer",
          "minimum": 0,
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7
          ],
          "enumNames": [
            "not specified",
            "not married",
            "relationship",
            "engaged",
            "married",
            "complicated",
            "actively searching",
            "in love"
          ]
        },
        {
          "name": "age_from",
          "description": "Minimum age.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "age_to",
          "description": "Maximum age.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "birth_day",
          "description": "Day of birth.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "birth_month",
          "description": "Month of birth.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "birth_year",
          "description": "Year of birth.",
          "type": "integer",
          "minimum": 1900,
          "maximum": 2100
        },
        {
          "name": "online",
          "description": "'1' — online only, '0' — all users",
          "type": "boolean"
        },
        {
          "name": "has_photo",
          "description": "'1' — with photo only, '0' — all users",
          "type": "boolean"
        },
        {
          "name": "school_country",
          "description": "ID of the country where users finished school.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "school_city",
          "description": "ID of the city where users finished school.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "school_class",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "school",
          "description": "ID of the school.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "school_year",
          "description": "School graduation year.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "religion",
          "description": "Users' religious affiliation.",
          "type": "string"
        },
        {
          "name": "company",
          "description": "Name of the company where users work.",
          "type": "string"
        },
        {
          "name": "position",
          "description": "Job position.",
          "type": "string"
        },
        {
          "name": "group_id",
          "description": "ID of a community to search in communities.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "from_list",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/users_search_response"
        }
      }
    },
    {
      "name": "utils.checkLink",
      "description": "Checks whether a link is blocked in VK.",
      "access_token_type": [
        "user",
        "group",
        "service"
      ],
      "parameters": [
        {
          "name": "url",
          "description": "Link to check (e.g., 'http://google.com').",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/utils_checkLink_response"
        }
      }
    },
    {
      "name": "utils.deleteFromLastShortened",
      "description": "Deletes shortened link from user's list.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "key",
          "description": "Link key (characters after vk.cc/).",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "utils.getLastShortenedLinks",
      "description": "Returns a list of user's shortened links.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "count",
          "description": "Number of links to return.",
          "type": "integer",
          "default": 10,
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of links.",
          "type": "integer",
          "default": 0,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/utils_getLastShortenedLinks_response"
        }
      }
    },
    {
      "name": "utils.getLinkStats",
      "description": "Returns stats data for shortened link.",
      "access_token_type": [
        "user",
        "group",
        "service"
      ],
      "parameters": [
        {
          "name": "key",
          "description": "Link key (characters after vk.cc/).",
          "type": "string",
          "required": true
        },
        {
          "name": "source",
          "description": "Source of scope",
          "type": "string",
          "default": "vk_cc",
          "enum": [
            "vk_cc",
            "vk_link"
          ]
        },
        {
          "name": "access_key",
          "description": "Access key for private link stats.",
          "type": "string"
        },
        {
          "name": "interval",
          "description": "Interval.",
          "type": "string",
          "default": "day",
          "enum": [
            "day",
            "forever",
            "hour",
            "month",
            "week"
          ]
        },
        {
          "name": "intervals_count",
          "description": "Number of intervals to return.",
          "type": "integer",
          "default": 1,
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "extended",
          "description": "1 — to return extended stats data (sex, age, geo). 0 — to return views number only.",
          "type": "boolean",
          "default": false
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/utils_getLinkStats_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/utils_getLinkStats_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        }
      ]
    },
    {
      "name": "utils.getServerTime",
      "description": "Returns the current time of the VK server.",
      "access_token_type": [
        "user",
        "group",
        "service"
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/utils_getServerTime_response"
        }
      }
    },
    {
      "name": "utils.getShortLink",
      "description": "Allows to receive a link shortened via vk.cc.",
      "access_token_type": [
        "user",
        "group",
        "service"
      ],
      "parameters": [
        {
          "name": "url",
          "description": "URL to be shortened.",
          "type": "string",
          "required": true
        },
        {
          "name": "private",
          "description": "1 — private stats, 0 — public stats.",
          "type": "boolean",
          "default": false
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/utils_getShortLink_response"
        }
      }
    },
    {
      "name": "utils.resolveScreenName",
      "description": "Detects a type of object (e.g., user, community, application) and its ID by screen name.",
      "access_token_type": [
        "user",
        "group",
        "service"
      ],
      "parameters": [
        {
          "name": "screen_name",
          "description": "Screen name of the user, community (e.g., 'apiclub,' 'andrew', or 'rules_of_war'), or application.",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/utils_resolveScreenName_response"
        }
      }
    },
    {
      "name": "video.add",
      "description": "Adds a video to a user or community page.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "target_id",
          "description": "identifier of a user or community to add a video to. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "video_id",
          "description": "Video ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the video. Use a negative value to designate a community ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_video"
        },
        {
          "$ref": "errors.json#/errors/api_error_video_already_added"
        }
      ]
    },
    {
      "name": "video.addAlbum",
      "description": "Creates an empty album for videos.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID (if the album will be created in a community).",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "title",
          "description": "Album title.",
          "type": "string"
        },
        {
          "name": "privacy",
          "description": "new access permissions for the album. Possible values: , *'0' – all users,, *'1' – friends only,, *'2' – friends and friends of friends,, *'3' – \"only me\".",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "0",
              "1",
              "2",
              "3"
            ],
            "enumNames": [
              "all",
              "friends",
              "friends of friends",
              "only me"
            ]
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/video_addAlbum_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_video"
        },
        {
          "$ref": "errors.json#/errors/api_error_albums_limit"
        }
      ]
    },
    {
      "name": "video.addToAlbum",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "target_id",
          "type": "integer"
        },
        {
          "name": "album_id",
          "type": "integer"
        },
        {
          "name": "album_ids",
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "video_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_video"
        },
        {
          "$ref": "errors.json#/errors/api_error_video_already_added"
        }
      ]
    },
    {
      "name": "video.createComment",
      "description": "Adds a new comment on a video.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the video.",
          "type": "integer"
        },
        {
          "name": "video_id",
          "description": "Video ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "message",
          "description": "New comment text.",
          "type": "string"
        },
        {
          "name": "attachments",
          "description": "List of objects attached to the comment, in the following format: \"<owner_id>_<media_id>,<owner_id>_<media_id>\", '' — Type of media attachment: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, '<owner_id>' — ID of the media attachment owner. '<media_id>' — Media attachment ID. Example: \"photo100172_166443618,photo66748_265827614\"",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "from_group",
          "description": "'1' — to post the comment from a community name (only if 'owner_id'<0)",
          "type": "boolean"
        },
        {
          "name": "reply_to_comment",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "sticker_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "guid",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/video_createComment_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_video_comments_closed"
        }
      ]
    },
    {
      "name": "video.delete",
      "description": "Deletes a video from a user or community page.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "video_id",
          "description": "Video ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the video.",
          "type": "integer"
        },
        {
          "name": "target_id",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "video.deleteAlbum",
      "description": "Deletes a video album.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID (if the album is owned by a community).",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "album_id",
          "description": "Album ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_video"
        }
      ]
    },
    {
      "name": "video.deleteComment",
      "description": "Deletes a comment on a video.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the video.",
          "type": "integer"
        },
        {
          "name": "comment_id",
          "description": "ID of the comment to be deleted.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "video.edit",
      "description": "Edits information about a video on a user or community page.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the video.",
          "type": "integer"
        },
        {
          "name": "video_id",
          "description": "Video ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "name",
          "description": "New video title.",
          "type": "string"
        },
        {
          "name": "desc",
          "description": "New video description.",
          "type": "string"
        },
        {
          "name": "privacy_view",
          "description": "Privacy settings in a [vk.com/dev/privacy_setting|special format]. Privacy setting is available for videos uploaded to own profile by user.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "privacy_comment",
          "description": "Privacy settings for comments in a [vk.com/dev/privacy_setting|special format].",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "no_comments",
          "description": "Disable comments for the group video.",
          "type": "boolean"
        },
        {
          "name": "repeat",
          "description": "'1' — to repeat the playback of the video, '0' — to play the video once,",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "video.editAlbum",
      "description": "Edits the title of a video album.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "group_id",
          "description": "Community ID (if the album edited is owned by a community).",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "album_id",
          "description": "Album ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "title",
          "description": "New album title.",
          "type": "string",
          "required": true
        },
        {
          "name": "privacy",
          "description": "new access permissions for the album. Possible values: , *'0' – all users,, *'1' – friends only,, *'2' – friends and friends of friends,, *'3' – \"only me\".",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "0",
              "1",
              "2",
              "3"
            ],
            "enumNames": [
              "all",
              "friends",
              "friends of friends",
              "only me"
            ]
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_video"
        }
      ]
    },
    {
      "name": "video.editComment",
      "description": "Edits the text of a comment on a video.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the video.",
          "type": "integer"
        },
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "message",
          "description": "New comment text.",
          "type": "string"
        },
        {
          "name": "attachments",
          "description": "List of objects attached to the comment, in the following format: \"<owner_id>_<media_id>,<owner_id>_<media_id>\", '' — Type of media attachment: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, '<owner_id>' — ID of the media attachment owner. '<media_id>' — Media attachment ID. Example: \"photo100172_166443618,photo66748_265827614\"",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "video.get",
      "description": "Returns detailed information about videos.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the video(s).",
          "type": "integer"
        },
        {
          "name": "videos",
          "description": "Video IDs, in the following format: \"<owner_id>_<media_id>,<owner_id>_<media_id>\", Use a negative value to designate a community ID. Example: \"-4363_136089719,13245770_137352259\"",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "album_id",
          "description": "ID of the album containing the video(s).",
          "type": "integer"
        },
        {
          "name": "count",
          "description": "Number of videos to return.",
          "type": "integer",
          "default": 100,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of videos.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "extended",
          "description": "'1' — to return an extended response with additional fields",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/video_get_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/video_get_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_video"
        }
      ]
    },
    {
      "name": "video.getAlbumById",
      "description": "Returns video album info",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "identifier of a user or community to add a video to. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "album_id",
          "description": "Album ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/video_getAlbumById_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_video"
        }
      ]
    },
    {
      "name": "video.getAlbums",
      "description": "Returns a list of video albums owned by a user or community.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the video album(s).",
          "type": "integer"
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of video albums.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of video albums to return.",
          "type": "integer",
          "default": 50,
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "extended",
          "description": "'1' — to return additional information about album privacy settings for the current user",
          "type": "boolean"
        },
        {
          "name": "need_system",
          "type": "boolean",
          "default": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/video_getAlbums_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/video_getAlbums_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_video"
        }
      ]
    },
    {
      "name": "video.getAlbumsByVideo",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "target_id",
          "type": "integer"
        },
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "video_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "extended",
          "type": "boolean",
          "default": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/video_getAlbumsByVideo_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/video_getAlbumsByVideo_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_video"
        }
      ]
    },
    {
      "name": "video.getComments",
      "description": "Returns a list of comments on a video.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the video.",
          "type": "integer"
        },
        {
          "name": "video_id",
          "description": "Video ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "need_likes",
          "description": "'1' — to return an additional 'likes' field",
          "type": "boolean"
        },
        {
          "name": "start_comment_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of comments.",
          "type": "integer"
        },
        {
          "name": "count",
          "description": "Number of comments to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "sort",
          "description": "Sort order: 'asc' — oldest comment first, 'desc' — newest comment first",
          "type": "string",
          "enum": [
            "asc",
            "desc"
          ],
          "enumNames": [
            "oldest comment first",
            "newest comment first"
          ]
        },
        {
          "name": "extended",
          "type": "boolean"
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/video_getComments_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/video_getComments_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_video_comments_closed"
        }
      ]
    },
    {
      "name": "video.removeFromAlbum",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "target_id",
          "type": "integer"
        },
        {
          "name": "album_id",
          "type": "integer"
        },
        {
          "name": "album_ids",
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "video_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_video"
        }
      ]
    },
    {
      "name": "video.reorderAlbums",
      "description": "Reorders the album in the list of user video albums.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the albums..",
          "type": "integer"
        },
        {
          "name": "album_id",
          "description": "Album ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "before",
          "description": "ID of the album before which the album in question shall be placed.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "after",
          "description": "ID of the album after which the album in question shall be placed.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_video"
        },
        {
          "$ref": "errors.json#/errors/api_error_not_found"
        }
      ]
    },
    {
      "name": "video.reorderVideos",
      "description": "Reorders the video in the video album.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "target_id",
          "description": "ID of the user or community that owns the album with videos.",
          "type": "integer"
        },
        {
          "name": "album_id",
          "description": "ID of the video album.",
          "type": "integer"
        },
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the video.",
          "type": "integer",
          "required": true
        },
        {
          "name": "video_id",
          "description": "ID of the video.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "before_owner_id",
          "description": "ID of the user or community that owns the video before which the video in question shall be placed.",
          "type": "integer"
        },
        {
          "name": "before_video_id",
          "description": "ID of the video before which the video in question shall be placed.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "after_owner_id",
          "description": "ID of the user or community that owns the video after which the photo in question shall be placed.",
          "type": "integer"
        },
        {
          "name": "after_video_id",
          "description": "ID of the video after which the photo in question shall be placed.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_video"
        }
      ]
    },
    {
      "name": "video.report",
      "description": "Reports (submits a complaint about) a video.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the video.",
          "type": "integer",
          "required": true
        },
        {
          "name": "video_id",
          "description": "Video ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "reason",
          "description": "Reason for the complaint: '0' – spam, '1' – child pornography, '2' – extremism, '3' – violence, '4' – drug propaganda, '5' – adult material, '6' – insult, abuse",
          "type": "integer",
          "minimum": 0,
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "enumNames": [
            "spam",
            "child pornography",
            "extremism",
            "violence",
            "drug propaganda",
            "adult material",
            "insult abuse"
          ]
        },
        {
          "name": "comment",
          "description": "Comment describing the complaint.",
          "type": "string"
        },
        {
          "name": "search_query",
          "description": "(If the video was found in search results.) Search query string.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "video.reportComment",
      "description": "Reports (submits a complaint about) a comment on a video.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the video.",
          "type": "integer",
          "required": true
        },
        {
          "name": "comment_id",
          "description": "ID of the comment being reported.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "reason",
          "description": "Reason for the complaint: , 0 – spam , 1 – child pornography , 2 – extremism , 3 – violence , 4 – drug propaganda , 5 – adult material , 6 – insult, abuse",
          "type": "integer",
          "minimum": 0,
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "enumNames": [
            "spam",
            "child pornography",
            "extremism",
            "violence",
            "drug propaganda",
            "adult material",
            "insult abuse"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "video.restore",
      "description": "Restores a previously deleted video.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "video_id",
          "description": "Video ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the video.",
          "type": "integer"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "video.restoreComment",
      "description": "Restores a previously deleted comment on a video.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the video.",
          "type": "integer"
        },
        {
          "name": "comment_id",
          "description": "ID of the deleted comment.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/video_restoreComment_response"
        }
      }
    },
    {
      "name": "video.save",
      "description": "Returns a server address (required for upload) and video data.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "name",
          "description": "Name of the video.",
          "type": "string"
        },
        {
          "name": "description",
          "description": "Description of the video.",
          "type": "string"
        },
        {
          "name": "is_private",
          "description": "'1' — to designate the video as private (send it via a private message), the video will not appear on the user's video list and will not be available by ID for other users, '0' — not to designate the video as private",
          "type": "boolean"
        },
        {
          "name": "wallpost",
          "description": "'1' — to post the saved video on a user's wall, '0' — not to post the saved video on a user's wall",
          "type": "boolean"
        },
        {
          "name": "link",
          "description": "URL for embedding the video from an external website.",
          "type": "string"
        },
        {
          "name": "group_id",
          "description": "ID of the community in which the video will be saved. By default, the current user's page.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "album_id",
          "description": "ID of the album to which the saved video will be added.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "privacy_view",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "privacy_comment",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "no_comments",
          "type": "boolean"
        },
        {
          "name": "repeat",
          "description": "'1' — to repeat the playback of the video, '0' — to play the video once,",
          "type": "boolean"
        },
        {
          "name": "compression",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/video_save_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_access_video"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_add_post"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_ads_published"
        }
      ]
    },
    {
      "name": "video.search",
      "description": "Returns a list of videos under the set search criterion.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "q",
          "description": "Search query string (e.g., 'The Beatles').",
          "type": "string",
          "required": true
        },
        {
          "name": "sort",
          "description": "Sort order: '1' — by duration, '2' — by relevance, '0' — by date added",
          "type": "integer",
          "enum": [
            1,
            2,
            0
          ],
          "enumNames": [
            "duration",
            "relevance",
            "date added"
          ]
        },
        {
          "name": "hd",
          "description": "If not null, only searches for high-definition videos.",
          "type": "integer"
        },
        {
          "name": "adult",
          "description": "'1' — to disable the Safe Search filter, '0' — to enable the Safe Search filter",
          "type": "boolean"
        },
        {
          "name": "filters",
          "description": "Filters to apply: 'youtube' — return YouTube videos only, 'vimeo' — return Vimeo videos only, 'short' — return short videos only, 'long' — return long videos only",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "youtube",
              "vimeo",
              "short",
              "long"
            ]
          }
        },
        {
          "name": "search_own",
          "type": "boolean"
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of videos.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "longer",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "shorter",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of videos to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 200
        },
        {
          "name": "extended",
          "type": "boolean",
          "default": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/video_search_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/video_search_extended_response"
        }
      }
    },
    {
      "name": "wall.checkCopyrightLink",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "link",
          "type": "string",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_bool_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_check_link_cant_determine_source"
        }
      ]
    },
    {
      "name": "wall.closeComments",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "post_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_bool_response"
        }
      }
    },
    {
      "name": "wall.createComment",
      "description": "Adds a comment to a post on a user wall or community wall.",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "User ID or community ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "post_id",
          "description": "Post ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "from_group",
          "description": "Group ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "message",
          "description": "(Required if 'attachments' is not set.) Text of the comment.",
          "type": "string"
        },
        {
          "name": "reply_to_comment",
          "description": "ID of comment to reply.",
          "type": "integer"
        },
        {
          "name": "attachments",
          "description": "(Required if 'message' is not set.) List of media objects attached to the comment, in the following format: \"<owner_id>_<media_id>,<owner_id>_<media_id>\", '' — Type of media ojbect: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, '<owner_id>' — ID of the media owner. '<media_id>' — Media ID. For example: \"photo100172_166443618,photo66748_265827614\"",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "sticker_id",
          "description": "Sticker ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "guid",
          "description": "Unique identifier to avoid repeated comments.",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/wall_createComment_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_access_add_reply"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_reply_owner_flood"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_links_forbidden"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_access_replies"
        }
      ]
    },
    {
      "name": "wall.delete",
      "description": "Deletes a post from a user wall or community wall.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "User ID or community ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "post_id",
          "description": "ID of the post to be deleted.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_access_post"
        }
      ]
    },
    {
      "name": "wall.deleteComment",
      "description": "Deletes a comment on a post on a user wall or community wall.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "User ID or community ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_access_comment"
        }
      ]
    },
    {
      "name": "wall.edit",
      "description": "Edits a post on a user wall or community wall.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "User ID or community ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "post_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "friends_only",
          "type": "boolean"
        },
        {
          "name": "message",
          "description": "(Required if 'attachments' is not set.) Text of the post.",
          "type": "string"
        },
        {
          "name": "attachments",
          "description": "(Required if 'message' is not set.) List of objects attached to the post, in the following format: \"<owner_id>_<media_id>,<owner_id>_<media_id>\", '' — Type of media attachment: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, '<owner_id>' — ID of the media application owner. '<media_id>' — Media application ID. Example: \"photo100172_166443618,photo66748_265827614\", May contain a link to an external page to include in the post. Example: \"photo66748_265827614,http://habrahabr.ru\", \"NOTE: If more than one link is being attached, an error is thrown.\"",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "services",
          "type": "string"
        },
        {
          "name": "signed",
          "type": "boolean"
        },
        {
          "name": "publish_date",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "lat",
          "type": "number"
        },
        {
          "name": "long",
          "type": "number"
        },
        {
          "name": "place_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "mark_as_ads",
          "type": "boolean"
        },
        {
          "name": "close_comments",
          "type": "boolean"
        },
        {
          "name": "donut_paid_duration",
          "type": "integer"
        },
        {
          "name": "poster_bkg_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "poster_bkg_owner_id",
          "type": "integer"
        },
        {
          "name": "poster_bkg_access_hash",
          "type": "string"
        },
        {
          "name": "copyright",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/wall_edit_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_ads_post_limit_reached"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_donut"
        }
      ]
    },
    {
      "name": "wall.editAdsStealth",
      "description": "Allows to edit hidden post.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "User ID or community ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "post_id",
          "description": "Post ID. Used for publishing of scheduled and suggested posts.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "message",
          "description": "(Required if 'attachments' is not set.) Text of the post.",
          "type": "string"
        },
        {
          "name": "attachments",
          "description": "(Required if 'message' is not set.) List of objects attached to the post, in the following format: \"<owner_id>_<media_id>,<owner_id>_<media_id>\", '' — Type of media attachment: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, 'page' — wiki-page, 'note' — note, 'poll' — poll, 'album' — photo album, '<owner_id>' — ID of the media application owner. '<media_id>' — Media application ID. Example: \"photo100172_166443618,photo66748_265827614\", May contain a link to an external page to include in the post. Example: \"photo66748_265827614,http://habrahabr.ru\", \"NOTE: If more than one link is being attached, an error will be thrown.\"",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "signed",
          "description": "Only for posts in communities with 'from_group' set to '1': '1' — post will be signed with the name of the posting user, '0' — post will not be signed (default)",
          "type": "boolean"
        },
        {
          "name": "lat",
          "description": "Geographical latitude of a check-in, in degrees (from -90 to 90).",
          "type": "number"
        },
        {
          "name": "long",
          "description": "Geographical longitude of a check-in, in degrees (from -180 to 180).",
          "type": "number"
        },
        {
          "name": "place_id",
          "description": "ID of the location where the user was tagged.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "link_button",
          "description": "Link button ID",
          "type": "string"
        },
        {
          "name": "link_title",
          "description": "Link title",
          "type": "string"
        },
        {
          "name": "link_image",
          "description": "Link image url",
          "type": "string"
        },
        {
          "name": "link_video",
          "description": "Link video ID in format \"<owner_id>_<media_id>\"",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_ads_post_limit_reached"
        }
      ]
    },
    {
      "name": "wall.editComment",
      "description": "Edits a comment on a user wall or community wall.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "User ID or community ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "message",
          "description": "New comment text.",
          "type": "string"
        },
        {
          "name": "attachments",
          "description": "List of objects attached to the comment, in the following format: , \"<owner_id>_<media_id>,<owner_id>_<media_id>\", '' — Type of media attachment: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, '<owner_id>' — ID of the media attachment owner. '<media_id>' — Media attachment ID. For example: \"photo100172_166443618,photo66748_265827614\"",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "wall.get",
      "description": "Returns a list of posts on a user wall or community wall.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the wall. By default, current user ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "domain",
          "description": "User or community short address.",
          "type": "string"
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of posts.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of posts to return (maximum 100).",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "filter",
          "description": "Filter to apply: 'owner' — posts by the wall owner, 'others' — posts by someone else, 'all' — posts by the wall owner and others (default), 'postponed' — timed posts (only available for calls with an 'access_token'), 'suggests' — suggested posts on a community wall",
          "type": "string",
          "enum": [
            "owner",
            "others",
            "all",
            "postponed",
            "suggests"
          ]
        },
        {
          "name": "extended",
          "description": "'1' — to return 'wall', 'profiles', and 'groups' fields, '0' — to return no additional fields (default)",
          "type": "boolean"
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/wall_get_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/wall_get_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_blocked"
        }
      ]
    },
    {
      "name": "wall.getById",
      "description": "Returns a list of posts from user or community walls by their IDs.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "posts",
          "description": "User or community IDs and post IDs, separated by underscores. Use a negative value to designate a community ID. Example: \"93388_21539,93388_20904,2943_4276,-1_1\"",
          "type": "array",
          "required": true,
          "items": {
            "type": "string"
          }
        },
        {
          "name": "extended",
          "description": "'1' — to return user and community objects needed to display posts, '0' — no additional fields are returned (default)",
          "type": "boolean"
        },
        {
          "name": "copy_history_depth",
          "description": "Sets the number of parent elements to include in the array 'copy_history' that is returned if the post is a repost from another wall.",
          "type": "integer",
          "default": 2
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/wall_getById_legacy_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/wall_getById_extended_response"
        }
      }
    },
    {
      "name": "wall.getComment",
      "description": "Returns a comment on a post on a user wall or community wall.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "User ID or community ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "extended",
          "type": "boolean"
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/wall_getComment_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/wall_getComment_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_access_replies"
        }
      ]
    },
    {
      "name": "wall.getComments",
      "description": "Returns a list of comments on a post on a user wall or community wall.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "User ID or community ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "post_id",
          "description": "Post ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "need_likes",
          "description": "'1' — to return the 'likes' field, '0' — not to return the 'likes' field (default)",
          "type": "boolean"
        },
        {
          "name": "start_comment_id",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of comments.",
          "type": "integer"
        },
        {
          "name": "count",
          "description": "Number of comments to return (maximum 100).",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "sort",
          "description": "Sort order: 'asc' — chronological, 'desc' — reverse chronological",
          "type": "string",
          "enum": [
            "asc",
            "desc"
          ],
          "enumNames": [
            "chronological",
            "reverse chronological"
          ]
        },
        {
          "name": "preview_length",
          "description": "Number of characters at which to truncate comments when previewed. By default, '90'. Specify '0' if you do not want to truncate comments.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "extended",
          "type": "boolean"
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        },
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "thread_items_count",
          "description": "Count items in threads.",
          "type": "integer",
          "default": 0,
          "minimum": 0,
          "maximum": 10
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/wall_getComments_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/wall_getComments_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_access_replies"
        }
      ]
    },
    {
      "name": "wall.getReposts",
      "description": "Returns information about reposts of a post on user wall or community wall.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "User ID or community ID. By default, current user ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "post_id",
          "description": "Post ID.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of reposts.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "count",
          "description": "Number of reposts to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 1000
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/wall_getReposts_response"
        }
      }
    },
    {
      "name": "wall.openComments",
      "access_token_type": [
        "user",
        "group"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "type": "integer",
          "required": true
        },
        {
          "name": "post_id",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_bool_response"
        }
      }
    },
    {
      "name": "wall.pin",
      "description": "Pins the post on wall.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the wall. By default, current user ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "post_id",
          "description": "Post ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "wall.post",
      "description": "Adds a new post on a user wall or community wall. Can also be used to publish suggested or scheduled posts.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "User ID or community ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "friends_only",
          "description": "'1' — post will be available to friends only, '0' — post will be available to all users (default)",
          "type": "boolean"
        },
        {
          "name": "from_group",
          "description": "For a community: '1' — post will be published by the community, '0' — post will be published by the user (default)",
          "type": "boolean"
        },
        {
          "name": "message",
          "description": "(Required if 'attachments' is not set.) Text of the post.",
          "type": "string"
        },
        {
          "name": "attachments",
          "description": "(Required if 'message' is not set.) List of objects attached to the post, in the following format: \"<owner_id>_<media_id>,<owner_id>_<media_id>\", '' — Type of media attachment: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, 'page' — wiki-page, 'note' — note, 'poll' — poll, 'album' — photo album, '<owner_id>' — ID of the media application owner. '<media_id>' — Media application ID. Example: \"photo100172_166443618,photo66748_265827614\", May contain a link to an external page to include in the post. Example: \"photo66748_265827614,http://habrahabr.ru\", \"NOTE: If more than one link is being attached, an error will be thrown.\"",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "services",
          "description": "List of services or websites the update will be exported to, if the user has so requested. Sample values: 'twitter', 'facebook'.",
          "type": "string"
        },
        {
          "name": "signed",
          "description": "Only for posts in communities with 'from_group' set to '1': '1' — post will be signed with the name of the posting user, '0' — post will not be signed (default)",
          "type": "boolean"
        },
        {
          "name": "publish_date",
          "description": "Publication date (in Unix time). If used, posting will be delayed until the set time.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "lat",
          "description": "Geographical latitude of a check-in, in degrees (from -90 to 90).",
          "type": "number"
        },
        {
          "name": "long",
          "description": "Geographical longitude of a check-in, in degrees (from -180 to 180).",
          "type": "number"
        },
        {
          "name": "place_id",
          "description": "ID of the location where the user was tagged.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "post_id",
          "description": "Post ID. Used for publishing of scheduled and suggested posts.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "guid",
          "type": "string"
        },
        {
          "name": "mark_as_ads",
          "type": "boolean",
          "default": false
        },
        {
          "name": "close_comments",
          "type": "boolean"
        },
        {
          "name": "donut_paid_duration",
          "type": "integer"
        },
        {
          "name": "mute_notifications",
          "type": "boolean"
        },
        {
          "name": "copyright",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/wall_post_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_ads_published"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_add_post"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_too_many_recipients"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_links_forbidden"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_ads_post_limit_reached"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_donut"
        }
      ]
    },
    {
      "name": "wall.postAdsStealth",
      "description": "Allows to create hidden post which will not be shown on the community's wall and can be used for creating an ad with type \"Community post\".",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "User ID or community ID. Use a negative value to designate a community ID.",
          "type": "integer",
          "required": true
        },
        {
          "name": "message",
          "description": "(Required if 'attachments' is not set.) Text of the post.",
          "type": "string"
        },
        {
          "name": "attachments",
          "description": "(Required if 'message' is not set.) List of objects attached to the post, in the following format: \"<owner_id>_<media_id>,<owner_id>_<media_id>\", '' — Type of media attachment: 'photo' — photo, 'video' — video, 'audio' — audio, 'doc' — document, 'page' — wiki-page, 'note' — note, 'poll' — poll, 'album' — photo album, '<owner_id>' — ID of the media application owner. '<media_id>' — Media application ID. Example: \"photo100172_166443618,photo66748_265827614\", May contain a link to an external page to include in the post. Example: \"photo66748_265827614,http://habrahabr.ru\", \"NOTE: If more than one link is being attached, an error will be thrown.\"",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "name": "signed",
          "description": "Only for posts in communities with 'from_group' set to '1': '1' — post will be signed with the name of the posting user, '0' — post will not be signed (default)",
          "type": "boolean"
        },
        {
          "name": "lat",
          "description": "Geographical latitude of a check-in, in degrees (from -90 to 90).",
          "type": "number"
        },
        {
          "name": "long",
          "description": "Geographical longitude of a check-in, in degrees (from -180 to 180).",
          "type": "number"
        },
        {
          "name": "place_id",
          "description": "ID of the location where the user was tagged.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "guid",
          "description": "Unique identifier to avoid duplication the same post.",
          "type": "string"
        },
        {
          "name": "link_button",
          "description": "Link button ID",
          "type": "string"
        },
        {
          "name": "link_title",
          "description": "Link title",
          "type": "string"
        },
        {
          "name": "link_image",
          "description": "Link image url",
          "type": "string"
        },
        {
          "name": "link_video",
          "description": "Link video ID in format \"<owner_id>_<media_id>\"",
          "type": "string"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/wall_postAdsStealth_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_ads_published"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_add_post"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_too_many_recipients"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_links_forbidden"
        }
      ]
    },
    {
      "name": "wall.reportComment",
      "description": "Reports (submits a complaint about) a comment on a post on a user wall or community wall.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the wall.",
          "type": "integer",
          "required": true
        },
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "reason",
          "description": "Reason for the complaint: '0' – spam, '1' – child pornography, '2' – extremism, '3' – violence, '4' – drug propaganda, '5' – adult material, '6' – insult, abuse",
          "type": "integer",
          "minimum": 0,
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "enumNames": [
            "spam",
            "child pornography",
            "extremism",
            "violence",
            "drug propaganda",
            "adult material",
            "insult abuse"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "wall.reportPost",
      "description": "Reports (submits a complaint about) a post on a user wall or community wall.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the wall.",
          "type": "integer",
          "required": true
        },
        {
          "name": "post_id",
          "description": "Post ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        },
        {
          "name": "reason",
          "description": "Reason for the complaint: '0' – spam, '1' – child pornography, '2' – extremism, '3' – violence, '4' – drug propaganda, '5' – adult material, '6' – insult, abuse",
          "type": "integer",
          "minimum": 0,
          "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6
          ],
          "enumNames": [
            "spam",
            "child pornography",
            "extremism",
            "violence",
            "drug propaganda",
            "adult material",
            "insult abuse"
          ]
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "wall.repost",
      "description": "Reposts (copies) an object to a user wall or community wall.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "object",
          "description": "ID of the object to be reposted on the wall. Example: \"wall66748_3675\"",
          "type": "string",
          "required": true
        },
        {
          "name": "message",
          "description": "Comment to be added along with the reposted object.",
          "type": "string"
        },
        {
          "name": "group_id",
          "description": "Target community ID when reposting to a community.",
          "type": "integer",
          "minimum": 0
        },
        {
          "name": "mark_as_ads",
          "type": "boolean",
          "default": false
        },
        {
          "name": "mute_notifications",
          "type": "boolean"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/wall_repost_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_ads_published"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_add_post"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_ads_post_limit_reached"
        }
      ]
    },
    {
      "name": "wall.restore",
      "description": "Restores a post deleted from a user wall or community wall.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "User ID or community ID from whose wall the post was deleted. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "post_id",
          "description": "ID of the post to be restored.",
          "type": "integer",
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_access_post"
        },
        {
          "$ref": "errors.json#/errors/api_error_wall_add_post"
        }
      ]
    },
    {
      "name": "wall.restoreComment",
      "description": "Restores a comment deleted from a user wall or community wall.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "User ID or community ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "comment_id",
          "description": "Comment ID.",
          "type": "integer",
          "required": true
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_access_comment"
        }
      ]
    },
    {
      "name": "wall.search",
      "description": "Allows to search posts on user or community walls.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "user or community id. \"Remember that for a community 'owner_id' must be negative.\"",
          "type": "integer"
        },
        {
          "name": "domain",
          "description": "user or community screen name.",
          "type": "string"
        },
        {
          "name": "query",
          "description": "search query string.",
          "type": "string"
        },
        {
          "name": "owners_only",
          "description": "'1' – returns only page owner's posts.",
          "type": "boolean"
        },
        {
          "name": "count",
          "description": "count of posts to return.",
          "type": "integer",
          "default": 20,
          "minimum": 0,
          "maximum": 100
        },
        {
          "name": "offset",
          "description": "Offset needed to return a specific subset of posts.",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "extended",
          "description": "show extended post info.",
          "type": "boolean"
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/base_user_group_fields"
          }
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/wall_search_response"
        },
        "extendedResponse": {
          "$ref": "responses.json#/definitions/wall_search_extended_response"
        }
      },
      "errors": [
        {
          "$ref": "errors.json#/errors/api_error_wall_access_post"
        }
      ]
    },
    {
      "name": "wall.unpin",
      "description": "Unpins the post on wall.",
      "access_token_type": [
        "user"
      ],
      "parameters": [
        {
          "name": "owner_id",
          "description": "ID of the user or community that owns the wall. By default, current user ID. Use a negative value to designate a community ID.",
          "type": "integer"
        },
        {
          "name": "post_id",
          "description": "Post ID.",
          "type": "integer",
          "required": true,
          "minimum": 0
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/base_ok_response"
        }
      }
    },
    {
      "name": "widgets.getComments",
      "description": "Gets a list of comments for the page added through the [vk.com/dev/Comments|Comments widget].",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "widget_api_id",
          "type": "integer"
        },
        {
          "name": "url",
          "type": "string"
        },
        {
          "name": "page_id",
          "type": "string"
        },
        {
          "name": "order",
          "type": "string",
          "default": "date"
        },
        {
          "name": "fields",
          "type": "array",
          "items": {
            "$ref": "objects.json#/definitions/users_fields"
          }
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "type": "integer",
          "default": 10,
          "minimum": 10,
          "maximum": 200
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/widgets_getComments_response"
        }
      }
    },
    {
      "name": "widgets.getPages",
      "description": "Gets a list of application/site pages where the [vk.com/dev/Comments|Comments widget] or [vk.com/dev/Like|Like widget] is installed.",
      "access_token_type": [
        "user",
        "service"
      ],
      "parameters": [
        {
          "name": "widget_api_id",
          "type": "integer"
        },
        {
          "name": "order",
          "type": "string",
          "default": "friend_likes"
        },
        {
          "name": "period",
          "type": "string",
          "default": "week"
        },
        {
          "name": "offset",
          "type": "integer",
          "default": 0,
          "minimum": 0
        },
        {
          "name": "count",
          "type": "integer",
          "default": 10,
          "minimum": 10,
          "maximum": 200
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/widgets_getPages_response"
        }
      }
    }
  ]
}
