Introducing 999 acknowledgment settings for SFTP users
Claims
If you use Stedi’s SFTP server, you’ll now receive negative 999 Implementation Acknowledgments from Stedi for claims with invalid X12 syntax or implementation guide errors.
You can also opt in to receive positive 999 acknowledgments, which are returned for claims with valid X12 syntax.
You’ll receive 999 acknowledgments in the from-stedi directory for claims submitted through SFTP, the Claim Submission API, or the Stedi portal. The acknowledgments arrive within minutes of submission.
What is a 999 acknowledgment?
A 999 Implementation Acknowledgment is a standard X12 transaction set. It confirms whether a submitted functional group and its transaction sets use valid X12 syntax. It is not used for application-level validation.
Negative 999 acknowledgments
A negative 999 acknowledgment means Stedi rejected at least one transaction in the X12 file due to a structural error, such as a malformed segment or a missing required element. Rejected transactions are not further processed by Stedi or forwarded to the payer.
The AK9 (Functional Group Response) segment summarizes the result for the functional group. AK9-01 (Functional Group Acknowledge Code) is set to R if all transactions were rejected, or P if the group was partially accepted:
AK9*P*3*3*1~ ← Partially accepted: 3 transactions submitted, 3 received, 1 accepted (2 rejected)
AK9*P*3*3*1~ ← Partially accepted: 3 transactions submitted, 3 received, 1 accepted (2 rejected)
AK9*P*3*3*1~ ← Partially accepted: 3 transactions submitted, 3 received, 1 accepted (2 rejected)
For each rejected transaction, IK5-01 (Transaction Set Acknowledgment Code) is set to R. The IK3 (Error Identification) and IK4 (Implementation Data Element Note) segments identify where the error occurred. For example:
AK2*837*0002~ ← Responding to transaction 0002 IK3*CLM*22**8~ ← CLM segment at position 22 has element errors IK4*2*782*1~ ← Element 2 is missing a mandatory value IK5*R*5~ ← Transaction rejected
AK2*837*0002~ ← Responding to transaction 0002 IK3*CLM*22**8~ ← CLM segment at position 22 has element errors IK4*2*782*1~ ← Element 2 is missing a mandatory value IK5*R*5~ ← Transaction rejected
AK2*837*0002~ ← Responding to transaction 0002 IK3*CLM*22**8~ ← CLM segment at position 22 has element errors IK4*2*782*1~ ← Element 2 is missing a mandatory value IK5*R*5~ ← Transaction rejected
If you receive a negative 999, you must correct the errors and resubmit the claim.
Positive 999 acknowledgments
A positive 999 acknowledgment confirms that all transactions in a functional group were accepted for further processing. IK5-01 returns A (Accepted), and AK9 returns A (Accepted). For example:
AK2*837*0001~ IK5*A~ ← Transaction accepted AK9*A*1*1*1~ ← All accepted: 1 transaction submitted, 1 received, 1 accepted
AK2*837*0001~ IK5*A~ ← Transaction accepted AK9*A*1*1*1~ ← All accepted: 1 transaction submitted, 1 received, 1 accepted
AK2*837*0001~ IK5*A~ ← Transaction accepted AK9*A*1*1*1~ ← All accepted: 1 transaction submitted, 1 received, 1 accepted
Interpreting 999 acknowledgments
For more tips on interpreting 999 acknowledgments, see our SFTP docs.
How to update your 999 acknowledgment settings
You can opt in to receive positive 999 acknowledgments using the Stedi portal:
Go to the SFTP setup page in your account settings.
Under 999 settings, select All 999s to receive 999 acknowledgments for every transaction. Leave the default to receive negative acknowledgments.

For more information, see our SFTP docs.
If you use Stedi’s SFTP server, you’ll now receive negative 999 Implementation Acknowledgments from Stedi for claims with invalid X12 syntax or implementation guide errors.
You can also opt in to receive positive 999 acknowledgments, which are returned for claims with valid X12 syntax.
You’ll receive 999 acknowledgments in the from-stedi directory for claims submitted through SFTP, the Claim Submission API, or the Stedi portal. The acknowledgments arrive within minutes of submission.
What is a 999 acknowledgment?
A 999 Implementation Acknowledgment is a standard X12 transaction set. It confirms whether a submitted functional group and its transaction sets use valid X12 syntax. It is not used for application-level validation.
Negative 999 acknowledgments
A negative 999 acknowledgment means Stedi rejected at least one transaction in the X12 file due to a structural error, such as a malformed segment or a missing required element. Rejected transactions are not further processed by Stedi or forwarded to the payer.
The AK9 (Functional Group Response) segment summarizes the result for the functional group. AK9-01 (Functional Group Acknowledge Code) is set to R if all transactions were rejected, or P if the group was partially accepted:
AK9*P*3*3*1~ ← Partially accepted: 3 transactions submitted, 3 received, 1 accepted (2 rejected)
For each rejected transaction, IK5-01 (Transaction Set Acknowledgment Code) is set to R. The IK3 (Error Identification) and IK4 (Implementation Data Element Note) segments identify where the error occurred. For example:
AK2*837*0002~ ← Responding to transaction 0002 IK3*CLM*22**8~ ← CLM segment at position 22 has element errors IK4*2*782*1~ ← Element 2 is missing a mandatory value IK5*R*5~ ← Transaction rejected
If you receive a negative 999, you must correct the errors and resubmit the claim.
Positive 999 acknowledgments
A positive 999 acknowledgment confirms that all transactions in a functional group were accepted for further processing. IK5-01 returns A (Accepted), and AK9 returns A (Accepted). For example:
AK2*837*0001~ IK5*A~ ← Transaction accepted AK9*A*1*1*1~ ← All accepted: 1 transaction submitted, 1 received, 1 accepted
Interpreting 999 acknowledgments
For more tips on interpreting 999 acknowledgments, see our SFTP docs.
How to update your 999 acknowledgment settings
You can opt in to receive positive 999 acknowledgments using the Stedi portal:
Go to the SFTP setup page in your account settings.
Under 999 settings, select All 999s to receive 999 acknowledgments for every transaction. Leave the default to receive negative acknowledgments.

For more information, see our SFTP docs.
Get started with Stedi
Get started with Stedi
Automate healthcare transactions with developer-friendly APIs that support thousands of payers. Contact us to learn more and speak to the team.
Get updates on what’s new at Stedi
Get updates on what’s new at Stedi
Get updates on what’s new at Stedi
Product
Developers
Resources
Backed by
Stedi and the S design mark are registered trademarks of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.
Product
Developers
Resources
Get updates on what’s new at Stedi
Backed by
Stedi and the S design mark are registered trademarks of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.
Product
Developers
Resources
Backed by
Stedi and the S design mark are registered trademarks of Stedi, Inc. All names, logos, and brands of third parties listed on our site are trademarks of their respective owners (including “X12”, which is a trademark of X12 Incorporated). Stedi, Inc. and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation.
