Construct Your Subscription Creation Script {#rb-subs-migration-4-script-construct-request}
===========================================================================================

For each subscription record that you exported from your former subscription provider, your script must submit an API request to create a new Recurring Billing subscription in the `Cybersource` system.

1. For each subscription, instructions in your script must:

2. Create the subscription creation request message with the required `REST` API fields.

   #### ADDITIONAL INFORMATION

   Follow these guidelines:

   * [Requirements for the Subscription Creation Script](/docs/cybs/en-us/recurring-billing/migration/all/rest/recurring-billing-migrate/rb-subs-migration-4-new-subs/rb-subs-migration-4-script-reqts.md "")
   * [Additional API Field Required for Any Credit or Debit Card Subscription](/docs/cybs/en-us/recurring-billing/migration/all/rest/recurring-billing-migrate/rb-subs-migration-4-new-subs/rb-subs-migration-4-script-reqts-card-0/rb-subs-migration-4-script-reqts-card-1-any.md "")
   * [Additional API Field Required for a Diners or Discover Card](/docs/cybs/en-us/recurring-billing/migration/all/rest/recurring-billing-migrate/rb-subs-migration-4-new-subs/rb-subs-migration-4-script-reqts-card-0/rb-subs-migration-4-script-reqts-card-2-diners.md "")

   #### ADDITIONAL INFORMATION

   For reference information to help you to construct a request message through your script, see these topics:

   * [Using the Interactive REST API Reference](/docs/cybs/en-us/recurring-billing/migration/all/rest/recurring-billing-migrate/rb-subs-migration-7-reference/rb-subs-migration-4-dev-ctr-api.md "")
   * [Creating a Subscription with a One-Time Plan](/docs/cybs/en-us/recurring-billing/migration/all/rest/recurring-billing-migrate/rb-subs-migration-7-reference/rb-subs-migration-4a-plan-one-time.md "")
   * [Creating a Subscription with an Existing Plan](/docs/cybs/en-us/recurring-billing/migration/all/rest/recurring-billing-migrate/rb-subs-migration-7-reference/rb-subs-migration-4b-plan-existing.md "")
   * [Creating a Subscription with Plan Overrides](/docs/cybs/en-us/recurring-billing/migration/all/rest/recurring-billing-migrate/rb-subs-migration-7-reference/rb-subs-migration-4c-plan-overrides.md "")
3. Send the message to one of these endpoints:

   * Production: `POST ``https://api.cybersource.com``/rbs/v1/subscriptions`
   * Test: `POST ``https://apitest.cybersource.com``/rbs/v1/subscriptions`
4. Check the response messages to verify that the request was successful.

   #### ADDITIONAL INFORMATION

   A 200-level HTTP response code indicates success. See the [Transaction Response Codes](https://developer.cybersource.com/api/reference/response-codes.md "").

5. Write the request and response information to the log file for troubleshooting and verification purposes.

6. For transaction errors, perform error handling and retry logic when appropriate.

