/clients/add

This endpoint accepts the following methods:

  • POST

POST

Add a new client to Registration. Once created, your new client will have access to the API, and if applicable, the UI. Default clients have no permissions, so you need to configure them in the dashboard, unless you add permissions using the features parameter.

The client_id and client_secret are generated by Janrain and included in the API response. This API call may only be made by the owner client, denoted by the 'owner' icon in the Janrain dashboard.

Optionally, you may set the features for the client at the time of creation. The features that you can add are:

  • owner — Complete admin access.
  • access_issuer — Can issue access tokens for other clients.
  • direct_read_access — Has read access to all records.
  • direct_access — Has read and write access to all records.
  • login_client — This client has permission to use login and registration-based API endpoints.

For more information on these features, see the API Clients and Permissions topic.

Authentication

This endpoint supports Basic authentication. To create an authentication string, combine your API client ID, a colon (:), and your client secret into a single value. For example, if your client ID is abcdefg and your client secret is hijklmnop, that value would look like this:

abcdefg:hijklmnop

Next, take the string and base64 encode it.

For example, on a Mac, you can base encode the string using this command:

echo -n "abcdefg:hijklmnop" | base64

If you’re running Microsoft Windows, you can encode the string by using a Windows PowerShell command similar to this:

[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes("abcdefg:hijklmn"))

The resulting value (e.g., YWJjZGVmZzpoaWprbG1ub3A=) should be used in your authentication header.

If you are making API calls using Postman, select Basic Auth as your identification type, then use the client ID as the username and the client secret as the password.

Make sure that your API client has the all the permissions (for example, the right to read user profile information) needed to complete the API call.

Base URL

The base URL for this endpoint is your Janrain Capture domain; for example:

https://educationcenter.us-dev.janraincapture.com

Your Capture domains (also known as Registration domains) can be found in the Janrain Console on the Manage Application page:

Examples

Example Request

Adds a client with the description "Client with direct access" and gives that client the "direct_access" feature.


curl -X POST \
-H "Authorization: Basic aW1fYV...NfbXk="\
--data-urlencode description='Client with direct read access'\
--data-urlencode features='["direct_read_access"]'\
https://my-app.janraincapture.com/clients/add
    

Running Code Samples Using Postman

The Janrain REST API code samples are written using Curl, but they can easily be run from within Postman. To use one of our code samples in Postman:

  1. Click the Copy to Clipboard button located directly beneath the code sample
  2. In Postman, click Import to display the Import dialog box.
  3. In the Import dialog box, click Paste Raw Text, and then paste in the copied code. The Import dialog box should look similar to this:

  4. Click Import, and the Curl command will be converted to a format that can be run from within Postman. All you need to do now is configure the command to work with your Janrain implementation.

Authorized Clients

  • owner

Security

  •  janrain-signed
  •  basic-auth

Query Parameters

Parameter Type Required Description
description string Yes String description of the client.
 
features string A JSON array of client features. If not included, the client will be created but will not have any features.
 

Responses

200 OK

Example Error Response


{
  "argument_name": "features",
  "request_id": "b83954jrg5hmc9kr",
  "code": 200,
  "error_description": "features was not valid for the following reason: superuser_owner is not a valid feature name",
  "error": "invalid_argument",
  "stat": "error"
}
    

Response Example (application/json)


{
  "features": [
    "direct_read_access"
  ],
  "description": "\"Client with direct read access\"",
  "client_id": "12345abcde12345abcde",
  "client_secret": "edcba54321edcba54321",
  "stat": "ok"
}