# Two-Step Operations Workflow

#### Two-Step Operations Workflow
The following procedure is for completing a two-step operation.
Authenticate
Ensure a valid and current API token is available.
This is generated from the partner or merchant API key.
The API token is short-lived.
The API token may be generated anew for the endpoint call, can use an previously generated API token that is still valid, or is using the refresh token.
Authorize
Use the following endpoint to authorize for the payment transaction.
Authorizing a payment transaction, or request, confirms that the payment method is valid.
If payment method is valid, it reserves, or puts a hold on, the funds.
It does not actually move funds yet.
The transaction can be rejected if the payment method is invalid and/or the requested funds are not available.
This endpoint attempts to authorize the transaction:
`POST /pay-api/v1/transactions/auth`
This is an example of the return body, with the field `transactionId` noted.
This field references the transaction for subsequent endpoints, if needed.

```json
{
...
  "transactionId": "2f41c881-7337-45b9-8dba-fa5d9711e2b1",
...
}
```

Version: V1
Security: Bearer

## Description:

  - `Two-Step Operations Workflow` ()
    The following procedure is for completing a two-step operation. AuthenticateEnsure a valid and current API token is available.This is generated from the partner or merchant API key.The API token is short-lived.The API token may be generated anew for the endpoint call, can use an previously generated API token that is still valid, or is using the refresh token. AuthorizeUse the following endpoint to authorize for the payment transaction.Authorizing a payment transaction, or request, confirms that the payment method is valid.If payment method is valid, it reserves, or puts a hold on, the funds.It does not actually move funds yet.The transaction can be rejected if the payment method is invalid and/or the requested funds are not available. This endpoint attempts to authorize the transaction:POST /pay-api/v1/transactions/auth This is an example of the return body, with the field transactionId noted.This field references the transaction for subsequent endpoints, if needed. {
...
  "transactionId": "2f41c881-7337-45b9-8dba-fa5d9711e2b1",
...
}
{
...
  "transactionId": "2f41c881-7337-45b9-8dba-fa5d9711e2b1",
...
}

