Mozillians/API-Specification/List Users/: Difference between revisions

 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= listUsers =
= users =
Returns user information based on search parameters.
Returns user information based on search parameters.


Line 14: Line 14:
! style='width:50%'| Description
! style='width:50%'| Description
|-
|-
| '''app_name'''
| '''app_key'''
| string
| string
| style="text-align:center" | Y
| style="text-align:center" | Y
| style="text-align:center" | N
| style="text-align:center" | N
| Your registered app name. This is case sensitive.
| Your app key
|-
|-
| '''app_key'''
| '''app_name'''
| string
| string
| style="text-align:center" | Y
| style="text-align:center" | Y
| style="text-align:center" | N
| style="text-align:center" | N
| Your app key
| Your app name
|-
|-
| '''is_vouched'''
| '''is_vouched'''
| string <br/> [true false]
| string <br/> [true false]
| style="text-align:center" | N
| style="text-align:center" | N
| style="text-align:center" | N (Required For Community)
| style="text-align:center" | Y
| Flag to return users that are vouched or not.  
| Flag to return users that are vouched or not.  
|-
| '''username'''
| string
| style="text-align:center" | N
| style="text-align:center" | Y
| Return user with matching username.
|-
| '''ircname'''
| string
| style="text-align:center" | N
| style="text-align:center" | Y
| Return user with matching ircname.
|-
|-
| '''email'''
| '''email'''
| string  
| string  
| style="text-align:center" | N
| style="text-align:center" | N / Y (Required For Community)
| style="text-align:center" | Y
| style="text-align:center" | Y
| Return user with matching email.  
| Return user with matching email.  
Line 87: Line 99:
|-
|-
| '''format'''
| '''format'''
| string <br/> [json xml]  
| string <br/> [json jsonp]  
| style="text-align:center" | N
| style="text-align:center" | N
| style="text-align:center" | N
| style="text-align:center" | N
Line 94: Line 106:


Arguments country, region, city, is_vouched, email, skills, languages, groups can be combined. The returned results will be logically ANDed.
Arguments country, region, city, is_vouched, email, skills, languages, groups can be combined. The returned results will be logically ANDed.
== Example Response ==


== Return Codes ==
== Return Codes ==
Line 107: Line 117:
|-
|-
| '''401: Unauthorized'''
| '''401: Unauthorized'''
| Wrong AppName or AppKey or App not activated  
| Wrong app_name or app_key or App not activated  
|}
|}
== Examples: Community Apps  ==
* /api/v1/users/?app_name=foobar&app_key=12345&email=test@example.com
    {
      "meta":
      {
          "limit": 20,
          "next": null,
          "offset": 0,
          "previous": null,
          "total_count": 1
      },
      "objects":
      [
          {
              "email": "test@example.com",
              "is_vouched": true
          }
      ]
    }
* /api/v1/users/?app_name=foobar&app_key=12345&email=test@example.com&format=xml
    <?xml version='1.0' encoding='utf-8'?>
    <response>
    <objects type="list">
    <object>
    <email>giorgos@mozilla.com</email>
    <is_vouched type="boolean">True</is_vouched>
    </object>
    </objects>
    <meta type="hash">
    <next type="null"/>
    <total_count type="integer">1</total_count>
    <previous type="null"/>
    <limit type="integer">20</limit>
    <offset type="integer">0</offset>
    </meta>
    </response>
* /api/v1/users/?app_name=foobar&app_key=12345
  FORBIDDEN
* /api/v1/users/1/?app_name=foobar&app_key=12345
  FORBIDDEN
== Examples: Mozilla Apps  == 
* /api/v1/users/?app_name=foobar&app_key=12345
    {
      "meta":
      {
          "limit": 20,
          "next": null,
          "offset": 0,
          "previous": null,
          "total_count": 4
      },
      "objects":
      [
          {
              "username": "foobar",
              "ircname": "foobar",
              "bio": "",
              "city": "",
              "country": "",
              "full_name": "Foo Bar",
              "email": "test@example.com",
              "groups":
              [
                  "staff"
              ],
              "id": "1",
              "ircname": "",
              "is_vouched": true,
              "languages":
              [
              ],
              "last_updated": "2012-10-04T02:31:30",
              "photo": "",
              "region": "",
              "resource_uri": "/api/v1/user/1/",
              "skills":
              [
                  "python"
              ],
              "website": ""
          }
      ]
    }
== Examples: Mozilla Apps: Query By User ID  ==
* /api/v1/users/1/?app_name=foobar&app_key=12345
    {
      "username": "foobar",
      "ircname": "foobar",
      "bio": "",
      "city": "",
      "country": "",
      "full_name": "Foo Bar",
      "email": "test@example.com",
      "groups":
      [
          "staff"
      ],
      "id": "1",
      "ircname": "",
      "is_vouched": true,
      "languages":
      [
      ],
      "last_updated": "2012-10-04T02:31:30",
      "photo": "",
      "region": "",
      "resource_uri": "/api/v1/user/1/",
      "skills":
      [
          "python"
      ],
      "website": ""
    }
== Examples: Mozilla Apps: More Filters  ==
Mozilla Apps can use more filters on results:
* Filter by ''country'':
  /api/v1/users/?app_name=foobar&app_key=12345&country=Greece
* Filter by ''region'':
  /api/v1/users/?app_name=foobar&app_key=12345&region=California
* Filter by ''city'':
  /api/v1/users/?app_name=foobar&app_key=12345&city=Mountain%20View
* Filter by ''ircname'':
  /api/v1/users/?app_name=foobar&app_key=12345&ircname=foobar
* Filter by ''username'':
  /api/v1/users/?app_name=foobar&app_key=12345&username=foobar
* Filter by ''languages'':
  /api/v1/users/?app_name=foobar&app_key=12345&languages=Greek
* Filter by ''skills'':
  /api/v1/users/?app_name=foobar&app_key=12345&skills=Python
* Filter by ''groups'':
  /api/v1/users/?app_name=foobar&app_key=12345&groups=Staff
* Filter by ''name'':
  /api/v1/users/?app_name=foobar&app_key=12345&name=foo
* Filters can be combined, e.g. ''python'' and ''brazil'':
  /api/v1/users/?app_name=foobar&app_key=12345&country=brazil&skills=python
Confirmed users
60

edits