Overview

This page shows the usage of the Permission API, please see the following for more details.

Documents & examples

LIST

Method: GET

Query Params:

  • app_label (string)
  • codename (string)
  • model (string)
  • ordering (string) Comma separated list of fields for ordering results.
    • To sort by a field in descending order, prefix its name with minus (e.g. -name).
    • Use double underscores for nested field names (e.g. parent__child for {"parent": {"child": ...}}).

Following filters can be used to show only specific fields. This can make response time faster. Format is list or single value (JSON: {"fields": ["a","b"]} or {"fields": "a"}, in URL: ?fields=a&fields=b).

  • fields (list | string) Fields to display (other fields will be hidden).
  • exclude_fields: (list | string) Fields NOT to display (overrules fields).

URL: /rest_api/v1/auth/permissions/

Response: a paged list of following objects

{
    "app_label": "string", 
    "codename": "string", 
    "model": "string"
}

Example:

curl -H "Accept: application/json"  -X GET https://pdc.fedoraproject.org/rest_api/v1/auth/permissions/
# output
{
    "count": 150,
    "next": "https://pdc.fedoraproject.org/rest_api/v1/auth/permissions/?page=2",
    "previous": null,
    "results": [
        {
            "codename": "add_logentry",
            "app_label": "admin",
            "model": "logentry"
        },
        ...
    ]
}

With query params:

curl -H "Accept: application/json"  -G https://pdc.fedoraproject.org/rest_api/v1/auth/permissions/ --data-urlencode "codename=add_logentry"
# output
{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "codename": "add_logentry",
            "app_label": "admin",
            "model": "logentry"
        }
    ]
}

Browsable GET

GET /rest_api/v1/auth/permissions/
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 273,
    "next": "https://pdc.fedoraproject.org/rest_api/v1/auth/permissions/?page=2",
    "previous": null,
    "results": [
        {
            "codename": "add_logentry",
            "app_label": "admin",
            "model": "logentry"
        },
        {
            "codename": "change_logentry",
            "app_label": "admin",
            "model": "logentry"
        },
        {
            "codename": "delete_logentry",
            "app_label": "admin",
            "model": "logentry"
        },
        {
            "codename": "add_permission",
            "app_label": "auth",
            "model": "permission"
        },
        {
            "codename": "change_permission",
            "app_label": "auth",
            "model": "permission"
        },
        {
            "codename": "delete_permission",
            "app_label": "auth",
            "model": "permission"
        },
        {
            "codename": "add_group",
            "app_label": "auth",
            "model": "group"
        },
        {
            "codename": "change_group",
            "app_label": "auth",
            "model": "group"
        },
        {
            "codename": "delete_group",
            "app_label": "auth",
            "model": "group"
        },
        {
            "codename": "add_contenttype",
            "app_label": "contenttypes",
            "model": "contenttype"
        },
        {
            "codename": "change_contenttype",
            "app_label": "contenttypes",
            "model": "contenttype"
        },
        {
            "codename": "delete_contenttype",
            "app_label": "contenttypes",
            "model": "contenttype"
        },
        {
            "codename": "add_session",
            "app_label": "sessions",
            "model": "session"
        },
        {
            "codename": "change_session",
            "app_label": "sessions",
            "model": "session"
        },
        {
            "codename": "delete_session",
            "app_label": "sessions",
            "model": "session"
        },
        {
            "codename": "add_token",
            "app_label": "authtoken",
            "model": "token"
        },
        {
            "codename": "change_token",
            "app_label": "authtoken",
            "model": "token"
        },
        {
            "codename": "delete_token",
            "app_label": "authtoken",
            "model": "token"
        },
        {
            "codename": "add_corsmodel",
            "app_label": "corsheaders",
            "model": "corsmodel"
        },
        {
            "codename": "change_corsmodel",
            "app_label": "corsheaders",
            "model": "corsmodel"
        }
    ]
}