Create and manage transaction enrollments
An enrollment request includes the provider record, the transaction type you want to enroll, the payer you want to enroll with, and a designated contact that the payer can communicate with about the enrollment. All requests go through the same high-level enrollment process once submitted.
Developers can create enrollment requests individually in the UI, through bulk CSV import, or through the API.
Individual UI submission
Creating individual enrollment requests through the Stedi portal involves two steps: creating a provider record and submitting enrollment requests.
Step 1: Create a provider record
You must create a provider record with the name, tax ID, NPI, and contact information of the billing provider you plan to use in claims. Stedi submits this information to the payer as part of the enrollment process.
If you're a solo provider, this is likely your information. If you're enrolling a group practice, you only need to create provider records for the NPIs and the tax IDs you use for billing. You don't need to create provider records for individual rendering providers.

To create a provider record:
- Go to the Providers page.
- Click New provider.
- Enter the required information:
- Display name: A name to help you identify the provider record in your account. For example, "XYZ Medical Group". We don't share this name with payers.
- NPI: The National Provider Identifier (NPI) on file with the payer that you use for billing. If you're enrolling a group practice, this is typically the group's NPI.
- Tax ID: The tax ID, which can be an EIN or SSN. This should be the tax ID on file with the payer that you use for billing.
- Contacts: This is where the payer will send communications about the enrollment, if needed. For many providers, Stedi can fetch contact information from the NPI registry. The name and address should exactly match what the payer has on file. However, the email and phone number can be set to wherever you want to receive payer communications.
- Click Create provider.
The provider record is created and appears in the list on the Providers page.
Step 2: Create enrollment requests
Once you've created a provider record, you can attach it to one or more enrollment requests.

