Responses and Errors
Learn which responses and errors you may get, and why
Noyo validates snapshot requests based on format, as well as a set of basic business rules. If the snapshot fails any validations, Noyo will return a response with a 4xx status code and body with a description of any errors.
HTTP responses
If the snapshot is valid and created successfully, you will receive a response with a 201
status code and a unique ID for the snapshot record. If any new members were created in the Noyo system, the snapshot contents in the response body will include any Noyo-generated ID values to save and associate with your copy of the member going forward. The response will also include any newly-associated custom IDs that have been linked to members.
Code | Description | Troubleshooting |
---|---|---|
200 | OK. Successful API call. | |
201 | Created. Successful resource creation. | |
204 | No content. Used most commonly for deletions. | |
400 | Bad or invalid request. For example, the request body JSON is malformed. | Verify the request body using a JSON validation tool. |
401 | Unauthorized. Missing or invalid API token. | See the Authentication guide. |
404 | Not found. The resource you are looking for does not exist or your API token is not authorized to access it. | Double-check that the API path and resource UUID are correct. |
409 | Conflict. A duplicate to an existing resource has been submitted. | Check the ID or other identifying characteristics that have been submitted. Duplicates are not allowed in this situation. |
500 | Server error. | Contact [email protected]. |
502 | Bad gateway. There is an issue with the Noyo system. | Contact [email protected]. |
503 | Service unavailable. One or more Noyo APIs are down. For an expected downtime, we will return a Retry-After HTTP response header in accordance with the MDN docs. | Parse the Retry-After header and schedule an asynchronous task to retry after that time. |
See the API reference for full details.
4xx errors for member snapshots
Below are error responses unique to the Create Member Snapshot endpoint.
Code | Error Message | Reason | Recommendation |
---|---|---|---|
400 | Error creating employee. Existing employee has matching name and date of birth: {employee_id} | A new employee was sent who is a duplicate of a current Noyo employee by first name, last name, and date of birth combination within a single group. | The employee in Noyo's system may have originated at the carrier. Check other attributes of the employee in Noyo's system. If it is the same person, pull the Noyo employee ID and send it with the next snapshot. This only happens if the custom_individual_id differs between the record being sent and what is in Noyo's system. |
400 | Error creating dependent. Existing dependent has matching name and date of birth: {dependent_id} | A new dependent was sent who is a duplicate of a current Noyo dependent by first name, last name, and date of birth combination within a single employee. | The employee's dependent in Noyo's system may have originated at the carrier. Check other attributes of the dependent in Noyo's system. If it is the same person, pull the Noyo dependent ID and send it with the next snapshot. This only happens if the custom_individual_id differs between the record being sent and what is in Noyo's system. |
404 | Invalid carrier ID: {carrier_id} | Unknown Carrier ID provided in the coverages. | Please reference the Command Center for the correct carrier ID (UUID). |
404 | Carrier with Carrier ID: {carrier_id} is not supported for member snapshot | Invalid Carrier ID, Carrier ID provided in coverages is not set up to support member snapshot. | The given carrier does not yet support changes via member snapshot. Reference the Command Center to see which integration types are supported for each carrier. |
404 | Dependent with ID {dependent_id} does not have an associated employee. | Dependent ID provided belongs to a non-existent employee. | A dependent was sent with an existing Noyo ID, but the employee was not found in Noyo's system. Please double check the employee identifier used. |
422 | Dependent must have an ID. Either id or custom_individual_id is requiredor Employee must have an ID. Either id or custom_individual_id is required | No employee_id or custom_individual_id was provided. | Make sure to use your own identifier or send the correct Noyo ID (UUID) for all members. |
422 | This group has coverage against a carrier not presently supported by member snapshots. Carrier ID: {carrier_id} ; Group Enrollment ID: {group_enrollment_id} | Group has group enrollments with a carrier that does not yet support member snapshot. | All carriers used by the group must be supported by the member snapshot; please reach out to your Noyo account manager if you run into this error. |
422 | Coverage objects for the following lines of coverage: [{coverage_name} , {coverage_name} ] did not match a line of coverage offered by the group. | Provided coverage objects didn't match those that belong to the group. | A line of coverage was sent that doesn't align with plans on the group level. Ensure that plans are correctly mapped before sending enrollments. |
422 | Plans with the following IDs and lines of coverage are not found: {plan_id s and line_of_coverage s} | Plan IDs with lines of coverage provided were not found. | The plan associated with either the plan name or ID was not found in Noyo's system. Please double-check the plan ID/name sent. |
422 or 200 | This snapshot is missing the following active coverages: {individual_enrollment_str} . If you intend to terminate a coverage, please send a snapshot that includes a termination date before omitting it from future snapshots. | Noyo found individual enrollments that were not provided by the platform. If the intent was to terminate a coverage, a termination date is required. | This error guards against termination by omission. Snapshots should include all enrollments for this employee and dependents. Use the individual enrollment endpoint to check the enrollment ID listed in the error message to understand why it might have been missing in your payload. Other valid enrollments for additional carriers will be processed as expected (200); reference the snapshot fulfillment summary for carrier-level info. |
422 | Event IDs in events array must be unique within the array | Events object cannot have duplicate event IDs. | Ensure all event objects have unique event IDs. |
422 | Event ID {event_id} cannot be found in the events array | Event IDs provided in the events array must exist in one of the passed-in objects (ie. employee, dependents, coverage). | Ensure that event IDs referenced elsewhere in the payload reference event objects by a matching ID. |
422 | Dependent IDs in dependents array must be unique | Dependent IDs provided must be unique. | The dependent IDs (Noyo UUIDs) used must be unique. Double-check the payload sent. |
422 | Dependent custom individual IDs in dependents array must be unique | Dependent custom individual IDs provided must be unique. | The dependent IDs (custom_individual_id ) used must be unique. Double-check the payload sent. |
422 | Enrolled members in the same coverage block with matching Individual ID/type or Custom Individual ID/type combination cannot have overlapping effective dates | Enrolled members in the same coverage block can't have overlapping effective dates. | Multiple enrolled member blocks for one member are allowed, but the dates should not overlap. |
422 | A termination event was used to end coverage for this employee. A terminated employment date should be set matching the event date of {event_date} . | A coverage is ending because of a termination event, but no employee terminated date is set. | If you send a termination event you must also set employee.employment.employment_dates.terminated to match. |
422 | Coverage blocks with the same [carrier_id , line_of_coverage , plan_id , plan_name , carrier_config , cobra_enrolled ] cannot have enrolled members with matching Individual ID/type or Custom Individual ID/type combination and overlapping effective dates | There were coverage blocks passed in that had the same [carrier_id , line_of_coverage , plan_id , plan_name , carrier_config , cobra_enrolled ] and overlapping effective dates. | Ensure that coverage blocks do not have the same [carrier_id , line_of_coverage , plan_id , plan_name , carrier_config , cobra_enrolled ] and overlapping effective dates. |
422 | Enrolled member employee ID does not match employee's ID of {employee_id} | One or more coverage blocks has an enrolled member for the employee whose ID does not match the employee's listed ID. | Ensure that each coverage has enrolled member individual_id s (and custom_individual_id s, if provided) which match members specified under employee or dependents. |
422 | Enrolled member dependent ID of {enrolled_member_id} does not match any dependent ID | One or more coverage blocks has an enrolled member for a dependent whose ID does not match any dependent's listed ID. | Ensure that each coverage has enrolled member individual_id s (and custom_individual_id s, if provided) which match members specified under employee or dependents. |
422 | Enrolled member custom employee ID does not match employee's custom individual ID of {employee_custom_id} | One or more coverage blocks has an enrolled member for the employee whose custom individual ID does not match the employee's listed custom individual ID. | Ensure that each coverage has enrolled member individual_id s (and custom_individual_id s, if provided) which match members specified under employee or dependents. |
422 | Enrolled member dependent custom ID of {enrolled_member_custom_id} does not match any dependent custom ID | One or more coverage blocks has an enrolled member for a dependent whose custom individual ID does not match any dependent's listed custom individual ID. | Ensure that each coverage has enrolled member individual_id s (and custom_individual_id s, if provided) which match members specified under employee or dependents. |
422 | There is a member request in progress for this employee {employee_id} . Please wait until that member request is resolved before submitting a member snapshot. | A member snapshot is submitted when a member request for the employee is processing. | Wait until all open member requests for a member are finished processing before sending member snapshots. |
Updated about 2 months ago