Skip to end of banner
Go to start of banner

Cert Registry: API Keys

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

Version 1 Next »

These API keys have a similar format to LearningBuilder API Keys, but are completely separate.

Overview

TODO

API Keys

API Keys are configured at the Lambda level and consist of three pieces of information:

  • user - unique user identifier

  • api_key - password or key for the user

  • scope - either “SYSTEM” (for Heuristics access) or “CLIENT” (for client access)

Configuration and diagnostics

/health

Returns a summary of the configuration’s health. Indicates if it is properly configured for the specified client and the results of any diagnostics that are run.


/configure

The /configure endpoint is used to set up a client’s initial configuration scheme.

To modify specific settings after initialization use /configureSettings

JSON Payload

{
    "ClientId": "{{lb_client_id}}",
    "ClientCredentials": {
        "UserApiKeys": [
            { "user": "LearningBuilder", "api_key": "abcdef123", "scope": "SYSTEM" },
            { "user": "joe_schmoe", "api_key": "abcdef123", "scope": "SYSTEM" },
            { "user": "bob_dylan", "api_key": "defabc654", "scope": "CLIENT" }
        ],
        "LbApiKeyOwner": "{{lb_api_key_username}}",
        "LbApiKey": "{{lb_api_key_password}}"
    },
    "ClientSettings": {
    }
}

Parameter

Description

ClientId

Client Id that is used in learning builder

ClientCredentials

UserApiKeys

An array of API Keys for individual users. These are used to make API calls against the Lambda endpoints.

The scope is either “SYSTEM” or “CLIENT”.

LbApiKeyOwner

LearningBuilder API key. Used when the Lambda makes API calls to LearningBuilder.

LbApiKey

ClientSettings

LbHostOverride

The hostname to use when making API calls back to LearningBuilder.

When empty, the Lambda uses the LbConfiguration.ClientLbDomain value for {CLIENT_ID}

If you need to override that value during testing or troubleshooting, enter the fully qualified hostname here.


/configureSettings/{PROGRAM_ID}

Updates one or more of the configuration settings at a time, without sending the entire configuration document.

NOTE: This can not be used to change API Key credentials. Use /setUserCredentials for that.

JSON Payload

{
    "settings": [
      { "name": "xxx", "value": "some new value"}
    ]
}

Parameter

Description

settings

Array of settings to set

name

Name of the setting to update.

This must be “scope-prefixed” with the name of the relevant settings bucket, e.g.:

  • “ClientCredentials.NursysUsername”

  • “ClientSettings.SomeValue”

value

Value to set


/setUserCredentials/{CLIENT_ID}

Adds or updates API Keys for individual users.

JSON Payload

{
    "user": "some_user_identifier",
    "api_key": "abcdef12345",
    "scope": "SYSTEM|CLIENT"
}
  • No labels