To create an enrollment request:
- Go to the Enrollments page.
- Click New enrollment.
- Complete the required information:
- Payer: Select the payer you want to enroll with. Start typing the payer's name to filter the list.
- Provider: Select an existing provider record. The form automatically populates the provider's information. You can choose to use an existing contact or enter new contact information for the payer to use for communications about the enrollment. Review our guidance on provider contact information to ensure updates go to the correct location.
- Transaction: Select the transaction type you want to enroll for. The form populates the list of transaction types that the payer supports, and you'll only be able to select transaction types that require enrollment.
- Stedi contact person: This is the email address where Stedi will send updates about the enrollment request. We'll use it to notify you when there are next steps and send updates on the enrollment's status. This email address can be different from the contact information you provided in the provider record. Set it to wherever you want to receive Stedi's communications about the enrollment.
- Click Create enrollment. Stedi asks you to confirm the information.
- Review the enrollment information carefully and then click Submit enrollment.
The enrollment request is created and appears in the list of enrollments on the Enrollments page.
Bulk CSV import
To create enrollment requests, go to the Bulk imports page and click New bulk import.
The upload page contains detailed instructions for formatting the CSV file. Once you upload the file, Stedi checks for errors and flags any rows that require adjustments. You can either fix the errors and re-upload the CSV file or click Continue anyway to proceed with importing valid rows.
Stedi automatically does the following when importing enrollment requests from a CSV file:
- Creates provider records as needed. Stedi creates a new provider record for each unique combination of NPI and tax ID in the CSV file. For example, these two providers would be created as separate records even though they have the same name and NPI:
John Doe, NPI: 1999999984, Tax ID: 987654321John Doe, NPI: 1999999984, Tax ID: 123456789When a row in your CSV file contains an NPI and tax ID that match an existing provider record, Stedi overwrites the existing provider record with the information in the CSV file. Any changes (such as updated address or contact information) aren't automatically applied to existing enrollment requests for that provider, only to requests created after Stedi updated the record.
- Creates and submits enrollment requests. You can check the status of each request through the Enrollments page once the import is complete.
- Removes duplicate rows to prevent duplicate requests.
- Checks for errors. Stedi imports valid rows and skips any that contain errors. For example, if a row contains an invalid NPI, Stedi skips that row and imports the rest of the file.
Import status report
After importing, you can download a report that shows the status of each row in the CSV file. For example, duplicate rows are marked as Duplicate: Enrollment already exists in the result column.
Rows with errors display a clear inline error message to help you quickly make the necessary adjustments. You can fix rows with errors and re-upload the CSV file as many times as needed until all imports are successful.
API submission
Creating enrollment requests programmatically through Stedi APIs involves two steps:
- Create a provider record: Call the Create Provider endpoint.
- Create an enrollment request: Call the Create Enrollment endpoint. You can create enrollment requests in
DRAFTstatus first and change the status toSTEDI_ACTION_REQUIREDlater when you're ready to submit them to Stedi. Stedi won't process the enrollment until it is inSTEDI_ACTION_REQUIREDstatus.
Enrollment contact information
When you submit enrollment requests, you'll need to provide two types of contact information. It's important to understand the difference between them.
Provider contact
This is where the payer will send communications about the enrollment, if needed.
- The name and address should match exactly what the payer has on file for the provider. Some payers reject enrollment requests with addresses that don't match their records.
- However, you may want to set the phone number or email to a different contact - for example, a credentialing or general inbox - to ensure payer communications go to the right place.
- If you're enrolling a group practice, select a single administrative entity as the contact - don't use individual provider emails.
Where to set provider contact information
You can specify contacts on both the provider record and on the enrollment request.
- (Optional) Provider record: These contacts are for convenience - they allow the Stedi portal to prepopulate contact information options when you create enrollment requests manually. They aren't required when you create provider records, and they aren't automatically added to enrollment requests you submit through the portal or API.
- (Required) Enrollment request: You must specify a provider contact on the enrollment request. This is the information that Stedi shares with the payer when submitting the enrollment on your behalf. This contact information doesn't need to match the existing contact information on the provider record, which allows you to use different contacts for different payers as needed.
Submitter email
This is the email address where Stedi will send updates about the enrollment. It's required when you submit an enrollment request - we use it to notify you when there are next steps and send updates on the enrollment's status.
This is called the userEmail property in the Stedi API, the user_email column in the CSV file for bulk imports, and the Stedi contact person in the UI form.
This email address can be different from the contact information you provided in the provider record. Set it to wherever you want to receive Stedi's communications about the enrollment.
Manage tasks
Tasks are actions that either the provider or Stedi need to complete to move the enrollment process forward. Tasks can include:
- Providing additional documentation or signatures.
- Completing payer-specific requirements.
- Reviewing and confirming details.
When there's a new task that requires the provider to take action, Stedi adds a task to the enrollment request with instructions and sets the enrollment status to Provider Action Required. The email address listed as the Person for Stedi to contact will also receive a notification that there's a new task to complete.
Stedi is automatically notified when you complete a task, and the enrollment process continues.
UI
You can review and manage tasks at the top of the enrollment request's details page in the Stedi portal. You must have the Operator role or above to complete enrollment tasks.
If the task requires you to complete and upload documentation, it will include instructions with a PDF template to download, fill out, and upload to Stedi.

Once you've taken the required action, check the box next to the task to mark it as complete.

