Config

NFL Config offers bootstrap ability for NFL mobile apps.

Public

NFL bootstrap configuration data is public information -- anyone is allowed to access this data. Sensitive information is therefore not allowed in the bootstrap and should be stored in the internal configuration system used by the application.

Multi-level Cascading Of Key/Values

In the bootstrap hash, NFL apps can organize configuration data in hierarchy folder structure rooted in a key called public. Folders are multi-level, meaning a folder can contain folders. In the following, public is the parent, it contains ios and android; ios contains ios8.

{
    "public": {
        "k1": "v1",
        "k2": "v2",
        "k3": "v3"
        "ios": {
            "k4": "v4",
            "k2": "v22"
            "ios8": {
                "k5": "v5",
                "k4": "v44",
                "k3": "v33"
            },
        },
        "android": {
            "k6": "v6",
            "k1": "v11"
        }
    },
}

In the examples above, there are 3 levels. What key/value pairs ios8 should have?
See answer below:

{
    "k1": "v1",
    "k2": "v22",
    "k3": "v33",
    "k4": "v44"
}

Cascading Rules

Endpoints

GET HTTP /v1/config
Path Method Description Notes
/v1/config GET Return key/values Get bootstrap information. required c=/public/ios/ios8
optional k="key1,key2,...".

This service does not require any authentication to access.

Use case - Retrieve all dictionaries for an app

GET /v1/config?c=/public/ios/ios8

Response Status Code

Code Description Body
200 Accepted json

Response JSON

{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}

Use case - Retrieve arbitrary dictionaries

GET /v1/config?c=/public/android&k=version.latest,version.min

Response Status Code

Code Description Body
200 Accepted json

Response JSON

{
"version.latest": "12.3.4",
"version.min": "12.0.0"
}