Skip to content

Latest commit

 

History

History
89 lines (76 loc) · 2.77 KB

README.md

File metadata and controls

89 lines (76 loc) · 2.77 KB

#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-04 and VK API version 5.60.

##Structure

Repository contains four .json files.

  • "methods.json" describes all of VK API methods (could be found at this page).
  • "objects.json" describes objects which are used in methods responses.
  • "responses.json" describes methods responses structure.
  • "schema.json" describes additional keywords used in our implementation, such as "method", "error", "parameter" and others so to extend the canonical specification for our needs.

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

###audio_lyrics object description:

"audio_lyrics": {
      "type": "object",
      "properties": {
        "lyrics_id": {
          "type": "integer",
          "description": "Lyrics ID"
        },
        "text": {
          "type": "string",
          "description": "Lyrics text"
        }
      },
      "required": [
        "lyrics_id",
        "text"
      ],
      "additionalParameters": false
    }