VKCOM / vk-api-schema

JSON Schema of VK API
MIT License
206 stars 63 forks source link
api vk vk-api vkapi vkontakte vkontakte-api

VK API JSON Schema

This repository contains JSON Schema documents explaining all the VK.COM API objects and methods mentioned here.

JSON Schema standard specifications and the most common usage scenarios could be found here: http://json-schema.org/

These schemes are compatible with JSON Schema version draft-07 and VK API version 5.199.

Packagist

Structure

Repository contains several .json files.

Samples

users.get method description:

{
      "name": "users.get",
      "description": "Returns detailed information on users.",
      "open": true,
      "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": "domains",
          "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', 'contacts', 'education', 'online', 'counters', 'relation', 'last_seen', 'activity', 'can_write_private_message', 'can_see_all_posts', 'can_post', 'universities';",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        {
          "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"
        }
      ],
      "responses": {
        "response": {
          "$ref": "responses.json#/definitions/users_get_response"
        }
      }
    }

market_market_album object description:

"market_market_album": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "description": "Market album ID",
          "minimum": 1
        },
        "owner_id": {
          "type": "integer",
          "description": "Market album owner's ID"
        },
        "title": {
          "type": "string",
          "description": "Market album title"
        },
        "count": {
          "type": "integer",
          "description": "Items number",
          "minimum": 0
        },
        "updated_time": {
          "type": "integer",
          "description": "Date when album has been updated last time in Unixtime",
          "minimum": 0
        },
        "photo": {
          "$ref": "#/definitions/photos_photo"
        }
      },
      "required": [
        "id",
        "owner_id",
        "title",
        "count",
        "updated_time"
      ]
    }