{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Response Format"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"response-format","__idx":0},"children":["Response Format"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This document defines the shared response envelope used across all Nelnet Payment Services (NPS) APIs."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"overview","__idx":1},"children":["Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All NPS APIs return ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HTTP 200"]}," for both success and failure outcomes. Always branch logic on ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseCode"]},". Never use ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseMessage"]}," for conditional logic."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Present"},"children":["Present"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Purpose"},"children":["Purpose"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseCode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Reserved — source of truth for outcome"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseMessage"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Reserved — informational only"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseDetails"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Reserved — per-error detail, multiple errors only"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["<API-specific fields>"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Defined by each API endpoint"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseMessage"]}," is informational only. Its format is not guaranteed and should not be parsed programmatically. Do not build application logic that depends on its content."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"response-codes","__idx":2},"children":["Response Codes"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseCode"]}," always begins with a prefix that indicates the category of the outcome."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Prefix"},"children":["Prefix"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Category"},"children":["Category"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["A"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Success"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Request completed successfully"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["E"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Error"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Input validation or processing error occurred"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Each API defines its own set of response codes within these prefix categories. Refer to the individual API reference for the full list of valid ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseCode"]}," values."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"response-envelope","__idx":3},"children":["Response Envelope"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"success","__idx":4},"children":["Success"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"responseCode\": \"A100\",\n  \"responseMessage\": \"Approved\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Additional fields vary by endpoint. Refer to the individual API reference for the full response schema."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"single-error","__idx":5},"children":["Single Error"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When only one error occurs, it is represented at the top level. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseDetails"]}," is omitted."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"responseCode\": \"E410\",\n  \"responseMessage\": \"Invalid length for field 'accountNumber'\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"multiple-errors","__idx":6},"children":["Multiple Errors"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["When multiple errors occur, the first error populates the top-level ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseCode"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseMessage"]},". Additional errors are listed in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseDetails"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"responseCode\": \"E410\",\n  \"responseMessage\": \"Invalid length for field 'accountNumber'\",\n  \"responseDetails\": [\n    { \"responseCode\": \"E409\", \"responseMessage\": \"Invalid format for field 'amount'\" },\n    { \"responseCode\": \"E405\", \"responseMessage\": \"TransactionType is required\" }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseDetails"]}," is never an empty array. If there is only one error, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["responseDetails"]}," is omitted entirely and the error is represented at the top level."]}]},"headings":[{"value":"Response Format","id":"response-format","depth":1},{"value":"Overview","id":"overview","depth":2},{"value":"Response Codes","id":"response-codes","depth":2},{"value":"Response Envelope","id":"response-envelope","depth":2},{"value":"Success","id":"success","depth":3},{"value":"Single Error","id":"single-error","depth":3},{"value":"Multiple Errors","id":"multiple-errors","depth":3}],"frontmatter":{"seo":{"title":"Response Format"}},"lastModified":"2026-03-09T23:59:40.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/response-format","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}