Modify a Screen

Endpoint URL: {identityDomain} /config/{appId} /flows/{flow} /screens/{screen}



Description

Modifies property values for a screen. Screens, primarily used as a container for hosting forms, contain three primary properties; each of these property values must be included in the request body of your API call (including values that aren’t being changed). Screen property values are:

  • hasUserData. Boolean value that indicates whether the screen displays user data. For example, the confirmAccountDeactivation screen does not display any user data; instead, it simply asks the user to verify that they really do want to deactivate their account. By default, only the editProfile and the emailVerificationRequired screens display user data.
     
  • modal. Boolean value that indicates whether the new screen is a “modal.” With a modal screen, the screen must be completed (or dismissed) before the user can do anything else. By default, all Identity Cloud screens have the modal property set to true except for the editProfile screen.
     
  • name. Name of the screen. The name value must be included in the request body even though you cannot change the name of a screen. If you omit the name, your call will fail with the following error:
{
    "errors": "Missing payload argument 'name'."
} 

An error will also occur if you attempt to change the name of the screen. For example, suppose you have a screen named testScreen and you try change the name to newRegistrationScreen. That API call will fail with this error:

{
    "errors": "Screen name in URL path and request body must match. Got 'testScreen' in the URL and 
    'newRegistrationScreen' in the request body."
} 

A typical request body will look similar to this:

{
    "hasUserData": false,
    "modal": true,
    "name": "testScreen"
}


Respects the API Client Allow List:  No

API Client Permissions

The following table indicates the API clients that can (and the API clients that can't) be used to call this endpoint:

owner
access_issuer
direct_access
direct_read_access
login_client
Yes
No
Yes
No
No


Authentication

This endpoint supports Basic authentication. 

How to Create an Authentication String


Base URL

The base URL for this endpoint is your Identity Cloud Configuration API domain followed by /config/ followed by your application ID. For example, if you are in the US region and your application ID is htb8fuhxnf8e38jrzub3c7pfrr, then your base URL would be:


https://v1.api.us.janrain.com/config/htb8fuhxnf8e38jrzub3c7pfrr

Allowed regions are:

  • us 
  • eu 
  • au 
  • sa 
  • cn
  • sg


Request Example (application/json)


{
  "modal": false,
  "name": "signIn",
  "hasUserData": true
}


Sample Request (curl)

This command changes the modal value of the changePassword screen associated with the documentation flow.


curl -X PUT \
  https://v1.api.us.janrain.com/config/htb8fuhxnf8e38jrzub3c7pfrr/flows/documentation/screens/changePassword \
  -H 'Authorization: Basic c2dueXZ1czZwYzRqbTdraHIybmVxNWdzODlnYnIyZXE6d3Q0YzN1bjl3a2tjZnZ5a25xeDQ0eW5jNDc2YWZzNjg=' \
  -H 'Content-Type: application/json' \
  -d '{
    "hasUserData": true,
    "name": "changePassword",
    "modal": false
   }'

      Running this command in Postman


Responses

204 No Content

If the screen is successfully modified you will see the HTTP status code 204 No Content.

404 Not Found

Screen could not be found. Please check the value and try again.

Response Example (application/json)


{
  "errors": "Screen not found."
}