Create Enrollment
Creates a new enrollment request for a provider with a payer. This operation registers a provider to exchange specific transaction types with a payer through Stedi.
/enrollments
This is a beta endpoint. We may make backwards incompatible changes.
This endpoint allows you to submit a transaction enrollment request for a specific provider. You must create one enrollment request for each transaction type. For example, you would create three separate requests to enroll a provider for 837P claims (professional), 270 real-time eligibility checks, and 835 ERAs (claim payments).
Before you can submit an enrollment request, you must add the provider's details through either the Providers page or the Create Provider endpoint.
Contacts
You must add a contact to an enrollment request. The payer may reach out to this contact with updates or questions about the enrollment. If you're a provider, this should be your information. If you're a vendor representing a provider, you can submit your contact information instead of the provider's information.
A Stedi API Key for authentication.
Body
The type of transactions included in the enrollment.
Whether 270 Eligibility Checks are included in the enrollment.
Whether 276 Claim Status Requests are included in the enrollment.
Whether 837P Professional Claims are included in the enrollment.
Whether 837I Institutional Claims are included in the enrollment.
Whether 837D Dental Claims are included in the enrollment.
Whether 835 Electronic Remittance Advice (ERAs) are included in the enrollment.
Whether Solicited Claim Attachments are included in the enrollment.
Whether Unsolicited Claim Attachments are included in the enrollment.
The contact information for the provider or the entity completing the enrollment on the provider's behalf. Either organizationName
or firstName
and lastName
are required. Payers may use this information to contact the provider or their representative directly regarding the status of the enrollment.
The email address of the user submitting the enrollment. This email will be used by Stedi staff to provide updates and communicate about the enrollment's progress. It is distinct from the primary contact's email, which is used by the payer to contact the provider directly.
- Pattern:
^\S+@\S+\.\S+$
- Minimum length:
5
The status of the enrollment. You can submit enrollments with either DRAFT
or SUBMITTED
status. However, once an enrollment is set to SUBMITTED
status, only Stedi can set or update this property.
DRAFT
- You are still editing the record and it has not been submitted to Stedi.SUBMITTED
- You have successfully submitted the request and it is in Stedi's queue for review.PROVISIONING
- Stedi has begun the process of completing the enrollment with the payer.LIVE
- The enrollment process is complete, and the specified provider can begin exchanging the listed transaction types with the payer.REJECTED
- The payer rejected the enrollment. Common reasons for rejection include incorrect details in the request and that the provider is not credentialed with the payer. Customer support will contact you with reasons for rejection and next steps.CANCELED
- The enrollment has been terminated per customer or provider request.
DRAFT
SUBMITTED
PROVISIONING
LIVE
REJECTED
The source of this enrollment.
API
UI
IMPORT
Reasons why the enrollment request is still in PROVISIONING
status, may take additional time to process, or was rejected by the payer. Only Stedi can set or update this property.
May contain extra required steps for processing that are specific to the payer. For example, perhaps the provider needs to log into an online portal and enter additional information before the enrollment can continue. Contact Stedi customer support with questions.
Internal notes about the enrollment. Only Stedi can read, set, or update this property.
This property is required for payers that require a Provider Transaction Access Number (PTAN).
The PTAN is a Medicare-issued number given to providers upon enrollment with Medicare. This number is usually six digits and is assigned based on the type of service and the location of the provider. Upon enrollment, Medicare Administrating Contracting (MAC) providers should receive their assigned PTAN number in their approval letter.
- Pattern:
^[a-zA-Z0-9]+$
- Required string length:
5 - 10
Information about the provider enrolling with the payer. You must use the Create Provider endpoint to add the provider to Stedi before you can enroll them with one or more payers.
Information about the payer the provider is enrolling with.
Response
CreateEnrollment 200 response
The Stedi-assigned identifier for the enrollment request.
The contact information for the provider or the entity completing the enrollment on the provider's behalf. Either organizationName
or firstName
and lastName
are required. Payers may use this information to contact the provider or their representative directly regarding the status of the enrollment.
The date and time when the enrollment was created within Stedi.
- Format:
date-time
The date and time when the enrollment was updated.
- Format:
date-time
The date and time when the enrollment was submitted. If the enrollment is in draft status, submittedAt
is not present. When the enrollment transitions from draft to submitted, submittedAt
will be updated to the submission time. If the enrollment was created and submitted immediately, submittedAt
will be equal or close to createdAt
.
- Format:
date-time
The date and time when the enrollment status was last updated. This timestamp is used to track enrollment processing durations and enables filtering to identify recently changed enrollments. It automatically updates whenever an enrollment's status changes but remains unchanged during other updates.
- Format:
date-time
The history of updates to this enrollment, such as status changes. This property is experimental and may change in the future.
The type of transactions included in the enrollment.
Whether 270 Eligibility Checks are included in the enrollment.
Whether 276 Claim Status Requests are included in the enrollment.
Whether 837P Professional Claims are included in the enrollment.
Whether 837I Institutional Claims are included in the enrollment.
Whether 837D Dental Claims are included in the enrollment.
Whether 835 Electronic Remittance Advice (ERAs) are included in the enrollment.
Whether Solicited Claim Attachments are included in the enrollment.
Whether Unsolicited Claim Attachments are included in the enrollment.
The email address of the user submitting the enrollment. This email will be used by Stedi staff to provide updates and communicate about the enrollment's progress. It is distinct from the primary contact's email, which is used by the payer to contact the provider directly.
- Pattern:
^\S+@\S+\.\S+$
- Minimum length:
5
The status of the enrollment. You can submit enrollments with either DRAFT
or SUBMITTED
status. However, once an enrollment is set to SUBMITTED
status, only Stedi can set or update this property.
DRAFT
- You are still editing the record and it has not been submitted to Stedi.SUBMITTED
- You have successfully submitted the request and it is in Stedi's queue for review.PROVISIONING
- Stedi has begun the process of completing the enrollment with the payer.LIVE
- The enrollment process is complete, and the specified provider can begin exchanging the listed transaction types with the payer.REJECTED
- The payer rejected the enrollment. Common reasons for rejection include incorrect details in the request and that the provider is not credentialed with the payer. Customer support will contact you with reasons for rejection and next steps.CANCELED
- The enrollment has been terminated per customer or provider request.
DRAFT
SUBMITTED
PROVISIONING
LIVE
REJECTED
The source of this enrollment.
API
UI
IMPORT
Reasons why the enrollment request is still in PROVISIONING
status, may take additional time to process, or was rejected by the payer. Only Stedi can set or update this property.
May contain extra required steps for processing that are specific to the payer. For example, perhaps the provider needs to log into an online portal and enter additional information before the enrollment can continue. Contact Stedi customer support with questions.
Internal notes about the enrollment. Only Stedi can read, set, or update this property.
This property is required for payers that require a Provider Transaction Access Number (PTAN).
The PTAN is a Medicare-issued number given to providers upon enrollment with Medicare. This number is usually six digits and is assigned based on the type of service and the location of the provider. Upon enrollment, Medicare Administrating Contracting (MAC) providers should receive their assigned PTAN number in their approval letter.
- Pattern:
^[a-zA-Z0-9]+$
- Required string length:
5 - 10
Information about the provider enrolling with the payer.
Information about the payer the provider is enrolling with.
curl --request POST \
--url "https://enrollments.us.stedi.com/2024-09-01/enrollments" \
--header "Authorization: <api_key>" \
--header "Content-Type: application/json" \
--data '{
"transactions": {
"claimPayment": {
"enroll": true
}
},
"primaryContact": {
"firstName": "John",
"lastName": "Doe",
"email": "test@example.com",
"phone": "555-123-34354",
"streetAddress1": "123 Some Str.",
"city": "A City",
"state": "MD",
"zipCode": "20814"
},
"userEmail": "test@example.com",
"payer": {
"idOrAlias": "87726"
},
"provider": {
"id": "db6665c5-7b97-4af9-8c68-a00a336c2998"
},
"source": "API"
}'
const body = JSON.stringify({
"transactions": {
"claimPayment": {
"enroll": true
}
},
"primaryContact": {
"firstName": "John",
"lastName": "Doe",
"email": "test@example.com",
"phone": "555-123-34354",
"streetAddress1": "123 Some Str.",
"city": "A City",
"state": "MD",
"zipCode": "20814"
},
"userEmail": "test@example.com",
"payer": {
"idOrAlias": "87726"
},
"provider": {
"id": "db6665c5-7b97-4af9-8c68-a00a336c2998"
},
"source": "API"
})
fetch("https://enrollments.us.stedi.com/2024-09-01/enrollments", {
headers: {
"Authorization": "<api_key>"
},
body
})
package main
import (
"fmt"
"net/http"
"io/ioutil"
"strings"
)
func main() {
url := "https://enrollments.us.stedi.com/2024-09-01/enrollments"
body := strings.NewReader(`{
"transactions": {
"claimPayment": {
"enroll": true
}
},
"primaryContact": {
"firstName": "John",
"lastName": "Doe",
"email": "test@example.com",
"phone": "555-123-34354",
"streetAddress1": "123 Some Str.",
"city": "A City",
"state": "MD",
"zipCode": "20814"
},
"userEmail": "test@example.com",
"payer": {
"idOrAlias": "87726"
},
"provider": {
"id": "db6665c5-7b97-4af9-8c68-a00a336c2998"
},
"source": "API"
}`)
req, _ := http.NewRequest("POST", url, body)
req.Header.Add("Authorization", "<api_key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
import requests
url = "https://enrollments.us.stedi.com/2024-09-01/enrollments"
body = {
"transactions": {
"claimPayment": {
"enroll": true
}
},
"primaryContact": {
"firstName": "John",
"lastName": "Doe",
"email": "test@example.com",
"phone": "555-123-34354",
"streetAddress1": "123 Some Str.",
"city": "A City",
"state": "MD",
"zipCode": "20814"
},
"userEmail": "test@example.com",
"payer": {
"idOrAlias": "87726"
},
"provider": {
"id": "db6665c5-7b97-4af9-8c68-a00a336c2998"
},
"source": "API"
}
response = requests.request("POST", url, json = body, headers = {
"Authorization": "<api_key>",
"Content-Type": "application/json"
})
print(response.text)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;
import java.net.http.HttpRequest.BodyPublishers;
var body = BodyPublishers.ofString("""{
"transactions": {
"claimPayment": {
"enroll": true
}
},
"primaryContact": {
"firstName": "John",
"lastName": "Doe",
"email": "test@example.com",
"phone": "555-123-34354",
"streetAddress1": "123 Some Str.",
"city": "A City",
"state": "MD",
"zipCode": "20814"
},
"userEmail": "test@example.com",
"payer": {
"idOrAlias": "87726"
},
"provider": {
"id": "db6665c5-7b97-4af9-8c68-a00a336c2998"
},
"source": "API"
}""");
HttpClient client = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(10))
.build();
HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
.uri(URI.create("https://enrollments.us.stedi.com/2024-09-01/enrollments"))
.header("Content-Type", "application/json")
.header("Authorization", "<api_key>")
.POST(body)
.build();
try {
HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());
System.out.println("Status code: " + response.statusCode());
System.out.println("Response body: " + response.body());
} catch (Exception e) {
e.printStackTrace();
}
{
"message": "string",
"fieldList": [
{
"path": "string",
"message": "string"
}
]
}
{
"message": "string",
"code": "string"
}
{
"message": "string",
"code": "string"
}
{
"message": "string",
"code": "string"
}
{
"message": "string",
"code": "string"
}