API
You may want to streamline your providers' workflows by allowing them to complete required enrollment tasks within your application. You can do this by integrating with Stedi's Enrollments API.
You can manage simple tasks with the following endpoints:
- List Enrollments or Retrieve Enrollment to retrieve tasks associated with an enrollment request.
- Update Enrollment Task to mark tasks as complete or update task details.
PDF workflow
Some enrollments require the provider to complete documentation. In these cases, Stedi adds a provideFilledPdf task to the enrollment request with instructions. Managing these tasks programmatically requires additional steps to retrieve the PDF, upload the completed version, and mark the task as complete.
Follow this process to complete provideFilledPdf tasks:
Stedi provides the PDF for download on the enrollment request. To retrieve it:
-
Call either the Retrieve Enrollment or List Enrollments endpoint to retrieve the enrollment request details.
-
Get the URL to download the PDF document from the
tasks[].definition.provideFilledPdf.documentDownloadUrlproperty. -
Make an authenticated
GETrequest to thedocumentDownloadUrl. This is the API URL for the Download Enrollment Document endpoint, prefilled with the proper document ID. Stedi returns a pre-signed URL in thedownloadUrlproperty.The URL expires after 24 hours. If the URL expires before you download the PDF, call the endpoint again to get a new one.
-
Make a
GETrequest to thedownloadUrlto retrieve the PDF.
The provider should complete the form according to the instructions provided in the provideFilledPdf task and the form itself.
Once the PDF is completed, upload it to the enrollment request:
-
Call the Upload Enrollment Document endpoint with the enrollment ID.
Stedi returns a pre-signed URL in the
uploadUrlproperty you can use to upload the completed PDF to the enrollment request. The URL expires after 24 hours. If it expires, call the endpoint again to get a new one.You should also save the
documentIdreturned in the response. You'll use it later to poll for the document's status and when completing the task. -
Make a
PUTrequest to theuploadUrlto upload the completed PDF to Stedi. The request must include theContent-Type: application/pdfheader.
You must wait for the document's status to change from PENDING to UPLOADED before marking the associated task as complete. This typically takes less than 10 seconds.
You can poll the Retrieve Enrollment endpoint to check the status of the uploaded document. When the status is UPLOADED, the document has been successfully received and processed by Stedi.
Our TypeScript example shows how you might poll.
Once the document status is UPLOADED, call the Update Enrollment Task endpoint to mark the provideFilledPdf task as complete.
Manage documents
Some payers require additional documents to complete the enrollment process, such as:
- Signed enrollment forms
- A practice's W-9 tax form
- A voided check
When enrollment requests require additional documentation, we'll create a task on the enrollment request with instructions. You'll be able to download the PDF template, fill it out, and upload the completed PDF to Stedi. Only PDF files are supported.
UI
You can only upload documents required to complete enrollment tasks. However, you can review, download, or delete documents associated with the enrollment request:
- Go to the Enrollments page and click the enrollment request that requires documentation.
- Scroll to the Documents section at the bottom of the page.
In the Documents section, click any document to view it in your web browser. You can also click ... (ellipses) to the right of the document to:
- Download the original PDF file.
- Copy a secure link to view the file, which you can share with any member of your Stedi account.
- Delete the file, if necessary.

