Accounts

User accounts on the Firefox Marketplace.

Account

Note

Requires authentication.

The account API, makes use of the term mine. This is an explicit variable to lookup the logged in user account id.

GET /api/v2/account/settings/mine/

Returns data on the currently logged in user.

Response

{
    "resource_uri": "/api/v2/account/settings/1/",
    "display_name": "Nice person",
    "enable_recommendations": true
}

To update account information:

PATCH /api/v2/account/settings/mine/

Request

Parameters:
  • display_name (string) – the displayed name for this user.
  • enable_recommendations (boolean) – whether to show app recommendations or not.

Response

No content is returned in the response.

Status Codes:
  • 200 OK – successfully completed.

Fields that can be updated:

  • display_name
  • enable_recommendations
GET /api/v2/account/installed/mine/

Returns a list of the installed apps for the currently logged in user. This ignores any reviewer or developer installed apps.

Request

The standard Listing query params.

Response

Parameters:
Status Codes:
  • 200 OK – sucessfully completed.
POST /api/v2/account/installed/mine/remove_app/

Removes an app from the list of the installed apps for the currently logged in user. This only works for user installed apps.

Request

Parameters:
  • app (int) – the app id

Response

Status Codes:
GET /api/v2/account/permissions/mine/

Returns a mapping of the permissions for the currently logged in user.

Response

{
    "permissions": {
        "admin": false,
        "curator": false,
        "developer": false,
        "localizer": false,
        "lookup": true,
        "revenue_stats": false,
        "reviewer": false,
        "stats": false,
        "webpay": false
    },
    "resource_uri": "/api/v2/account/permissions/1/"
}
Parameters:
  • permissions (object) – permissions and properties for the user account. It contains boolean values which describe whether the user has the permission described by the key of the field.
Status Codes:
  • 200 OK – sucessfully completed.

Feedback

POST /api/v2/account/feedback/

Submit feedback to the Marketplace.

Note

Authentication is optional.

Note

This endpoint is rate-limited at 30 requests per hour per user.

Request

Parameters:
  • chromeless (string) – (optional) “Yes” or “No”, indicating whether the user agent sending the feedback is chromeless.
  • feedback (string) – (required) the text of the feedback.
  • from_url (string) – (optional) the URL from which the feedback was sent.
  • platform (string) – (optional) a description of the platform from which the feedback is being sent.
{
    "chromeless": "No",
    "feedback": "Here's what I really think.",
    "platform": "Desktop",
    "from_url": "/feedback",
    "sprout": "potato"
}

This form uses PotatoCaptcha, so there must be a field named sprout with the value potato and cannot be a field named tuber with a truthy value.

Response

{
    "chromeless": "No",
    "feedback": "Here's what I really think.",
    "from_url": "/feedback",
    "platform": "Desktop",
    "user": null,
}
Status Codes:

Newsletter signup

POST /api/v2/account/newsletter/

This resource requests that the email passed in the request parameters be subscribed to the Marketplace newsletter.

Note

Authentication is optional.

Note

This endpoint is rate-limited at 30 requests per hour per user/IP.

Request

Parameters:
  • email (string) – The email address to send newsletters to.
  • newsletter (string) – The newsletter to subscribe to. Can be either ‘marketplace’ or ‘about:apps‘.

Response

Status Codes:

Operator Permissions

Users may be granted permission to operate as an administrator on individual carrier/region pairs.

GET /api/v2/account/operators/

Return a list of each carrier/region pair upon which the user has permission to operate.

Note

Authentication is optional, but unauthenticated requests will never return data.

Response

Parameters:
  • meta (object) – Listing response meta.
  • objects (array) – A list of carrier/region pairs for the user.
[
    {
        'carrier': 'telefonica',
        'region': 'br'
    },
    {
        'carrier': 'telefonica',
        'region': 'co'
    }
]

If the user is able to administer every carrier/region pair, it will instead return:

[
    '*'
]

Sign Developer Agreement

POST /api/v2/account/dev-agreement/show/

Get the developer agreement URL for the authenticating user.

Note

Authentication is required.

Response

Status Codes:
  • 200 OK – successfully viewed developer agreement.
  • 201 Created – successfully viewed developer agreement for the first time. The user can now sign the agreement.
  • 400 Bad Request – user has already signed terms of service.
  • 403 Forbidden – authentication required.
  • 405 Method Not Allowed – invalid HTTP method; only POST is allowed on this endpoint.
POST /api/v2/account/dev-agreement/read/

Sign the developer agreement for the authenticating user. The user must have already been shown the developer agreement

Note

Authentication is required.

Response

Status Codes: