> ## Documentation Index
> Fetch the complete documentation index at: https://docs.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PUT /process/step

Also known as the Process Step API, this API continues or completes an existing instance of a Storefront Gateway Process specified by a `processId`.

## API URL

* `PUT https://{your.tenant.url}/process/step`

## Request Parameters

Unlike the Start Process API, [POST /process/start/\{processName}](c_processStart), this API requires a payload of data specified in the preceding Process response.

<img src="https://mintcdn.com/amdocs-spbu/0TZ9XF1Mst_2ATcV/marketONE/sgProcessGuide/images/m1c_putProcessStepEx.png?fit=max&auto=format&n=0TZ9XF1Mst_2ATcV&q=85&s=02a6b18943efb6fd02a46738d6a4f95b" alt="" width="663" height="675" data-path="marketONE/sgProcessGuide/images/m1c_putProcessStepEx.png" />

The Process Step API will always require at least two key items: the `processId` that identifies the particular instance of a Process, and a `parameters` object that consists of various data fields that were explicitly specified in the preceding Process response.

| `processId` | Unique identifier for the current instance of this Process. |
| - | - |
| `parameters` | Data object that the Process requires in order to continue its task, typically in the form of user input. The required data in the object are context-dependent, based on the preceding Process response. |
| For example, when an anonymous user invokes the Recover ID Process, the first response looks like this: | |

```
**RESPONSE - body**
{
   "processId": "80d248a2-ec15-428f-be42-500426fabec9",
   "processName": "recovery.PasswordRecovery.v1.0",
   "displayMessage": "Please provide your email or mobile",
   "parameters": {
       "authnIdentifier": "String"
   },
   "stepName": "UsernamePrompt",
   "lastStep": false,
}
```

This response indicates that the Process needs the user to provide their registered authentication identifier (or authN ID), as listed under the `parameters` object. The UI then passes that data through the `PUT /process/step` request:

```
**REQUEST - PUT https://\{your.url\}/process/step**
{ 
   "processId": "80d248a2-ec15-428f-be42-500426fabec9", 
   "parameters": { 
      "authnIdentifier": "jane_email@example.com" 
   }
}
```

## Response Parameters

Depending on the current Process, the Process Step API may return some or most of the following key properties:

| `processId` | Unique identifier for the current instance of this Process. The client application UI **must** provide this ID in every subsequent Process Step such as [PUT /process/step](c_processStep) request in order to continue and complete the Process. |
| - | - |
| `processName` | Full name of the Process, including the category and version number. |
| `stepName` | Name of the specific step that the Process is currently on. In some cases, `stepName` can be useful for application UIs so that they know what page to render. |
| `lastStep` | Boolean that indicates whether or not this was the last step in the Process. |
| `displayMessage` | Descriptive message that the UI can optionally display to the end user. |
| `parameters` | Object that specifies the info this Process requires to continue its task, usually in the form of user input. The client application must provide the required data, inside the same `parameters` in the subsequent [PUT /process/step](c_processStep) request. |
| `output` | Additional data object with information that Storefront Gateway provides to the client application in order to render the user interface. The information may indicate what has been done (e.g., the ID of an object which has been created), or include data useful for asking a question about the next step (e.g., a list of available options to provide to the user).For example, the Onboard and Authenticate User with Social Process initially responds with a request for the social provider's `providerId`, and also supplies a list of available options to present to the user: `"parameters": &#123; "providerId": "String" &#125;, "output": &#123; "providers": [ "google", "facebook", "apple" ] &#125;` Unlike `parameters`, `output` is only for the client application's consumption. The application does not need to provide it in any request to Storefront Gateway. |
| `pkat` | Unique Proof Key for Action Token (PKAT) that corresponds to an action token that has been issued and sent to a user's contact channel (email or mobile number). The PKAT is used for OTP verification and a quick token resend functionality. See [Storefront Gateway Action Token](c_actionTokens) for more details. |
| `userAuthenticated` | Boolean that indicates if the user was authenticated into Storefront Gateway. Appears at the final response from a Process. |
| This is not an exhaustive list. Data fields specified in the `parameters` and `output` objects will vary from Process to Process. You can refer to the API use cases under each Process for full, step-by-step details. | |

## Errors

See [Common Process Error Codes](c_commonProcessErrors) for more information. Error Cases under each Process also contain process specific examples of errors.

**Parent topic:**[Process APIs](c_processAPIsdita)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.