API
You can use the following API endpoints to manage documents on an enrollment request programmatically:
- Upload Enrollment Document: Get a pre-signed URL to upload a PDF document related to a specific enrollment request.
- Download Enrollment Document: Get a pre-signed URL to download a specific PDF document related to an enrollment request.
- Delete Enrollment Document: Delete a specific PDF document related to an enrollment request.
Documents associated with enrollment tasks have a specific workflow. Visit PDF workflow for details.
Review enrollment details
You can track the status of your transaction enrollment requests from the Enrollments page in your account.
Click an enrollment request to view its details, including:
- The provider and payer associated with the enrollment.
- The transaction types included in the enrollment.
- The current status of the enrollment.
- Any notes or instructions from Stedi or the payer.
- The history of status changes and actions taken on the enrollment.
- Enrollment documents, such as signed PDF forms.
Alternatively, you can retrieve information about enrollment requests through the List Enrollments endpoint.
Cancel enrollments
You can only cancel enrollment requests that are in DRAFT, STEDI_ACTION_REQUIRED, or PROVIDER_ACTION_REQUIRED status. Reach out to Stedi support in Slack or Teams to cancel. Once an enrollment is canceled, Stedi sets its status to CANCELED and stops the enrollment process with the payer.
We can't cancel enrollments that are in PROVISIONING or LIVE status. Once an enrollment is in one of these statuses, the only way to stop 835 ERAs from coming to Stedi is to submit an enrollment through another clearinghouse.
Notification emails
Once an hour, Stedi checks for enrollment request status changes. If there are updates, Stedi sends a notification email with a summary of the affected enrollment requests. The email includes links to each updated enrollment request where you can review required tasks, notes, and other details.
Email notifications are sent to the address designated as the Stedi contact person (userEmail property) about the enrollment. This is typically the email associated with the Stedi account that created the enrollment request, and it may differ from the provider's designated contact.
If you aren't receiving notification emails for enrollment request updates, contact Stedi support in Slack or Teams.
Automatic enrollment requests
Some payers, such as the Centers for Medicare and Medicaid Services (CMS), require enrollment for eligibility checks.
Eligibility checks fail when a provider isn't properly enrolled. In these cases, Stedi automatically submits the required transaction enrollment request. Payers typically process these requests within 1-2 days.
We support automatic enrollment requests for the following payers in the Payer Network:
- The Centers for Medicare and Medicaid Services (CMS) (Payer ID:
CMS) - CMS MBI Lookup with SSN (Payer ID:
MBILU) - Highmark of Pennsylvania (Payer ID:
54771) - Highmark Senior Health Company (Payer ID:
15460) - Highmark Blue Cross Blue Shield of Delaware (Payer ID:
030) - Highmark Blue Cross Blue Shield of West Virginia (Payer ID:
54828)
Please note:
- If the provider's NPI isn't active in the National Plan & Provider Enumeration System (NPPES), Stedi won't automatically create the enrollment for the NPI. The provider will need to apply directly with CMS to be added to the registry.
- For CMS enrollments, the provider must also complete attestation. Stedi adds a task to the enrollment request when attestation is required.
- For CMS enrollments, the transaction enrollment request will be rejected and set to
REJECTEDstatus if the provider's NPI isn't active in PECOS, the system CMS uses to manage active Medicare providers. In this case, we'll send you instructions explaining how to resolve the issue.
CMS attestation
The Centers for Medicare and Medicaid Services (CMS) requires providers to attest that clearinghouses are allowed to run Medicare eligibility checks on their behalf. This applies to all CMS trading partners, including Stedi.
Attestation is required for each billing National Provider Identifier (NPI) enrolled with CMS for eligibility checks. Stedi can't complete this step on the provider's behalf, and there is no bulk attestation across NPIs.
Therefore, Stedi adds a required attestation task to each CMS enrollment request for eligibility checks. The task contains instructions for the provider to complete attestation.
You can view the attestation task and its status in:
- The Tasks section of the enrollment request's details page in the Stedi portal.
- The
tasksobject array of the List Enrollments and Retrieve Enrollment API responses.
Attestation takes approximately 5-15 minutes to complete per NPI. Once complete, Stedi moves the enrollment to LIVE status. However, once attestation is complete, you can start submitting eligibility checks immediately, even if the enrollment status is not yet LIVE.
Enrollments hub
Our network and enrollment operations team knows the nuances of each payer’s enrollment requirements and maintains a public repository of payers that require additional steps through our Transaction Enrollments Hub.
Practices and facilities with multiple providers or locations
Some healthcare organizations operate multiple facilities or practices under a shared structure. This is common in hospital systems, clinic networks, or large medical groups where multiple service locations operate under the same billing entity.
Transaction enrollment requires the billing provider's tax ID and NPI that you plan to use in claims and Electronic Remittance Advice (ERAs). When the same group NPI and tax ID are used as the billing provider throughout the healthcare organization, you should:
- Create a single provider record with that NPI and the tax ID. You don't need to create provider records for individual rendering providers.
- Create enrollment requests with the billing provider record attached. You don't need to submit additional enrollment requests for individual rendering providers. Select a single administrative entity as the contact - don't include individual provider emails. This should be a credentialing or general inbox.
- Use the taxonomy code that matches the billing provider's credentials when submitting claims.