github.com/kaisawind/go-swagger@v0.19.0/fixtures/bugs/982/swagger.yaml (about)

     1  ---
     2  swagger: '2.0'
     3  
     4  ################################################################################
     5  #                              API Information                                 #
     6  ################################################################################
     7  info:
     8    version: v1
     9    title: Instagram API
    10    description: |
    11      The first version of the Instagram API is an exciting step forward towards
    12      making it easier for users to have open access to their data. We created it
    13      so that you can surface the amazing content Instagram users share every
    14      second, in fun and innovative ways.
    15  
    16      Build something great!
    17  
    18      Once you've
    19      [registered your client](http://instagram.com/developer/register/) it's easy
    20      to start requesting data from Instagram.
    21  
    22      All endpoints are only accessible via https and are located at
    23      `api.instagram.com`. For instance: you can grab the most popular photos at
    24      the moment by accessing the following URL with your client ID
    25      (replace CLIENT-ID with your own):
    26      ```
    27        https://api.instagram.com/v1/media/popular?client_id=CLIENT-ID
    28      ```
    29      You're best off using an access_token for the authenticated user for each
    30      endpoint, though many endpoints don't require it.
    31      In some cases an access_token will give you more access to information, and
    32      in all cases, it means that you are operating under a per-access_token limit
    33      vs. the same limit for your single client_id.
    34  
    35  
    36      ## Limits
    37      Be nice. If you're sending too many requests too quickly, we'll send back a
    38      `503` error code (server unavailable).
    39      You are limited to 5000 requests per hour per `access_token` or `client_id`
    40      overall. Practically, this means you should (when possible) authenticate
    41      users so that limits are well outside the reach of a given user.
    42  
    43      ## Deleting Objects
    44      We do our best to have all our URLs be
    45      [RESTful](http://en.wikipedia.org/wiki/Representational_state_transfer).
    46      Every endpoint (URL) may support one of four different http verbs. GET
    47      requests fetch information about an object, POST requests create objects,
    48      PUT requests update objects, and finally DELETE requests will delete
    49      objects.
    50  
    51      Since many old browsers don't support PUT or DELETE, we've made it easy to
    52      fake PUTs and DELETEs. All you have to do is do a POST with _method=PUT or
    53      _method=DELETE as a parameter and we will treat it as if you used PUT or
    54      DELETE respectively.
    55  
    56      ## Structure
    57  
    58      ### The Envelope
    59      Every response is contained by an envelope. That is, each response has a
    60      predictable set of keys with which you can expect to interact:
    61      ```json
    62      {
    63          "meta": {
    64              "code": 200
    65          },
    66          "data": {
    67              ...
    68          },
    69          "pagination": {
    70              "next_url": "...",
    71              "next_max_id": "13872296"
    72          }
    73      }
    74      ```
    75  
    76      #### META
    77      The meta key is used to communicate extra information about the response to
    78      the developer. If all goes well, you'll only ever see a code key with value
    79      200. However, sometimes things go wrong, and in that case you might see a
    80      response like:
    81      ```json
    82      {
    83          "meta": {
    84              "error_type": "OAuthException",
    85              "code": 400,
    86              "error_message": "..."
    87          }
    88      }
    89      ```
    90  
    91      #### DATA
    92      The data key is the meat of the response. It may be a list or dictionary,
    93      but either way this is where you'll find the data you requested.
    94      #### PAGINATION
    95      Sometimes you just can't get enough. For this reason, we've provided a
    96      convenient way to access more data in any request for sequential data.
    97      Simply call the url in the next_url parameter and we'll respond with the
    98      next set of data.
    99      ```json
   100      {
   101          ...
   102          "pagination": {
   103              "next_url": "https://api.instagram.com/v1/tags/puppy/media/recent?access_token=fb2e77d.47a0479900504cb3ab4a1f626d174d2d&max_id=13872296",
   104              "next_max_id": "13872296"
   105          }
   106      }
   107      ```
   108      On views where pagination is present, we also support the "count" parameter.
   109      Simply set this to the number of items you'd like to receive. Note that the
   110      default values should be fine for most applications - but if you decide to
   111      increase this number there is a maximum value defined on each endpoint.
   112  
   113      ### JSONP
   114      If you're writing an AJAX application, and you'd like to wrap our response
   115      with a callback, all you have to do is specify a callback parameter with
   116      any API call:
   117      ```
   118      https://api.instagram.com/v1/tags/coffee/media/recent?access_token=fb2e77d.47a0479900504cb3ab4a1f626d174d2d&callback=callbackFunction
   119      ```
   120      Would respond with:
   121      ```js
   122      callbackFunction({
   123          ...
   124      });
   125      ```
   126    termsOfService: http://instagram.com/about/legal/terms/api
   127  
   128  ################################################################################
   129  #                  Host, Base Path, Schemes and Content Types                  #
   130  ################################################################################
   131  host: api.instagram.com
   132  basePath: /v1
   133  schemes:
   134    - https
   135  produces:
   136    - application/json
   137  consumes:
   138    - application/json
   139  
   140  ################################################################################
   141  #                                   Tags                                       #
   142  ################################################################################
   143  tags:
   144    - name: Users
   145    - name: Relationships
   146      description: |
   147        Relationships are expressed using the following terms:
   148  
   149        **outgoing_status**: Your relationship to the user. Can be "follows",
   150          "requested", "none".
   151        **incoming_status**: A user's relationship to you. Can be "followed_by",
   152          "requested_by", "blocked_by_you", "none".
   153    - name: Media
   154      description: |
   155        At this time, uploading via the API is not possible. We made a conscious
   156        choice not to add this for the following reasons:
   157  
   158        * Instagram is about your life on the go – we hope to encourage photos
   159          from within the app.
   160        * We want to fight spam & low quality photos. Once we allow uploading
   161          from other sources, it's harder to control what comes into the Instagram
   162          ecosystem. All this being said, we're working on ways to ensure users
   163          have a consistent and high-quality experience on our platform.
   164    - name: Commnts
   165    - name: Likes
   166    - name: Tags
   167    - name: Location
   168    - name: Subscribtions
   169  
   170  ################################################################################
   171  #                                  Security                                    #
   172  ################################################################################
   173  securityDefinitions:
   174    oauth:
   175      type: oauth2
   176      flow: implicit
   177      authorizationUrl: https://instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token
   178      scopes:
   179        basic: |
   180         to read any and all data related to a user (e.g. following/followed-by
   181          lists, photos, etc.) (granted by default)
   182        comments: to create or delete comments on a user’s behalf
   183        relationships: to follow and unfollow users on a user’s behalf
   184        likes: to like and unlike items on a user’s behalf
   185    key:
   186      type: apiKey
   187      in: query
   188      name: access_token
   189  security:
   190    - oauth:
   191      - basic
   192      - comments
   193      - relationships
   194      - likes
   195    - key: []
   196  
   197  ################################################################################
   198  #                                   Parameters                                 #
   199  ################################################################################
   200  parameters:
   201    user-id:
   202      name: user-id
   203      in: path
   204      description: The user identifier number
   205      type: number
   206      required: true
   207    tag-name:
   208      name: tag-name
   209      in: path
   210      description: Tag name
   211      type: string
   212      required: true
   213  
   214  ################################################################################
   215  #                                           Paths                              #
   216  ################################################################################
   217  paths:
   218    /users/{user-id}:
   219      parameters:
   220        - $ref: '#/parameters/user-id'
   221      get:
   222        security:
   223          - key: []
   224          - oauth:
   225            - basic
   226        tags:
   227          - Users
   228        description: Get basic information about a user.
   229        responses:
   230          200:
   231            description: The user object
   232            schema:
   233              type: object
   234              properties:
   235                data:
   236                  $ref: '#/definitions/User'
   237  
   238    /users/self/feed:
   239      get:
   240        tags:
   241          - Users
   242        description: See the authenticated user's feed.
   243        parameters:
   244          - name: count
   245            in: query
   246            description: Count of media to return.
   247            type: integer
   248          - name: max_id
   249            in: query
   250            description: Return media earlier than this max_id.s
   251            type: integer
   252          - name: min_id
   253            in: query
   254            description: Return media later than this min_id.
   255  
   256            type: integer
   257        responses:
   258          200:
   259            description: OK
   260            schema:
   261              type: object
   262              properties:
   263                data:
   264                  type: array
   265                  items:
   266                    $ref: '#/definitions/Media'
   267  
   268    /users/{user-id}/media/recent:
   269      parameters:
   270        - $ref: '#/parameters/user-id'
   271      get:
   272        tags:
   273          - Users
   274        responses:
   275          200:
   276            description: |
   277              Get the most recent media published by a user. To get the most recent
   278              media published by the owner of the access token, you can use `self`
   279              instead of the `user-id`.
   280            schema:
   281              type: object
   282              properties:
   283                data:
   284                  type: array
   285                  items:
   286                    $ref: '#/definitions/Media'
   287        parameters:
   288          - name: count
   289            in: query
   290            description: Count of media to return.
   291            type: integer
   292          - name: max_timestamp
   293            in: query
   294            description: Return media before this UNIX timestamp.
   295            type: integer
   296          - name: min_timestamp
   297            in: query
   298            description: Return media after this UNIX timestamp.
   299            type: integer
   300          - name: min_id
   301            in: query
   302            description: Return media later than this min_id.
   303            type: string
   304          - name: max_id
   305            in: query
   306            description: Return media earlier than this max_id.
   307            type: string
   308  
   309    /users/self/media/liked:
   310      get:
   311        tags:
   312          - Users
   313        description: |
   314          See the list of media liked by the authenticated user.
   315          Private media is returned as long as the authenticated user
   316          has permissionto view that media. Liked media lists are only
   317          available for the currently authenticated user.
   318        responses:
   319          200:
   320            description: OK
   321            schema:
   322              type: object
   323              properties:
   324                data:
   325                  type: array
   326                  items:
   327                    $ref: '#/definitions/Media'
   328        parameters:
   329          - name: count
   330            in: query
   331            description: Count of media to return.
   332            type: integer
   333          - name: max_like_id
   334            in: query
   335            description: Return media liked before this id.
   336            type: integer
   337  
   338    /users/search:
   339      get:
   340        tags:
   341          - Users
   342        description: Search for a user by name.
   343        parameters:
   344          - name: q
   345            in: query
   346            description: A query string
   347            type: string
   348            required: true
   349          - name: count
   350            in: query
   351            description: Number of users to return.
   352            type: string
   353        responses:
   354          200:
   355            description: OK
   356            schema:
   357              type: object
   358              properties:
   359                data:
   360                  type: array
   361                  items:
   362                    $ref: '#/definitions/MiniProfile'
   363  
   364    /users/{user-id}/follows:
   365      parameters:
   366        - $ref: '#/parameters/user-id'
   367      get:
   368        tags:
   369          - Relationships
   370        description: Get the list of users this user follows.
   371        responses:
   372          200:
   373            description: OK
   374            schema:
   375              properties:
   376                data:
   377                  type: array
   378                  items:
   379                    $ref: '#/definitions/MiniProfile'
   380  
   381    /users/{user-id}/followed-by:
   382      parameters:
   383        - $ref: '#/parameters/user-id'
   384      get:
   385        tags:
   386          - Relationships
   387        description: Get the list of users this user is followed by.
   388        responses:
   389          200:
   390            description: OK
   391            schema:
   392              properties:
   393                data:
   394                  type: array
   395                  items:
   396                    $ref: '#/definitions/MiniProfile'
   397  
   398    /users/self/requested-by:
   399      get:
   400        tags:
   401          - Relationships
   402        description: |
   403          List the users who have requested this user's permission to follow.
   404        responses:
   405          200:
   406            description: OK
   407            schema:
   408              properties:
   409                meta:
   410                  properties:
   411                    code:
   412                      type: integer
   413                data:
   414                  type: array
   415                  items:
   416                    $ref: '#/definitions/MiniProfile'
   417  
   418    /users/{user-id}/relationship:
   419      parameters:
   420        - $ref: '#/parameters/user-id'
   421      post:
   422        tags:
   423          - Relationships
   424        description: |
   425          Modify the relationship between the current user and thetarget user.
   426        security:
   427          - oauth:
   428            - relationships
   429        parameters:
   430          - name: action
   431            in: body
   432            description: One of follow/unfollow/block/unblock/approve/ignore.
   433            schema:
   434              type: string
   435              enum:
   436                - follow
   437                - unfollow
   438                - block
   439                - unblock
   440                - approve
   441  
   442        responses:
   443          200:
   444            description: OK
   445            schema:
   446              properties:
   447                data:
   448                  type: array
   449                  items:
   450                    $ref: '#/definitions/MiniProfile'
   451  
   452    /media/{media-id}:
   453      parameters:
   454        - name: media-id
   455          in: path
   456          description: The media ID
   457          type: integer
   458          required: true
   459      get:
   460        tags:
   461          - Media
   462        description: |
   463          Get information about a media object.
   464          The returned type key will allow you to differentiate between `image`
   465          and `video` media.
   466  
   467          Note: if you authenticate with an OAuth Token, you will receive the
   468          `user_has_liked` key which quickly tells you whether the current user
   469          has liked this media item.
   470        responses:
   471          200:
   472            description: OK
   473            schema:
   474              $ref: '#/definitions/Media'
   475  
   476    /media1/{shortcode}: #FIXME: correct path is /media/{shortcode}
   477      parameters:
   478        - name: shortcode
   479          in: path
   480          description: The media shortcode
   481          type: string
   482          required: true
   483      get:
   484        tags:
   485          - Media
   486        description: |
   487          This endpoint returns the same response as **GET** `/media/media-id`.
   488  
   489          A media object's shortcode can be found in its shortlink URL.
   490          An example shortlink is `http://instagram.com/p/D/`
   491          Its corresponding shortcode is D.
   492  
   493        responses:
   494          200:
   495            description: OK
   496            schema:
   497              $ref: '#/definitions/Media'
   498  
   499    /media/search:
   500      get:
   501        tags:
   502          - Media
   503        description: |
   504          Search for media in a given area. The default time span is set to 5
   505          days. The time span must not exceed 7 days. Defaults time stamps cover
   506          the last 5 days. Can return mix of image and video types.
   507  
   508        parameters:
   509          - name: LAT
   510            description: |
   511              Latitude of the center search coordinate. If used, lng is required.
   512            type: number
   513            in: query
   514          - name: MIN_TIMESTAMP
   515            description: |
   516              A unix timestamp. All media returned will be taken later than
   517              this timestamp.
   518            type: integer
   519            in: query
   520          - name: LNG
   521            description: |
   522              Longitude of the center search coordinate. If used, lat is required.
   523            type: number
   524            in: query
   525          - name: MAX_TIMESTAMP
   526            description: |
   527              A unix timestamp. All media returned will be taken earlier than this
   528              timestamp.
   529            type: integer
   530            in: query
   531          - name: DISTANCE
   532            description:  Default is 1km (distance=1000), max distance is 5km.
   533            type: integer
   534            maximum: 5000
   535            default: 1000
   536            in: query
   537        responses:
   538          200:
   539            description: OK
   540            schema:
   541              type: object
   542              description: List of all media with added `distance` property
   543              properties:
   544                data:
   545                  type: array
   546                  items:
   547                    allOf:
   548                      - $ref: '#/definitions/Media'
   549                      -
   550                        properties:
   551                          distance:
   552                            type: number
   553  
   554    /media/popular:
   555      get:
   556        tags:
   557          - Media
   558        description: |
   559          Get a list of what media is most popular at the moment.
   560          Can return mix of image and video types.
   561        responses:
   562          200:
   563            description: OK
   564            schema:
   565              type: object
   566              properties:
   567                data:
   568                  type: array
   569                  items:
   570                    $ref: '#/definitions/Media'
   571  
   572    /media/{media-id}/comments:
   573      parameters:
   574        - name: media-id
   575          in: path
   576          description: Media ID
   577          type: integer
   578          required: true
   579      get:
   580        tags:
   581          - Comments
   582        description: |
   583          Get a list of recent comments on a media object.
   584        responses:
   585          200:
   586            description: OK
   587            schema:
   588              properties:
   589                meta:
   590                  properties:
   591                    code:
   592                      type: number
   593                data:
   594                  type: array
   595                  items:
   596                    $ref: '#/definitions/Comment'
   597      post:
   598        tags:
   599          - Comments
   600          - Media
   601        description: |
   602          Create a comment on a media object with the following rules:
   603  
   604          * The total length of the comment cannot exceed 300 characters.
   605          * The comment cannot contain more than 4 hashtags.
   606          * The comment cannot contain more than 1 URL.
   607          * The comment cannot consist of all capital letters.
   608        security:
   609          - oauth:
   610              - comments
   611        parameters:
   612          - name: TEXT
   613            description: |
   614              Text to post as a comment on the media object as specified in
   615              media-id.
   616            in: body
   617            schema:
   618              type: number
   619        responses:
   620          200:
   621            description: OK
   622            schema:
   623              type: object
   624              properties:
   625                meta:
   626                  properties:
   627                    code:
   628                      type: number
   629                data:
   630                  type: object
   631      delete:
   632        tags:
   633          - Comments
   634        description: |
   635          Remove a comment either on the authenticated user's media object or
   636          authored by the authenticated user.
   637        responses:
   638          200:
   639            description: OK
   640            schema:
   641              type: object
   642              properties:
   643                meta:
   644                  properties:
   645                    code:
   646                      type: number
   647                data:
   648                  type: object
   649  
   650    /media/{media-id}/likes:
   651      parameters:
   652        - name: media-id
   653          in: path
   654          description: Media ID
   655          type: integer
   656          required: true
   657      get:
   658        tags:
   659          - Likes
   660          - Media
   661        description: |
   662          Get a list of users who have liked this media.
   663        responses:
   664          200:
   665            description: OK
   666            schema:
   667              properties:
   668                meta:
   669                  properties:
   670                    code:
   671                      type: number
   672                data:
   673                  type: array
   674                  items:
   675                    $ref: '#/definitions/Like'
   676      post:
   677        tags:
   678          - Likes
   679        description: Set a like on this media by the currently authenticated user.
   680        security:
   681          - oauth:
   682              - comments
   683        responses:
   684          200:
   685            description: OK
   686            schema:
   687              type: object
   688              properties:
   689                meta:
   690                  properties:
   691                    code:
   692                      type: number
   693                data:
   694                  type: object
   695      delete:
   696        tags:
   697          - Likes
   698        description: |
   699          Remove a like on this media by the currently authenticated user.
   700        responses:
   701          200:
   702            description: OK
   703            schema:
   704              type: object
   705              properties:
   706                meta:
   707                  properties:
   708                    code:
   709                      type: number
   710                data:
   711                  type: object
   712  
   713    /tags/{tag-name}:
   714      parameters:
   715        - $ref: '#/parameters/tag-name'
   716      get:
   717        tags:
   718          - Tags
   719        description: Get information about a tag object.
   720        responses:
   721          200:
   722            description: OK
   723            schema:
   724              $ref: '#/definitions/Tag'
   725  
   726    /tags/{tag-name}/media/recent:
   727      parameters:
   728        - $ref: '#/parameters/tag-name'
   729      get:
   730        tags:
   731          - Tags
   732        description: |
   733          Get a list of recently tagged media. Use the `max_tag_id` and
   734          `min_tag_id` parameters in the pagination response to paginate through
   735          these objects.
   736        responses:
   737          200:
   738            description: OK
   739            schema:
   740              properties:
   741                data:
   742                  type: array
   743                  items:
   744                    $ref: '#/definitions/Tag'
   745  
   746    /tags/search:
   747      get:
   748        tags:
   749          - Tags
   750        parameters:
   751          - name: q
   752            description: |
   753              A valid tag name without a leading #. (eg. snowy, nofilter)
   754            in: query
   755            type: string
   756        responses:
   757          200:
   758            description: OK
   759            schema:
   760              type: object
   761              properties:
   762                meta:
   763                  properties:
   764                    code:
   765                      type: integer
   766                data:
   767                  type: array
   768                  items:
   769                    $ref: '#/definitions/Tag'
   770  
   771    /locations/{location-id}:
   772      parameters:
   773        - name: location-id
   774          description: Location ID
   775          in: path
   776          type: integer
   777          required: true
   778      get:
   779        tags:
   780          - Location
   781        description: Get information about a location.
   782        responses:
   783          200:
   784            description: OK
   785            schema:
   786              type: object
   787              properties:
   788                data:
   789                  $ref: '#/definitions/Location'
   790  
   791    /locations/{location-id}/media/recent:
   792      parameters:
   793        - name: location-id
   794          description: Location ID
   795          in: path
   796          type: integer
   797          required: true
   798      get:
   799        tags:
   800          - Location
   801          - Media
   802        description: Get a list of recent media objects from a given location.
   803        parameters:
   804          - name: max_timestamp
   805            in: query
   806            description: Return media before this UNIX timestamp.
   807            type: integer
   808          - name: min_timestamp
   809            in: query
   810            description: Return media after this UNIX timestamp.
   811            type: integer
   812          - name: min_id
   813            in: query
   814            description: Return media later than this min_id.
   815            type: string
   816          - name: max_id
   817            in: query
   818            description: Return media earlier than this max_id.
   819            type: string
   820        responses:
   821          200:
   822            description: OK
   823            schema:
   824              type: object
   825              properties:
   826                data:
   827                  type: array
   828                  items:
   829                    $ref: '#/definitions/Media'
   830  
   831    /locations/search:
   832      get:
   833        tags:
   834          - Location
   835        description: Search for a location by geographic coordinate.
   836        parameters:
   837          - name: distance
   838            in: query
   839            description: Default is 1000m (distance=1000), max distance is 5000.
   840            type: integer
   841  
   842          - name: facebook_places_id
   843            in: query
   844            description: |
   845              Returns a location mapped off of a Facebook places id. If used, a
   846              Foursquare id and lat, lng are not required.
   847            type: integer
   848  
   849          - name: foursquare_id
   850            in: query
   851            description: |
   852              returns a location mapped off of a foursquare v1 api location id.
   853              If used, you are not required to use lat and lng. Note that this
   854              method is deprecated; you should use the new foursquare IDs with V2
   855              of their API.
   856            type: integer
   857  
   858          - name: lat
   859            in: query
   860            description: |
   861              atitude of the center search coordinate. If used, lng is required.
   862            type: number
   863  
   864          - name: lng
   865            in: query
   866            description: |
   867              ongitude of the center search coordinate. If used, lat is required.
   868            type: number
   869  
   870          - name: foursquare_v2_id
   871            in: query
   872            description: |
   873              Returns a location mapped off of a foursquare v2 api location id. If
   874              used, you are not required to use lat and lng.
   875            type: integer
   876        responses:
   877          200:
   878            description: OK
   879            schema:
   880              type: object
   881              properties:
   882                data:
   883                  type: array
   884                  items:
   885                    $ref: '#/definitions/Location'
   886  
   887    /geographies/{geo-id}/media/recent:
   888      parameters:
   889        - name: geo-id
   890          in: path
   891          description: Geolocation ID
   892          type: integer
   893          required: true
   894      get:
   895        description: |
   896          Get recent media from a geography subscription that you created.
   897          **Note**: You can only access Geographies that were explicitly created
   898          by your OAuth client. Check the Geography Subscriptions section of the
   899          [real-time updates page](https://instagram.com/developer/realtime/).
   900          When you create a subscription to some geography
   901          that you define, you will be returned a unique geo-id that can be used
   902          in this query. To backfill photos from the location covered by this
   903          geography, use the [media search endpoint
   904          ](https://instagram.com/developer/endpoints/media/).
   905        parameters:
   906          - name: count
   907            in: query
   908            description: Max number of media to return.
   909            type: integer
   910          - name: min_id
   911            in: query
   912            description: Return media before this `min_id`.
   913            type: integer
   914        responses:
   915          200:
   916            description: OK
   917  
   918  ################################################################################
   919  #                                 Definitions                                  #
   920  ################################################################################
   921  definitions:
   922    User:
   923      type: object
   924      properties:
   925        id:
   926          type: integer
   927        username:
   928          type: string
   929        full_name:
   930          type: string
   931        profile_picture:
   932          type: string
   933        bio:
   934          type: string
   935        website:
   936          type: string
   937        counts:
   938          type: object
   939          properties:
   940            media:
   941              type: integer
   942            follows:
   943              type: integer
   944            follwed_by:
   945              type: integer
   946    Media:
   947      type: object
   948      properties:
   949        created_time:
   950          description: Epoc time (ms)
   951          type: integer
   952        type:
   953          type: string
   954        filter:
   955          type: string
   956        tags:
   957          type: array
   958          items:
   959            $ref: '#/definitions/Tag'
   960        id:
   961          type: integer
   962        user:
   963          $ref: '#/definitions/MiniProfile'
   964        users_in_photo:
   965          type: array
   966          items:
   967            $ref: '#/definitions/MiniProfile'
   968        location:
   969          $ref: '#/definitions/Location'
   970        comments::
   971          type: object
   972          properties:
   973            count:
   974              type: integer
   975            data:
   976              type: array
   977              items:
   978                $ref: '#/definitions/Comment'
   979        likes:
   980          type: object
   981          properties:
   982            count:
   983              type: integer
   984            data:
   985              type: array
   986              items:
   987                $ref: '#/definitions/MiniProfile'
   988        images:
   989          properties:
   990            low_resolution:
   991              $ref: '#/definitions/Image'
   992            thumbnail:
   993              $ref: '#/definitions/Image'
   994            standard_resolution:
   995              $ref: '#/definitions/Image'
   996        videos:
   997          properties:
   998            low_resolution:
   999              $ref: '#/definitions/Image'
  1000            standard_resolution:
  1001              $ref: '#/definitions/Image'
  1002    Location:
  1003      type: object
  1004      properties:
  1005        id:
  1006          type: string
  1007        name:
  1008          type: string
  1009        latitude:
  1010          type: number
  1011        longitude:
  1012          type: number
  1013    Comment:
  1014      type: object
  1015      properties:
  1016        id:
  1017          type: string
  1018        created_time:
  1019          type: string
  1020        text:
  1021          type: string
  1022        from:
  1023          $ref: '#/definitions/MiniProfile'
  1024    Like:
  1025      type: object
  1026      properties:
  1027        user_name:
  1028          type: string
  1029        first_name:
  1030          type: string
  1031  #        x-go-name: NoName
  1032        last_name:
  1033          type: string
  1034        type:
  1035          type: string
  1036        id:
  1037          type: string
  1038    Tag:
  1039      type: object
  1040      properties:
  1041        media_count:
  1042          type: integer
  1043        name:
  1044          type: string
  1045    Image:
  1046      type: object
  1047      properties:
  1048        width:
  1049          type: integer
  1050        height:
  1051          type: integer
  1052        url:
  1053          type: string
  1054    MiniProfile:
  1055      type: object
  1056      description: A shorter version of User for likes array
  1057      properties:
  1058        user_name:
  1059          type: string
  1060        full_name:
  1061          type: string
  1062        id:
  1063          type: integer
  1064        profile_picture:
  1065          type: string