{
  "openapi": "3.1.0",
  "info": {
    "title": "Payerworks API",
    "version": "1",
    "description": "Payerworks’ engine as an API: validate claims against one published edit table and write 837P, 837I and 837D interchanges, a secondary claim’s coordination of benefits included, read any of them back, and plan a corrected or void claim; search a directory of payers and plan programs from public federal files, which is not a list Payerworks can send to; write 270 and 276 files and explain every 271 and 277 answer; read 835, 999 and 277CA files, explain remittances and every acknowledgment rejection, and say each denial as the next step, with appeal letters written from your facts; track a claim from the files you hold; follow up on open claims from your own payment history, find duplicate remittances, match deposits to them and recoupments to the claims they take back, split an 835, and count your own denials, payments and fee schedule variances, every figure with how many it rests on; write a 278 and explain the response, and check Medicare’s published prior authorization lists; estimate a patient’s share from a 271, lay out a Good Faith Estimate, and find a replacement window for equipment and a poverty guideline percent; request transaction enrollment for a provider with a payer; and run test files and test enrollments through the sandbox payers, with the answers posted to your webhook; draw claims on the CMS-1500, print remittances and eligibility answers as PDFs, fill Medicare’s appeal forms and write 275 attachments; check your own claim rules and a hospital’s standard charges file; run the claims sandbox over simulated days; import and export enrollment requests by CSV; manage named keys, webhook destinations and a notice address, and reach the same tools over a hosted MCP server; read a payer’s 277 request for additional information and check the solicited 275 that answers it. Reading a paper EOB or an insurance card with a model, and dropping claim files over SFTP, are built and switched off until Payerworks turns them on, and so are batch jobs, which run many calls to one route off the API’s clock: a job keeps its file until it finishes and its result for 24 hours, for test keys only. Nothing sent to any other route is stored or logged; webhook events are kept 30 days and Idempotency-Key fingerprints 24 hours. Your webhook destinations, your notice address and your keys’ names are kept until you remove them; a file dropped over SFTP is deleted once it is answered, and its answers 7 days after. The enrollment routes are the one part that keeps what you send: the providers, requests and PDFs you create, until you delete them (a test key’s 30 days after their last change). An account’s people may manage it through organizations, each signing in to the console with an authenticator app and holding a role, switched off until Payerworks turns them on; every change to an account is recorded in its audit log for one year, by field name only; and POST /v1/claims/submit, which will send claims through a trading partner, is shut behind five gates and answers 501 while Payerworks is connected to no payer. It does not yet transmit to payers, and Payerworks is registered with no payer, so no enrollment request is sent."
  },
  "servers": [
    {
      "url": "https://v0vigdpxr8.execute-api.us-east-1.amazonaws.com",
      "description": "The Payerworks API, as shown with your key. Every route is under /v1."
    }
  ],
  "tags": [
    {
      "name": "Claims and files"
    },
    {
      "name": "Eligibility"
    },
    {
      "name": "Claim status"
    },
    {
      "name": "Remittances, denials and appeals"
    },
    {
      "name": "Analytics from your own files"
    },
    {
      "name": "Prior authorization"
    },
    {
      "name": "Patient estimates and money"
    },
    {
      "name": "Hospital standard charges"
    },
    {
      "name": "Payer directory"
    },
    {
      "name": "Providers and enrollment"
    },
    {
      "name": "Codes in words"
    },
    {
      "name": "Sandbox payers"
    },
    {
      "name": "Your keys, your account and your webhook"
    },
    {
      "name": "Events"
    },
    {
      "name": "SFTP file drop"
    },
    {
      "name": "Batch jobs"
    },
    {
      "name": "Organizations and members"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearer": {
        "type": "http",
        "scheme": "bearer",
        "description": "A Payerworks API key, pw_test_… or pw_live_…"
      },
      "memberSession": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "A member’s console sign-in: the ID token of a sign-in at payerworks.com/console, made with a password and a code from an authenticator app. It manages the account (the organization routes, and the account routes as far as the member’s role allows) and never makes a call that carries data: claims, eligibility, files, sandboxes, MCP and batch jobs take a key."
      }
    },
    "parameters": {
      "PayerworksOrganization": {
        "name": "Payerworks-Organization",
        "in": "header",
        "required": false,
        "schema": {
          "type": "string",
          "pattern": "^pwo_[0-9a-f]{24}$"
        },
        "description": "A member’s sign-in only: the organization the call is about, when the sign-in belongs to several (GET /v1/org/memberships lists them). Left out with several: 400 org_choose."
      },
      "PayerworksKey": {
        "name": "Payerworks-Key",
        "in": "header",
        "required": false,
        "schema": {
          "type": "string",
          "pattern": "^pwk_[A-Za-z0-9]{16,40}$"
        },
        "description": "A member’s sign-in only, and required with one: the key of the organization’s account the call acts on (GET /v1/org/keys lists them). The call is answered as that key would be answered, within the member’s role."
      },
      "IdempotencyKey": {
        "name": "Idempotency-Key",
        "in": "header",
        "required": false,
        "schema": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255
        },
        "description": "Any POST and the webhook PUT: a retry with the same key and request gets the first answer again, with idempotent-replayed: true. 1 to 255 visible characters, no space, quote or backslash; a UUID is a good one. Remembered 24 hours."
      }
    },
    "headers": {
      "x-request-id": {
        "description": "The request’s id. Quote it when you write to Payerworks.",
        "schema": {
          "type": "string"
        }
      },
      "x-ratelimit-limit": {
        "description": "The key’s calls a minute.",
        "schema": {
          "type": "integer"
        }
      },
      "x-ratelimit-remaining": {
        "description": "Calls left in this UTC minute.",
        "schema": {
          "type": "integer"
        }
      },
      "x-ratelimit-reset": {
        "description": "Seconds until the window resets.",
        "schema": {
          "type": "integer"
        }
      },
      "RateLimit": {
        "description": "The same figures in the IETF draft’s form.",
        "schema": {
          "type": "string"
        }
      },
      "RateLimit-Policy": {
        "description": "The key’s policy in the IETF draft’s form.",
        "schema": {
          "type": "string"
        }
      },
      "idempotent-replayed": {
        "description": "true when this is the first answer to an Idempotency-Key request, given again.",
        "schema": {
          "type": "string",
          "enum": [
            "true"
          ]
        }
      },
      "retry-after": {
        "description": "Seconds to wait before a retry.",
        "schema": {
          "type": "integer"
        }
      }
    },
    "responses": {
      "BadRequest": {
        "description": "The request is malformed: bad JSON, a field of the wrong shape, a path or a query that does not decode (invalid_path, invalid_query; a query parameter may be at most 200 characters), or an Idempotency-Key that cannot be read.",
        "headers": {
          "x-request-id": {
            "$ref": "#/components/headers/x-request-id"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorAnswer"
            }
          }
        }
      },
      "Unauthorized": {
        "description": "No key, or a key that is not valid (no_key, invalid_key).",
        "headers": {
          "x-request-id": {
            "$ref": "#/components/headers/x-request-id"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorAnswer"
            }
          }
        }
      },
      "Forbidden": {
        "description": "The key may not do this, such as a test key asking for a production file (test_key_production_file).",
        "headers": {
          "x-request-id": {
            "$ref": "#/components/headers/x-request-id"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorAnswer"
            }
          }
        }
      },
      "NotFound": {
        "description": "No such route, or nothing of this key’s by that id.",
        "headers": {
          "x-request-id": {
            "$ref": "#/components/headers/x-request-id"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorAnswer"
            }
          }
        }
      },
      "Conflict": {
        "description": "Not now: a request with the same Idempotency-Key still running (idempotency_in_flight, with retry-after), or a webhook that changed or is not set.",
        "headers": {
          "x-request-id": {
            "$ref": "#/components/headers/x-request-id"
          },
          "retry-after": {
            "$ref": "#/components/headers/retry-after"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorAnswer"
            }
          }
        }
      },
      "TooLarge": {
        "description": "The body is over the size limit (too_large); a file holds more than one call can read (file_too_large, with unit, limit, found_at_least and kind), refused before it is read; or the answer would be larger than one response carries (answer_too_large, with limit_bytes 5500000): split the file, or send fewer claims or questions a call.",
        "headers": {
          "x-request-id": {
            "$ref": "#/components/headers/x-request-id"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorAnswer"
            }
          }
        }
      },
      "Unprocessable": {
        "description": "The input was read and would be refused: every claim’s or question’s problems are listed, and nothing was written; an interchange that mixes kinds of file (mixed_functional_groups, with kinds); or an Idempotency-Key already used for a different request.",
        "headers": {
          "x-request-id": {
            "$ref": "#/components/headers/x-request-id"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorAnswer"
            }
          }
        }
      },
      "RateLimited": {
        "description": "Over the key’s rate (rate_limited, with retry-after), its webhook deliveries a minute, or the events it records in a UTC day.",
        "headers": {
          "x-request-id": {
            "$ref": "#/components/headers/x-request-id"
          },
          "retry-after": {
            "$ref": "#/components/headers/retry-after"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorAnswer"
            }
          }
        }
      },
      "ServerError": {
        "description": "Something failed on our side (internal), or we could not read or write the key’s records just now (store_unavailable, queue_unavailable), or a part of the API could not be loaded (documents_unavailable, model_read_unavailable): retry a 500 or a 503. A 501 is no failure and is not retried: the route is not offered where it was asked (answered_by_the_door, model_read_not_offered, timeline_not_offered), and asking again answers the same.",
        "headers": {
          "x-request-id": {
            "$ref": "#/components/headers/x-request-id"
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorAnswer"
            }
          }
        }
      }
    },
    "schemas": {
      "ErrorAnswer": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message"
            ],
            "properties": {
              "code": {
                "type": "string",
                "description": "Stable, snake_case. The developers page lists every code with its status and sentence.",
                "enum": [
                  "no_claim",
                  "too_many_claims",
                  "invalid_claims",
                  "duplicate_reference",
                  "no_x12",
                  "not_read_here",
                  "unrecognized_x12",
                  "not_an_835",
                  "not_an_acknowledgment",
                  "invalid_code",
                  "invalid_category",
                  "invalid_path",
                  "invalid_sandbox_attachments",
                  "answered_by_the_door",
                  "invalid_sender_id",
                  "invalid_receiver_id",
                  "invalid_control_number",
                  "invalid_usage",
                  "test_key_production_file",
                  "sandbox_test_only",
                  "invalid_query",
                  "answer_too_large",
                  "file_too_large",
                  "mixed_functional_groups",
                  "no_request",
                  "too_many_requests",
                  "invalid_requests",
                  "duplicate_trace",
                  "no_answer",
                  "not_a_271",
                  "not_a_271_json",
                  "invalid_asked",
                  "invalid_service_type",
                  "invalid_aaa_code",
                  "invalid_loop",
                  "invalid_include",
                  "invalid_shape",
                  "no_inquiry",
                  "too_many_inquiries",
                  "invalid_inquiries",
                  "duplicate_inquiry_trace",
                  "no_claim_status_answer",
                  "ambiguous_answer",
                  "invalid_claim_status_json",
                  "not_a_claim_status_answer",
                  "invalid_status_asked",
                  "not_a_claim_status_question",
                  "invalid_status_code",
                  "ambiguous_question",
                  "invalid_payer_name",
                  "invalid_submitter_name",
                  "no_remittance",
                  "two_inputs",
                  "invalid_claim_facts",
                  "invalid_letter_facts",
                  "unknown_letter_kind",
                  "missing_facts",
                  "letter_refused",
                  "invalid_letter",
                  "invalid_group_code",
                  "is_a_remark_code",
                  "invalid_limit",
                  "invalid_cursor",
                  "invalid_event_type",
                  "invalid_event_id",
                  "event_not_found",
                  "invalid_delivery_state",
                  "invalid_created",
                  "no_claims_to_track",
                  "ambiguous_claims",
                  "invalid_track_request",
                  "invalid_tracked_claims",
                  "not_a_tracked_file",
                  "too_much_to_track",
                  "invalid_import",
                  "export_takes_no_paging",
                  "export_too_large",
                  "invalid_provider",
                  "provider_exists",
                  "provider_limit_reached",
                  "invalid_provider_id",
                  "provider_not_found",
                  "provider_in_use",
                  "provider_has_enrollments",
                  "invalid_starting_after",
                  "invalid_npi_filter",
                  "invalid_tax_id_filter",
                  "q_too_long",
                  "invalid_enrollment",
                  "enrollment_exists",
                  "enrollment_limit_reached",
                  "invalid_enrollment_id",
                  "enrollment_not_found",
                  "enrollment_sent",
                  "enrollment_ended",
                  "enrollment_not_deletable",
                  "enrollment_not_draft",
                  "invalid_cancel",
                  "invalid_status_filter",
                  "invalid_transaction_filter",
                  "invalid_payer_filter",
                  "invalid_provider_filter",
                  "invalid_waiting_on_filter",
                  "invalid_date_filter",
                  "invalid_task_id",
                  "task_not_found",
                  "task_not_open",
                  "task_blocked",
                  "task_is_payerworks",
                  "invalid_task_values",
                  "invalid_document_request",
                  "field_not_a_document",
                  "document_limit_reached",
                  "upload_unavailable",
                  "invalid_document_id",
                  "document_not_found",
                  "upload_missing",
                  "not_a_pdf",
                  "document_too_large",
                  "document_not_uploaded",
                  "document_in_use",
                  "invalid_payer_id",
                  "sandbox_nothing_to_advance",
                  "changed_meanwhile",
                  "invalid_edit_filter",
                  "invalid_edit_code",
                  "edit_not_found",
                  "invalid_change",
                  "invalid_payer_claim_number",
                  "payer_claim_number_needed",
                  "invalid_medicare_mac",
                  "invalid_adjudicated",
                  "claim_type_not_planned",
                  "invalid_correction_claim",
                  "not_an_837p",
                  "several_claims_in_file",
                  "adjudication_unknown",
                  "not_an_837d",
                  "dental_not_checked_here",
                  "payer_not_in_directory",
                  "not_a_directory_row_id",
                  "invalid_payer_query",
                  "payer_directory_unavailable",
                  "no_claims_to_follow",
                  "ambiguous_follow_up",
                  "invalid_follow_up_request",
                  "too_much_to_follow",
                  "no_remittances",
                  "too_many_remittances",
                  "deposits_required",
                  "invalid_deposits",
                  "invalid_split_by",
                  "value_holds_a_delimiter",
                  "invalid_payer",
                  "invalid_date_of_service",
                  "no_filing_limit_on_record",
                  "invalid_analytics_request",
                  "too_much_to_analyze",
                  "nothing_to_summarize",
                  "invalid_fee_schedule",
                  "no_claim_to_check",
                  "invalid_risk_claim",
                  "invalid_outcomes",
                  "no_identity_request",
                  "invalid_identity_request",
                  "invalid_reasons",
                  "invalid_known",
                  "no_reasons",
                  "no_answer_to_read",
                  "answer_not_read",
                  "invalid_service_type_test",
                  "invalid_coordination",
                  "invalid_discovery_verify",
                  "too_many_coverages",
                  "no_authorization_request",
                  "too_many_authorization_requests",
                  "invalid_authorization_requests",
                  "duplicate_authorization_trace",
                  "invalid_output",
                  "no_authorization_answer",
                  "not_a_278",
                  "not_a_278_response",
                  "not_a_278_json",
                  "not_a_pas_response",
                  "invalid_asked_requests",
                  "invalid_explain_include",
                  "no_procedure_codes",
                  "too_many_procedure_codes",
                  "invalid_procedure_codes",
                  "invalid_payer_type",
                  "invalid_state",
                  "invalid_setting",
                  "no_estimate_lines",
                  "too_many_estimate_lines",
                  "invalid_estimate",
                  "member_required",
                  "no_member",
                  "invalid_good_faith_estimate",
                  "no_dme_items",
                  "too_many_dme_items",
                  "invalid_dme_items",
                  "invalid_fpl_request",
                  "guideline_not_defined",
                  "guideline_year_not_held",
                  "invalid_document_option",
                  "too_many_forms",
                  "no_remittance_file",
                  "invalid_attachments",
                  "documents_unavailable",
                  "unknown_appeal_form",
                  "invalid_appeal_form_input",
                  "claim_not_on_remittance",
                  "not_medicare_fee_for_service",
                  "form_asset_changed",
                  "no_image",
                  "invalid_image_base64",
                  "image_too_large",
                  "unreadable_image",
                  "too_many_pages",
                  "model_read_not_offered",
                  "model_read_test_keys_only",
                  "model_read_unavailable",
                  "model_read_timed_out",
                  "model_read_failed",
                  "not_an_eob",
                  "not_an_insurance_card",
                  "model_read_daily_limit",
                  "invalid_seed",
                  "invalid_instant",
                  "invalid_timeline_cursor",
                  "cursor_other_run",
                  "invalid_timeline_limit",
                  "invalid_format",
                  "timeline_not_offered",
                  "no_rules",
                  "too_many_rules",
                  "invalid_rules",
                  "no_mrf",
                  "mrf_too_large",
                  "mrf_not_json",
                  "invalid_row_offset",
                  "invalid_destination_id",
                  "destination_not_found",
                  "destination_limit_reached",
                  "invalid_destination_name",
                  "invalid_event_types",
                  "invalid_enabled",
                  "invalid_concurrency",
                  "invalid_overlap_hours",
                  "destination_disabled",
                  "destination_conflict",
                  "not_at_destination",
                  "invalid_contact_email",
                  "contact_not_proved",
                  "invalid_key_id",
                  "key_not_found",
                  "key_limit_reached",
                  "invalid_key_name",
                  "invalid_expires_in_days",
                  "key_revoked",
                  "key_rotation_conflict",
                  "key_settings_out_of_range",
                  "sftp_not_open",
                  "sftp_user_not_found",
                  "invalid_acknowledgment_999",
                  "unknown_sftp_field",
                  "invalid_ssh_public_key",
                  "private_key_sent",
                  "ssh_key_limit_reached",
                  "ssh_key_exists",
                  "ssh_key_refused",
                  "invalid_ssh_key_id",
                  "ssh_key_not_found",
                  "sftp_unavailable",
                  "jobs_not_offered",
                  "jobs_live_not_offered",
                  "invalid_job_route",
                  "invalid_job",
                  "invalid_job_id",
                  "job_not_found",
                  "job_not_cancellable",
                  "job_running",
                  "jobs_daily_limit",
                  "no_information_request",
                  "not_an_information_request",
                  "no_requested_claims",
                  "invalid_information_request_call",
                  "no_attachment_response",
                  "not_an_attachment_response",
                  "invalid_audit_type",
                  "invalid_audit_cursor",
                  "org_not_offered",
                  "org_session_required",
                  "org_session_invalid",
                  "org_session_not_accepted",
                  "org_email_not_verified",
                  "org_choose",
                  "org_not_found",
                  "org_not_a_member",
                  "org_role_forbidden",
                  "org_owner_only",
                  "org_last_owner",
                  "org_member_not_found",
                  "invalid_org_member_id",
                  "org_invitation_not_found",
                  "invalid_org_invitation_id",
                  "org_invitation_expired",
                  "org_invitation_email_mismatch",
                  "org_already_member",
                  "org_invitation_pending",
                  "org_account_taken",
                  "org_key_not_usable",
                  "org_limit_reached",
                  "org_invitations_daily_limit",
                  "invalid_org_request",
                  "org_acting_key_required",
                  "org_acting_key_not_found",
                  "keys_managed_by_members",
                  "org_changed_meanwhile",
                  "submit_not_offered",
                  "submit_envelope_assigned",
                  "invalid_partner_id",
                  "reference_prefix_required",
                  "payer_not_at_partner",
                  "reference_in_flight",
                  "submit_not_sent",
                  "not_found",
                  "method_not_allowed",
                  "no_key",
                  "invalid_key",
                  "rate_limited",
                  "too_large",
                  "invalid_json",
                  "invalid_idempotency_key",
                  "idempotency_key_reused",
                  "idempotency_in_flight",
                  "idempotency_superseded",
                  "internal",
                  "store_unavailable",
                  "queue_unavailable",
                  "invalid_webhook_url",
                  "invalid_rotate",
                  "webhook_conflict",
                  "no_webhook",
                  "too_many_events",
                  "webhook_rate_limited",
                  "event_limit_reached"
                ]
              },
              "message": {
                "type": "string",
                "description": "A sentence a person can read."
              },
              "request_id": {
                "type": "string",
                "description": "The request that answered; on an Idempotency-Key replay, the request that first answered."
              },
              "field": {
                "type": "string",
                "description": "The JSON path, or the query parameter, at fault, when the refusal is about one."
              },
              "kind": {
                "type": "string",
                "description": "The kind of file read, when the refusal is about a file."
              },
              "kinds": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "mixed_functional_groups: the kinds the interchange mixes."
              },
              "limit_bytes": {
                "type": "integer",
                "description": "answer_too_large: the most one answer may carry."
              },
              "unit": {
                "type": "string",
                "description": "file_too_large and too_much_to_track: what was counted, such as claims or service lines."
              },
              "limit": {
                "type": "integer",
                "description": "file_too_large and too_much_to_track: the most one call reads of that unit."
              },
              "found_at_least": {
                "type": "integer",
                "description": "file_too_large and too_much_to_track: how many the file holds, at least."
              },
              "problems": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FieldProblem"
                },
                "description": "Every problem found in a provider, an enrollment or a task’s values, each with its own code and field."
              },
              "errors": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FieldProblem"
                },
                "description": "Every problem found, each with its own code and field."
              },
              "needs": {
                "type": "string",
                "description": "org_role_forbidden: the permission the call needs (GET /v1/org/roles says which roles hold it)."
              },
              "organizations": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                },
                "description": "org_choose: the organizations the sign-in belongs to, one to name in Payerworks-Organization."
              }
            },
            "additionalProperties": true
          }
        }
      },
      "FieldProblem": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string",
            "description": "Stable, snake_case."
          },
          "field": {
            "type": "string",
            "description": "The JSON path of the field."
          },
          "message": {
            "type": "string",
            "description": "A sentence a person can read."
          },
          "level": {
            "type": "string",
            "description": "A prior authorization request’s problems: error or warning."
          },
          "paths": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "unsupported_fields: each field the question does not take, by its dotted path."
          },
          "pointers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "unsupported_fields: the same fields as RFC 6901 JSON Pointers."
          },
          "more": {
            "type": "integer",
            "description": "unsupported_fields: how many more were found and not named."
          },
          "window": {
            "type": "object",
            "description": "window_misses_service_date and narrow_date_range: the dates the question asks about.",
            "properties": {
              "beginningDateOfService": {
                "type": "string"
              },
              "endDateOfService": {
                "type": "string"
              }
            }
          }
        }
      },
      "X12Body": {
        "type": "object",
        "required": [
          "x12"
        ],
        "properties": {
          "x12": {
            "type": "string",
            "description": "The whole file, envelope included."
          }
        }
      },
      "Envelope": {
        "type": "object",
        "description": "The interchange envelope, as the file states it.",
        "properties": {
          "sender_qualifier": {
            "type": "string"
          },
          "sender": {
            "type": "string"
          },
          "receiver_qualifier": {
            "type": "string"
          },
          "receiver": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "description": "ISA09, YYMMDD."
          },
          "time": {
            "type": "string",
            "description": "ISA10, HHMM."
          },
          "control_number": {
            "type": "string",
            "description": "ISA13."
          },
          "usage": {
            "type": "string",
            "description": "ISA15: T for a test file, P for production."
          },
          "functional_group": {
            "type": "string",
            "description": "GS01."
          },
          "version": {
            "type": "string",
            "description": "GS08, the implementation guide."
          },
          "transaction_sets": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            },
            "description": "How many sets of each kind the file holds."
          },
          "segments": {
            "type": "integer"
          }
        }
      },
      "FileOptions": {
        "type": "object",
        "required": [
          "sender_id",
          "receiver_id",
          "control_number"
        ],
        "properties": {
          "sender_id": {
            "type": "string",
            "description": "ISA06 and GS02: your submitter id, 2 to 15 letters, digits or spaces.",
            "minLength": 2,
            "maxLength": 15,
            "pattern": "^[A-Za-z0-9 ]{2,15}$"
          },
          "receiver_id": {
            "type": "string",
            "description": "ISA08 and GS03: the receiver’s id, 2 to 15 letters, digits or spaces.",
            "minLength": 2,
            "maxLength": 15,
            "pattern": "^[A-Za-z0-9 ]{2,15}$"
          },
          "control_number": {
            "type": "integer",
            "description": "ISA13 and GS06.",
            "minimum": 1,
            "maximum": 999999999
          },
          "usage": {
            "type": "string",
            "description": "T (test) or P (production). A test key writes T only; a live key writes P unless you ask for T.",
            "enum": [
              "T",
              "P"
            ]
          },
          "sender_qualifier": {
            "type": "string",
            "description": "ISA05, ZZ when left out."
          },
          "receiver_qualifier": {
            "type": "string",
            "description": "ISA07, ZZ when left out."
          }
        }
      },
      "WrittenFile": {
        "type": "object",
        "description": "A file Payerworks wrote for you to send on your own connection.",
        "properties": {
          "version": {
            "type": "string",
            "description": "The implementation guide written."
          },
          "usage": {
            "type": "string",
            "description": "T or P.",
            "enum": [
              "T",
              "P"
            ]
          },
          "x12": {
            "type": "string",
            "description": "The whole interchange."
          },
          "interchange_control_number": {
            "type": "string"
          },
          "group_control_number": {
            "type": "string"
          },
          "transaction_set_control_numbers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "segments": {
            "type": "integer"
          },
          "transmitted": {
            "type": "boolean",
            "const": false,
            "description": "Payerworks wrote the file and sent it nowhere."
          }
        }
      },
      "Health": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "service": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "transmits": {
            "type": "boolean",
            "const": false,
            "description": "No route transmits to a payer yet."
          }
        }
      },
      "Claim": {
        "type": "object",
        "description": "A professional claim in the 837P’s own structure. claimInformation.patientControlNumber is your reference (at most 20 characters).",
        "required": [
          "tradingPartnerServiceId",
          "billing",
          "subscriber",
          "claimInformation"
        ],
        "properties": {
          "tradingPartnerServiceId": {
            "type": "string",
            "description": "The payer’s id."
          },
          "submitter": {
            "type": "object"
          },
          "receiver": {
            "type": "object"
          },
          "billing": {
            "type": "object"
          },
          "subscriber": {
            "type": "object"
          },
          "dependent": {
            "type": "object"
          },
          "rendering": {
            "type": "object"
          },
          "referring": {
            "type": "object"
          },
          "claimInformation": {
            "type": "object",
            "required": [
              "patientControlNumber",
              "claimChargeAmount",
              "placeOfServiceCode",
              "healthCareCodeInformation",
              "serviceLines"
            ],
            "description": "For a claim to a later payer: otherSubscriberInformation, each earlier payer’s adjudication (its paid amount, claim adjustments and adjudication date), and on each service line it paid, lineAdjudicationInformation. For a corrected or void claim: claimFrequencyCode 7 or 8 and the payer’s claim number in claimSupplementalInformation.claimControlNumber."
          }
        }
      },
      "ClaimsBody": {
        "type": "object",
        "description": "One claim as claim, or a list as claims.",
        "properties": {
          "claim": {
            "$ref": "#/components/schemas/Claim"
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Claim"
            },
            "description": "At most 100.",
            "maxItems": 100
          }
        }
      },
      "Repair": {
        "type": "object",
        "required": [
          "code",
          "field",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string",
            "description": "The repair, as GET /v1/edits lists it under repairs."
          },
          "field": {
            "type": "string",
            "description": "The JSON path of the field."
          },
          "message": {
            "type": "string",
            "description": "What was changed, in words."
          }
        }
      },
      "NotChecked": {
        "type": "object",
        "required": [
          "code",
          "field",
          "reason",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string",
            "description": "The edit that could not run."
          },
          "field": {
            "type": "string",
            "description": "The JSON path it was about, or claim."
          },
          "reason": {
            "type": "string",
            "description": "Why, as a stable word: code_set_not_loaded (the code sets are the API’s, not the browser’s), outside_releases or before_set (a date of service outside the code releases held), not_in_set (a dental D code or a CPT modifier, which CMS’s HCPCS file does not carry), no_clock, or walk_limit. For one of your own rules (code caller_rule): step_budget (the call’s step budget ran out before the rule), values_per_path (a field the rule reads reaches more than 1000 values) or scope_elements (only the first 500 elements of its scope were checked, said in checked)."
          },
          "message": {
            "type": "string",
            "description": "A sentence a person can read."
          },
          "rule_id": {
            "type": "string",
            "description": "For code caller_rule: the id of your rule that was not checked."
          },
          "checked": {
            "type": "integer",
            "description": "For reason scope_elements: how many scope elements were checked."
          }
        }
      },
      "ClaimChecks": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer"
          },
          "reference": {
            "type": "string",
            "description": "Your patientControlNumber."
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldProblem"
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldProblem"
            }
          },
          "repairs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Repair"
            },
            "description": "Formatting Payerworks fixed on a copy before checking: the file is written from the repaired claim."
          },
          "not_checked": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NotChecked"
            },
            "description": "Every check that could not run, and why: never passed, never refused."
          }
        }
      },
      "ValidateBody": {
        "type": "object",
        "description": "One claim as claim, a list as claims, or an 837P file as x12; and, if you like, your own rules as rules.",
        "properties": {
          "claim": {
            "$ref": "#/components/schemas/Claim"
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Claim"
            },
            "description": "At most 100.",
            "maxItems": 100
          },
          "x12": {
            "type": "string",
            "description": "An 837P interchange (GS08 005010X222A1), read back claim by claim and checked; at most 100 claims."
          },
          "rules": {
            "type": "array",
            "minItems": 1,
            "maxItems": 100,
            "items": {
              "$ref": "#/components/schemas/ClaimRule"
            },
            "description": "Optional: up to 100 of your own rules, as POST /v1/edits/rules/check reads them, applied to each claim after its repairs. A rule that fires is listed with code caller_rule and source caller; one of severity error is an error like any other (validate answers valid: false, and 837p writes nothing). A rule not written in the rule format refuses the whole call with 422 invalid_rules, and nothing is checked. Left out: only Payerworks’ own checks."
          }
        }
      },
      "ValidateAnswer": {
        "type": "object",
        "properties": {
          "valid": {
            "type": "boolean",
            "description": "True when no claim has an error."
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClaimChecks"
            }
          }
        }
      },
      "File837PAnswer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WrittenFile"
          },
          {
            "type": "object",
            "properties": {
              "claims": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "reference": {
                      "type": "string"
                    },
                    "transaction_set_control_number": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FieldProblem"
                      }
                    },
                    "repairs": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Repair"
                      }
                    },
                    "not_checked": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/NotChecked"
                      }
                    }
                  }
                }
              }
            }
          }
        ]
      },
      "ParseAnswer": {
        "type": "object",
        "description": "The file’s kind and envelope, and one more key holding the file read to JSON: which key depends on the kind.",
        "required": [
          "kind",
          "envelope"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "description": "The kind of file read.",
            "enum": [
              "270",
              "271",
              "276",
              "277",
              "277CA",
              "277RFAI",
              "278",
              "835",
              "837P",
              "837I",
              "837D",
              "999",
              "997",
              "TA1",
              "mixed",
              "unknown"
            ]
          },
          "envelope": {
            "$ref": "#/components/schemas/Envelope"
          },
          "remittance": {
            "type": "object",
            "description": "An 835, read.",
            "properties": {},
            "additionalProperties": true
          },
          "acknowledgment": {
            "type": "object",
            "description": "A 999, read.",
            "properties": {},
            "additionalProperties": true
          },
          "claim_acknowledgment": {
            "type": "object",
            "description": "A 277CA, read.",
            "properties": {},
            "additionalProperties": true
          },
          "interchange_acknowledgment": {
            "type": "object",
            "description": "A TA1, read: each TA1’s verdict (TA104) and note code (TA105), in words.",
            "properties": {
              "acknowledgments": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Ta1Read"
                }
              },
              "source": {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              }
            }
          },
          "eligibility_request": {
            "type": "object",
            "description": "A 270, read: each request in the JSON shape POST /v1/eligibility/270 takes, and not_read, every segment the reader does not read.",
            "properties": {},
            "additionalProperties": true
          },
          "eligibility_answer": {
            "type": "object",
            "description": "A 271, read: each transaction, with answered_on and unread.",
            "properties": {},
            "additionalProperties": true
          },
          "claim_status_inquiry": {
            "type": "object",
            "description": "A 276, read: each question in the JSON shape POST /v1/claim-status/276 takes.",
            "properties": {},
            "additionalProperties": true
          },
          "claim_status": {
            "type": "object",
            "description": "A 277 claim status answer (005010X212), read.",
            "properties": {},
            "additionalProperties": true
          },
          "professional_claims": {
            "$ref": "#/components/schemas/ClaimFileRead"
          },
          "institutional_claims": {
            "$ref": "#/components/schemas/ClaimFileRead"
          },
          "dental_claims": {
            "$ref": "#/components/schemas/ClaimFileRead"
          },
          "authorization": {
            "type": "object",
            "description": "A 278 request or response (005010X217), read: each review with its decision, dates and services.",
            "properties": {},
            "additionalProperties": true
          }
        }
      },
      "AckFix": {
        "type": "object",
        "properties": {
          "segment": {
            "type": "string"
          },
          "loop": {
            "type": "string"
          },
          "element": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "entity": {
            "type": "string"
          },
          "verdict": {
            "type": "string"
          },
          "where": {
            "type": "string",
            "description": "The part of your claim data to correct."
          },
          "sentence": {
            "type": "string",
            "description": "The fix, in words."
          },
          "reference": {
            "type": "string",
            "description": "Your claim reference, when the file names it."
          }
        },
        "additionalProperties": true
      },
      "Ta1Read": {
        "type": "object",
        "properties": {
          "control_number": {
            "type": "string",
            "description": "TA101, the interchange it answers."
          },
          "date": {
            "type": "string"
          },
          "time": {
            "type": "string"
          },
          "verdict": {
            "type": "string",
            "description": "TA104: A accepted, E accepted with errors, R rejected."
          },
          "verdict_words": {
            "type": "string"
          },
          "accepted": {
            "type": "boolean"
          },
          "verdict_known": {
            "type": "boolean"
          },
          "note_code": {
            "type": "string",
            "description": "TA105."
          },
          "note_words": {
            "type": "string"
          },
          "known": {
            "type": "boolean",
            "description": "False for a note code without verified words."
          },
          "label_source": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "AcknowledgmentAnswer": {
        "type": "object",
        "required": [
          "kind"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "999",
              "277CA",
              "TA1"
            ]
          },
          "interchanges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Ta1Read"
            },
            "description": "A TA1: each one, in words."
          },
          "source": {
            "type": "object",
            "description": "A TA1: where the note codes’ words come from, and the day read.",
            "properties": {},
            "additionalProperties": true
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "control_number": {
                  "type": "string"
                },
                "verdict": {
                  "type": "string"
                },
                "verdict_words": {
                  "type": "string"
                },
                "received": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "accepted": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "transaction_sets": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "control_number": {
                        "type": "string"
                      },
                      "verdict": {
                        "type": "string"
                      },
                      "verdict_words": {
                        "type": "string"
                      },
                      "fixes": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/AckFix"
                        }
                      }
                    }
                  }
                }
              }
            },
            "description": "A 999: each functional group and set."
          },
          "batch": {
            "type": "object",
            "description": "A 277CA: the batch’s own answer.",
            "properties": {
              "trace": {
                "type": "string"
              },
              "statuses": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                }
              },
              "accepted": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "rejected": {
                "type": [
                  "number",
                  "null"
                ]
              }
            }
          },
          "claims": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "reference": {
                  "type": "string"
                },
                "payer_claim_number": {
                  "type": "string"
                },
                "verdict": {
                  "type": "string",
                  "description": "A accepted, R rejected, D denied."
                },
                "fixes": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AckFix"
                  }
                }
              }
            },
            "description": "A 277CA: each claim."
          }
        }
      },
      "Adjustment": {
        "type": "object",
        "description": "A claim-level adjustment carries its words; a service line’s carries group, code, amount and line only: read its words from the claim’s adjustments by code, and the group’s from groups.",
        "properties": {
          "group": {
            "type": "string",
            "description": "CO, PR, OA, PI or CR."
          },
          "code": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "label": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "known": {
            "type": "boolean"
          },
          "label_source": {
            "type": "string",
            "const": "paraphrase"
          },
          "group_words": {
            "type": "string"
          },
          "patient_billable": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "line": {
            "type": "integer",
            "description": "The service line, by index."
          },
          "remedy": {
            "type": [
              "object",
              "null"
            ],
            "description": "next-step only: the step this adjustment calls for.",
            "properties": {},
            "additionalProperties": true
          },
          "stopped_on": {
            "type": "string",
            "description": "The day the code list stopped this code, when it did."
          }
        }
      },
      "Remark": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "words": {
            "type": "string"
          },
          "label_source": {
            "type": "string",
            "const": "paraphrase"
          }
        }
      },
      "CheckBalance": {
        "type": "object",
        "properties": {
          "stated": {
            "type": "number"
          },
          "claims_net": {
            "type": "number"
          },
          "provider_adjustments_net": {
            "type": "number"
          },
          "variance": {
            "type": "number"
          },
          "ties": {
            "type": "boolean"
          },
          "words": {
            "type": "string"
          }
        }
      },
      "Check": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string"
          },
          "date": {
            "type": "string",
            "description": "CCYYMMDD."
          },
          "amount": {
            "type": "string"
          },
          "method_flag": {
            "type": "string"
          },
          "payer": {
            "type": "string"
          },
          "payee_ids": {
            "type": "object",
            "properties": {
              "npis": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "tins": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "references": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "The claims this check paid, in file order."
            }
          },
          "balance": {
            "$ref": "#/components/schemas/CheckBalance"
          },
          "provider_adjustments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        }
      },
      "RemittanceClaim": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer"
          },
          "reference": {
            "type": "string",
            "description": "Your claim reference (CLP01)."
          },
          "payer_claim_number": {
            "type": "string"
          },
          "status_code": {
            "type": "string",
            "description": "CLP02."
          },
          "status": {
            "type": "string"
          },
          "claim_filing_indicator": {
            "type": "string",
            "description": "CLP06."
          },
          "service_date": {
            "type": "string"
          },
          "billed": {
            "type": "number"
          },
          "paid": {
            "type": "number"
          },
          "allowed": {
            "type": [
              "number",
              "null"
            ],
            "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
          },
          "patient_responsibility": {
            "type": [
              "number",
              "null"
            ],
            "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
          },
          "amounts": {
            "type": "object",
            "description": "Every figure, each with how it was found (stated or derived).",
            "properties": {},
            "additionalProperties": true
          },
          "adjustments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Adjustment"
            }
          },
          "patient_adjustments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Adjustment"
            }
          },
          "claim_adjustments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Adjustment"
            }
          },
          "remark_codes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "remarks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Remark"
            }
          },
          "primary_reason": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "code": {
                "type": "string"
              },
              "category": {
                "type": "string"
              },
              "words": {
                "type": "string"
              }
            }
          },
          "verdict": {
            "type": "string",
            "enum": [
              "paid",
              "partially_paid",
              "denied",
              "applied_to_patient",
              "nothing_payable",
              "reversal",
              "reversal_and_repaid",
              "forwarded",
              "pending"
            ]
          },
          "verdict_words": {
            "type": "string"
          },
          "crossover_carrier": {
            "type": "string"
          },
          "check_number": {
            "type": "string"
          },
          "service_lines": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "lines": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            },
            "description": "Each service line, with its own adjustments and remarks."
          },
          "reversal": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "reversed_by": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "corrects": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          }
        }
      },
      "GroupWords": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "patient_billable": {
            "type": [
              "boolean",
              "string"
            ],
            "description": "true, false or \"depends\"."
          },
          "words": {
            "type": "string"
          }
        }
      },
      "Groups": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/GroupWords"
        },
        "description": "Each adjustment group code the answer names (CO, OA, PI, PR), said once: its name, whether the patient may be billed, and its words. An adjustment carries its group code only."
      },
      "RemittanceAnswer": {
        "type": "object",
        "properties": {
          "check": {
            "$ref": "#/components/schemas/Check"
          },
          "checks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Check"
            },
            "description": "One per check: an 835 pays each payee by its own."
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RemittanceClaim"
            }
          },
          "provider_adjustments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "groups": {
            "$ref": "#/components/schemas/Groups"
          }
        }
      },
      "NextStepClaimInput": {
        "type": "object",
        "required": [
          "billed",
          "paid",
          "adjustments"
        ],
        "properties": {
          "payer_claim_number": {
            "type": "string"
          },
          "patient_control_number": {
            "type": "string"
          },
          "status_code": {
            "type": "string"
          },
          "claim_filing_indicator": {
            "type": "string",
            "description": "MA or MB for Medicare fee-for-service, 16 for Medicare Advantage."
          },
          "service_date": {
            "type": "string",
            "description": "YYYY-MM-DD, or empty when not stated."
          },
          "remittance_date": {
            "type": "string",
            "description": "YYYY-MM-DD, or empty when not stated."
          },
          "filed_on": {
            "type": "string",
            "description": "YYYY-MM-DD, or empty when not stated."
          },
          "lines": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "service_date": {
                  "type": "string",
                  "description": "YYYY-MM-DD, or empty when not stated."
                },
                "service_date_end": {
                  "type": "string",
                  "description": "YYYY-MM-DD, or empty when not stated."
                }
              }
            },
            "description": "Each service line’s dates: a Medicare filing limit counts from the earliest line’s From date. At most 50.",
            "maxItems": 50
          },
          "rejected_at": {
            "type": "string",
            "description": "Where the claim was rejected before adjudication.",
            "enum": [
              "999",
              "277CA"
            ]
          },
          "billed": {
            "type": "number"
          },
          "paid": {
            "type": "number"
          },
          "allowed": {
            "type": "number"
          },
          "patient_responsibility": {
            "type": "number"
          },
          "adjustments": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "group",
                "code",
                "amount"
              ],
              "properties": {
                "group": {
                  "type": "string"
                },
                "code": {
                  "type": "string"
                },
                "amount": {
                  "type": "number"
                },
                "line": {
                  "type": "integer"
                }
              }
            }
          },
          "remark_codes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "facts": {
            "$ref": "#/components/schemas/NextStepFacts"
          }
        }
      },
      "NextStepFacts": {
        "type": "object",
        "properties": {
          "filing_limit_days": {
            "type": "integer",
            "description": "The payer’s filing limit in days, from your contract or its manual."
          },
          "appeal_limit_days": {
            "type": "integer",
            "description": "The payer’s appeal limit in days."
          },
          "authorization_number": {
            "type": "string"
          },
          "claim_filing_indicator": {
            "type": "string"
          }
        }
      },
      "NextStepBody": {
        "type": "object",
        "description": "An 835 as x12, or the claims as JSON: one, never both.",
        "properties": {
          "x12": {
            "type": "string",
            "description": "An 835, envelope included."
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NextStepClaimInput"
            },
            "description": "At most 100.",
            "maxItems": 100
          },
          "facts": {
            "$ref": "#/components/schemas/NextStepFacts"
          },
          "today": {
            "type": "string",
            "description": "Your own day, YYYY-MM-DD, that deadlines count to; the UTC day when left out."
          }
        }
      },
      "NextStep": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "enum": [
              "correct",
              "attach",
              "dispute",
              "timely",
              "duplicate",
              "discovery",
              "cob",
              "auth",
              "necessity",
              "non_covered",
              "recoupment",
              "contract_cut",
              "decide",
              "post_payment",
              "bill_patient",
              "post_correction",
              "await_new_decision",
              "forwarded",
              "wait",
              "new_claim",
              "resend",
              "post_no_payment",
              "paid_short",
              "necessity_patient",
              "timely_medicare",
              "duplicate_medicare"
            ]
          },
          "action": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "words": {
            "type": "string"
          },
          "is_letter": {
            "type": "boolean",
            "description": "True when the step is a letter POST /v1/appeals/letter can write."
          },
          "letter_kind": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "timely_filing",
              "authorization_on_file",
              "records_enclosed",
              "underpayment",
              "not_a_duplicate",
              "other_coverage",
              "medical_necessity",
              "recoupment",
              "reconsideration",
              null
            ]
          },
          "filing": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "letter_facts": {
            "type": "object",
            "description": "With a letter_kind: the letter’s facts this remittance already holds, named as POST /v1/appeals/letter takes them. Add letter_facts_missing and send them as facts.",
            "properties": {},
            "additionalProperties": true
          },
          "letter_facts_missing": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "With a letter_kind: the facts the letter still needs from you, such as signer_name."
          }
        }
      },
      "Deadline": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "description": "Such as redetermination, reopening, filing or not_appealable (a Medicare late filing, 42 CFR 405.926(n))."
          },
          "date": {
            "type": [
              "string",
              "null"
            ],
            "description": "YYYY-MM-DD."
          },
          "date_us": {
            "type": [
              "string",
              "null"
            ],
            "description": "MM/DD/YYYY."
          },
          "days_left": {
            "type": [
              "integer",
              "null"
            ]
          },
          "window": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "days": {
                "type": "integer"
              },
              "presumed_receipt_days": {
                "type": "integer"
              }
            },
            "additionalProperties": true
          },
          "counted_from": {
            "type": "string"
          },
          "counted_from_date": {
            "type": [
              "string",
              "null"
            ],
            "description": "YYYY-MM-DD: the day the window counts from."
          },
          "counted_from_date_source": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "dtm_405",
              "bpr_16",
              "remittance_date",
              null
            ]
          },
          "source": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "regulation",
                  "caller",
                  "none"
                ]
              },
              "citation": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "verified_on": {
                "type": "string"
              },
              "field": {
                "type": "string"
              },
              "exceptions_citation": {
                "type": "string",
                "description": "Where the exceptions to the rule are, such as 42 CFR 424.44(b)."
              },
              "any_time_citation": {
                "type": "string"
              }
            },
            "additionalProperties": true
          },
          "words": {
            "type": "string"
          }
        }
      },
      "NextStepClaim": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer"
          },
          "reference": {
            "type": "string"
          },
          "payer_claim_number": {
            "type": "string"
          },
          "status_code": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "claim_filing_indicator": {
            "type": "string"
          },
          "medicare": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "fee_for_service",
              "advantage",
              null
            ]
          },
          "service_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "remittance_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "notice_date": {
            "type": [
              "string",
              "null"
            ],
            "description": "YYYY-MM-DD: the day a Medicare redetermination or reopening window counts from: the remittance advice’s own date (DTM*405), else the payment date (BPR16), else the remittance date sent."
          },
          "notice_date_source": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "dtm_405",
              "bpr_16",
              "remittance_date",
              null
            ]
          },
          "billed": {
            "type": "number"
          },
          "paid": {
            "type": "number"
          },
          "allowed": {
            "type": [
              "number",
              "null"
            ],
            "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
          },
          "patient_responsibility": {
            "type": [
              "number",
              "null"
            ],
            "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
          },
          "verdict": {
            "type": "string",
            "enum": [
              "paid",
              "partially_paid",
              "denied",
              "applied_to_patient",
              "nothing_payable",
              "reversal",
              "reversal_and_repaid",
              "forwarded",
              "pending"
            ]
          },
          "verdict_words": {
            "type": "string"
          },
          "patient": {
            "type": "object",
            "properties": {
              "may_bill": {
                "type": "number",
                "description": "What the patient may be billed, in dollars."
              },
              "words": {
                "type": "string"
              }
            }
          },
          "adjustments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Adjustment"
            }
          },
          "remarks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Remark"
            }
          },
          "next_step": {
            "$ref": "#/components/schemas/NextStep"
          },
          "corrected_claim": {
            "type": [
              "object",
              "null"
            ],
            "description": "The fields to send on the replacement claim.",
            "properties": {},
            "additionalProperties": true
          },
          "send": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "asked_by": {
                  "type": "string"
                },
                "report_type": {
                  "type": "string"
                },
                "report_type_words": {
                  "type": "string"
                },
                "words": {
                  "type": "string"
                },
                "how": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            }
          },
          "deadlines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Deadline"
            }
          },
          "reversal": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          }
        }
      },
      "NextStepAnswer": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string",
            "enum": [
              "x12",
              "claims"
            ]
          },
          "remittance_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "today": {
            "type": "string"
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NextStepClaim"
            }
          },
          "groups": {
            "$ref": "#/components/schemas/Groups"
          },
          "deadline_rule": {
            "type": "string"
          }
        }
      },
      "LetterFacts": {
        "type": "object",
        "description": "The facts a letter is written from. Each kind needs some of them; a letter never states anything else.",
        "properties": {
          "letter_date": {
            "type": "string",
            "description": "Letter date"
          },
          "payer_name": {
            "type": "string",
            "description": "Payer"
          },
          "payer_address": {
            "type": "string",
            "description": "Payer address"
          },
          "patient_name": {
            "type": "string",
            "description": "Patient"
          },
          "member_id": {
            "type": "string",
            "description": "Member ID"
          },
          "payer_claim_number": {
            "type": "string",
            "description": "Claim number"
          },
          "patient_control_number": {
            "type": "string",
            "description": "Patient account number"
          },
          "service_date": {
            "type": "string",
            "description": "Date of service"
          },
          "billed_amount": {
            "type": "number",
            "description": "Amount billed"
          },
          "remittance_date": {
            "type": "string",
            "description": "Date of the payer's decision"
          },
          "adjustment_codes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Adjustment codes"
          },
          "remark_codes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Remark codes"
          },
          "provider_name": {
            "type": "string",
            "description": "Provider"
          },
          "provider_npi": {
            "type": "string",
            "description": "NPI"
          },
          "provider_address": {
            "type": "string",
            "description": "Provider address"
          },
          "signer_name": {
            "type": "string",
            "description": "Signed by"
          },
          "signer_title": {
            "type": "string",
            "description": "Title"
          },
          "contact_phone": {
            "type": "string",
            "description": "Phone"
          },
          "contact_email": {
            "type": "string",
            "description": "Email"
          },
          "original_filing_date": {
            "type": "string",
            "description": "Date first filed"
          },
          "proof_reference": {
            "type": "string",
            "description": "Proof of filing"
          },
          "filing_limit_days": {
            "type": "integer",
            "description": "Filing limit in days"
          },
          "authorization_number": {
            "type": "string",
            "description": "Authorization number"
          },
          "authorization_date": {
            "type": "string",
            "description": "Authorization date"
          },
          "enclosures": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Enclosures"
          },
          "contracted_amount": {
            "type": "number",
            "description": "Contracted amount"
          },
          "allowed_amount": {
            "type": "number",
            "description": "Allowed amount"
          },
          "paid_amount": {
            "type": "number",
            "description": "Amount paid"
          },
          "patient_responsibility_amount": {
            "type": "number",
            "description": "Patient responsibility"
          },
          "procedure_code": {
            "type": "string",
            "description": "Procedure code"
          },
          "contract_reference": {
            "type": "string",
            "description": "Contract"
          },
          "distinguishing_facts": {
            "type": "string",
            "description": "What makes this claim different"
          },
          "original_claim_number": {
            "type": "string",
            "description": "Other claim number"
          },
          "other_coverage_status": {
            "type": "string",
            "description": "Other coverage",
            "enum": [
              "none",
              "terminated",
              "secondary"
            ]
          },
          "other_payer_name": {
            "type": "string",
            "description": "Other payer"
          },
          "other_coverage_end_date": {
            "type": "string",
            "description": "Other coverage ended"
          },
          "clinical_summary": {
            "type": "string",
            "description": "Clinical summary"
          },
          "recoupment_amount": {
            "type": "number",
            "description": "Amount recovered"
          },
          "recoupment_date": {
            "type": "string",
            "description": "Date recovered"
          },
          "original_paid_amount": {
            "type": "number",
            "description": "Original payment"
          },
          "reason_given": {
            "type": "string",
            "description": "The payer's stated reason"
          },
          "dispute_reason": {
            "type": "string",
            "description": "Why it is disputed"
          },
          "prior_appeal_date": {
            "type": "string",
            "description": "Date of the earlier appeal"
          },
          "prior_appeal_reference": {
            "type": "string",
            "description": "Earlier appeal reference"
          },
          "prior_decision_date": {
            "type": "string",
            "description": "Date of the payer's answer"
          },
          "reconsideration_reason": {
            "type": "string",
            "description": "Why it should be reconsidered"
          },
          "claim_filing_indicator": {
            "type": "string",
            "description": "Claim filing indicator"
          }
        }
      },
      "AppealLetterBody": {
        "type": "object",
        "required": [
          "kind",
          "facts"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "timely_filing",
              "authorization_on_file",
              "records_enclosed",
              "underpayment",
              "not_a_duplicate",
              "other_coverage",
              "medical_necessity",
              "recoupment",
              "reconsideration"
            ]
          },
          "facts": {
            "$ref": "#/components/schemas/LetterFacts"
          }
        }
      },
      "LetterGuard": {
        "type": "object",
        "properties": {
          "passed": {
            "type": "boolean"
          },
          "reason": {
            "type": "string",
            "description": "The first finding."
          },
          "value": {
            "type": "string"
          },
          "words": {
            "type": "string"
          },
          "findings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "reason": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                },
                "words": {
                  "type": "string"
                }
              }
            },
            "description": "Every finding, in order, the first included; present when the letter did not pass."
          }
        }
      },
      "FactUsed": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "derived": {
            "type": "boolean",
            "description": "True for a figure the letter worked out from your facts, such as the days between two of your dates."
          }
        }
      },
      "AppealLetterAnswer": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "letter": {
            "type": "string",
            "description": "The letter, as plain text."
          },
          "facts_used": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FactUsed"
            }
          },
          "enclosures": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "guard": {
            "$ref": "#/components/schemas/LetterGuard"
          },
          "transmitted": {
            "type": "boolean",
            "const": false,
            "description": "Payerworks wrote the letter and sent it nowhere."
          }
        }
      },
      "AppealLetterCheckBody": {
        "type": "object",
        "required": [
          "letter"
        ],
        "properties": {
          "letter": {
            "type": "string",
            "description": "At most 20000 characters."
          },
          "facts": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LetterFacts"
              },
              {
                "type": "object",
                "properties": {
                  "other": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "label": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            ]
          }
        }
      },
      "AppealLetterCheckAnswer": {
        "type": "object",
        "properties": {
          "guard": {
            "$ref": "#/components/schemas/LetterGuard"
          },
          "facts_used": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FactUsed"
            }
          }
        }
      },
      "EligibilityRequest": {
        "type": "object",
        "description": "Every field is text, or a whole number written digit for digit.",
        "required": [
          "tradingPartnerServiceId",
          "provider",
          "subscriber"
        ],
        "properties": {
          "tradingPartnerServiceId": {
            "type": "string",
            "description": "The payer’s id."
          },
          "tradingPartnerName": {
            "type": "string"
          },
          "provider": {
            "type": "object",
            "properties": {
              "organizationName": {
                "type": "string"
              },
              "firstName": {
                "type": "string"
              },
              "lastName": {
                "type": "string"
              },
              "npi": {
                "type": "string",
                "description": "Ten digits."
              },
              "taxId": {
                "type": "string"
              },
              "providerCode": {
                "type": "string",
                "description": "PRV01."
              },
              "referenceIdentification": {
                "type": "string",
                "description": "The taxonomy code (PRV03)."
              }
            }
          },
          "subscriber": {
            "type": "object",
            "properties": {
              "memberId": {
                "type": "string"
              },
              "firstName": {
                "type": "string"
              },
              "lastName": {
                "type": "string"
              },
              "middleName": {
                "type": "string"
              },
              "suffix": {
                "type": "string"
              },
              "dateOfBirth": {
                "type": "string",
                "description": "YYYYMMDD or YYYY-MM-DD."
              },
              "gender": {
                "type": "string"
              },
              "groupNumber": {
                "type": "string"
              },
              "birthSequenceNumber": {
                "type": "string",
                "description": "A twin’s birth order (INS17)."
              },
              "healthCareCodeInformation": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "diagnosisTypeCode": {
                      "type": "string",
                      "description": "ABK, then ABF."
                    },
                    "diagnosisCode": {
                      "type": "string",
                      "description": "No period."
                    }
                  }
                },
                "description": "At most eight, on the patient.",
                "maxItems": 8
              }
            }
          },
          "dependents": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            },
            "description": "At most one.",
            "maxItems": 1
          },
          "encounter": {
            "type": "object",
            "properties": {
              "dateOfService": {
                "type": "string"
              },
              "beginningDateOfService": {
                "type": "string"
              },
              "endDateOfService": {
                "type": "string"
              },
              "serviceTypeCodes": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Left out: 30, unless the question asks only about procedures."
              },
              "procedureCode": {
                "type": "string",
                "description": "A procedure to ask about (EQ02)."
              },
              "productOrServiceIDQualifier": {
                "type": "string",
                "description": "Its code set: AD (CDT), CJ, HC (CPT or HCPCS), ID, IV, N4 (NDC) or ZZ."
              },
              "procedureModifiers": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "At most four.",
                "maxItems": 4
              },
              "diagnosisCodePointer": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "At most four, each 1 to 8, naming the patient’s diagnoses.",
                "maxItems": 4
              },
              "medicalProcedures": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                },
                "description": "Several procedures, each as procedureCode and its fields; at most 20.",
                "maxItems": 20
              },
              "industryCode": {
                "type": "string",
                "description": "The place of service (III*ZZ), checked for its shape."
              },
              "priorAuthorizationOrReferralNumber": {
                "type": "string",
                "description": "REF in 2110."
              },
              "referenceIdentificationQualifier": {
                "type": "string",
                "description": "G1 (prior authorization) or 9F (referral)."
              }
            }
          },
          "portalPassword": {
            "type": "string",
            "description": "A payer PIN (REF*4A)."
          },
          "controlNumber": {
            "type": "string",
            "description": "The trace, written as BHT03 and TRN02."
          }
        }
      },
      "Eligibility270Body": {
        "allOf": [
          {
            "$ref": "#/components/schemas/FileOptions"
          },
          {
            "type": "object",
            "properties": {
              "request": {
                "$ref": "#/components/schemas/EligibilityRequest"
              },
              "requests": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EligibilityRequest"
                },
                "description": "At most 100.",
                "maxItems": 100
              }
            }
          }
        ],
        "description": "One question as request, or a list as requests."
      },
      "Eligibility270Answer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WrittenFile"
          },
          {
            "type": "object",
            "properties": {
              "requests": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "index": {
                      "type": "integer"
                    },
                    "trace": {
                      "type": "string"
                    },
                    "transaction_set_control_number": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FieldProblem"
                      }
                    }
                  }
                }
              }
            }
          }
        ]
      },
      "EligibilityExplainBody": {
        "type": "object",
        "properties": {
          "x12": {
            "type": "string",
            "description": "A 271, envelope included."
          },
          "json": {
            "description": "The JSON answer most clearinghouse APIs return, flat or grouped by plan, or a list of them."
          },
          "asked": {
            "type": "object",
            "description": "What you asked, so the answer is read against it.",
            "properties": {
              "service_type_codes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "date_of_service": {
                "type": "string"
              }
            }
          }
        }
      },
      "EligibilityFigure": {
        "type": "object",
        "properties": {
          "total": {
            "type": [
              "number",
              "null"
            ],
            "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
          },
          "remaining": {
            "type": [
              "number",
              "null"
            ],
            "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
          },
          "met": {
            "type": [
              "number",
              "null"
            ],
            "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
          },
          "period": {
            "type": "string",
            "description": "The period the payer named, such as calendar year."
          },
          "begins": {
            "type": "string",
            "description": "YYYY-MM-DD, or empty when not stated."
          },
          "ends": {
            "type": "string",
            "description": "YYYY-MM-DD, or empty when not stated."
          },
          "status": {
            "type": [
              "string",
              "null"
            ],
            "description": "Whether the payer said the figure is exceeded.",
            "enum": [
              "exceeded",
              "not_exceeded",
              null
            ]
          }
        }
      },
      "EligibilityLevel": {
        "type": "object",
        "properties": {
          "deductible": {
            "$ref": "#/components/schemas/EligibilityFigure"
          },
          "out_of_pocket": {
            "$ref": "#/components/schemas/EligibilityFigure"
          }
        }
      },
      "EligibilityTier": {
        "type": [
          "object",
          "null"
        ],
        "properties": {
          "individual": {
            "$ref": "#/components/schemas/EligibilityLevel"
          },
          "family": {
            "$ref": "#/components/schemas/EligibilityLevel"
          },
          "coinsurance_percent": {
            "type": [
              "number",
              "null"
            ]
          },
          "copay": {
            "type": [
              "number",
              "null"
            ],
            "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
          },
          "not_covered": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "prior_auth_required": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "by_insurance_type": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            },
            "description": "Figures the payer stated separately for each insurance type, such as Medicare Part A and Part B."
          },
          "other_periods": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            },
            "description": "Every other period the payer stated a figure for."
          },
          "other_levels": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        }
      },
      "EligibilityAdvice": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "description": "A stable name for the next step, such as fix_request, retry_later or wait_for_payer."
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A request field to correct, by its JSON path."
            }
          },
          "wait_days": {
            "type": [
              "integer",
              "null"
            ]
          },
          "words": {
            "type": "string"
          }
        }
      },
      "EligibilityMember": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer",
            "description": "Sandbox only."
          },
          "trace": {
            "type": "string",
            "description": "Sandbox only."
          },
          "member": {
            "type": "string",
            "enum": [
              "subscriber",
              "dependent"
            ]
          },
          "who": {
            "type": "object",
            "properties": {
              "first_name": {
                "type": "string"
              },
              "last_name": {
                "type": "string"
              },
              "member_id": {
                "type": "string"
              },
              "date_of_birth": {
                "type": "string",
                "description": "YYYY-MM-DD, or empty when not stated."
              },
              "relationship": {
                "type": "string"
              }
            }
          },
          "payer": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "id": {
                "type": "string"
              }
            }
          },
          "coverage": {
            "type": "object",
            "properties": {
              "state": {
                "type": "string",
                "enum": [
                  "active",
                  "inactive",
                  "not_confirmed",
                  "refused"
                ]
              },
              "words": {
                "type": "string"
              },
              "active_on_date": {
                "type": "string",
                "enum": [
                  "yes",
                  "no",
                  "unknown"
                ]
              },
              "by_insurance_type": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "words": {
                      "type": "string"
                    },
                    "state": {
                      "type": "string",
                      "enum": [
                        "active",
                        "inactive",
                        "not_stated"
                      ]
                    }
                  }
                },
                "description": "Coverage the payer stated separately for each insurance type, such as Medicare Part A and Part B; null when it stated none."
              }
            }
          },
          "plan": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "group_number": {
                "type": "string"
              },
              "group_name": {
                "type": "string"
              },
              "plan_number": {
                "type": "string"
              },
              "begins": {
                "type": "string",
                "description": "YYYY-MM-DD, or empty when not stated."
              },
              "ends": {
                "type": "string",
                "description": "YYYY-MM-DD, or empty when not stated."
              },
              "eligibility_begins": {
                "type": "string",
                "description": "YYYY-MM-DD, or empty when not stated."
              },
              "eligibility_ends": {
                "type": "string",
                "description": "YYYY-MM-DD, or empty when not stated."
              },
              "insurance_type": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "words": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "services": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "service_type": {
                  "type": "string"
                },
                "words": {
                  "type": "string"
                },
                "known": {
                  "type": "boolean"
                },
                "asked": {
                  "type": "boolean"
                },
                "answered": {
                  "type": "boolean"
                },
                "coverage": {
                  "type": "string"
                },
                "in_network": {
                  "$ref": "#/components/schemas/EligibilityTier"
                },
                "out_of_network": {
                  "$ref": "#/components/schemas/EligibilityTier"
                },
                "network_not_stated": {
                  "$ref": "#/components/schemas/EligibilityTier"
                },
                "prior_auth_required": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "not_covered": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "limitations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true
                  }
                },
                "messages": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": true
            }
          },
          "plan_level": {
            "type": "object",
            "properties": {
              "in_network": {
                "$ref": "#/components/schemas/EligibilityTier"
              },
              "out_of_network": {
                "$ref": "#/components/schemas/EligibilityTier"
              },
              "network_not_stated": {
                "$ref": "#/components/schemas/EligibilityTier"
              }
            },
            "additionalProperties": true
          },
          "procedures": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "other_payers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "refusal": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "codes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                }
              },
              "advice": {
                "$ref": "#/components/schemas/EligibilityAdvice"
              }
            }
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "EligibilityExplainAnswer": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "const": "271"
          },
          "source": {
            "type": "string",
            "enum": [
              "x12",
              "json"
            ]
          },
          "envelope": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Envelope"
              },
              {
                "type": "null"
              }
            ]
          },
          "asked": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EligibilityMember"
            }
          },
          "answer": {
            "type": [
              "object",
              "array"
            ],
            "description": "Only with ?include=answer: the 271 read to JSON, in the shape answer_shape names."
          },
          "answer_shape": {
            "type": "string",
            "description": "With &shape=plans: the answer is written grouped by plan, each kind of benefit in its own list.",
            "enum": [
              "plans"
            ]
          }
        }
      },
      "EligibilitySandboxAnswer": {
        "type": "object",
        "properties": {
          "usage": {
            "type": "string",
            "const": "T"
          },
          "transmitted": {
            "type": "boolean",
            "const": false
          },
          "control": {
            "type": "object",
            "properties": {
              "interchange_270": {
                "type": "string"
              },
              "interchange_271": {
                "type": "string"
              },
              "sets": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "files": {
            "type": "object",
            "properties": {
              "eligibility_270": {
                "type": "string"
              },
              "eligibility_271": {
                "type": "string"
              }
            }
          },
          "outcomes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "integer"
                },
                "trace": {
                  "type": "string"
                },
                "outcome": {
                  "type": "string",
                  "enum": [
                    "subscriber_not_found",
                    "birth_date_mismatch",
                    "payer_unavailable",
                    "inactive",
                    "out_of_network_only",
                    "prior_auth_required",
                    "deductible_met",
                    "other_payer_primary",
                    "active"
                  ]
                },
                "trigger": {
                  "type": "string"
                }
              }
            }
          },
          "requests": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "integer"
                },
                "trace": {
                  "type": "string"
                },
                "warnings": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FieldProblem"
                  }
                }
              }
            }
          },
          "explained": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EligibilityMember"
            }
          }
        }
      },
      "ServiceTypeAnswer": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "words": {
            "type": "string"
          },
          "known": {
            "type": "boolean"
          },
          "verified_in_005010": {
            "type": "boolean"
          },
          "later_words": {
            "type": "string"
          },
          "label_source": {
            "type": "string",
            "const": "paraphrase"
          }
        }
      },
      "AaaAnswer": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "words": {
            "type": "string"
          },
          "known": {
            "type": "boolean"
          },
          "retryable": {
            "type": "boolean"
          },
          "fix_field": {
            "type": "string"
          },
          "fix_fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "loop": {
            "type": "string"
          },
          "label_source": {
            "type": "string",
            "const": "paraphrase"
          }
        }
      },
      "ClaimStatusInquiry": {
        "type": "object",
        "description": "A field the question does not take is named in an unsupported_fields warning.",
        "required": [
          "tradingPartnerServiceId",
          "providers",
          "subscriber",
          "encounter"
        ],
        "properties": {
          "tradingPartnerServiceId": {
            "type": "string",
            "description": "The payer’s id."
          },
          "tradingPartnerName": {
            "type": "string"
          },
          "providers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "providerType": {
                  "type": "string",
                  "enum": [
                    "BillingProvider",
                    "ServiceProvider"
                  ]
                },
                "npi": {
                  "type": "string"
                },
                "organizationName": {
                  "type": "string"
                },
                "firstName": {
                  "type": "string"
                },
                "lastName": {
                  "type": "string",
                  "description": "A provider with lastName and no organizationName is written as a person."
                },
                "taxId": {
                  "type": "string"
                }
              }
            },
            "description": "One billing provider, and at most one service provider.",
            "maxItems": 2
          },
          "subscriber": {
            "type": "object",
            "properties": {
              "memberId": {
                "type": "string"
              },
              "firstName": {
                "type": "string"
              },
              "lastName": {
                "type": "string"
              },
              "dateOfBirth": {
                "type": "string"
              },
              "gender": {
                "type": "string",
                "enum": [
                  "M",
                  "F",
                  "U"
                ]
              },
              "suffix": {
                "type": "string"
              },
              "groupNumber": {
                "type": "string",
                "description": "REF*6P."
              }
            }
          },
          "dependent": {
            "type": "object",
            "properties": {
              "firstName": {
                "type": "string"
              },
              "lastName": {
                "type": "string"
              },
              "dateOfBirth": {
                "type": "string"
              },
              "gender": {
                "type": "string",
                "enum": [
                  "M",
                  "F",
                  "U"
                ]
              },
              "suffix": {
                "type": "string"
              },
              "groupNumber": {
                "type": "string",
                "description": "REF*6P."
              }
            }
          },
          "encounter": {
            "type": "object",
            "properties": {
              "trackingNumber": {
                "type": "string",
                "description": "The trace; derived when left out."
              },
              "beginningDateOfService": {
                "type": "string"
              },
              "endDateOfService": {
                "type": "string"
              },
              "submittedAmount": {
                "type": "string",
                "description": "A plain decimal."
              },
              "tradingPartnerClaimNumber": {
                "type": "string",
                "description": "The payer’s claim number."
              },
              "patientControlNumber": {
                "type": "string",
                "description": "Your claim reference, written as REF*EJ."
              },
              "patientAccountNumber": {
                "type": "string",
                "description": "Your claim reference (CLM01), written as REF*EJ; the same field as patientControlNumber."
              },
              "clearingHouseClaimNumber": {
                "type": "string",
                "description": "REF*D9."
              },
              "locationIdentifier": {
                "type": "string",
                "description": "REF*LU."
              },
              "billingType": {
                "type": "string",
                "description": "REF*BLT, three or four digits."
              },
              "pharmacyPrescriptionNumber": {
                "type": "string",
                "description": "REF*XZ."
              }
            }
          },
          "serviceLinesInformation": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "productOrServiceIDQualifier": {
                  "type": "string",
                  "enum": [
                    "AD",
                    "ER",
                    "HC",
                    "HP",
                    "IV",
                    "N4",
                    "NU",
                    "WK"
                  ]
                },
                "procedureCode": {
                  "type": "string"
                },
                "procedureModifiers": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 4
                },
                "lineItemChargeAmount": {
                  "type": "string"
                },
                "unitsOfServiceCount": {
                  "type": "string"
                },
                "serviceLineDate": {
                  "type": "string"
                },
                "serviceLineEndDate": {
                  "type": "string"
                },
                "lineItemControlNumber": {
                  "type": "string",
                  "description": "REF*FJ."
                },
                "revenueCode": {
                  "type": "string"
                }
              }
            },
            "description": "At most 50.",
            "maxItems": 50
          },
          "serviceLineInformation": {
            "type": "object",
            "properties": {
              "productOrServiceIDQualifier": {
                "type": "string",
                "enum": [
                  "AD",
                  "ER",
                  "HC",
                  "HP",
                  "IV",
                  "N4",
                  "NU",
                  "WK"
                ]
              },
              "procedureCode": {
                "type": "string"
              },
              "procedureModifiers": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "maxItems": 4
              },
              "lineItemChargeAmount": {
                "type": "string"
              },
              "unitsOfServiceCount": {
                "type": "string"
              },
              "serviceLineDate": {
                "type": "string"
              },
              "serviceLineEndDate": {
                "type": "string"
              },
              "lineItemControlNumber": {
                "type": "string",
                "description": "REF*FJ."
              },
              "revenueCode": {
                "type": "string"
              }
            }
          }
        }
      },
      "ClaimStatus276Body": {
        "allOf": [
          {
            "$ref": "#/components/schemas/FileOptions"
          },
          {
            "type": "object",
            "properties": {
              "inquiry": {
                "$ref": "#/components/schemas/ClaimStatusInquiry"
              },
              "inquiries": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ClaimStatusInquiry"
                },
                "description": "At most 100.",
                "maxItems": 100
              },
              "payer_name": {
                "type": "string",
                "maxLength": 60
              },
              "submitter_name": {
                "type": "string",
                "maxLength": 60
              }
            }
          }
        ],
        "description": "One question as inquiry, or a list as inquiries: never both."
      },
      "ClaimStatus276Answer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WrittenFile"
          },
          {
            "type": "object",
            "properties": {
              "inquiries": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "index": {
                      "type": "integer"
                    },
                    "trace": {
                      "type": "string"
                    },
                    "transaction_set_control_number": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FieldProblem"
                      }
                    }
                  }
                }
              }
            }
          }
        ]
      },
      "ClaimStatusAsked": {
        "type": "object",
        "properties": {
          "trace": {
            "type": "string"
          },
          "submitted_on": {
            "type": "string",
            "description": "YYYY-MM-DD: when the claim was sent."
          },
          "checks_made": {
            "type": "integer",
            "description": "This question included."
          },
          "typical_days": {
            "type": "integer",
            "description": "How many calendar days this payer usually takes."
          },
          "replaced_payer_claim_number": {
            "type": "string"
          },
          "today": {
            "type": "string",
            "description": "Your own day, YYYY-MM-DD; the UTC day when left out."
          },
          "request": {
            "description": "The 276 question that found nothing (JSON), so a not found answer’s next questions are built from it."
          },
          "known": {
            "type": "object",
            "description": "What you hold about the claim: charge_amount, payer_claim_number, billing_tax_id, group_npi, rendering_npi, service_date, payer_name, blue_plan.",
            "properties": {},
            "additionalProperties": true
          }
        }
      },
      "ClaimStatusExplainBody": {
        "type": "object",
        "properties": {
          "x12": {
            "type": "string",
            "description": "A 277 (005010X212), envelope included."
          },
          "json": {
            "description": "The JSON answer most clearinghouse APIs return."
          },
          "asked": {
            "$ref": "#/components/schemas/ClaimStatusAsked"
          }
        }
      },
      "ClaimStatusReading": {
        "type": "object",
        "description": "One question, answered: where the claim stands, the money, the next step and when to ask again.",
        "properties": {
          "trace": {
            "type": "string"
          },
          "claims": {
            "type": "array",
            "items": {
              "type": "integer"
            }
          },
          "answered_by": {
            "type": [
              "integer",
              "null"
            ]
          },
          "state": {
            "type": "string",
            "enum": [
              "paid",
              "denied",
              "rejected",
              "pending",
              "info_requested",
              "not_found",
              "member_not_found",
              "no_payment",
              "finalized_unpaid",
              "payer_error",
              "request_error",
              "review"
            ]
          },
          "meaning": {
            "type": "string"
          },
          "money": {
            "type": "object",
            "properties": {
              "coming": {
                "type": "string",
                "enum": [
                  "yes",
                  "no",
                  "not_yet",
                  "partial",
                  "unknown"
                ]
              },
              "amount": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
              },
              "check_number": {
                "type": "string"
              },
              "check_date": {
                "type": "string",
                "description": "YYYY-MM-DD, or empty when not stated."
              },
              "adjudicated_on": {
                "type": "string",
                "description": "YYYY-MM-DD, or empty when not stated."
              },
              "why": {
                "type": "string"
              }
            }
          },
          "next_step": {
            "type": "object",
            "properties": {
              "action": {
                "type": "string",
                "enum": [
                  "post_remittance",
                  "work_denial",
                  "correct_and_resubmit",
                  "wait",
                  "confirm_receipt",
                  "check_coverage",
                  "ask_again",
                  "fix_request",
                  "send_records",
                  "send_information",
                  "read_remittance",
                  "read_answer",
                  "ask_other_entity"
                ]
              },
              "words": {
                "type": "string"
              }
            }
          },
          "ask_again": {
            "type": "object",
            "properties": {
              "after_business_days": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "not_before": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "never": {
                "type": "boolean"
              },
              "why": {
                "type": "string"
              }
            }
          },
          "asks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "status_code": {
                  "type": "string"
                },
                "procedure_code": {
                  "type": "string"
                },
                "words": {
                  "type": "string"
                }
              }
            }
          },
          "next_inquiries": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            },
            "description": "After a not found: the next questions to ask, in order, each with its changes and whether it is ready or needs a value; empty otherwise."
          },
          "retry_schedule": {
            "type": [
              "object",
              "null"
            ],
            "description": "When the payer’s system did not answer: the same day’s retries, each with its delay, then the next business day.",
            "properties": {},
            "additionalProperties": true
          }
        }
      },
      "ClaimStatusClaim": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ClaimStatusReading"
          },
          {
            "type": "object",
            "properties": {
              "index": {
                "type": "integer"
              },
              "payer_claim_number": {
                "type": "string",
                "description": "REF*1K only: the payer’s own claim number; empty when the answer carries none."
              },
              "clearinghouse_claim_number": {
                "type": "string",
                "description": "REF*D9: the clearinghouse trace number echoed back from the 276, never the payer’s."
              },
              "patient_control_number": {
                "type": "string"
              },
              "service_date": {
                "type": "object",
                "properties": {
                  "from": {
                    "type": "string",
                    "description": "YYYY-MM-DD, or empty when not stated."
                  },
                  "to": {
                    "type": "string",
                    "description": "YYYY-MM-DD, or empty when not stated."
                  }
                }
              },
              "charge": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
              },
              "status": {
                "type": "object",
                "properties": {
                  "category_code": {
                    "type": "string"
                  },
                  "status_code": {
                    "type": "string"
                  },
                  "entity_code": {
                    "type": "string"
                  }
                }
              },
              "lines": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                }
              },
              "matches_requested": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "describes_replaced_claim": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "ClaimStatusAnswer": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "277",
              "json"
            ]
          },
          "label_source": {
            "type": "string",
            "const": "paraphrase"
          },
          "business_days": {
            "type": "string"
          },
          "today": {
            "type": "string"
          },
          "inquiries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClaimStatusReading"
            }
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClaimStatusClaim"
            }
          },
          "notices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        }
      },
      "ClaimStatusSandboxBody": {
        "type": "object",
        "description": "The questions as inquiry, inquiries or a 276: one form only.",
        "properties": {
          "inquiry": {
            "$ref": "#/components/schemas/ClaimStatusInquiry"
          },
          "inquiries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClaimStatusInquiry"
            },
            "description": "At most 100.",
            "maxItems": 100
          },
          "x12": {
            "type": "string",
            "description": "A 276 marked for test (ISA15 T)."
          },
          "asked": {
            "$ref": "#/components/schemas/ClaimStatusAsked"
          },
          "sender_id": {
            "type": "string"
          },
          "receiver_id": {
            "type": "string"
          },
          "control_number": {
            "type": "integer"
          },
          "usage": {
            "type": "string",
            "enum": [
              "T"
            ]
          }
        }
      },
      "ClaimStatusSandboxAnswer": {
        "type": "object",
        "properties": {
          "usage": {
            "type": "string",
            "const": "T"
          },
          "transmitted": {
            "type": "boolean",
            "const": false
          },
          "control": {
            "type": "object",
            "properties": {
              "inquiry": {
                "type": "string"
              },
              "answer": {
                "type": "string"
              }
            }
          },
          "files": {
            "type": "object",
            "properties": {
              "claim_status_inquiry_276": {
                "type": "string"
              },
              "claim_status_277": {
                "type": "string"
              }
            }
          },
          "outcomes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trace": {
                  "type": "string"
                },
                "reference": {
                  "type": "string"
                },
                "rule": {
                  "type": "string",
                  "description": "The ending that decided the answer."
                },
                "outcome": {
                  "type": "string",
                  "enum": [
                    "not_found",
                    "payer_error",
                    "info_requested",
                    "no_payment",
                    "rejected",
                    "denied",
                    "pending",
                    "deductible",
                    "copay",
                    "lacks_information",
                    "bundled",
                    "reversed_and_repaid",
                    "provider_adjustment",
                    "forwarded",
                    "information_requested",
                    "paid"
                  ]
                },
                "category": {
                  "type": "string"
                },
                "status": {
                  "type": "string"
                },
                "entity": {
                  "type": "string"
                },
                "payer_claim_number": {
                  "type": "string"
                },
                "charge": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
                },
                "paid": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
                },
                "note": {
                  "type": "string"
                }
              }
            }
          },
          "explained": {
            "$ref": "#/components/schemas/ClaimStatusAnswer"
          }
        }
      },
      "ClaimStatusCodeAnswer": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "words": {
            "type": "string"
          },
          "names_an_entity": {
            "type": "boolean"
          },
          "known": {
            "type": "boolean"
          },
          "label_source": {
            "type": "string",
            "const": "paraphrase"
          }
        }
      },
      "ClaimStatusCategoryAnswer": {
        "type": "object",
        "properties": {
          "category": {
            "type": "string"
          },
          "words": {
            "type": "string"
          },
          "verdict": {
            "type": "string",
            "description": "As read on a 277CA: A, R, D or empty."
          },
          "known": {
            "type": "boolean"
          },
          "acknowledgment_verdict": {
            "type": "object",
            "properties": {
              "verdict": {
                "type": "string"
              },
              "words": {
                "type": "string"
              }
            }
          },
          "status_answer": {
            "type": "object",
            "properties": {
              "state": {
                "type": "string",
                "enum": [
                  "paid",
                  "denied",
                  "rejected",
                  "pending",
                  "info_requested",
                  "not_found",
                  "member_not_found",
                  "no_payment",
                  "finalized_unpaid",
                  "payer_error",
                  "request_error",
                  "review"
                ]
              },
              "meaning": {
                "type": "string"
              }
            }
          }
        }
      },
      "CarcAnswer": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "known": {
            "type": "boolean"
          },
          "label_source": {
            "type": "string",
            "const": "paraphrase"
          },
          "stopped_on": {
            "type": [
              "string",
              "null"
            ]
          },
          "group": {
            "type": [
              "object",
              "null"
            ],
            "properties": {},
            "additionalProperties": true
          },
          "source": {
            "type": "object",
            "properties": {
              "list": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "read_on": {
                "type": "string"
              }
            }
          }
        }
      },
      "GroupCodeAnswer": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "known": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "words": {
            "type": "string"
          },
          "patient_billable": {
            "type": [
              "boolean",
              "string",
              "null"
            ],
            "description": "true, false, \"depends\" or null."
          },
          "patient_billable_words": {
            "type": "string"
          },
          "label_source": {
            "type": "string",
            "const": "paraphrase"
          },
          "source": {
            "type": "object",
            "properties": {
              "list": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "read_on": {
                "type": "string"
              }
            }
          },
          "valid_codes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "SandboxOutcome": {
        "type": "object",
        "properties": {
          "reference": {
            "type": "string",
            "description": "Your patientControlNumber (CLM01), as written."
          },
          "outcome": {
            "type": "string",
            "enum": [
              "rejected",
              "denied",
              "pending",
              "deductible",
              "copay",
              "lacks_information",
              "bundled",
              "reversed_and_repaid",
              "provider_adjustment",
              "forwarded",
              "information_requested",
              "paid"
            ]
          },
          "charge": {
            "type": "number"
          },
          "allowed": {
            "type": [
              "number",
              "null"
            ],
            "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
          },
          "paid": {
            "type": [
              "number",
              "null"
            ],
            "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
          },
          "patient_responsibility": {
            "type": [
              "number",
              "null"
            ],
            "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
          },
          "payer_claim_number": {
            "type": "string",
            "description": "Empty for a rejected claim: it never entered adjudication."
          },
          "predetermination": {
            "type": "boolean",
            "description": "A dental predetermination (POST /v1/sandbox/claims/837d): priced, paid nothing."
          },
          "estimated_payment": {
            "type": "number",
            "description": "A predetermination: what the plan would pay once the service is given (OA 101 on each line)."
          },
          "information_request": {
            "type": "object",
            "properties": {
              "trace": {
                "type": "string"
              },
              "loinc": {
                "type": "string"
              },
              "answered": {
                "type": "boolean"
              },
              "check": {
                "type": "object",
                "description": "The check of the 275s sent back, as POST /v1/attachments/requests/check says it.",
                "properties": {},
                "additionalProperties": true
              }
            }
          }
        }
      },
      "EventRef": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "ping",
              "sandbox.file.acknowledged",
              "sandbox.claim.acknowledged",
              "sandbox.remittance.received",
              "enrollment.updated",
              "enrollment.live",
              "enrollment.rejected",
              "enrollment.canceled",
              "enrollment.ended",
              "enrollment.task.assigned",
              "enrollment.task.completed",
              "enrollment.task.deleted",
              "job.completed",
              "job.failed",
              "submission.file.acknowledged",
              "submission.claim.acknowledged",
              "submission.remittance.received"
            ]
          }
        }
      },
      "SandboxClaimsAnswer": {
        "type": "object",
        "properties": {
          "usage": {
            "type": "string",
            "const": "T"
          },
          "transmitted": {
            "type": "boolean",
            "const": false
          },
          "control": {
            "type": "object",
            "properties": {
              "interchange": {
                "type": "string"
              },
              "group": {
                "type": "string"
              },
              "sets": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "files": {
            "type": "object",
            "properties": {
              "claims_837p": {
                "type": "string"
              },
              "acknowledgment_999": {
                "type": "string"
              },
              "claim_acknowledgment_277ca": {
                "type": "string"
              },
              "remittance_835": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Null when the payer adjudicated no claim in the file."
              },
              "information_request_277": {
                "type": "string",
                "description": "The sandbox payer’s 277 request for additional information (005010X213), when a claim’s member ID ends in RFAI."
              },
              "attachment_acknowledgments_999": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A 999 for each 275 sent back as attachments_275."
              }
            }
          },
          "outcomes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SandboxOutcome"
            }
          },
          "claims": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "reference",
                "warnings",
                "repairs",
                "not_checked"
              ],
              "properties": {
                "reference": {
                  "type": "string",
                  "description": "Your patientControlNumber."
                },
                "warnings": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FieldProblem"
                  }
                },
                "repairs": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Repair"
                  },
                  "description": "Formatting fixed on a copy before checking: the sandbox ran the repaired claim."
                },
                "not_checked": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NotChecked"
                  },
                  "description": "Every check that could not run, and why: never passed, never refused."
                }
              }
            },
            "description": "Each claim as it was checked, as POST /v1/claims/837p answers it beside its file."
          },
          "explained": {
            "type": "object",
            "description": "Each answer as /v1/acknowledgments/explain, /v1/remittances/explain and /v1/attachments/requests/explain say it.",
            "properties": {
              "acknowledgment_999": {
                "$ref": "#/components/schemas/AcknowledgmentAnswer"
              },
              "claim_acknowledgment_277ca": {
                "$ref": "#/components/schemas/AcknowledgmentAnswer"
              },
              "remittance": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/RemittanceAnswer"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "information_request": {
                "type": "object",
                "description": "The request for more information as POST /v1/attachments/requests/explain says it, when the sandbox asked one.",
                "properties": {},
                "additionalProperties": true
              }
            }
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventRef"
            }
          },
          "webhook": {
            "type": "object",
            "description": "Events are queued for your webhook, never delivered inside the call; GET /v1/events says what each delivery did.",
            "properties": {
              "configured": {
                "type": [
                  "boolean",
                  "null"
                ],
                "description": "Null when the webhook could not be read."
              },
              "queued": {
                "type": "integer"
              },
              "error": {
                "type": "string",
                "description": "Why the events were not recorded or queued, when they were not."
              }
            }
          }
        }
      },
      "Account": {
        "type": "object",
        "properties": {
          "key_id": {
            "type": "string"
          },
          "account": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "mode": {
            "type": "string",
            "enum": [
              "test",
              "live"
            ]
          },
          "rpm": {
            "type": "integer",
            "description": "Calls a minute."
          },
          "usage": {
            "type": "object",
            "description": "This month to date, by UTC day.",
            "properties": {
              "month": {
                "type": "string",
                "description": "YYYY-MM, in UTC."
              },
              "days": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "date": {
                      "type": "string",
                      "format": "date"
                    },
                    "calls": {
                      "type": "integer"
                    },
                    "refused": {
                      "type": "integer",
                      "description": "Calls turned away before they ran."
                    }
                  }
                }
              },
              "total": {
                "type": "integer"
              },
              "refused": {
                "type": "integer"
              }
            }
          },
          "webhook": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "url": {
                "type": "string",
                "format": "uri"
              },
              "secret_last_four": {
                "type": "string"
              },
              "created_at": {
                "type": "string",
                "format": "date-time"
              },
              "last_delivery": {
                "type": [
                  "object",
                  "null"
                ],
                "description": "Null until the first delivery after the address was set.",
                "properties": {
                  "at": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "trigger": {
                    "type": "string"
                  },
                  "first_event_id": {
                    "type": "string",
                    "description": "The first event of that delivery: a test ping’s own id."
                  },
                  "events": {
                    "type": "integer"
                  },
                  "delivered": {
                    "type": "integer"
                  },
                  "failed": {
                    "type": "integer"
                  },
                  "status": {
                    "type": "integer",
                    "description": "What your server answered (the first failure’s, else the last answer). 0 when it was not reached."
                  },
                  "error": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                }
              },
              "previous_secret_expires_at": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Until when the secret before a rotation still signs.",
                "format": "date-time"
              }
            }
          }
        }
      },
      "WebhookBody": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "description": "https, a hostname (not an IP address), the standard port, no user name or password.",
            "format": "uri",
            "maxLength": 500
          },
          "rotate": {
            "type": "boolean",
            "description": "True for a new signing secret; the previous one keeps signing beside it for overlap_hours."
          },
          "overlap_hours": {
            "type": "integer",
            "description": "How long the previous secret keeps signing after a rotation, in hours. Left out: 24.",
            "minimum": 0,
            "maximum": 720
          }
        }
      },
      "WebhookAnswer": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "secret": {
            "type": [
              "string",
              "null"
            ],
            "description": "whsec_ and the secret. Set only when this request made one (the first set, or rotate: true); null otherwise."
          },
          "secret_last_four": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "rotated": {
            "type": "boolean"
          },
          "previous_secret_expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "WebhookDeleted": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "const": true
          }
        }
      },
      "Queued": {
        "type": "object",
        "properties": {
          "queued": {
            "type": "boolean",
            "const": true
          },
          "event_id": {
            "type": "string",
            "description": "The event’s id: GET /v1/events/{id} says what your server did with it."
          },
          "destination_id": {
            "type": "string",
            "description": "A redelivery to a webhook destination: which one."
          }
        }
      },
      "EventDelivery": {
        "type": "object",
        "properties": {
          "state": {
            "type": "string",
            "description": "none: recorded for your webhook destinations only, with no account webhook set.",
            "enum": [
              "pending",
              "delivered",
              "failed",
              "none"
            ]
          },
          "attempts": {
            "type": "integer",
            "description": "How many times it was posted."
          },
          "last_status": {
            "type": [
              "integer",
              "null"
            ],
            "description": "What your server answered; null when it gave no answer."
          },
          "last_attempt_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "last_error": {
            "type": [
              "string",
              "null"
            ],
            "description": "Why it was not delivered, and how to send it again."
          },
          "delivered_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "Event": {
        "type": "object",
        "required": [
          "id",
          "type",
          "created",
          "mode",
          "data"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "evt_ and hex. The same each time the same event is sent."
          },
          "type": {
            "type": "string",
            "enum": [
              "ping",
              "sandbox.file.acknowledged",
              "sandbox.claim.acknowledged",
              "sandbox.remittance.received",
              "enrollment.updated",
              "enrollment.live",
              "enrollment.rejected",
              "enrollment.canceled",
              "enrollment.ended",
              "enrollment.task.assigned",
              "enrollment.task.completed",
              "enrollment.task.deleted",
              "job.completed",
              "job.failed",
              "submission.file.acknowledged",
              "submission.claim.acknowledged",
              "submission.remittance.received"
            ]
          },
          "created": {
            "type": "integer",
            "description": "Unix seconds."
          },
          "mode": {
            "type": "string",
            "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
            "enum": [
              "test",
              "live"
            ]
          },
          "data": {
            "type": "object",
            "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
            "properties": {},
            "additionalProperties": true
          },
          "delivery": {
            "$ref": "#/components/schemas/EventDelivery"
          }
        }
      },
      "EventList": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Event"
            },
            "description": "Newest first."
          },
          "has_more": {
            "type": "boolean"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Pass as starting_after for the next page."
          }
        }
      },
      "Address": {
        "type": "object",
        "properties": {
          "line1": {
            "type": "string"
          },
          "line2": {
            "type": [
              "string",
              "null"
            ]
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "zip": {
            "type": "string",
            "description": "5 or 9 digits."
          }
        }
      },
      "Contact": {
        "type": "object",
        "properties": {
          "organization_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "first_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "type": [
              "string",
              "null"
            ],
            "description": "10 digits."
          },
          "phone_extension": {
            "type": [
              "string",
              "null"
            ]
          },
          "address": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Address"
              },
              {
                "type": "null"
              }
            ]
          }
        }
      },
      "ProviderBody": {
        "type": "object",
        "required": [
          "name",
          "npi",
          "tax_id",
          "tax_id_type"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "The provider’s display name; in the sandbox its last word picks the scenario.",
            "minLength": 2,
            "maxLength": 100
          },
          "npi": {
            "type": "string",
            "description": "The 10-digit billing NPI, with a valid check digit."
          },
          "tax_id": {
            "type": "string",
            "description": "The 9-digit EIN, with or without the hyphen. Never a Social Security number."
          },
          "tax_id_type": {
            "type": "string",
            "enum": [
              "ein"
            ]
          },
          "contacts": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "An enrollment’s primary_contact needs the name, email, phone and address; a provider’s contacts need only the name.",
              "properties": {
                "organization_name": {
                  "type": "string",
                  "description": "Or first_name and last_name, never both.",
                  "maxLength": 60
                },
                "first_name": {
                  "type": "string",
                  "maxLength": 35
                },
                "last_name": {
                  "type": "string",
                  "maxLength": 60
                },
                "email": {
                  "type": "string"
                },
                "phone": {
                  "type": "string",
                  "description": "10 digits, area code first; a leading 1 is read."
                },
                "phone_extension": {
                  "type": "string",
                  "description": "1 to 6 digits."
                },
                "address": {
                  "type": "object",
                  "required": [
                    "line1",
                    "city",
                    "state",
                    "zip"
                  ],
                  "properties": {
                    "line1": {
                      "type": "string",
                      "maxLength": 55
                    },
                    "line2": {
                      "type": "string",
                      "maxLength": 55
                    },
                    "city": {
                      "type": "string",
                      "maxLength": 30
                    },
                    "state": {
                      "type": "string",
                      "description": "Two letters."
                    },
                    "zip": {
                      "type": "string",
                      "description": "5 digits, or 9 with one hyphen allowed."
                    }
                  }
                }
              }
            },
            "description": "At most 5.",
            "maxItems": 5
          }
        }
      },
      "ProviderUpdateBody": {
        "type": "object",
        "description": "Only the fields sent change.",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 100
          },
          "npi": {
            "type": "string"
          },
          "tax_id": {
            "type": "string"
          },
          "tax_id_type": {
            "type": "string",
            "enum": [
              "ein"
            ]
          },
          "contacts": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "An enrollment’s primary_contact needs the name, email, phone and address; a provider’s contacts need only the name.",
              "properties": {
                "organization_name": {
                  "type": "string",
                  "description": "Or first_name and last_name, never both.",
                  "maxLength": 60
                },
                "first_name": {
                  "type": "string",
                  "maxLength": 35
                },
                "last_name": {
                  "type": "string",
                  "maxLength": 60
                },
                "email": {
                  "type": "string"
                },
                "phone": {
                  "type": "string",
                  "description": "10 digits, area code first; a leading 1 is read."
                },
                "phone_extension": {
                  "type": "string",
                  "description": "1 to 6 digits."
                },
                "address": {
                  "type": "object",
                  "required": [
                    "line1",
                    "city",
                    "state",
                    "zip"
                  ],
                  "properties": {
                    "line1": {
                      "type": "string",
                      "maxLength": 55
                    },
                    "line2": {
                      "type": "string",
                      "maxLength": 55
                    },
                    "city": {
                      "type": "string",
                      "maxLength": 30
                    },
                    "state": {
                      "type": "string",
                      "description": "Two letters."
                    },
                    "zip": {
                      "type": "string",
                      "description": "5 digits, or 9 with one hyphen allowed."
                    }
                  }
                }
              }
            },
            "description": "At most 5.",
            "maxItems": 5
          }
        }
      },
      "Provider": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "const": "provider"
          },
          "id": {
            "type": "string",
            "description": "prv_ and 24 hexadecimal characters."
          },
          "mode": {
            "type": "string",
            "enum": [
              "test",
              "live"
            ]
          },
          "name": {
            "type": "string"
          },
          "npi": {
            "type": "string"
          },
          "tax_id": {
            "type": "string"
          },
          "tax_id_type": {
            "type": "string",
            "enum": [
              "ein"
            ]
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Contact"
            }
          },
          "identifiers_locked": {
            "type": "boolean",
            "description": "True once a request for this provider has gone to a payer: the NPI and tax id no longer change."
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "npi_registry": {
            "type": "object",
            "description": "A live key’s new provider (wave 4): what the NPI registry holds for the NPI, found, holding no active record, or not asked (with why). Never stored.",
            "properties": {},
            "additionalProperties": true
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldProblem"
            },
            "description": "A live key’s new provider: what the NPI registry answer warns of. Never a refusal."
          }
        }
      },
      "ProviderList": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "const": "list"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Provider"
            },
            "description": "Newest first."
          },
          "has_more": {
            "type": "boolean"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Pass as starting_after."
          }
        }
      },
      "Deleted": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "const": true
          },
          "id": {
            "type": "string"
          }
        }
      },
      "EnrollmentBody": {
        "type": "object",
        "required": [
          "provider_id",
          "payer",
          "transaction",
          "primary_contact",
          "notify_email"
        ],
        "properties": {
          "provider_id": {
            "type": "string"
          },
          "payer": {
            "type": "object",
            "required": [
              "id"
            ],
            "properties": {
              "id": {
                "type": "string",
                "description": "1 to 80 letters and digits; PWSANDBOX with a test key."
              },
              "name": {
                "type": "string",
                "maxLength": 80
              }
            }
          },
          "transaction": {
            "type": "string",
            "enum": [
              "eligibility",
              "claim_status",
              "professional_claims",
              "remittances"
            ]
          },
          "primary_contact": {
            "type": "object",
            "description": "An enrollment’s primary_contact needs the name, email, phone and address; a provider’s contacts need only the name.",
            "properties": {
              "organization_name": {
                "type": "string",
                "description": "Or first_name and last_name, never both.",
                "maxLength": 60
              },
              "first_name": {
                "type": "string",
                "maxLength": 35
              },
              "last_name": {
                "type": "string",
                "maxLength": 60
              },
              "email": {
                "type": "string"
              },
              "phone": {
                "type": "string",
                "description": "10 digits, area code first; a leading 1 is read."
              },
              "phone_extension": {
                "type": "string",
                "description": "1 to 6 digits."
              },
              "address": {
                "type": "object",
                "required": [
                  "line1",
                  "city",
                  "state",
                  "zip"
                ],
                "properties": {
                  "line1": {
                    "type": "string",
                    "maxLength": 55
                  },
                  "line2": {
                    "type": "string",
                    "maxLength": 55
                  },
                  "city": {
                    "type": "string",
                    "maxLength": 30
                  },
                  "state": {
                    "type": "string",
                    "description": "Two letters."
                  },
                  "zip": {
                    "type": "string",
                    "description": "5 digits, or 9 with one hyphen allowed."
                  }
                }
              }
            }
          },
          "notify_email": {
            "type": "string",
            "description": "Where Payerworks writes about this request."
          },
          "requested_effective_date": {
            "type": "string",
            "description": "YYYY-MM-DD, from today to 180 days ahead (45 for a DME MAC’s remittances)."
          },
          "era_aggregation": {
            "type": "string",
            "description": "Remittances only: grouped by tax id or by NPI.",
            "enum": [
              "tin",
              "npi"
            ]
          },
          "ptan": {
            "type": "string",
            "description": "4 to 10 letters and digits; 10 digits for a DME MAC."
          },
          "note": {
            "type": "string",
            "description": "Your own note.",
            "maxLength": 500
          },
          "submit": {
            "type": "boolean",
            "description": "True hands it to Payerworks at once; left out, it is a draft."
          }
        }
      },
      "EnrollmentUpdateBody": {
        "type": "object",
        "description": "Only the fields sent change, until the request is sent to a payer.",
        "properties": {
          "primary_contact": {
            "type": "object",
            "description": "An enrollment’s primary_contact needs the name, email, phone and address; a provider’s contacts need only the name.",
            "properties": {
              "organization_name": {
                "type": "string",
                "description": "Or first_name and last_name, never both.",
                "maxLength": 60
              },
              "first_name": {
                "type": "string",
                "maxLength": 35
              },
              "last_name": {
                "type": "string",
                "maxLength": 60
              },
              "email": {
                "type": "string"
              },
              "phone": {
                "type": "string",
                "description": "10 digits, area code first; a leading 1 is read."
              },
              "phone_extension": {
                "type": "string",
                "description": "1 to 6 digits."
              },
              "address": {
                "type": "object",
                "required": [
                  "line1",
                  "city",
                  "state",
                  "zip"
                ],
                "properties": {
                  "line1": {
                    "type": "string",
                    "maxLength": 55
                  },
                  "line2": {
                    "type": "string",
                    "maxLength": 55
                  },
                  "city": {
                    "type": "string",
                    "maxLength": 30
                  },
                  "state": {
                    "type": "string",
                    "description": "Two letters."
                  },
                  "zip": {
                    "type": "string",
                    "description": "5 digits, or 9 with one hyphen allowed."
                  }
                }
              }
            }
          },
          "notify_email": {
            "type": "string"
          },
          "requested_effective_date": {
            "type": "string"
          },
          "era_aggregation": {
            "type": "string",
            "enum": [
              "tin",
              "npi"
            ]
          },
          "ptan": {
            "type": "string"
          },
          "note": {
            "type": "string",
            "maxLength": 500
          },
          "payer": {
            "type": "object",
            "description": "A draft only.",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            }
          },
          "transaction": {
            "type": "string",
            "description": "A draft only.",
            "enum": [
              "eligibility",
              "claim_status",
              "professional_claims",
              "remittances"
            ]
          }
        }
      },
      "CancelBody": {
        "type": "object",
        "properties": {
          "reason": {
            "type": "string",
            "maxLength": 200
          }
        }
      },
      "TaskField": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "text",
              "document"
            ]
          },
          "format": {
            "type": "string",
            "description": "identifier: a number a payer issued, kept as typed.",
            "enum": [
              "text",
              "identifier"
            ]
          },
          "required": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          }
        }
      },
      "TaskValue": {
        "type": "object",
        "description": "text for a text field, document_id for a document field.",
        "required": [
          "key"
        ],
        "properties": {
          "key": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "description": "At most 2000 characters."
          },
          "document_id": {
            "type": "string"
          }
        }
      },
      "Task": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "tsk_, the enrollment’s 24 hexadecimal characters, an underscore and two digits."
          },
          "rank": {
            "type": "integer",
            "description": "Tasks are finished in rank order."
          },
          "responsible": {
            "type": "string",
            "enum": [
              "provider",
              "payerworks"
            ]
          },
          "title": {
            "type": "string"
          },
          "instructions": {
            "type": "string"
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskField"
            }
          },
          "links": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "format": "uri"
                }
              }
            }
          },
          "template_document_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "A form to download, sign and upload."
          },
          "values": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskValue"
            }
          },
          "complete": {
            "type": "boolean"
          },
          "completed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "TaskBody": {
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TaskValue"
            },
            "description": "Merged into what was saved."
          },
          "complete": {
            "type": "boolean",
            "description": "true finishes it; false reopens one finished by mistake."
          }
        }
      },
      "TaskAnswer": {
        "type": "object",
        "properties": {
          "task": {
            "$ref": "#/components/schemas/Task"
          },
          "enrollment": {
            "$ref": "#/components/schemas/Enrollment"
          }
        }
      },
      "Document": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "doc_, the enrollment’s 24 hexadecimal characters, an underscore and 8 more."
          },
          "task_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "field_key": {
            "type": [
              "string",
              "null"
            ]
          },
          "filename": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "pending",
              "uploaded",
              "failed"
            ]
          },
          "failure": {
            "type": "string",
            "description": "Why it failed: not_a_pdf, too_large or upload_expired."
          },
          "size": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Bytes."
          },
          "content_type": {
            "type": "string",
            "const": "application/pdf"
          },
          "source": {
            "type": "string",
            "description": "Who added it.",
            "enum": [
              "you",
              "payerworks"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "uploaded_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "DocumentRequestBody": {
        "type": "object",
        "required": [
          "task_id",
          "field_key",
          "filename"
        ],
        "properties": {
          "task_id": {
            "type": "string"
          },
          "field_key": {
            "type": "string"
          },
          "filename": {
            "type": "string",
            "description": "Ends .pdf, 1 to 120 characters."
          }
        }
      },
      "DocumentUpload": {
        "type": "object",
        "properties": {
          "document": {
            "$ref": "#/components/schemas/Document"
          },
          "upload": {
            "type": "object",
            "description": "A signed form POST: one PDF, up to 10 MB, within 15 minutes. It takes no key.",
            "properties": {
              "url": {
                "type": "string",
                "format": "uri"
              },
              "method": {
                "type": "string",
                "const": "POST"
              },
              "fields": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Send each as a form field, then the file as file, last."
              },
              "expires_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "DocumentDownload": {
        "type": "object",
        "properties": {
          "document": {
            "$ref": "#/components/schemas/Document"
          },
          "download": {
            "type": "object",
            "description": "A signed GET, good for 15 minutes.",
            "properties": {
              "url": {
                "type": "string",
                "format": "uri"
              },
              "expires_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        }
      },
      "Rejection": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "words": {
            "type": "string",
            "description": "The payer’s words, whole."
          },
          "remedy": {
            "type": "string"
          },
          "remedy_words": {
            "type": "string"
          }
        }
      },
      "EnrollmentSummary": {
        "type": "object",
        "description": "An enrollment request, as a list holds it.",
        "properties": {
          "object": {
            "type": "string",
            "const": "enrollment"
          },
          "id": {
            "type": "string",
            "description": "enr_ and 24 hexadecimal characters."
          },
          "mode": {
            "type": "string",
            "enum": [
              "test",
              "live"
            ]
          },
          "provider": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "npi": {
                "type": "string"
              },
              "tax_id_last_four": {
                "type": "string"
              }
            }
          },
          "payer": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "sandbox": {
                "type": "boolean"
              }
            }
          },
          "transaction": {
            "type": "string",
            "enum": [
              "eligibility",
              "claim_status",
              "professional_claims",
              "remittances"
            ]
          },
          "x12": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "draft",
              "payerworks_action_required",
              "provider_action_required",
              "with_payer",
              "live",
              "rejected",
              "canceled",
              "ended"
            ]
          },
          "status_words": {
            "type": "string"
          },
          "waiting_on": {
            "type": [
              "string",
              "null"
            ],
            "description": "Whose turn it is; null when nobody’s.",
            "enum": [
              "you",
              "provider",
              "payerworks",
              "payer",
              null
            ]
          },
          "reason_code": {
            "type": [
              "string",
              "null"
            ],
            "description": "Why it is Payerworks’ turn, at payerworks_action_required.",
            "enum": [
              "route_not_open",
              "preparing",
              "reviewing",
              null
            ]
          },
          "route": {
            "type": "object",
            "properties": {
              "open": {
                "type": "boolean"
              },
              "sandbox": {
                "type": "boolean"
              },
              "words": {
                "type": "string"
              }
            }
          },
          "notify_email": {
            "type": [
              "string",
              "null"
            ]
          },
          "requested_effective_date": {
            "type": [
              "string",
              "null"
            ]
          },
          "era_aggregation": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "tin",
              "npi",
              null
            ]
          },
          "ptan": {
            "type": [
              "string",
              "null"
            ]
          },
          "note": {
            "type": "string"
          },
          "tasks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Task"
            },
            "description": "In rank order."
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Document"
            }
          },
          "rejection": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Rejection"
              },
              {
                "type": "null"
              }
            ]
          },
          "payer_reference": {
            "type": [
              "string",
              "null"
            ],
            "description": "What the payer’s confirmation said."
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "submitted_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "status_changed_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "sent_to_payer_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "live_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "ended_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "cancel_requested_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "requirements_url": {
            "type": "string",
            "description": "The payer’s published steps for this transaction."
          },
          "open_tasks": {
            "type": "integer",
            "description": "List items only: tasks not yet finished."
          }
        }
      },
      "Enrollment": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EnrollmentSummary"
          },
          {
            "type": "object",
            "properties": {
              "primary_contact": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/Contact"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "notes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "words": {
                      "type": "string"
                    }
                  }
                },
                "description": "From Payerworks."
              },
              "history": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "sequence": {
                      "type": "integer",
                      "description": "The change’s number; the event it raised carries the same."
                    },
                    "at": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "from": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "enum": [
                        "draft",
                        "payerworks_action_required",
                        "provider_action_required",
                        "with_payer",
                        "live",
                        "rejected",
                        "canceled",
                        "ended",
                        null
                      ]
                    },
                    "to": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "payerworks_action_required",
                        "provider_action_required",
                        "with_payer",
                        "live",
                        "rejected",
                        "canceled",
                        "ended"
                      ]
                    },
                    "by": {
                      "type": "string",
                      "enum": [
                        "you",
                        "payerworks",
                        "payer",
                        "sandbox"
                      ]
                    },
                    "reason_code": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "cancel_requested": {
                      "type": "boolean"
                    }
                  }
                },
                "description": "Every status change, oldest first."
              },
              "history_truncated": {
                "type": "boolean"
              },
              "warnings": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "string"
                    },
                    "message": {
                      "type": "string"
                    }
                  }
                },
                "description": "On a create or submit: route_not_open while Payerworks’ route is closed."
              }
            }
          }
        ],
        "description": "An enrollment request: never the tax id, only its last four."
      },
      "EnrollmentList": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "const": "list"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EnrollmentSummary"
            },
            "description": "Newest first."
          },
          "has_more": {
            "type": "boolean",
            "description": "A page may hold fewer than limit: keep paging while has_more is true."
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "AdvanceAnswer": {
        "type": "object",
        "properties": {
          "enrollment": {
            "$ref": "#/components/schemas/Enrollment"
          },
          "moved": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "from": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "draft",
                  "payerworks_action_required",
                  "provider_action_required",
                  "with_payer",
                  "live",
                  "rejected",
                  "canceled",
                  "ended",
                  null
                ]
              },
              "to": {
                "type": "string",
                "enum": [
                  "draft",
                  "payerworks_action_required",
                  "provider_action_required",
                  "with_payer",
                  "live",
                  "rejected",
                  "canceled",
                  "ended"
                ]
              }
            }
          },
          "events": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "enrollment.updated",
                    "enrollment.live",
                    "enrollment.rejected",
                    "enrollment.canceled",
                    "enrollment.ended",
                    "enrollment.task.assigned",
                    "enrollment.task.completed",
                    "enrollment.task.deleted"
                  ]
                }
              }
            }
          }
        }
      },
      "RequirementStep": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "who": {
            "type": "string",
            "description": "Who does the step: the provider, the payer or Payerworks."
          },
          "words": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "url": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "https; null for the sandbox payer."
              },
              "label": {
                "type": "string"
              },
              "checked_on": {
                "type": "string",
                "description": "YYYY-MM-DD: the day Payerworks read it."
              }
            }
          },
          "payerworks_value": {
            "type": "null",
            "description": "A step that would name Payerworks’ own registration (a Trading Partner ID, a HETS id): null, because Payerworks holds none yet."
          }
        }
      },
      "RequirementTransaction": {
        "type": "object",
        "properties": {
          "transaction": {
            "type": "string",
            "enum": [
              "eligibility",
              "claim_status",
              "professional_claims",
              "remittances"
            ]
          },
          "x12": {
            "type": "string"
          },
          "applies": {
            "type": "boolean",
            "description": "false: this payer does not answer it; ask names the payer that does."
          },
          "ask": {
            "type": "object",
            "properties": {
              "payer_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "words": {
                "type": "string"
              },
              "source": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "https; null for the sandbox payer."
                  },
                  "label": {
                    "type": "string"
                  },
                  "checked_on": {
                    "type": "string",
                    "description": "YYYY-MM-DD: the day Payerworks read it."
                  }
                }
              }
            }
          },
          "route": {
            "type": "object",
            "properties": {
              "open": {
                "type": "boolean"
              },
              "sandbox": {
                "type": "boolean"
              },
              "waiting_on": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "words": {
                "type": "string"
              }
            }
          },
          "where": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "url": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "who_files": {
            "type": "string"
          },
          "fields_required": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RequirementStep"
            }
          },
          "timing": {
            "type": "object",
            "description": "Only where the payer publishes one, quoted with its source; Payerworks states none of its own.",
            "properties": {
              "words": {
                "type": "string"
              },
              "source": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "https; null for the sandbox payer."
                  },
                  "label": {
                    "type": "string"
                  },
                  "checked_on": {
                    "type": "string",
                    "description": "YYYY-MM-DD: the day Payerworks read it."
                  }
                }
              }
            }
          },
          "schema_note": {
            "type": "object",
            "properties": {
              "words": {
                "type": "string"
              },
              "source": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "https; null for the sandbox payer."
                  },
                  "label": {
                    "type": "string"
                  },
                  "checked_on": {
                    "type": "string",
                    "description": "YYYY-MM-DD: the day Payerworks read it."
                  }
                }
              }
            }
          }
        }
      },
      "EnrollmentRequirements": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "const": "enrollment_requirements"
          },
          "payer": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "sandbox": {
                "type": "boolean"
              }
            }
          },
          "published": {
            "type": "boolean",
            "description": "false: Payerworks holds no published steps for this payer, which never means nothing is required."
          },
          "checked_on": {
            "type": "string"
          },
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RequirementTransaction"
            }
          },
          "words": {
            "type": "string"
          }
        }
      },
      "RequirementsIndex": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "const": "list"
          },
          "checked_on": {
            "type": "string"
          },
          "scope": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "payer": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "sandbox": {
                      "type": "boolean"
                    }
                  }
                },
                "transactions": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "transaction": {
                        "type": "string",
                        "enum": [
                          "eligibility",
                          "claim_status",
                          "professional_claims",
                          "remittances"
                        ]
                      },
                      "x12": {
                        "type": "string"
                      },
                      "applies": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "TrackClaimRef": {
        "type": "object",
        "description": "A claim as /v1/claims/validate takes it, matched by its patientControlNumber, or only its reference (with its charge and day of service, to match by them too).",
        "properties": {
          "reference": {
            "type": "string",
            "description": "Your claim reference (CLM01)."
          },
          "charge": {
            "type": "number"
          },
          "service_date": {
            "type": "string",
            "description": "YYYY-MM-DD, or empty when not stated."
          },
          "submission": {
            "type": "object",
            "properties": {
              "submitted_on": {
                "type": "string",
                "description": "YYYY-MM-DD, or empty when not stated."
              },
              "batch_id": {
                "type": "string"
              },
              "group_control_number": {
                "type": "string"
              },
              "transaction_set_control_number": {
                "type": "string"
              }
            }
          }
        },
        "additionalProperties": true
      },
      "TrackBody": {
        "type": "object",
        "description": "The claims as claims or as x12_837, never both, and the answers you hold for them (a 277 request for additional information among the acknowledgments).",
        "properties": {
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrackClaimRef"
            },
            "description": "At most 100.",
            "maxItems": 100
          },
          "x12_837": {
            "description": "An 837P interchange, or a list of at most 10.",
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "maxItems": 10
              }
            ]
          },
          "acknowledgments": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A 999 or a 277CA, envelope included."
            },
            "maxItems": 50
          },
          "remittances": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "An 835, envelope included."
            },
            "maxItems": 50
          },
          "as_of": {
            "type": "string",
            "description": "YYYY-MM-DD: read only what was dated on or before this day."
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A solicited 275, envelope included."
            },
            "description": "At most 10: a payer’s 277 request for more information is answered by them.",
            "maxItems": 10
          }
        }
      },
      "TrackTimelineEntry": {
        "type": "object",
        "properties": {
          "at": {
            "type": [
              "string",
              "null"
            ],
            "description": "YYYY-MM-DD, or empty when not stated."
          },
          "source": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "event": {
            "type": "string"
          },
          "reported_by": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "payer",
              "clearinghouse",
              "unknown",
              null
            ]
          },
          "words": {
            "type": "string"
          },
          "submission": {
            "type": [
              "integer",
              "null"
            ]
          },
          "counts_for_state": {
            "type": "boolean"
          },
          "not_counted_because": {
            "type": [
              "string",
              "null"
            ],
            "description": "Why this file does not decide the state: after_as_of (dated after as_of), duplicate_remittance, replaced_claim or earlier_submission.",
            "enum": [
              "after_as_of",
              "duplicate_remittance",
              "replaced_claim",
              "earlier_submission",
              null
            ]
          },
          "matched_by": {
            "type": [
              "string",
              "null"
            ]
          },
          "in_paid_total": {
            "type": "boolean",
            "description": "False for a file whose money is not counted, such as a reversal whose original decision is not among the files sent."
          },
          "detail": {
            "type": "object",
            "properties": {
              "reverses": {
                "type": [
                  "object",
                  "null"
                ],
                "description": "A reversal: the decision it reverses, and how it was matched.",
                "properties": {
                  "payer_claim_number": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "via": {
                    "type": "string",
                    "enum": [
                      "payer_claim_number",
                      "reference"
                    ]
                  }
                }
              },
              "batch_counts": {
                "type": "object",
                "description": "A batch 277CA: the batch’s own counts (QTY*AA, QTY*90).",
                "properties": {
                  "accepted": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "rejected": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  }
                }
              }
            },
            "additionalProperties": true
          }
        }
      },
      "TrackClaim": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer"
          },
          "reference": {
            "type": "string"
          },
          "references": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "state": {
            "type": "string",
            "enum": [
              "submitted",
              "received",
              "accepted",
              "information_requested",
              "rejected",
              "processed",
              "denied",
              "unknown"
            ]
          },
          "meaning": {
            "type": "string"
          },
          "next_step": {
            "type": "string"
          },
          "status_reported_by": {
            "type": [
              "string",
              "null"
            ],
            "enum": [
              "payer",
              "clearinghouse",
              "unknown",
              null
            ]
          },
          "since": {
            "type": [
              "string",
              "null"
            ]
          },
          "days_in_state": {
            "type": [
              "integer",
              "null"
            ],
            "description": "The one figure the clock moves."
          },
          "decided_by": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "timeline_index": {
                "type": "integer"
              },
              "source": {
                "type": "string",
                "description": "The file it came from, such as remittances[0]."
              },
              "kind": {
                "type": "string"
              }
            }
          },
          "paid_total": {
            "type": [
              "number",
              "null"
            ],
            "description": "Null when the files sent show nothing paid."
          },
          "paid_total_cents": {
            "type": [
              "integer",
              "null"
            ]
          },
          "has_reversals": {
            "type": "boolean"
          },
          "crossover": {
            "type": [
              "object",
              "null"
            ],
            "properties": {},
            "additionalProperties": true
          },
          "payer_claim_numbers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "submissions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "lines": {
            "type": "object",
            "properties": {
              "submitted": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                }
              },
              "remittance_lines_not_matched": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                }
              }
            }
          },
          "timeline": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrackTimelineEntry"
            },
            "description": "Every file about the claim, oldest first."
          },
          "correlation": {
            "type": "object",
            "properties": {
              "matched_by": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "split_payer_claim_numbers": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {
                  "type": "string"
                }
              },
              "notes": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "information_request": {
            "type": "object",
            "description": "The payer asked for more information about this claim, and whether the 275s sent answer it.",
            "properties": {
              "trace": {
                "type": "string",
                "description": "The payer’s trace (TRN02 of the request’s claim loop)."
              },
              "requested_on": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "YYYY-MM-DD, or empty when not stated."
              },
              "due_date": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "YYYY-MM-DD, or empty when not stated."
              },
              "due_source": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "days_until_due": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "overdue": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "requests": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "level": {
                      "type": "string",
                      "enum": [
                        "claim",
                        "line"
                      ]
                    },
                    "line_control_number": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "written": {
                      "type": "string"
                    },
                    "loinc": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "code": {
                      "type": "string"
                    },
                    "known": {
                      "type": "boolean"
                    },
                    "name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "category": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "category_words": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  }
                }
              },
              "answered": {
                "type": [
                  "boolean",
                  "null"
                ],
                "description": "Null when no 275 was sent with the call, so whether it was answered is not known here."
              },
              "answered_on": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "YYYY-MM-DD, or empty when not stated."
              },
              "missing": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {
                  "type": "string"
                }
              },
              "words": {
                "type": "string"
              }
            }
          }
        }
      },
      "TrackAnswer": {
        "type": "object",
        "properties": {
          "as_of": {
            "type": [
              "string",
              "null"
            ]
          },
          "reads": {
            "type": "string"
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrackClaim"
            }
          },
          "unmatched": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            },
            "description": "File by file, each item nothing matched, with why."
          },
          "duplicate_remittances": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            },
            "description": "An 835 sent twice (the same TRN02 and TRN03): counted once, named here."
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "source": {
                  "type": "string"
                },
                "answers_requests_of": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "A claim reference."
                  }
                },
                "matched": {
                  "type": "boolean"
                }
              }
            },
            "description": "Each 275 sent, and the claims whose requests it answers."
          },
          "loinc_notice": {
            "type": "string",
            "description": "Only when a 277 request for additional information is among the files."
          }
        }
      },
      "EditSource": {
        "type": "object",
        "description": "Where the rule comes from.",
        "properties": {
          "title": {
            "type": "string"
          },
          "where": {
            "type": "string",
            "description": "Where in the source the rule is."
          },
          "url": {
            "type": "string"
          },
          "read_on": {
            "type": "string",
            "description": "MM/DD/YYYY: the day Payerworks read it."
          },
          "also": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Further sources for the same rule."
          },
          "verified": {
            "type": "boolean",
            "description": "False for a rule taken from the X12 guide’s widely published situational rules without reading the licensed guide."
          },
          "note": {
            "type": "string"
          }
        }
      },
      "Edit": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "snip_type": {
            "type": "integer",
            "enum": [
              1,
              2,
              3,
              4,
              5,
              7
            ]
          },
          "claim_types": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "severity": {
            "type": "string",
            "enum": [
              "error",
              "warning"
            ]
          },
          "kind": {
            "type": "string",
            "enum": [
              "deterministic",
              "code_set"
            ]
          },
          "message": {
            "type": "string",
            "description": "What is wrong."
          },
          "fix": {
            "type": "string",
            "description": "How to fix it."
          },
          "source": {
            "$ref": "#/components/schemas/EditSource"
          },
          "runs_in": {
            "type": "string",
            "enum": [
              "edits",
              "validateClaim"
            ]
          },
          "needs_code_set": {
            "type": "string",
            "description": "The code set the edit reads, which only the API holds.",
            "enum": [
              "icd10cm",
              "hcpcs"
            ]
          }
        }
      },
      "EditRepair": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "does": {
            "type": "string"
          }
        }
      },
      "EditCheckRow": {
        "type": "object",
        "description": "A coordination of benefits check, or a correction plan’s check on its replacement.",
        "properties": {
          "code": {
            "type": "string"
          },
          "severity": {
            "type": "string",
            "enum": [
              "error",
              "warning"
            ]
          },
          "message": {
            "type": "string"
          },
          "runs_in": {
            "type": "string",
            "enum": [
              "validateSecondaryClaim",
              "correction-plan"
            ]
          }
        }
      },
      "EditNotRun": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "snip_type": {
            "type": "integer"
          },
          "why": {
            "type": "string",
            "description": "Why Payerworks does not run it."
          },
          "source": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "read_on": {
                "type": "string"
              }
            }
          }
        }
      },
      "EditCatalog": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string"
          },
          "scope": {
            "type": "string"
          },
          "claim_types": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "filters": {
            "type": "object",
            "description": "The filters this answer applied.",
            "properties": {},
            "additionalProperties": true
          },
          "count": {
            "type": "integer"
          },
          "edits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Edit"
            }
          },
          "repairs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EditRepair"
            },
            "description": "The formatting repaired on a copy before any check runs."
          },
          "coordination_of_benefits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EditCheckRow"
            },
            "description": "The checks a claim to a later payer gets."
          },
          "replacement_checks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EditCheckRow"
            },
            "description": "The checks a correction plan’s replacement gets."
          },
          "not_run": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EditNotRun"
            }
          },
          "transmits": {
            "type": "boolean",
            "const": false
          }
        }
      },
      "EditAnswer": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string"
          },
          "runs": {
            "type": "boolean",
            "description": "False for a check Payerworks does not run."
          },
          "edit": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Edit"
              },
              {
                "$ref": "#/components/schemas/EditCheckRow"
              },
              {
                "$ref": "#/components/schemas/EditNotRun"
              }
            ]
          }
        }
      },
      "CorrectionPlanBody": {
        "type": "object",
        "required": [
          "change"
        ],
        "properties": {
          "change": {
            "type": "string",
            "description": "replace (correct a claim) or void (cancel it).",
            "enum": [
              "replace",
              "void"
            ]
          },
          "payer_claim_number": {
            "type": "string",
            "description": "The payer’s own number for the claim: CLP07 on the 835, REF*1K on the 277CA. At most 50 characters.",
            "maxLength": 50
          },
          "adjudicated": {
            "type": "boolean",
            "description": "Whether the payer processed the claim. With no payer_claim_number it is required: false for a claim rejected before processing (a 999 or 277CA rejection), true when it was processed and its number is not at hand (then the number is asked for). Payerworks never assumes either."
          },
          "medicare_mac": {
            "type": "boolean",
            "description": "True for a Medicare administrative contractor. Left out: read from the claim’s filing code (MA or MB)."
          },
          "claim_type": {
            "type": "string",
            "description": "Left out: professional.",
            "enum": [
              "professional",
              "dental"
            ]
          },
          "original": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Claim"
              },
              {
                "$ref": "#/components/schemas/DentalClaim"
              }
            ]
          },
          "original_x12": {
            "type": "string",
            "description": "The original as a one-claim 837P, or a one-claim 837D when claim_type is dental."
          },
          "replacement": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Claim"
              },
              {
                "$ref": "#/components/schemas/DentalClaim"
              }
            ],
            "description": "A professional claim, or with claim_type dental a dental claim, checked as an 837D."
          },
          "replacement_x12": {
            "type": "string",
            "description": "The replacement as a one-claim 837P, or a one-claim 837D when claim_type is dental."
          }
        }
      },
      "CorrectionPlanAnswer": {
        "type": "object",
        "properties": {
          "change": {
            "type": "string"
          },
          "claim_type": {
            "type": "string"
          },
          "stage": {
            "type": "string",
            "enum": [
              "not_adjudicated",
              "adjudicated"
            ]
          },
          "stage_reason": {
            "type": "string"
          },
          "medicare_mac": {
            "type": "boolean"
          },
          "medicare_mac_source": {
            "type": "string",
            "enum": [
              "default",
              "caller",
              "claim_filing_code"
            ]
          },
          "route": {
            "type": "string",
            "enum": [
              "send_as_new_claim",
              "nothing_to_void",
              "send_corrected_claim",
              "medicare_reopening"
            ]
          },
          "frequency_code": {
            "type": [
              "string",
              "null"
            ],
            "description": "CLM05-3."
          },
          "ref_f8": {
            "type": "object",
            "properties": {
              "send": {
                "type": "boolean"
              },
              "value": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "patient_control_number": {
            "type": "object",
            "properties": {
              "new_one": {
                "type": "boolean"
              },
              "original": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "why": {
                "type": "string"
              }
            }
          },
          "steps": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "caveat": {
            "type": "string",
            "description": "Companion guides vary, and the answer says so."
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "if_returned_unprocessable": {
            "type": "object",
            "description": "A Medicare claim the contractor returned as unprocessable: sent again as a new claim.",
            "properties": {
              "frequency_code": {
                "type": "string"
              },
              "ref_f8": {
                "type": "object",
                "properties": {
                  "send": {
                    "type": "boolean"
                  },
                  "value": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                }
              },
              "patient_control_number": {
                "type": "object",
                "properties": {
                  "new_one": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "replacement": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "valid": {
                "type": "boolean"
              },
              "checks": {
                "type": "string",
                "description": "Which checks ran: the plan’s, then the claim’s (as an 837D for a dental plan) and a later payer’s coordination of benefits.",
                "enum": [
                  "plan_claim_and_coordination",
                  "plan_and_coordination",
                  "plan_and_dental_claim",
                  "plan_only"
                ]
              },
              "errors": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FieldProblem"
                }
              },
              "warnings": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FieldProblem"
                }
              }
            }
          }
        }
      },
      "InstitutionalClaim": {
        "type": "object",
        "description": "An institutional claim in the 837I’s own structure, the 837P’s JSON with the institutional fields: claimInformation.claimDateInformation (statement dates, admission and discharge), claimCodeInformation (admission type, source, patient status), principalDiagnosis, admittingDiagnosis, otherDiagnosisInformationList, the procedure, occurrence, span, value and condition code lists, serviceLines[].institutionalService (revenue code, charge, units), and attending and operatingPhysician beside billing. placeOfServiceCode is the facility type, the type of bill without its leading zero.",
        "required": [
          "tradingPartnerServiceId",
          "billing",
          "subscriber",
          "claimInformation"
        ]
      },
      "DentalClaim": {
        "type": "object",
        "description": "A dental claim in the 837D’s own structure, the 837P’s JSON with the dental fields: claimInformation.claimDateInformation.serviceDate (left out on a predetermination), predeterminationOfBenefits, toothStatus, orthodonticTotalMonthsOfTreatment, up to four healthCareCodeInformation diagnoses, and serviceLines[].dentalService (the procedure, charge, count, area of the mouth, prosthesis) with teethInformation (tooth and surfaces).",
        "required": [
          "tradingPartnerServiceId",
          "billing",
          "subscriber",
          "claimInformation"
        ]
      },
      "Claim837Checks": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer"
          },
          "reference": {
            "type": "string",
            "description": "Your patientControlNumber."
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldProblem"
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldProblem"
            }
          }
        }
      },
      "Validate837Answer": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "837I",
              "837D"
            ]
          },
          "version": {
            "type": "string"
          },
          "valid": {
            "type": "boolean",
            "description": "True when no claim has an error."
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Claim837Checks"
            }
          }
        }
      },
      "File837Answer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WrittenFile"
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "837I",
                  "837D"
                ]
              },
              "claims": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "reference": {
                      "type": "string"
                    },
                    "transaction_set_control_number": {
                      "type": "string"
                    },
                    "warnings": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FieldProblem"
                      }
                    }
                  }
                }
              }
            }
          }
        ]
      },
      "SandboxClaimFileAnswer": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "837I",
              "837D"
            ]
          },
          "version": {
            "type": "string"
          },
          "usage": {
            "type": "string",
            "const": "T"
          },
          "transmitted": {
            "type": "boolean",
            "const": false
          },
          "control": {
            "type": "object",
            "properties": {
              "interchange": {
                "type": "string"
              },
              "group": {
                "type": "string"
              },
              "sets": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "files": {
            "type": "object",
            "properties": {
              "claims_837i": {
                "type": "string",
                "description": "The 837I written (POST /v1/sandbox/claims/837i)."
              },
              "claims_837d": {
                "type": "string",
                "description": "The 837D written (POST /v1/sandbox/claims/837d)."
              },
              "acknowledgment_999": {
                "type": "string"
              },
              "claim_acknowledgment_277ca": {
                "type": "string"
              },
              "remittance_835": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Null when the payer adjudicated no claim in the file."
              },
              "information_request_277": {
                "type": "string",
                "description": "Only when a claim is held for information."
              },
              "attachment_acknowledgments_999": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "A 999 for each 275 sent back as attachments_275."
              }
            }
          },
          "outcomes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SandboxOutcome"
            }
          },
          "claims": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "reference": {
                  "type": "string"
                },
                "warnings": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FieldProblem"
                  }
                }
              }
            }
          },
          "explain_with": {
            "type": "object",
            "description": "The routes that explain the files: these runs are not explained inside the answer, and nothing is posted to your webhook.",
            "properties": {
              "acknowledgments": {
                "type": "string"
              },
              "remittance": {
                "type": "string"
              },
              "information_request": {
                "type": "string"
              }
            }
          },
          "loinc_notice": {
            "type": "string",
            "description": "Only when a claim is held for information."
          }
        }
      },
      "ClaimFileRead": {
        "type": "object",
        "description": "An 837P, 837I or 837D read back.",
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "version": {
            "type": "string",
            "description": "The implementation guide read."
          },
          "error": {
            "type": "string"
          },
          "claims": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "integer"
                },
                "transaction_set_control_number": {
                  "type": "string"
                },
                "reference": {
                  "type": "string",
                  "description": "CLM01, your patientControlNumber."
                },
                "claim": {
                  "type": "object",
                  "description": "The claim in the JSON its write route takes.",
                  "properties": {},
                  "additionalProperties": true
                },
                "not_read": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "segment": {
                        "type": "string",
                        "description": "The segment id and a short qualifier, never a value."
                      },
                      "loop": {
                        "type": "string"
                      },
                      "position": {
                        "type": "integer",
                        "description": "The segment’s place in the file; the ISA is 1."
                      }
                    }
                  },
                  "description": "Every segment the reader did not read."
                },
                "x12": {
                  "type": "string",
                  "description": "This claim alone as its own interchange, so a bulk file splits per claim."
                }
              }
            }
          },
          "envelope_options": {
            "type": "object",
            "description": "The file’s envelope as the write route’s options, to write it again.",
            "properties": {
              "sender_id": {
                "type": "string"
              },
              "receiver_id": {
                "type": "string"
              },
              "sender_qualifier": {
                "type": "string"
              },
              "receiver_qualifier": {
                "type": "string"
              },
              "control_number": {
                "type": "integer"
              },
              "usage": {
                "type": "string"
              },
              "written_at": {
                "type": "string",
                "format": "date-time"
              }
            }
          },
          "transaction_sets": {
            "type": "integer"
          },
          "sets_not_read": {
            "type": "integer"
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Such as an SE count that does not match."
            }
          }
        }
      },
      "PayerList": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "const": "list"
          },
          "scope": {
            "type": "string",
            "description": "What the directory is, and is not."
          },
          "payer_ids_are": {
            "type": "string"
          },
          "built_on": {
            "type": "string",
            "description": "YYYY-MM-DD."
          },
          "query": {
            "type": "object",
            "properties": {
              "q": {
                "type": "string"
              },
              "state": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "type": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "state_read_from_q": {
                "type": "boolean",
                "description": "True when a state named in q was read as state= (a state_read_from_q warning says which)."
              }
            }
          },
          "total": {
            "type": "integer"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The directory row id: pwd_ and 16 hex, Payerworks’ own, never a payer ID.",
                  "pattern": "^pwd_[0-9a-f]{16}$"
                },
                "object": {
                  "type": "string",
                  "const": "payer_directory_row"
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "organization",
                    "plan_program"
                  ]
                },
                "name": {
                  "type": "string"
                },
                "aliases": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "types": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "commercial_insurer",
                      "group_health_carrier",
                      "group_dental_carrier",
                      "medicare_advantage",
                      "medicare_cost_plan",
                      "medicare_part_d",
                      "pace",
                      "medicaid_managed_care",
                      "medicaid_pccm",
                      "medicaid_dental",
                      "medicaid_behavioral_health",
                      "medicaid_long_term_care",
                      "medicaid_transportation",
                      "medicaid_limited_benefit",
                      "medicare_fee_for_service",
                      "medicare_contractor",
                      "medicare_dme",
                      "tricare",
                      "payer"
                    ]
                  },
                  "description": "An organization’s kinds."
                },
                "program": {
                  "type": "string",
                  "description": "A plan program’s kind.",
                  "enum": [
                    "commercial_insurer",
                    "group_health_carrier",
                    "group_dental_carrier",
                    "medicare_advantage",
                    "medicare_cost_plan",
                    "medicare_part_d",
                    "pace",
                    "medicaid_managed_care",
                    "medicaid_pccm",
                    "medicaid_dental",
                    "medicaid_behavioral_health",
                    "medicaid_long_term_care",
                    "medicaid_transportation",
                    "medicaid_limited_benefit",
                    "medicare_fee_for_service",
                    "medicare_contractor",
                    "medicare_dme",
                    "tricare",
                    "payer"
                  ]
                },
                "organization_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "organization_name": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "parent": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "states": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "A state the row’s file or page says it serves."
                  }
                },
                "nationwide": {
                  "type": "boolean",
                  "description": "True only where the source says the whole country."
                },
                "area_stated": {
                  "type": "boolean",
                  "description": "False when no file or page the row was read from says where it serves: its states are then empty, and Not stated, never guessed."
                },
                "area_words": {
                  "type": "string",
                  "description": "With area_stated false: Not stated, in words."
                },
                "area_note": {
                  "type": "object",
                  "description": "What the row’s own page says about where it serves, with the page.",
                  "properties": {
                    "words": {
                      "type": "string"
                    },
                    "source": {
                      "type": "object",
                      "properties": {
                        "url": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "label": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "read_on": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "YYYY-MM-DD: the day Payerworks read it."
                        },
                        "document_date": {
                          "type": "string",
                          "description": "The date the document itself carries, when it names one."
                        }
                      }
                    }
                  }
                },
                "employer_group_states": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "States where CMS lists the contract for employer group plans only; never in states."
                },
                "see_payer_ids": {
                  "type": "object",
                  "description": "A Medicare Advantage contract with no published ID of its own whose parent organization publishes payer IDs for its plans: the row that holds them. The IDs are never copied onto this row.",
                  "properties": {
                    "row_id": {
                      "type": "string",
                      "pattern": "^pwd_[0-9a-f]{16}$"
                    },
                    "name": {
                      "type": "string"
                    },
                    "parent": {
                      "type": "string",
                      "description": "The parent organization as the CMS file names it."
                    },
                    "words": {
                      "type": "string"
                    }
                  }
                },
                "payer_id": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "The one claims payer ID the payer publishes; null when it publishes none Payerworks has read, or several."
                },
                "payer_id_words": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Why payer_id is null, in words."
                },
                "published_payer_ids": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "payer_id": {
                        "type": "string"
                      },
                      "for": {
                        "type": "string",
                        "description": "What the payer says the ID is for, paraphrased."
                      },
                      "transactions": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "claim_type": {
                        "type": "string"
                      },
                      "state": {
                        "type": "string"
                      },
                      "varies_by_vendor": {
                        "type": "boolean"
                      },
                      "source": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "label": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "read_on": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "YYYY-MM-DD: the day Payerworks read it."
                          },
                          "document_date": {
                            "type": "string",
                            "description": "The date the document itself carries, when it names one."
                          }
                        }
                      }
                    }
                  },
                  "description": "Every ID the payer or its Medicare contractor publishes, each with its page and the day it was read."
                },
                "naic_codes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "cms_contract_ids": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "hios_issuer_ids": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "connection": {
                  "type": "string",
                  "description": "Payerworks is connected to no payer yet.",
                  "const": "none"
                },
                "transmits": {
                  "type": "boolean",
                  "const": false
                },
                "payer_ids_for_state": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "With state=: the claims IDs the row names for that state."
                },
                "state_match": {
                  "type": "string",
                  "description": "With state=: stated (the source names the state, or the country), legal_state (the area is not stated, and the legal entity is in the state) or not_stated (a payer’s own page row whose page names no area, kept and said so).",
                  "enum": [
                    "stated",
                    "legal_state",
                    "not_stated"
                  ]
                },
                "match": {
                  "type": "object",
                  "properties": {
                    "by": {
                      "type": "string",
                      "description": "How the row matched: row_id, payer_id, naic_code, cms_contract_id, hios_issuer_id, name, alias, legal_form, spelling, words, medicare_by_state or listed."
                    },
                    "exact": {
                      "type": "boolean"
                    },
                    "payer_id": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "has_more": {
            "type": "boolean"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldProblem"
            }
          },
          "bluecard": {
            "type": "object",
            "description": "Asked about BlueCard: how it routes, in words.",
            "properties": {
              "words": {
                "type": "string"
              },
              "source": {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              }
            }
          },
          "medicare_words": {
            "type": "string"
          },
          "connection": {
            "type": "string",
            "const": "none"
          },
          "transmits": {
            "type": "boolean",
            "const": false
          }
        }
      },
      "PayerDirectoryRow": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The directory row id: pwd_ and 16 hex, Payerworks’ own, never a payer ID.",
            "pattern": "^pwd_[0-9a-f]{16}$"
          },
          "object": {
            "type": "string",
            "const": "payer_directory_row"
          },
          "kind": {
            "type": "string",
            "enum": [
              "organization",
              "plan_program"
            ]
          },
          "name": {
            "type": "string"
          },
          "aliases": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "commercial_insurer",
                "group_health_carrier",
                "group_dental_carrier",
                "medicare_advantage",
                "medicare_cost_plan",
                "medicare_part_d",
                "pace",
                "medicaid_managed_care",
                "medicaid_pccm",
                "medicaid_dental",
                "medicaid_behavioral_health",
                "medicaid_long_term_care",
                "medicaid_transportation",
                "medicaid_limited_benefit",
                "medicare_fee_for_service",
                "medicare_contractor",
                "medicare_dme",
                "tricare",
                "payer"
              ]
            },
            "description": "An organization’s kinds."
          },
          "program": {
            "type": "string",
            "description": "A plan program’s kind.",
            "enum": [
              "commercial_insurer",
              "group_health_carrier",
              "group_dental_carrier",
              "medicare_advantage",
              "medicare_cost_plan",
              "medicare_part_d",
              "pace",
              "medicaid_managed_care",
              "medicaid_pccm",
              "medicaid_dental",
              "medicaid_behavioral_health",
              "medicaid_long_term_care",
              "medicaid_transportation",
              "medicaid_limited_benefit",
              "medicare_fee_for_service",
              "medicare_contractor",
              "medicare_dme",
              "tricare",
              "payer"
            ]
          },
          "organization_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "organization_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "parent": {
            "type": [
              "string",
              "null"
            ]
          },
          "states": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A state the row’s file or page says it serves."
            }
          },
          "nationwide": {
            "type": "boolean",
            "description": "True only where the source says the whole country."
          },
          "area_stated": {
            "type": "boolean",
            "description": "False when no file or page the row was read from says where it serves: its states are then empty, and Not stated, never guessed."
          },
          "area_words": {
            "type": "string",
            "description": "With area_stated false: Not stated, in words."
          },
          "area_note": {
            "type": "object",
            "description": "What the row’s own page says about where it serves, with the page.",
            "properties": {
              "words": {
                "type": "string"
              },
              "source": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "label": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "read_on": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "YYYY-MM-DD: the day Payerworks read it."
                  },
                  "document_date": {
                    "type": "string",
                    "description": "The date the document itself carries, when it names one."
                  }
                }
              }
            }
          },
          "employer_group_states": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "States where CMS lists the contract for employer group plans only; never in states."
          },
          "see_payer_ids": {
            "type": "object",
            "description": "A Medicare Advantage contract with no published ID of its own whose parent organization publishes payer IDs for its plans: the row that holds them. The IDs are never copied onto this row.",
            "properties": {
              "row_id": {
                "type": "string",
                "pattern": "^pwd_[0-9a-f]{16}$"
              },
              "name": {
                "type": "string"
              },
              "parent": {
                "type": "string",
                "description": "The parent organization as the CMS file names it."
              },
              "words": {
                "type": "string"
              }
            }
          },
          "payer_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "The one claims payer ID the payer publishes; null when it publishes none Payerworks has read, or several."
          },
          "payer_id_words": {
            "type": [
              "string",
              "null"
            ],
            "description": "Why payer_id is null, in words."
          },
          "published_payer_ids": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "payer_id": {
                  "type": "string"
                },
                "for": {
                  "type": "string",
                  "description": "What the payer says the ID is for, paraphrased."
                },
                "transactions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "claim_type": {
                  "type": "string"
                },
                "state": {
                  "type": "string"
                },
                "varies_by_vendor": {
                  "type": "boolean"
                },
                "source": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "label": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "read_on": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "YYYY-MM-DD: the day Payerworks read it."
                    },
                    "document_date": {
                      "type": "string",
                      "description": "The date the document itself carries, when it names one."
                    }
                  }
                }
              }
            },
            "description": "Every ID the payer or its Medicare contractor publishes, each with its page and the day it was read."
          },
          "naic_codes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "cms_contract_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "hios_issuer_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "connection": {
            "type": "string",
            "description": "Payerworks is connected to no payer yet.",
            "const": "none"
          },
          "transmits": {
            "type": "boolean",
            "const": false
          },
          "naic_group_codes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "programs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "plan_type": {
            "type": "string"
          },
          "organization_type": {
            "type": "string"
          },
          "effective_date": {
            "type": "string"
          },
          "medicaid_programs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "regions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dme_jurisdiction": {
            "type": "string"
          },
          "legal_state": {
            "type": "string"
          },
          "domiciliary_states": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "claims_mailing_address": {
            "type": [
              "object",
              "null"
            ],
            "description": "The claims mailing address the payer gave CMS, an organization fact.",
            "properties": {},
            "additionalProperties": true
          },
          "medicare": {
            "anyOf": [
              {
                "type": "string",
                "const": "fee_for_service"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "null"
              }
            ],
            "description": "fee_for_service, or the Medicare programs the row offers, or null."
          },
          "medicaid": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "possibly_same_as": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Another row id whose name agrees apart from the legal form."
            }
          },
          "possibly_same_as_words": {
            "type": [
              "string",
              "null"
            ]
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "children": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "program": {
                  "type": "string"
                },
                "states": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "payer_id": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          },
          "scope": {
            "type": "string"
          },
          "payer_ids_are": {
            "type": "string"
          },
          "built_on": {
            "type": "string"
          },
          "source_files": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "terms": {
                  "type": "string"
                },
                "read_on": {
                  "type": "string"
                },
                "download_bytes": {
                  "type": "integer"
                }
              },
              "additionalProperties": true
            }
          }
        }
      },
      "FollowUpClaim": {
        "type": "object",
        "required": [
          "reference",
          "payer_id",
          "sent_on"
        ],
        "properties": {
          "reference": {
            "type": "string",
            "description": "Your claim reference."
          },
          "payer_id": {
            "type": "string"
          },
          "sent_on": {
            "type": "string",
            "description": "YYYY-MM-DD: the day the claim was sent."
          },
          "service_date": {
            "type": "string"
          },
          "charge_amount": {
            "type": "number"
          },
          "payer_claim_number": {
            "type": "string"
          },
          "last_status": {
            "type": "object",
            "properties": {
              "state": {
                "type": "string",
                "description": "The last claim status answer’s state.",
                "enum": [
                  "paid",
                  "denied",
                  "rejected",
                  "pending",
                  "info_requested",
                  "not_found",
                  "member_not_found",
                  "no_payment",
                  "finalized_unpaid",
                  "payer_error",
                  "request_error",
                  "review"
                ]
              },
              "asked_on": {
                "type": "string"
              },
              "checks_made": {
                "type": "integer",
                "minimum": 1,
                "maximum": 1000
              }
            }
          },
          "inquiry": {
            "type": "object",
            "description": "The 276 question last asked, as POST /v1/claim-status/276 takes it.",
            "properties": {},
            "additionalProperties": true
          },
          "known": {
            "type": "object",
            "description": "What you hold about the claim, as ClaimStatusAsked.known.",
            "properties": {},
            "additionalProperties": true
          },
          "disposition": {
            "type": "string",
            "description": "Your own follow-up code: echoed, never read.",
            "maxLength": 50
          }
        }
      },
      "FollowUpBody": {
        "type": "object",
        "description": "The open claims as claims, or the files as files: never both.",
        "properties": {
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FollowUpClaim"
            },
            "description": "At most 200 open claims.",
            "maxItems": 200
          },
          "history": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "payer_id",
                "sent_on",
                "remitted_on"
              ],
              "properties": {
                "payer_id": {
                  "type": "string"
                },
                "sent_on": {
                  "type": "string"
                },
                "remitted_on": {
                  "type": "string"
                }
              }
            },
            "description": "Your paid claims: at most 20000.",
            "maxItems": 20000
          },
          "files": {
            "type": "object",
            "description": "Instead of claims: x12_837, acknowledgments, remittances and as_of, as POST /v1/claims/track takes them.",
            "properties": {},
            "additionalProperties": true
          },
          "claim_details": {
            "type": "object",
            "description": "With files: each claim’s service_date, payer_id and the rest, keyed by its reference; at most 200.",
            "properties": {},
            "additionalProperties": true
          },
          "default_days_to_pay": {
            "type": "integer",
            "description": "Your own default, used and labeled as yours when a payer’s history is under the floor.",
            "minimum": 1,
            "maximum": 365
          },
          "today": {
            "type": "string",
            "description": "Your own day, YYYY-MM-DD."
          }
        }
      },
      "FollowUpAnswer": {
        "type": "object",
        "properties": {
          "today": {
            "type": "string"
          },
          "business_days": {
            "type": "string"
          },
          "floor": {
            "type": "integer",
            "description": "The fewest paid claims a payer’s days to pay are read from."
          },
          "method": {
            "type": "string"
          },
          "payers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "payer_id": {
                  "type": "string"
                },
                "history": {
                  "type": "object",
                  "description": "n, the median, the 25th and 90th percentiles, the fewest and most days, and the dates the history spans.",
                  "properties": {},
                  "additionalProperties": true
                },
                "basis": {
                  "type": "string",
                  "enum": [
                    "your_history",
                    "your_default",
                    "not_enough_history"
                  ]
                },
                "words": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            }
          },
          "claims": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "integer"
                },
                "reference": {
                  "type": "string"
                },
                "payer_id": {
                  "type": "string"
                },
                "sent_on": {
                  "type": "string"
                },
                "disposition": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "open": {
                  "type": "boolean"
                },
                "expected_by": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "from": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "likely": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "to": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "basis": {
                      "type": "string",
                      "enum": [
                        "your_history",
                        "your_default",
                        "not_enough_history"
                      ]
                    },
                    "n": {
                      "type": "integer"
                    }
                  },
                  "additionalProperties": true
                },
                "overdue": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "description": "null when there is no basis to say."
                },
                "days_since_sent": {
                  "type": "integer"
                },
                "next_step": {
                  "type": "object",
                  "properties": {
                    "action": {
                      "type": "string",
                      "enum": [
                        "send_276_now",
                        "wait_until",
                        "follow_not_found_plan",
                        "retry_when_payer_answers",
                        "act_on_last_answer",
                        "state_an_expectation",
                        "post_remittance",
                        "correct_and_resubmit"
                      ]
                    },
                    "on": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "words": {
                      "type": "string"
                    }
                  },
                  "additionalProperties": true
                },
                "inquiry_window": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "The dates a status question asks about: 7 days either side of the claim’s, nothing after today.",
                  "properties": {},
                  "additionalProperties": true
                },
                "next_inquiries": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true
                  },
                  "description": "After a not found: the next questions, as the claim status explainer gives them."
                },
                "retry_schedule": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {},
                  "additionalProperties": true
                }
              },
              "additionalProperties": true
            }
          },
          "counts": {
            "type": "object",
            "properties": {
              "claims": {
                "type": "integer"
              },
              "open": {
                "type": "integer"
              },
              "overdue": {
                "type": "integer"
              },
              "not_overdue": {
                "type": "integer"
              },
              "cannot_say": {
                "type": "integer"
              }
            }
          },
          "history_used": {
            "type": "object",
            "properties": {
              "rows": {
                "type": "integer"
              },
              "from_files": {
                "type": "integer"
              }
            }
          },
          "reads": {
            "type": "string"
          }
        }
      },
      "RemittancesBody": {
        "type": "object",
        "required": [
          "remittances"
        ],
        "properties": {
          "remittances": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "An 835, envelope included."
            },
            "description": "At most 50.",
            "maxItems": 50
          }
        }
      },
      "RemitCheck": {
        "type": "object",
        "properties": {
          "file": {
            "type": "integer"
          },
          "check": {
            "type": "integer"
          },
          "trace": {
            "type": "string"
          },
          "originator": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "date": {
            "type": "string"
          },
          "method": {
            "type": "string"
          },
          "payer": {
            "type": "string"
          },
          "claims": {
            "type": "integer"
          }
        },
        "additionalProperties": true
      },
      "DuplicatesAnswer": {
        "type": "object",
        "properties": {
          "files": {
            "type": "integer"
          },
          "checks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RemitCheck"
            },
            "description": "Each check, with duplicate_of naming the first copy."
          },
          "duplicates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trace": {
                  "type": "string"
                },
                "originator": {
                  "type": "string"
                },
                "matched_on": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "identical": {
                  "type": "boolean"
                },
                "copies": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RemitCheck"
                  }
                },
                "words": {
                  "type": "string"
                }
              }
            }
          },
          "no_trace": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "words": {
            "type": "string"
          },
          "reads": {
            "type": "string"
          }
        }
      },
      "Deposit": {
        "type": "object",
        "required": [
          "amount",
          "effective_date"
        ],
        "properties": {
          "amount": {
            "type": "number"
          },
          "effective_date": {
            "type": "string",
            "description": "YYYY-MM-DD."
          },
          "trace_number": {
            "type": "string"
          },
          "originator": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "description": "Read to find a trace, never repeated back."
          },
          "id": {
            "type": "string"
          }
        }
      },
      "ReassociateBody": {
        "type": "object",
        "required": [
          "remittances",
          "deposits"
        ],
        "properties": {
          "remittances": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "An 835, envelope included."
            },
            "description": "At most 50.",
            "maxItems": 50
          },
          "deposits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Deposit"
            },
            "description": "At most 2000.",
            "maxItems": 2000
          }
        }
      },
      "ReassociateAnswer": {
        "type": "object",
        "properties": {
          "matches": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "deposit": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                },
                "check": {
                  "$ref": "#/components/schemas/RemitCheck"
                },
                "matched_by": {
                  "type": "string",
                  "description": "trace, description, or amount_and_date."
                },
                "matched_on": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "agrees": {
                  "type": "object",
                  "description": "What agreed and what did not: the amount, the date, the originator, and the weekdays from the payment date.",
                  "properties": {},
                  "additionalProperties": true
                },
                "words": {
                  "type": "string"
                }
              }
            }
          },
          "unmatched_deposits": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "deposit": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                },
                "words": {
                  "type": "string"
                }
              }
            }
          },
          "unmatched_checks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "check": {
                  "$ref": "#/components/schemas/RemitCheck"
                },
                "words": {
                  "type": "string"
                }
              }
            }
          },
          "counts": {
            "type": "object",
            "properties": {
              "checks": {
                "type": "integer"
              },
              "deposits": {
                "type": "integer"
              },
              "matched": {
                "type": "integer"
              }
            }
          },
          "words": {
            "type": "string"
          },
          "how": {
            "type": "string"
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "read_on": {
                  "type": "string"
                }
              }
            }
          },
          "reads": {
            "type": "string"
          }
        }
      },
      "SplitBody": {
        "type": "object",
        "required": [
          "x12",
          "by",
          "control_number"
        ],
        "properties": {
          "x12": {
            "type": "string",
            "description": "One 835, envelope included."
          },
          "by": {
            "type": "string",
            "enum": [
              "payee",
              "rendering_npi"
            ]
          },
          "sender_id": {
            "type": "string",
            "description": "Left out: the original’s."
          },
          "receiver_id": {
            "type": "string",
            "description": "Left out: the original’s."
          },
          "control_number": {
            "type": "integer",
            "description": "The interchange control number (ISA13) you track for the first file; each further file takes the next. Never defaulted: the original’s own number would read as the original sent again.",
            "minimum": 1,
            "maximum": 999999999
          },
          "usage": {
            "type": "string",
            "enum": [
              "T",
              "P"
            ]
          },
          "sender_qualifier": {
            "type": "string"
          },
          "receiver_qualifier": {
            "type": "string"
          }
        }
      },
      "SplitAnswer": {
        "type": "object",
        "properties": {
          "by": {
            "type": "string",
            "enum": [
              "payee",
              "rendering_npi"
            ]
          },
          "transmitted": {
            "type": "boolean",
            "const": false,
            "description": "Payerworks wrote the files and sent them nowhere."
          },
          "files": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "group": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                },
                "claims": {
                  "type": "integer"
                },
                "checks": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true
                  }
                },
                "ties": {
                  "type": "boolean",
                  "description": "The file’s payment total equals its claims less its provider-level adjustments."
                },
                "isa_control": {
                  "type": "string"
                },
                "x12": {
                  "type": "string"
                },
                "words": {
                  "type": "string"
                }
              }
            }
          },
          "checks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "trace": {
                  "type": "string"
                },
                "original_amount": {
                  "type": "number"
                },
                "parts_total": {
                  "type": "number"
                },
                "parts_add_up": {
                  "type": "boolean"
                },
                "original_ties": {
                  "type": "boolean"
                },
                "claims_kept": {
                  "type": "boolean"
                },
                "provider_adjustments": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              }
            }
          },
          "balanced": {
            "type": "boolean"
          },
          "how": {
            "type": "string"
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "words": {
            "type": "string"
          }
        }
      },
      "RecoupmentsAnswer": {
        "type": "object",
        "properties": {
          "adjustments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "check": {
                  "$ref": "#/components/schemas/RemitCheck"
                },
                "provider_identifier": {
                  "type": "string"
                },
                "code": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "known": {
                  "type": "boolean"
                },
                "label_source": {
                  "type": "string"
                },
                "amount": {
                  "type": "number"
                },
                "effect": {
                  "type": "string"
                },
                "reference": {
                  "type": "string"
                },
                "takeback": {
                  "type": "boolean"
                },
                "match": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "How the takeback was matched (payer_claim_number, patient_control_number or amount) and the claim payment it takes back.",
                  "properties": {},
                  "additionalProperties": true
                },
                "matched": {
                  "type": "boolean"
                },
                "ambiguous": {
                  "type": "boolean"
                },
                "words": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            }
          },
          "reversals": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "payers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "counts": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "words": {
            "type": "string"
          },
          "how": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "list": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "read_on": {
                "type": "string"
              }
            }
          },
          "reads": {
            "type": "string"
          }
        }
      },
      "FilingLimit": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "payer": {
            "type": "string"
          },
          "applies_to": {
            "type": [
              "string",
              "null"
            ]
          },
          "answer": {
            "type": "string",
            "description": "window, or per_agreement where the payer’s pages leave it to its agreement."
          },
          "answer_words": {
            "type": "string"
          },
          "words": {
            "type": "string"
          },
          "window": {
            "type": [
              "object",
              "null"
            ],
            "properties": {},
            "additionalProperties": true
          },
          "date_of_service": {
            "type": "string"
          },
          "last_day": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_day_words": {
            "type": "string"
          },
          "source": {
            "type": "object",
            "properties": {
              "url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "read_on": {
                "type": "string"
              },
              "words": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "FilingLimitList": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilingLimit"
            }
          },
          "note": {
            "type": "string"
          }
        }
      },
      "FilingLimitAnswer": {
        "type": "object",
        "properties": {
          "payer": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilingLimit"
            }
          },
          "note": {
            "type": "string"
          }
        }
      },
      "AnalyticsBody": {
        "allOf": [
          {
            "$ref": "#/components/schemas/TrackBody"
          },
          {
            "type": "object",
            "properties": {
              "month": {
                "type": "string",
                "description": "YYYY-MM: one calendar month; the current month counts to today."
              },
              "today": {
                "type": "string",
                "description": "Your own day, YYYY-MM-DD."
              }
            }
          }
        ],
        "description": "The claims and their files as POST /v1/claims/track takes them, or remittances alone."
      },
      "AnalyticsAnswer": {
        "type": "object",
        "properties": {
          "unit": {
            "type": "string",
            "enum": [
              "claims",
              "claim payments"
            ]
          },
          "period": {
            "type": "object",
            "description": "The month counted, or every claim in the files.",
            "properties": {},
            "additionalProperties": true
          },
          "claims": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "claim_payments": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "first_pass": {
            "type": "object",
            "description": "First-pass acceptance: n, the rate (null below the floor’s count), and what was left out of it.",
            "properties": {},
            "additionalProperties": true
          },
          "rejections": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "denials": {
            "type": "object",
            "description": "The denial rate with its n, by payer, by group code and by reason, and the dollars refused.",
            "properties": {},
            "additionalProperties": true
          },
          "days_to_remittance": {
            "type": "object",
            "description": "Days from sending a claim to its remittance, by payer: n, the median and the quartiles.",
            "properties": {},
            "additionalProperties": true
          },
          "reversals": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "floor": {
            "type": "object",
            "properties": {
              "min_n": {
                "type": "integer"
              },
              "words": {
                "type": "string"
              }
            }
          },
          "today": {
            "type": "string"
          },
          "reads": {
            "type": "string"
          }
        },
        "additionalProperties": true
      },
      "FeeRow": {
        "type": "object",
        "required": [
          "payer_id",
          "code",
          "allowed"
        ],
        "properties": {
          "payer_id": {
            "type": "string",
            "description": "The payer’s id as your 835s name it (N1*PR, else TRN03)."
          },
          "code": {
            "type": "string",
            "description": "Five characters."
          },
          "modifier": {
            "type": "string"
          },
          "allowed": {
            "type": "number"
          },
          "effective_from": {
            "type": "string"
          },
          "effective_to": {
            "type": "string"
          },
          "per_unit": {
            "type": "boolean"
          }
        }
      },
      "VarianceBody": {
        "type": "object",
        "required": [
          "remittances"
        ],
        "properties": {
          "remittances": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "An 835, envelope included."
            },
            "description": "At most 50.",
            "maxItems": 50
          },
          "fee_schedule": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FeeRow"
            },
            "description": "At most 20000.",
            "maxItems": 20000
          },
          "medicare": {
            "type": "object",
            "description": "Compare with Medicare’s October 2026 DMEPOS fee schedule where the API runs.",
            "properties": {
              "state": {
                "type": "string",
                "description": "Two letters."
              },
              "rural": {
                "type": "boolean"
              }
            }
          },
          "today": {
            "type": "string"
          }
        }
      },
      "VarianceAnswer": {
        "type": "object",
        "properties": {
          "lines": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "reference": {
                  "type": "string"
                },
                "payer_id": {
                  "type": "string"
                },
                "procedure_code": {
                  "type": "string"
                },
                "service_date": {
                  "type": "string"
                },
                "allowed": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "expected_allowed": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "variance": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "underpaid",
                    "as_expected",
                    "above_expected",
                    "no_rate_given",
                    "no_rate_in_force",
                    "ambiguous_rate",
                    "no_allowed_stated",
                    "refused"
                  ]
                },
                "words": {
                  "type": "string"
                },
                "rate": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {},
                  "additionalProperties": true
                },
                "medicare": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                },
                "letter": {
                  "type": "object",
                  "description": "An underpaid line: the facts for POST /v1/appeals/letter, and what is still needed.",
                  "properties": {},
                  "additionalProperties": true
                }
              },
              "additionalProperties": true
            }
          },
          "totals": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "by_payer": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "medicare": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "rule": {
            "type": "string"
          },
          "letters": {
            "type": "string"
          },
          "reads": {
            "type": "string"
          }
        }
      },
      "RiskBody": {
        "type": "object",
        "required": [
          "claim",
          "remittances"
        ],
        "properties": {
          "claim": {
            "type": "object",
            "description": "One claim, as POST /v1/claims/validate takes it.",
            "properties": {},
            "additionalProperties": true
          },
          "remittances": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "An 835, envelope included."
            },
            "description": "At most 50.",
            "maxItems": 50
          },
          "past_claims": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            },
            "description": "Past claims as JSON, to compare diagnoses."
          },
          "payer_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The ids your 835s name this payer by."
          },
          "today": {
            "type": "string"
          }
        }
      },
      "RiskAnswer": {
        "type": "object",
        "properties": {
          "reference": {
            "type": [
              "string",
              "null"
            ]
          },
          "payer_ids_compared": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "history": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "lines": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "integer"
                },
                "procedure_code": {
                  "type": "string"
                },
                "verdict": {
                  "type": "string"
                },
                "words": {
                  "type": "string"
                },
                "same_shape": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {},
                  "additionalProperties": true
                }
              },
              "additionalProperties": true
            }
          },
          "floor": {
            "type": "object",
            "properties": {
              "pattern_min_denials": {
                "type": "integer"
              },
              "words": {
                "type": "string"
              }
            }
          },
          "root_cause_source": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "reads": {
            "type": "string"
          }
        }
      },
      "PrioritizeBody": {
        "type": "object",
        "required": [
          "remittances"
        ],
        "properties": {
          "remittances": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "An 835, envelope included."
            },
            "description": "At most 50.",
            "maxItems": 50
          },
          "outcomes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "payer_id": {
                  "type": "string"
                },
                "carc": {
                  "type": "string"
                },
                "outcome": {
                  "type": "string",
                  "enum": [
                    "overturned",
                    "partly_overturned",
                    "upheld"
                  ]
                }
              }
            },
            "description": "Your appeal outcomes: at most 5000.",
            "maxItems": 5000
          },
          "closed": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "References or payer claim numbers already closed."
          },
          "facts": {
            "type": "object",
            "description": "As POST /v1/denials/next-step takes them: filing_limit_days, appeal_limit_days, claim_filing_indicator.",
            "properties": {},
            "additionalProperties": true
          },
          "today": {
            "type": "string"
          },
          "due_soon_days": {
            "type": "integer",
            "minimum": 0,
            "maximum": 365
          }
        }
      },
      "PrioritizeAnswer": {
        "type": "object",
        "properties": {
          "today": {
            "type": "string"
          },
          "denials": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "rank": {
                  "type": "integer"
                },
                "reference": {
                  "type": "string"
                },
                "payer_id": {
                  "type": "string"
                },
                "at_stake": {
                  "type": "number"
                },
                "deadline": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {},
                  "additionalProperties": true
                },
                "tier": {
                  "type": "string",
                  "enum": [
                    "due_soon",
                    "open",
                    "passed"
                  ]
                },
                "overturn": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {},
                  "additionalProperties": true
                },
                "expected_recovery": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "ranked_by": {
                  "type": "string",
                  "enum": [
                    "expected_recovery",
                    "dollars"
                  ]
                },
                "next_step": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                }
              },
              "additionalProperties": true
            }
          },
          "counts": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "ranking": {
            "type": "string"
          },
          "deadline_rule": {
            "type": "string"
          },
          "floor": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "letters": {
            "type": "string"
          },
          "reads": {
            "type": "string"
          }
        }
      },
      "IdentityRetryBody": {
        "type": "object",
        "required": [
          "request"
        ],
        "properties": {
          "request": {
            "$ref": "#/components/schemas/EligibilityRequest"
          },
          "reasons": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "65",
                    "67",
                    "71",
                    "72",
                    "73",
                    "75",
                    "77"
                  ]
                },
                "loop": {
                  "type": "string"
                }
              }
            },
            "description": "The reject reasons the payer gave (AAA03 and its loop); or send answer."
          },
          "answer": {
            "type": "object",
            "description": "The 271 that refused, read for its reasons.",
            "properties": {
              "x12": {
                "type": "string"
              },
              "json": {}
            }
          },
          "known": {
            "type": "object",
            "description": "Facts you hold; a step that needs one you did not give says so.",
            "properties": {
              "legal_first_name": {
                "type": "string"
              },
              "previous_last_name": {
                "type": "string"
              },
              "dependent_member_id": {
                "type": "string"
              }
            }
          }
        }
      },
      "IdentityRetryAnswer": {
        "type": "object",
        "properties": {
          "applies": {
            "type": "boolean"
          },
          "reasons": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "loop": {
                  "type": "string"
                }
              }
            }
          },
          "answers_codes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "person": {
            "type": "string"
          },
          "steps": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "step": {
                  "type": "string"
                },
                "status": {
                  "type": "string",
                  "description": "ready, needs_value, verify_first or refused."
                },
                "why": {
                  "type": "string"
                },
                "changes": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true
                  }
                },
                "request": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "The question to send next, or null when the step cannot be built.",
                  "properties": {},
                  "additionalProperties": true
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true
                  }
                },
                "warnings": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true
                  }
                },
                "needs": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "additionalProperties": true
            }
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "transmitted": {
            "type": "boolean",
            "const": false
          },
          "scope": {
            "type": "string"
          }
        }
      },
      "AnswerFile": {
        "type": "object",
        "properties": {
          "x12": {
            "type": "string",
            "description": "A 271."
          },
          "json": {
            "description": "Or the 271 as JSON."
          }
        }
      },
      "ServiceTypeTestBody": {
        "type": "object",
        "required": [
          "baseline",
          "specific",
          "service_type_code"
        ],
        "properties": {
          "baseline": {
            "$ref": "#/components/schemas/AnswerFile"
          },
          "specific": {
            "$ref": "#/components/schemas/AnswerFile"
          },
          "service_type_code": {
            "type": "string"
          },
          "baseline_service_type": {
            "type": "string",
            "enum": [
              "30",
              "35"
            ]
          }
        }
      },
      "ServiceTypeTestAnswer": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "words": {
            "type": "string"
          },
          "baseline": {
            "type": "string"
          },
          "verdict": {
            "type": "string"
          },
          "said": {
            "type": "string"
          },
          "named_in_answer": {
            "type": "boolean"
          },
          "differs": {
            "type": "boolean"
          },
          "added": {
            "type": "integer"
          },
          "removed": {
            "type": "integer"
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "scope": {
            "type": "string"
          }
        }
      },
      "CoordinationBody": {
        "type": "object",
        "required": [
          "plans"
        ],
        "properties": {
          "person": {
            "type": "object",
            "properties": {
              "medicare": {
                "type": "object",
                "properties": {
                  "basis": {
                    "type": "string",
                    "enum": [
                      "age",
                      "disability",
                      "esrd"
                    ]
                  },
                  "eligible_since": {
                    "type": "string"
                  }
                }
              },
              "parents": {
                "type": "string"
              },
              "joint_custody": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          },
          "plans": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "id",
                "kind"
              ],
              "properties": {
                "id": {
                  "type": "string"
                },
                "kind": {
                  "type": "string",
                  "enum": [
                    "employer_group",
                    "individual",
                    "medicare",
                    "medicaid",
                    "medicare_supplement",
                    "tricare",
                    "workers_compensation",
                    "no_fault",
                    "liability",
                    "black_lung"
                  ]
                }
              },
              "additionalProperties": true
            },
            "description": "Two to 10.",
            "minItems": 2,
            "maxItems": 10
          },
          "date_of_service": {
            "type": "string"
          }
        }
      },
      "CoordinationAnswer": {
        "type": "object",
        "properties": {
          "decided": {
            "type": "boolean"
          },
          "order": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "position": {
                  "type": "integer"
                },
                "plan_id": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                }
              }
            },
            "description": "Empty unless every step was decided."
          },
          "partial_order": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            },
            "description": "When undecided: what could be ordered. Not an order to bill by."
          },
          "not_ordered": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            },
            "description": "Plans no rule placed, each with why; pays_this_service false is coverage that pays nothing for this service and leaves the order decided."
          },
          "steps": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "between": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "first": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "rule": {
                  "type": "string"
                },
                "source": {
                  "type": "string"
                },
                "words": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            }
          },
          "needs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            },
            "description": "Each fact a rule needs, by plan."
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "scope": {
            "type": "string"
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "read": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "DiscoveryVerifyBody": {
        "type": "object",
        "required": [
          "patient",
          "coverages"
        ],
        "properties": {
          "patient": {
            "type": "object",
            "required": [
              "last_name",
              "date_of_birth"
            ],
            "properties": {
              "first_name": {
                "type": "string"
              },
              "last_name": {
                "type": "string"
              },
              "date_of_birth": {
                "type": "string"
              },
              "gender": {
                "type": "string"
              },
              "address": {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              "previous_addresses": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                }
              }
            }
          },
          "coverages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AnswerFile"
            },
            "description": "At most 10.",
            "maxItems": 10
          },
          "date_of_service": {
            "type": "string"
          }
        }
      },
      "DiscoveryVerifyAnswer": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "coverage_index": {
                  "type": "integer"
                },
                "patient_in_answer": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "verdict": {
                  "type": "string"
                },
                "said": {
                  "type": "string"
                },
                "checks": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "check": {
                        "type": "string"
                      },
                      "result": {
                        "type": "string"
                      }
                    }
                  }
                },
                "coverage": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true
                },
                "status_codes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "confirm_with_payer": {
                  "type": "boolean"
                },
                "confirm_why": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            }
          },
          "summary": {
            "type": "object",
            "properties": {
              "coverages": {
                "type": "integer"
              },
              "matched": {
                "type": "integer"
              },
              "to_review": {
                "type": "integer"
              },
              "not_this_patient": {
                "type": "integer"
              },
              "confirm_with_payer": {
                "type": "integer"
              }
            }
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "scope": {
            "type": "string"
          }
        }
      },
      "AuthorizationRequest": {
        "type": "object",
        "required": [
          "requester",
          "subscriber",
          "review"
        ],
        "properties": {
          "controlNumber": {
            "type": "string",
            "description": "The trace (TRN02): unique in a file, so its response matches back."
          },
          "tradingPartnerServiceId": {
            "type": "string",
            "description": "The payer’s id."
          },
          "requester": {
            "type": "object",
            "properties": {
              "organizationName": {
                "type": "string"
              },
              "firstName": {
                "type": "string"
              },
              "lastName": {
                "type": "string"
              },
              "npi": {
                "type": "string"
              },
              "taxId": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              }
            },
            "additionalProperties": true
          },
          "subscriber": {
            "type": "object",
            "properties": {
              "memberId": {
                "type": "string"
              },
              "firstName": {
                "type": "string"
              },
              "lastName": {
                "type": "string"
              },
              "dateOfBirth": {
                "type": "string"
              },
              "gender": {
                "type": "string"
              }
            },
            "additionalProperties": true
          },
          "dependent": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "review": {
            "type": "object",
            "properties": {
              "requestCategory": {
                "type": "string",
                "description": "UM01.",
                "enum": [
                  "AR",
                  "HS",
                  "SC",
                  "IN"
                ]
              },
              "certificationType": {
                "type": "string",
                "description": "UM02.",
                "enum": [
                  "1",
                  "2",
                  "3",
                  "4",
                  "I",
                  "R",
                  "N",
                  "S"
                ]
              },
              "serviceTypeCode": {
                "type": "string"
              },
              "placeOfServiceCode": {
                "type": "string"
              },
              "diagnoses": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "At most 12 ICD-10 diagnosis codes.",
                "maxItems": 12
              }
            },
            "additionalProperties": true
          },
          "services": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "procedureCode": {
                  "type": "string"
                },
                "modifiers": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "units": {
                  "type": "number"
                },
                "serviceDate": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            },
            "description": "At most 40.",
            "maxItems": 40
          },
          "servicing": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          }
        }
      },
      "Authorization278Body": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "request": {
                "$ref": "#/components/schemas/AuthorizationRequest"
              },
              "requests": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AuthorizationRequest"
                },
                "description": "At most 100.",
                "maxItems": 100
              },
              "output": {
                "type": "string",
                "description": "x12 (the default), fhir (the Da Vinci PAS request bundle’s shape, no envelope needed) or both.",
                "enum": [
                  "x12",
                  "fhir",
                  "both"
                ]
              },
              "sender_id": {
                "type": "string"
              },
              "receiver_id": {
                "type": "string"
              },
              "control_number": {
                "type": "integer"
              },
              "usage": {
                "type": "string",
                "enum": [
                  "T",
                  "P"
                ]
              },
              "sender_qualifier": {
                "type": "string"
              },
              "receiver_qualifier": {
                "type": "string"
              }
            }
          }
        ],
        "description": "One request as request, or a list as requests. An x12 output needs the envelope fields as every file route does."
      },
      "Authorization278Answer": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string"
          },
          "usage": {
            "type": "string",
            "enum": [
              "T",
              "P"
            ]
          },
          "x12": {
            "type": "string"
          },
          "interchange_control_number": {
            "type": "string"
          },
          "group_control_number": {
            "type": "string"
          },
          "transaction_set_control_numbers": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "segments": {
            "type": "integer"
          },
          "fhir": {
            "type": "object",
            "description": "With output fhir or both: the implementation guide named, a note that the shape is not validated, and each request’s bundle.",
            "properties": {},
            "additionalProperties": true
          },
          "requests": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "integer"
                },
                "trace": {
                  "type": "string"
                },
                "transaction_set_control_number": {
                  "type": "string"
                },
                "warnings": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FieldProblem"
                  }
                }
              },
              "additionalProperties": true
            }
          },
          "payer_choice": {
            "type": "string",
            "description": "That Payerworks sends nothing, and whether a payer takes a 278 at all is the payer’s choice."
          },
          "transmitted": {
            "type": "boolean",
            "const": false
          }
        }
      },
      "AuthorizationReview": {
        "type": "object",
        "properties": {
          "index": {
            "type": "integer"
          },
          "trace": {
            "type": "string"
          },
          "verdict": {
            "type": "string",
            "description": "A stable name for the decision; words says it."
          },
          "words": {
            "type": "string"
          },
          "next_step": {
            "type": "string"
          },
          "certification_number": {
            "type": "string"
          },
          "administrative_reference_number": {
            "type": "string"
          },
          "decision": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "reason": {
            "type": [
              "object",
              "null"
            ],
            "properties": {},
            "additionalProperties": true
          },
          "dates": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "services": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "claim": {
            "type": [
              "object",
              "null"
            ],
            "description": "Where an approved number goes on the claim: the field, the segment and the route.",
            "properties": {},
            "additionalProperties": true
          },
          "label_source": {
            "type": "string",
            "const": "paraphrase"
          }
        },
        "additionalProperties": true
      },
      "AuthorizationExplainBody": {
        "type": "object",
        "properties": {
          "x12": {
            "type": "string",
            "description": "A 278 response (005010X217), envelope included."
          },
          "json": {
            "description": "Payerworks’ own read of one (?include=answer)."
          },
          "fhir": {
            "description": "A Da Vinci PAS response Bundle, or its ClaimResponse."
          },
          "asked": {
            "description": "The request, or the list of them, the response answers, so the approved units and dates are said against what you asked."
          }
        }
      },
      "AuthorizationExplainAnswer": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "const": "278"
          },
          "source": {
            "type": "string",
            "enum": [
              "x12",
              "json",
              "fhir"
            ]
          },
          "envelope": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Envelope"
              },
              {
                "type": "null"
              }
            ]
          },
          "reviews": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReview"
            }
          },
          "answer": {
            "type": "object",
            "description": "Only with ?include=answer: the 278 read to JSON.",
            "properties": {},
            "additionalProperties": true
          },
          "label_source": {
            "type": "string",
            "const": "paraphrase"
          }
        }
      },
      "AuthorizationSandboxBody": {
        "type": "object",
        "properties": {
          "request": {
            "$ref": "#/components/schemas/AuthorizationRequest"
          },
          "requests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationRequest"
            },
            "description": "At most 100.",
            "maxItems": 100
          },
          "sender_id": {
            "type": "string",
            "description": "Left out: SUBMITTER."
          },
          "receiver_id": {
            "type": "string",
            "description": "Left out: PWSANDBOX."
          },
          "control_number": {
            "type": "integer",
            "description": "Left out: 1."
          },
          "usage": {
            "type": "string",
            "enum": [
              "T"
            ]
          }
        }
      },
      "AuthorizationSandboxAnswer": {
        "type": "object",
        "properties": {
          "usage": {
            "type": "string",
            "const": "T"
          },
          "transmitted": {
            "type": "boolean",
            "const": false
          },
          "control": {
            "type": "object",
            "properties": {
              "interchange_request": {
                "type": "string"
              },
              "interchange_response": {
                "type": "string"
              },
              "sets": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "files": {
            "type": "object",
            "properties": {
              "authorization_request_278": {
                "type": "string"
              },
              "authorization_response_278": {
                "type": "string"
              }
            }
          },
          "outcomes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "integer"
                },
                "trace": {
                  "type": "string"
                },
                "outcome": {
                  "type": "string",
                  "enum": [
                    "subscriber_not_found",
                    "birth_date_mismatch",
                    "payer_unavailable",
                    "member_id_invalid",
                    "not_eligible",
                    "not_required",
                    "partially_approved",
                    "modified_dates",
                    "denied",
                    "more_information_needed",
                    "pended",
                    "approved"
                  ]
                },
                "trigger": {
                  "type": "string"
                }
              }
            }
          },
          "requests": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "integer"
                },
                "trace": {
                  "type": "string"
                },
                "warnings": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FieldProblem"
                  }
                }
              }
            }
          },
          "explained": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuthorizationReview"
            }
          },
          "payer_choice": {
            "type": "string"
          }
        }
      },
      "AuthorizationRequiredBody": {
        "type": "object",
        "required": [
          "procedure_codes",
          "date_of_service",
          "payer_type"
        ],
        "properties": {
          "procedure_codes": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A HCPCS Level II code or a five-character CPT code."
            },
            "description": "At most 100.",
            "maxItems": 100
          },
          "date_of_service": {
            "type": "string",
            "description": "For a rented item, the date of delivery."
          },
          "payer_type": {
            "type": "string",
            "enum": [
              "medicare_fee_for_service",
              "medicare_advantage",
              "medicaid",
              "commercial",
              "other"
            ]
          },
          "state": {
            "type": "string",
            "description": "Two letters: where the patient lives."
          },
          "setting": {
            "type": "string",
            "enum": [
              "hospital_outpatient",
              "other"
            ]
          }
        }
      },
      "AuthorizationRequiredAnswer": {
        "type": "object",
        "properties": {
          "date_of_service": {
            "type": "string"
          },
          "payer_type": {
            "type": "string"
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "setting": {
            "type": [
              "string",
              "null"
            ]
          },
          "payer_choice": {
            "type": "string"
          },
          "codes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "required": {
                  "type": [
                    "boolean",
                    "string"
                  ],
                  "description": "true; or depends_on_state, depends_on_setting, not_on_lists_held or no_published_list_held."
                },
                "lists": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true
                  }
                },
                "words": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            }
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "updated": {
                  "type": "string"
                },
                "read": {
                  "type": "string"
                }
              }
            }
          },
          "note": {
            "type": "string"
          }
        }
      },
      "CallerBenefits": {
        "type": "object",
        "description": "Figures you supply where the 271 states none; each is labeled as yours.",
        "properties": {
          "deductible_remaining": {
            "type": "number"
          },
          "out_of_pocket_remaining": {
            "type": "number"
          },
          "coinsurance_percent": {
            "type": "number"
          },
          "copay": {
            "type": "number"
          }
        }
      },
      "EstimateBody": {
        "type": "object",
        "required": [
          "network_level",
          "lines"
        ],
        "properties": {
          "x12": {
            "type": "string",
            "description": "A 271."
          },
          "json": {
            "description": "Or the 271 as JSON, either shape."
          },
          "network_level": {
            "type": "string",
            "enum": [
              "in_network",
              "out_of_network"
            ]
          },
          "coverage_level": {
            "type": "string",
            "enum": [
              "individual",
              "family"
            ]
          },
          "insurance_type": {
            "type": "string",
            "description": "EB04."
          },
          "date_of_service": {
            "type": "string"
          },
          "member_index": {
            "type": "integer",
            "description": "Which patient, when the 271 answers several."
          },
          "copay_rule": {
            "type": "string",
            "enum": [
              "copay_only",
              "copay_then_cost_sharing",
              "no_copay"
            ]
          },
          "caller_benefits": {
            "$ref": "#/components/schemas/CallerBenefits"
          },
          "lines": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "allowed_amount"
              ],
              "properties": {
                "reference": {
                  "type": "string"
                },
                "service_type": {
                  "type": "string",
                  "description": "Left out: 30."
                },
                "procedure_code": {
                  "type": "string",
                  "description": "Echoed."
                },
                "allowed_amount": {
                  "type": "number",
                  "description": "Yours: Payerworks holds no prices."
                },
                "copay_rule": {
                  "type": "string",
                  "enum": [
                    "copay_only",
                    "copay_then_cost_sharing",
                    "no_copay"
                  ]
                },
                "caller_benefits": {
                  "$ref": "#/components/schemas/CallerBenefits"
                }
              }
            },
            "description": "At most 50.",
            "maxItems": 50
          }
        }
      },
      "EstimateAnswer": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "const": "estimate"
          },
          "source": {
            "type": "string"
          },
          "member_index": {
            "type": "integer"
          },
          "payer": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "plan": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "date_of_service": {
            "type": [
              "string",
              "null"
            ]
          },
          "network_level": {
            "type": "string"
          },
          "coverage_level": {
            "type": "string"
          },
          "insurance_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "coverage": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "lines": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "integer"
                },
                "reference": {
                  "type": "string"
                },
                "inputs": {
                  "type": "object",
                  "description": "Each input with its value and where it came from: the 271, you, or not stated.",
                  "properties": {},
                  "additionalProperties": true
                },
                "deductible_applied": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "copay_applied": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "coinsurance_amount": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "patient_share": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "plan_share": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "out_of_pocket_reached": {
                  "type": [
                    "boolean",
                    "string",
                    "null"
                  ],
                  "description": "true, false or \"not_stated\"."
                },
                "not_stated": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "why": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "additionalProperties": true
            }
          },
          "totals": {
            "type": [
              "object",
              "null"
            ],
            "description": "Null when any line could not be figured.",
            "properties": {},
            "additionalProperties": true
          },
          "figured": {
            "type": "boolean"
          },
          "not_stated": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "assumptions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "eligibility_notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "refusal": {
            "type": "object",
            "description": "When the 271 itself is a refusal: the explainer’s reasons.",
            "properties": {},
            "additionalProperties": true
          },
          "transmitted": {
            "type": "boolean",
            "const": false
          }
        }
      },
      "GoodFaithBody": {
        "type": "object",
        "required": [
          "issued_on",
          "uninsured_reason",
          "patient",
          "primary_service",
          "providers",
          "items"
        ],
        "properties": {
          "issued_on": {
            "type": "string"
          },
          "uninsured_reason": {
            "type": "string",
            "enum": [
              "no_coverage",
              "not_filing_claim"
            ]
          },
          "patient": {
            "type": "object",
            "properties": {
              "first_name": {
                "type": "string"
              },
              "last_name": {
                "type": "string"
              },
              "date_of_birth": {
                "type": "string"
              }
            }
          },
          "primary_service": {
            "type": "object",
            "properties": {
              "description": {
                "type": "string"
              },
              "scheduled_date": {
                "type": "string"
              }
            }
          },
          "providers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "convening",
                    "co_provider"
                  ]
                },
                "name": {
                  "type": "string"
                },
                "npi": {
                  "type": "string"
                },
                "tin": {
                  "type": "string"
                },
                "locations": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "state": {
                        "type": "string"
                      },
                      "address": {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": true
                      }
                    }
                  }
                }
              }
            },
            "description": "At most 20.",
            "maxItems": 20
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "provider_id": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "service_code": {
                  "type": "string"
                },
                "service_code_type": {
                  "type": "string",
                  "enum": [
                    "CPT",
                    "HCPCS",
                    "DRG",
                    "NDC"
                  ]
                },
                "diagnosis_codes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "expected_charge": {
                  "type": "number"
                },
                "quantity": {
                  "type": "number"
                }
              }
            },
            "description": "At most 200.",
            "maxItems": 200
          },
          "separately_scheduled": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "description": {
                  "type": "string"
                }
              }
            }
          },
          "dispute_info": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "how_to_get_separate_estimates": {
            "type": "string"
          },
          "timing": {
            "type": "object",
            "properties": {
              "business_days_until_service": {
                "type": "integer"
              },
              "requested": {
                "type": "boolean"
              }
            }
          }
        }
      },
      "GoodFaithAnswer": {
        "type": "object",
        "properties": {
          "document": {
            "type": "string",
            "const": "good_faith_estimate"
          },
          "provider_document": {
            "type": "boolean",
            "const": true
          },
          "statement": {
            "type": "string"
          },
          "rule": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "issued_on": {
            "type": "string"
          },
          "issued_by": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "uninsured_reason": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "elements": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "cfr": {
                  "type": "string",
                  "description": "Its paragraph of 45 CFR 149.610."
                },
                "element": {
                  "type": "string"
                },
                "value": {},
                "words": {
                  "type": "string"
                },
                "disclaimer_above_list": {
                  "type": "string",
                  "description": "The (c)(1)(vi) disclaimer, to be printed directly above the list it governs."
                }
              }
            }
          },
          "expected_total": {
            "type": "number"
          },
          "expected_total_words": {
            "type": "string"
          },
          "timing": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "rule": {
                  "type": "string"
                },
                "words": {
                  "type": "string"
                }
              }
            }
          },
          "delivery": {
            "type": "string"
          },
          "retention": {
            "type": "string"
          },
          "not_laid_out": {
            "type": "string"
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "cite": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "read_on": {
                  "type": "string"
                }
              }
            }
          },
          "transmitted": {
            "type": "boolean",
            "const": false
          }
        }
      },
      "ReplacementWindowBody": {
        "type": "object",
        "required": [
          "items"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "hcpcs",
                "delivered_on"
              ],
              "properties": {
                "reference": {
                  "type": "string"
                },
                "hcpcs": {
                  "type": "string"
                },
                "delivered_on": {
                  "type": "string"
                },
                "planned_on": {
                  "type": "string"
                },
                "reason": {
                  "type": "string",
                  "enum": [
                    "wear",
                    "loss",
                    "theft",
                    "irreparable_damage",
                    "change_in_condition",
                    "backup"
                  ]
                },
                "useful_lifetime_years": {
                  "type": "integer",
                  "description": "A longer lifetime than five years, with its source.",
                  "minimum": 5,
                  "maximum": 30
                },
                "useful_lifetime_source": {
                  "type": "string"
                }
              }
            },
            "description": "At most 100.",
            "maxItems": 100
          }
        }
      },
      "ReplacementWindowAnswer": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "const": "dme_replacement_window"
          },
          "checks_medicare_records": {
            "type": "boolean",
            "const": false
          },
          "statement": {
            "type": "string"
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "reference": {
                  "type": "string"
                },
                "hcpcs": {
                  "type": "string"
                },
                "earliest_replacement_for_wear": {
                  "type": "string"
                },
                "inside_lifetime": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "consider": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true
                  }
                },
                "sources": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "additionalProperties": true
            }
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "FplBody": {
        "type": "object",
        "required": [
          "household_size",
          "state"
        ],
        "properties": {
          "household_size": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50
          },
          "annual_income": {
            "type": "number"
          },
          "monthly_income": {
            "type": "number"
          },
          "state": {
            "type": "string",
            "description": "Two letters."
          },
          "tiers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "max_percent": {
                  "type": "number"
                }
              }
            },
            "description": "Your policy’s tiers, lowest first: at most 20.",
            "maxItems": 20
          },
          "use_contiguous_table": {
            "type": "boolean",
            "description": "A territory: your program uses the contiguous table there."
          },
          "guideline_year": {
            "type": "integer",
            "description": "The guideline year held; another is refused.",
            "enum": [
              2026
            ]
          }
        }
      },
      "FplAnswer": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "const": "fpl"
          },
          "household_size": {
            "type": "integer"
          },
          "annual_income": {
            "type": "number"
          },
          "income_input": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "state": {
            "type": "string"
          },
          "guideline": {
            "type": "object",
            "properties": {
              "year": {
                "type": "integer"
              },
              "table": {
                "type": "string"
              },
              "amount": {
                "type": "number"
              },
              "source": {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              }
            }
          },
          "percent_of_guideline": {
            "type": "number"
          },
          "tier": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "max_percent": {
                "type": "number"
              }
            }
          },
          "tier_words": {
            "type": "string"
          },
          "statement": {
            "type": "string"
          },
          "screening": {
            "type": "boolean",
            "const": false
          },
          "decision": {
            "type": "boolean",
            "const": false
          }
        }
      },
      "Cms1500Body": {
        "type": "object",
        "description": "One claim as claim, or a list as claims; at most 200 forms, at 6 service lines a form.",
        "properties": {
          "claim": {
            "$ref": "#/components/schemas/Claim"
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Claim"
            },
            "description": "At most 100.",
            "maxItems": 100
          },
          "form": {
            "type": "string",
            "description": "full (the default): CMS’s own form under the data; data_only: the data alone, to print onto pre-printed red forms.",
            "enum": [
              "full",
              "data_only"
            ]
          },
          "signed_on": {
            "type": "string",
            "description": "YYYY-MM-DD: printed beside SIGNATURE ON FILE in Boxes 12 and 31. Left out, they are undated, never today."
          },
          "payer_address": {
            "type": "object",
            "required": [
              "address1",
              "city",
              "state",
              "postalCode"
            ],
            "properties": {
              "address1": {
                "type": "string"
              },
              "address2": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "state": {
                "type": "string"
              },
              "postalCode": {
                "type": "string"
              }
            }
          },
          "payer_addresses": {
            "type": "array",
            "items": {
              "type": [
                "object",
                "null"
              ],
              "required": [
                "address1",
                "city",
                "state",
                "postalCode"
              ],
              "properties": {
                "address1": {
                  "type": "string"
                },
                "address2": {
                  "type": "string"
                },
                "city": {
                  "type": "string"
                },
                "state": {
                  "type": "string"
                },
                "postalCode": {
                  "type": "string"
                }
              }
            },
            "description": "One address (or null) per claim, in the claims’ order, for the carrier block."
          }
        }
      },
      "Cms1500Answer": {
        "type": "object",
        "required": [
          "document",
          "content_type",
          "pages",
          "bytes",
          "sha256",
          "pdf_base64",
          "notice",
          "stored",
          "transmitted"
        ],
        "properties": {
          "document": {
            "type": "string",
            "description": "Which document: cms1500, remittance, eligibility, cms-20027 or cms-20033."
          },
          "content_type": {
            "type": "string",
            "const": "application/pdf"
          },
          "filename": {
            "type": "string",
            "description": "A name to save it under."
          },
          "pages": {
            "type": "integer"
          },
          "bytes": {
            "type": "integer",
            "description": "The PDF’s size."
          },
          "sha256": {
            "type": "string",
            "description": "The PDF’s SHA-256, in hex."
          },
          "pdf_base64": {
            "type": "string",
            "description": "The PDF, base64. The examples here show only its start.",
            "contentEncoding": "base64"
          },
          "notice": {
            "type": "string",
            "description": "Printed on every page Payerworks draws and in the file’s subject: the document is yours, nothing was sent and no copy was kept."
          },
          "stored": {
            "type": "boolean",
            "const": false
          },
          "transmitted": {
            "type": "boolean",
            "const": false,
            "description": "Payerworks drew the document and sent it nowhere."
          },
          "form": {
            "type": "string",
            "enum": [
              "full",
              "data_only"
            ]
          },
          "forms": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "claim": {
                  "type": "integer",
                  "description": "The claim’s index."
                },
                "reference": {
                  "type": "string"
                },
                "page": {
                  "type": "integer"
                },
                "lines": {
                  "type": "array",
                  "items": {
                    "type": "integer"
                  },
                  "description": "The first and last of its service lines on this form."
                }
              }
            },
            "description": "Each form, the claim it draws and its lines: Box 28 is the total of its own lines."
          },
          "shrunk": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Each value set smaller to fit its box, never cut."
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClaimChecks"
            },
            "description": "Each claim as POST /v1/claims/837p checks it: the form draws the repaired claim."
          },
          "dated": {
            "type": "string"
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "read_on": {
                  "type": "string",
                  "description": "MM/DD/YYYY: the day Payerworks read it."
                }
              }
            }
          }
        }
      },
      "RemittancePdfAnswer": {
        "type": "object",
        "description": "At most 500 claims and 3000 service lines a file.",
        "required": [
          "document",
          "content_type",
          "pages",
          "bytes",
          "sha256",
          "pdf_base64",
          "notice",
          "stored",
          "transmitted"
        ],
        "properties": {
          "document": {
            "type": "string",
            "description": "Which document: cms1500, remittance, eligibility, cms-20027 or cms-20033."
          },
          "content_type": {
            "type": "string",
            "const": "application/pdf"
          },
          "filename": {
            "type": "string",
            "description": "A name to save it under."
          },
          "pages": {
            "type": "integer"
          },
          "bytes": {
            "type": "integer",
            "description": "The PDF’s size."
          },
          "sha256": {
            "type": "string",
            "description": "The PDF’s SHA-256, in hex."
          },
          "pdf_base64": {
            "type": "string",
            "description": "The PDF, base64. The examples here show only its start.",
            "contentEncoding": "base64"
          },
          "notice": {
            "type": "string",
            "description": "Printed on every page Payerworks draws and in the file’s subject: the document is yours, nothing was sent and no copy was kept."
          },
          "stored": {
            "type": "boolean",
            "const": false
          },
          "transmitted": {
            "type": "boolean",
            "const": false,
            "description": "Payerworks drew the document and sent it nowhere."
          },
          "checks": {
            "type": "integer"
          },
          "claims": {
            "type": "integer"
          },
          "service_lines": {
            "type": "integer"
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "url": {
                  "type": "string"
                },
                "read_on": {
                  "type": "string",
                  "description": "MM/DD/YYYY: the day Payerworks read it."
                }
              }
            }
          }
        }
      },
      "EligibilityPdfAnswer": {
        "type": "object",
        "description": "At most 50 patients, 3000 benefit lines and 3000 drawn rows (a benefit line once for each service type it names, plus its messages).",
        "required": [
          "document",
          "content_type",
          "pages",
          "bytes",
          "sha256",
          "pdf_base64",
          "notice",
          "stored",
          "transmitted"
        ],
        "properties": {
          "document": {
            "type": "string",
            "description": "Which document: cms1500, remittance, eligibility, cms-20027 or cms-20033."
          },
          "content_type": {
            "type": "string",
            "const": "application/pdf"
          },
          "filename": {
            "type": "string",
            "description": "A name to save it under."
          },
          "pages": {
            "type": "integer"
          },
          "bytes": {
            "type": "integer",
            "description": "The PDF’s size."
          },
          "sha256": {
            "type": "string",
            "description": "The PDF’s SHA-256, in hex."
          },
          "pdf_base64": {
            "type": "string",
            "description": "The PDF, base64. The examples here show only its start.",
            "contentEncoding": "base64"
          },
          "notice": {
            "type": "string",
            "description": "Printed on every page Payerworks draws and in the file’s subject: the document is yours, nothing was sent and no copy was kept."
          },
          "stored": {
            "type": "boolean",
            "const": false
          },
          "transmitted": {
            "type": "boolean",
            "const": false,
            "description": "Payerworks drew the document and sent it nowhere."
          },
          "patients": {
            "type": "integer"
          },
          "benefit_lines": {
            "type": "integer"
          }
        }
      },
      "AppealFormBody": {
        "type": "object",
        "required": [
          "form",
          "x12",
          "reference"
        ],
        "properties": {
          "form": {
            "type": "string",
            "description": "redetermination (CMS-20027) or reconsideration (CMS-20033).",
            "enum": [
              "redetermination",
              "cms-20027",
              "reconsideration",
              "cms-20033"
            ]
          },
          "x12": {
            "type": "string",
            "description": "The 835 that denied the claim, envelope included."
          },
          "reference": {
            "type": "string",
            "description": "The denying claim payment’s CLP01."
          },
          "claim": {
            "$ref": "#/components/schemas/Claim"
          },
          "beneficiary": {
            "type": "object",
            "description": "Instead of claim: the beneficiary.",
            "properties": {
              "first_name": {
                "type": "string"
              },
              "middle_name": {
                "type": "string"
              },
              "last_name": {
                "type": "string"
              },
              "medicare_number": {
                "type": "string"
              }
            }
          },
          "appellant": {
            "type": "object",
            "description": "Left out: the claim’s billing provider, as the provider or supplier.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "provider",
                  "beneficiary",
                  "representative"
                ]
              },
              "name": {
                "type": "string"
              },
              "street": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "state": {
                "type": "string"
              },
              "zip": {
                "type": "string"
              },
              "phone": {
                "type": "string"
              },
              "email": {
                "type": "string"
              }
            }
          },
          "reason": {
            "type": "string",
            "description": "Why you disagree, in your words.",
            "maxLength": 1200
          },
          "additional_information": {
            "type": "string",
            "maxLength": 1200
          },
          "late_filing_reason": {
            "type": "string",
            "maxLength": 1200
          },
          "evidence": {
            "type": "boolean",
            "description": "Whether you have evidence to send. Set only from your answer."
          },
          "overpayment": {
            "type": "boolean",
            "description": "Whether this is an overpayment. Set only from your answer."
          },
          "date_of_appeal": {
            "type": "string",
            "description": "YYYY-MM-DD. Never filled by itself."
          },
          "redetermination": {
            "type": "object",
            "description": "The redetermination being appealed: required for CMS-20033.",
            "properties": {
              "notice_date": {
                "type": "string",
                "description": "YYYY-MM-DD."
              },
              "contractor": {
                "type": "string"
              }
            }
          },
          "today": {
            "type": "string",
            "description": "YYYY-MM-DD: the day the deadline is counted against."
          },
          "flatten": {
            "type": "boolean",
            "description": "True: the form’s fields are flattened into the page."
          }
        }
      },
      "AppealFormAnswer": {
        "type": "object",
        "required": [
          "document",
          "content_type",
          "pages",
          "bytes",
          "sha256",
          "pdf_base64",
          "notice",
          "stored",
          "transmitted"
        ],
        "properties": {
          "document": {
            "type": "string",
            "description": "Which document: cms1500, remittance, eligibility, cms-20027 or cms-20033."
          },
          "content_type": {
            "type": "string",
            "const": "application/pdf"
          },
          "filename": {
            "type": "string",
            "description": "A name to save it under."
          },
          "pages": {
            "type": "integer"
          },
          "bytes": {
            "type": "integer",
            "description": "The PDF’s size."
          },
          "sha256": {
            "type": "string",
            "description": "The PDF’s SHA-256, in hex."
          },
          "pdf_base64": {
            "type": "string",
            "description": "The PDF, base64. The examples here show only its start.",
            "contentEncoding": "base64"
          },
          "notice": {
            "type": "string",
            "description": "Printed on every page Payerworks draws and in the file’s subject: the document is yours, nothing was sent and no copy was kept."
          },
          "stored": {
            "type": "boolean",
            "const": false
          },
          "transmitted": {
            "type": "boolean",
            "const": false,
            "description": "Payerworks drew the document and sent it nowhere."
          },
          "form": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "form_number": {
                "type": "string"
              },
              "revision": {
                "type": "string"
              },
              "level": {
                "type": "integer"
              },
              "name": {
                "type": "string"
              },
              "source_url": {
                "type": "string"
              },
              "sha256": {
                "type": "string",
                "description": "CMS’s file, as published and pinned."
              },
              "retrieved_on": {
                "type": "string"
              },
              "fillable": {
                "type": "boolean"
              }
            }
          },
          "claim": {
            "type": "object",
            "properties": {
              "reference": {
                "type": "string"
              },
              "index": {
                "type": "integer"
              },
              "payer_claim_number": {
                "type": "string"
              },
              "claim_filing_indicator": {
                "type": "string"
              },
              "verdict": {
                "type": "string",
                "enum": [
                  "paid",
                  "partially_paid",
                  "denied",
                  "applied_to_patient",
                  "nothing_payable",
                  "reversal",
                  "reversal_and_repaid",
                  "forwarded",
                  "pending"
                ]
              },
              "verdict_words": {
                "type": "string"
              },
              "lines_appealed": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            }
          },
          "filled": {
            "type": "object",
            "description": "Each field typed into the form, by name.",
            "properties": {},
            "additionalProperties": true
          },
          "filled_from": {
            "type": "object",
            "description": "Where each filled value came from.",
            "properties": {},
            "additionalProperties": true
          },
          "deadline": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "date": {
                "type": "string"
              },
              "days": {
                "type": "integer"
              },
              "presumed_receipt_days": {
                "type": "integer"
              },
              "counted_from": {
                "type": "string"
              },
              "citation": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "late": {
                "type": "boolean"
              },
              "today": {
                "type": "string"
              }
            },
            "additionalProperties": true
          },
          "where_to_send": {
            "type": "string"
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldProblem"
            }
          }
        }
      },
      "Attachment275Body": {
        "type": "object",
        "required": [
          "sender_id",
          "receiver_id",
          "control_number",
          "claim",
          "attachments"
        ],
        "properties": {
          "sender_id": {
            "type": "string",
            "description": "ISA06 and GS02: 2 to 15 letters, digits or spaces.",
            "minLength": 2,
            "maxLength": 15
          },
          "receiver_id": {
            "type": "string",
            "description": "ISA08 and GS03.",
            "minLength": 2,
            "maxLength": 15
          },
          "control_number": {
            "type": "integer",
            "description": "ISA13 and GS06.",
            "minimum": 1,
            "maximum": 999999999
          },
          "usage": {
            "type": "string",
            "description": "A test key writes T only.",
            "enum": [
              "T",
              "P"
            ]
          },
          "sender_qualifier": {
            "type": "string"
          },
          "receiver_qualifier": {
            "type": "string"
          },
          "claim": {
            "$ref": "#/components/schemas/Claim"
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "control_number",
                "content_type",
                "content_base64"
              ],
              "properties": {
                "control_number": {
                  "type": "string",
                  "description": "The PWK06 the claim announced with PWK02 EL: 2 to 50 letters, digits, dots, dashes or underscores (the claim’s PWK06 and the 275’s TRN02 both carry it).",
                  "minLength": 2,
                  "maxLength": 50
                },
                "content_type": {
                  "type": "string",
                  "description": "Checked against the file’s first bytes.",
                  "enum": [
                    "application/pdf",
                    "image/tiff",
                    "image/jpeg",
                    "image/png",
                    "application/x-hl7-cda-level-one+xml"
                  ]
                },
                "content_base64": {
                  "type": "string",
                  "description": "The file, base64.",
                  "contentEncoding": "base64"
                },
                "filename": {
                  "type": "string"
                },
                "loinc": {
                  "type": "string",
                  "description": "The LOINC code of the document’s kind, its check digit checked."
                },
                "format_code": {
                  "type": "string",
                  "description": "CAT02: IA for a picture or PDF, MB for a CDA document, unless you name it."
                },
                "stc01": {
                  "type": "string",
                  "description": "A solicited 275: the requested code this attachment answers, as the 277 wrote it (its LX echoes it). With one on every attachment, request.stc01 may be left out."
                },
                "line_control_number": {
                  "type": "string",
                  "description": "The service line the payer asked about (REF*FJ), as the 277 named it."
                },
                "document": {
                  "type": "string",
                  "description": "The document’s name, as POST /v1/attachments/requests/explain lays it out. Read by you, not written to the file."
                }
              }
            },
            "description": "At most 10, 1400000 bytes in all.",
            "maxItems": 10
          },
          "reference": {
            "type": "string",
            "description": "BGN02. Left out: the claim’s CLM01."
          },
          "request": {
            "type": "object",
            "description": "A solicited 275: the 277 request it answers (POST /v1/attachments/requests/explain gives every value).",
            "properties": {
              "trace": {
                "type": "string",
                "description": "The 277’s trace number.",
                "maxLength": 50
              },
              "stc01": {
                "type": "string",
                "description": "The 277’s STC01, echoed as sent."
              },
              "patient_control_number": {
                "type": "string",
                "description": "The 277’s REF*EJ, written as the 275’s REF*EJ."
              },
              "submitter_id": {
                "type": "string",
                "description": "The 277’s NM1*41 id: the envelope’s sender must be it."
              },
              "payer_contact": {
                "type": "object",
                "description": "The 277’s response contact, copied to the 275’s 1000A PER.",
                "properties": {
                  "function_code": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "communications": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "qualifier": {
                          "type": "string"
                        },
                        "number": {
                          "type": "string"
                        }
                      }
                    },
                    "description": "At most three.",
                    "maxItems": 3
                  }
                }
              }
            }
          }
        }
      },
      "Attachment275Answer": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "const": "005010X210"
          },
          "usage": {
            "type": "string",
            "enum": [
              "T",
              "P"
            ]
          },
          "solicited": {
            "type": "boolean"
          },
          "x12": {
            "type": "string",
            "description": "The whole interchange."
          },
          "interchange_control_number": {
            "type": "string"
          },
          "group_control_number": {
            "type": "string"
          },
          "transaction_set_control_number": {
            "type": "string"
          },
          "bgn02": {
            "type": "string"
          },
          "segments": {
            "type": "integer"
          },
          "attachments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "control_number": {
                  "type": "string"
                },
                "trn02": {
                  "type": "string"
                },
                "content_type": {
                  "type": "string"
                },
                "format_code": {
                  "type": "string"
                },
                "filename": {
                  "type": "string"
                },
                "bytes": {
                  "type": "integer"
                },
                "loinc": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "The LOINC code, valid and known, with LOINC’s own names and notice where it is in the table.",
                  "properties": {},
                  "additionalProperties": true
                },
                "answers_stc01": {
                  "type": "string",
                  "description": "A solicited 275: the requested code this attachment answers."
                },
                "line_control_number": {
                  "type": "string",
                  "description": "The service line it answers."
                }
              }
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldProblem"
            }
          },
          "shape": {
            "type": "object",
            "properties": {
              "verified": {
                "type": "boolean",
                "const": false,
                "description": "Written from public companion guides, not the licensed implementation guide."
              },
              "words": {
                "type": "string"
              }
            }
          },
          "limits": {
            "type": "object",
            "properties": {
              "attachments": {
                "type": "integer"
              },
              "decoded_bytes": {
                "type": "integer"
              }
            }
          },
          "loinc_notice": {
            "type": "string",
            "description": "LOINC’s notice, carried with any answer that names a LOINC code."
          },
          "transmitted": {
            "type": "boolean",
            "const": false,
            "description": "Payerworks wrote the file and sent it nowhere."
          }
        }
      },
      "ReadField": {
        "type": "object",
        "properties": {
          "value": {
            "description": "What was read, as its kind (a number for money, YYYY-MM-DD for a date); null when it was not read."
          },
          "confidence": {
            "type": [
              "number",
              "null"
            ],
            "description": "The reader’s own estimate, 0 to 1: not a measured accuracy.",
            "minimum": 0,
            "maximum": 1
          },
          "region": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "page": {
                "type": "integer",
                "description": "1 is the first."
              },
              "box": {
                "type": [
                  "array",
                  "null"
                ],
                "items": {
                  "type": "number"
                },
                "description": "x, y, width and height as fractions of the page, from its top left.",
                "minItems": 4,
                "maxItems": 4
              }
            }
          },
          "read_as": {
            "type": "string",
            "description": "A value that could not be read as its kind, kept as the reader wrote it."
          },
          "not_printed": {
            "type": "boolean",
            "description": "True when the page did not print it."
          },
          "reads": {
            "type": "string",
            "description": "A card’s member ID: whether its two reads agreed."
          },
          "other_readings": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The other spellings a second read gave."
          },
          "shape": {
            "type": "object",
            "description": "A member ID’s shape: its length, its pattern of letters and digits, and whether it has a Medicare Beneficiary Identifier’s form.",
            "properties": {},
            "additionalProperties": true
          }
        }
      },
      "EobImageBody": {
        "type": "object",
        "required": [
          "file_base64"
        ],
        "properties": {
          "file_base64": {
            "type": "string",
            "description": "A PDF of at most 2 pages, or a JPEG, PNG, GIF or WEBP. At most 1400000 bytes in all, before base64; no data: prefix.",
            "contentEncoding": "base64"
          }
        }
      },
      "RemittanceDraft": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "const": "remittance_draft"
          },
          "draft": {
            "type": "boolean",
            "const": true
          },
          "needs_review": {
            "type": "boolean",
            "const": true
          },
          "is_era": {
            "type": "boolean",
            "const": false,
            "description": "Never an ERA: the payer did not send it."
          },
          "posted": {
            "type": "boolean",
            "const": false,
            "description": "Nothing was posted."
          },
          "words": {
            "type": "string"
          },
          "confidence_words": {
            "type": "string"
          },
          "region_words": {
            "type": "string"
          },
          "document": {
            "type": "object",
            "properties": {
              "media_type": {
                "type": "string"
              },
              "pages": {
                "type": "integer"
              },
              "read_as": {
                "type": "string"
              }
            }
          },
          "payer": {
            "type": "object",
            "properties": {
              "name": {
                "$ref": "#/components/schemas/ReadField"
              }
            }
          },
          "payee": {
            "type": "object",
            "properties": {
              "name": {
                "$ref": "#/components/schemas/ReadField"
              },
              "npi": {
                "$ref": "#/components/schemas/ReadField"
              },
              "tax_id": {
                "$ref": "#/components/schemas/ReadField"
              }
            }
          },
          "check": {
            "type": "object",
            "properties": {
              "number": {
                "$ref": "#/components/schemas/ReadField"
              },
              "date": {
                "$ref": "#/components/schemas/ReadField"
              },
              "total": {
                "$ref": "#/components/schemas/ReadField"
              },
              "method": {
                "$ref": "#/components/schemas/ReadField"
              }
            }
          },
          "claims": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "Each claim: every value a ReadField, with its adjustments and its service lines.",
              "properties": {},
              "additionalProperties": true
            },
            "description": "At most 25 claims and 100 service lines."
          },
          "provider_adjustments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "totals": {
            "type": "object",
            "description": "The arithmetic, never the model’s: the claims’ payments less the provider adjustments against the check total the page states.",
            "properties": {
              "check_total_stated": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
              },
              "claims_paid": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
              },
              "provider_adjustments": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
              },
              "check_total_computed": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
              },
              "matches": {
                "type": [
                  "boolean",
                  "null"
                ],
                "description": "Null when the page states no check total."
              },
              "words": {
                "type": "string"
              }
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "path": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            }
          },
          "review": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Every path to check first: a value read below 0.8 confidence, a value not read as its kind, and every path a warning names."
          },
          "x12": {
            "type": "object",
            "properties": {
              "version": {
                "type": "string"
              },
              "usage": {
                "type": "string",
                "description": "A test interchange whatever your key.",
                "const": "T"
              },
              "text": {
                "type": "string"
              },
              "reads_back": {
                "type": "boolean"
              },
              "not_read": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "path": {
                      "type": "string"
                    },
                    "element": {
                      "type": "string"
                    }
                  }
                }
              },
              "words": {
                "type": "string"
              }
            }
          },
          "mode": {
            "type": "string",
            "enum": [
              "test",
              "live"
            ]
          },
          "stored": {
            "type": "boolean",
            "const": false
          },
          "transmitted": {
            "type": "boolean",
            "const": false
          }
        }
      },
      "CardImageBody": {
        "type": "object",
        "description": "The two together: At most 1400000 bytes in all, before base64; no data: prefix.",
        "required": [
          "front_base64"
        ],
        "properties": {
          "front_base64": {
            "type": "string",
            "description": "The card’s front: a JPEG, PNG, GIF or WEBP, or a PDF of at most 2 pages.",
            "contentEncoding": "base64"
          },
          "back_base64": {
            "type": "string",
            "description": "The card’s back, if you have it.",
            "contentEncoding": "base64"
          }
        }
      },
      "CardLookup": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "const": "card_lookup"
          },
          "needs_review": {
            "type": "boolean",
            "const": true
          },
          "words": {
            "type": "string"
          },
          "confidence_words": {
            "type": "string"
          },
          "region_words": {
            "type": "string"
          },
          "files": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "field": {
                  "type": "string"
                },
                "media_type": {
                  "type": "string"
                },
                "pages": {
                  "type": "integer"
                }
              }
            }
          },
          "payer_name": {
            "$ref": "#/components/schemas/ReadField"
          },
          "plan_name": {
            "$ref": "#/components/schemas/ReadField"
          },
          "member_id": {
            "$ref": "#/components/schemas/ReadField"
          },
          "group_number": {
            "$ref": "#/components/schemas/ReadField"
          },
          "plan_type": {
            "type": "object",
            "properties": {
              "stated": {
                "type": "string",
                "description": "A plan type only beside words the card prints; not_stated otherwise."
              },
              "words": {
                "$ref": "#/components/schemas/ReadField"
              }
            }
          },
          "printed_payer_id": {
            "type": "object",
            "properties": {
              "printed": {
                "type": "boolean"
              },
              "published": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "value": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Shown only where a directory row lists it as an ID the payer publishes."
              },
              "words": {
                "type": "string"
              }
            }
          },
          "directory": {
            "type": "object",
            "properties": {
              "available": {
                "type": "boolean"
              },
              "matched": {
                "type": "boolean"
              },
              "matches": {
                "type": "array",
                "items": {
                  "type": "object",
                  "description": "A directory row, as GET /v1/payers/{id} answers it in short, with how it matched.",
                  "properties": {},
                  "additionalProperties": true
                }
              },
              "words": {
                "type": "string"
              },
              "scope": {
                "type": "string"
              },
              "payer_ids_are": {
                "type": "string"
              }
            },
            "additionalProperties": true
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "path": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            }
          },
          "mode": {
            "type": "string",
            "enum": [
              "test",
              "live"
            ]
          },
          "stored": {
            "type": "boolean",
            "const": false
          },
          "transmitted": {
            "type": "boolean",
            "const": false
          }
        }
      },
      "SandboxTimelineBody": {
        "type": "object",
        "description": "The claims as claims (or one as claim), with the run’s seed, start and the moment to read as of.",
        "required": [
          "seed",
          "start",
          "as_of"
        ],
        "properties": {
          "claim": {
            "$ref": "#/components/schemas/Claim"
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Claim"
            },
            "description": "At most 100.",
            "maxItems": 100
          },
          "seed": {
            "type": "string",
            "description": "Your own string for the run: the same seed, claims and start give the same run.",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[A-Za-z0-9_-]+$"
          },
          "start": {
            "type": "string",
            "description": "The simulated moment the file is sent: ISO 8601 with a time and a zone, 2000 to 2099.",
            "format": "date-time"
          },
          "as_of": {
            "type": "string",
            "description": "The simulated clock to read the run at; not before start.",
            "format": "date-time"
          },
          "cursor": {
            "type": "string",
            "description": "The next_cursor an earlier answer gave, unchanged."
          },
          "limit": {
            "type": "integer",
            "description": "Events a page holds. Left out: 100.",
            "minimum": 1,
            "maximum": 500
          },
          "format": {
            "type": "string",
            "description": "x12 (the default), report (the 277CAs and the 835 as JSON report fields), or both. The 999 is always X12.",
            "enum": [
              "x12",
              "report",
              "both"
            ]
          },
          "sender_id": {
            "type": "string",
            "description": "Left out: SUBMITTER.",
            "minLength": 2,
            "maxLength": 15
          },
          "receiver_id": {
            "type": "string",
            "description": "Left out: PWSANDBOX.",
            "minLength": 2,
            "maxLength": 15
          },
          "control_number": {
            "type": "integer",
            "description": "Left out: 1.",
            "minimum": 1,
            "maximum": 999999999
          },
          "usage": {
            "type": "string",
            "description": "The sandbox answers test interchanges only.",
            "enum": [
              "T"
            ]
          }
        }
      },
      "SandboxTimelineAnswer": {
        "type": "object",
        "properties": {
          "usage": {
            "type": "string",
            "const": "T"
          },
          "transmitted": {
            "type": "boolean",
            "const": false
          },
          "stored": {
            "type": "boolean",
            "const": false
          },
          "run_id": {
            "type": "string"
          },
          "start": {
            "type": "string",
            "format": "date-time"
          },
          "as_of": {
            "type": "string",
            "format": "date-time"
          },
          "format": {
            "type": "string",
            "enum": [
              "x12",
              "report",
              "both"
            ]
          },
          "schedule": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "stage": {
                  "type": "string",
                  "enum": [
                    "file_acknowledged",
                    "claims_received",
                    "payer_acknowledged",
                    "remittance"
                  ]
                },
                "kind": {
                  "type": "string"
                },
                "at": {
                  "type": "string",
                  "format": "date-time"
                },
                "file": {
                  "type": "boolean"
                },
                "events": {
                  "type": "integer"
                },
                "order": {
                  "type": "integer"
                }
              }
            }
          },
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "sequence": {
                  "type": "integer"
                },
                "at": {
                  "type": "string",
                  "format": "date-time"
                },
                "stage": {
                  "type": "string",
                  "enum": [
                    "file_acknowledged",
                    "claims_received",
                    "payer_acknowledged",
                    "remittance"
                  ]
                },
                "file_id": {
                  "type": "string"
                },
                "event": {
                  "type": "object",
                  "description": "The exact body a webhook posts; Payerworks posts none of them.",
                  "required": [
                    "id",
                    "type",
                    "created",
                    "mode",
                    "data"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "evt_ and hex. The same each time the same event is sent."
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "ping",
                        "sandbox.file.acknowledged",
                        "sandbox.claim.acknowledged",
                        "sandbox.remittance.received",
                        "enrollment.updated",
                        "enrollment.live",
                        "enrollment.rejected",
                        "enrollment.canceled",
                        "enrollment.ended",
                        "enrollment.task.assigned",
                        "enrollment.task.completed",
                        "enrollment.task.deleted",
                        "job.completed",
                        "job.failed",
                        "submission.file.acknowledged",
                        "submission.claim.acknowledged",
                        "submission.remittance.received"
                      ]
                    },
                    "created": {
                      "type": "integer",
                      "description": "Unix seconds."
                    },
                    "mode": {
                      "type": "string",
                      "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                      "enum": [
                        "test",
                        "live"
                      ]
                    },
                    "data": {
                      "type": "object",
                      "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                      "properties": {},
                      "additionalProperties": true
                    }
                  }
                }
              }
            }
          },
          "files": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "stage": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "at": {
                  "type": "string",
                  "format": "date-time"
                },
                "x12": {
                  "type": "string"
                },
                "report": {
                  "type": "object",
                  "description": "The file in report field names (format report or both).",
                  "properties": {},
                  "additionalProperties": true
                }
              }
            }
          },
          "claims_837p": {
            "type": "string",
            "description": "The 837P the run sent (first read only)."
          },
          "control": {
            "type": "object",
            "description": "First read only.",
            "properties": {
              "interchange": {
                "type": "string"
              },
              "group": {
                "type": "string"
              },
              "sets": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          "claims": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "reference": {
                  "type": "string"
                },
                "state": {
                  "type": "string",
                  "enum": [
                    "submitted",
                    "received",
                    "accepted",
                    "rejected",
                    "adjudicated"
                  ]
                },
                "outcome": {
                  "type": "string"
                },
                "paid": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "description": "Dollars, as stated; null when not stated (never 0 for a missing figure)."
                },
                "payer_claim_number": {
                  "type": "string"
                }
              }
            }
          },
          "checked": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "reference": {
                  "type": "string"
                },
                "warnings": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FieldProblem"
                  }
                },
                "repairs": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Repair"
                  }
                },
                "not_checked": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NotChecked"
                  }
                }
              }
            }
          },
          "next_cursor": {
            "type": "string",
            "description": "Pass as cursor with a later as_of."
          },
          "has_more": {
            "type": "boolean",
            "description": "More events are already due: read again before moving as_of."
          },
          "next_event_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "complete": {
            "type": "boolean"
          },
          "events_total": {
            "type": "integer"
          }
        }
      },
      "ClaimRule": {
        "type": "object",
        "description": "A rule is written as the fault: it fires when every condition and its own test hold.",
        "required": [
          "id",
          "field",
          "operator",
          "severity",
          "message"
        ],
        "properties": {
          "id": {
            "type": "string",
            "maxLength": 40
          },
          "payer_id": {
            "description": "The payer id, or a list of them, the rule applies to. Left out: every payer."
          },
          "scope": {
            "type": "string",
            "description": "A path ending in [] whose elements are tested one at a time; paths inside the rule are relative to it."
          },
          "when": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "field",
                "operator"
              ],
              "properties": {
                "field": {
                  "type": "string"
                },
                "operator": {
                  "type": "string",
                  "enum": [
                    "exists",
                    "absent",
                    "equals",
                    "not_equals",
                    "in",
                    "not_in",
                    "contains",
                    "not_contains",
                    "starts_with",
                    "ends_with",
                    "longer_than",
                    "shorter_than",
                    "gt",
                    "gte",
                    "lt",
                    "lte",
                    "before",
                    "after",
                    "matches",
                    "not_matches"
                  ]
                },
                "value": {}
              }
            },
            "description": "At most 5 conditions; all must hold.",
            "maxItems": 5
          },
          "field": {
            "type": "string",
            "description": "A path into the 837P JSON: names joined by dots, name[] for each element, name[n] for one.",
            "maxLength": 200
          },
          "operator": {
            "type": "string",
            "enum": [
              "exists",
              "absent",
              "equals",
              "not_equals",
              "in",
              "not_in",
              "contains",
              "not_contains",
              "starts_with",
              "ends_with",
              "longer_than",
              "shorter_than",
              "gt",
              "gte",
              "lt",
              "lte",
              "before",
              "after",
              "matches",
              "not_matches"
            ]
          },
          "value": {
            "description": "What the operator compares with: text, a number, a list, or a pattern in the small fixed format."
          },
          "severity": {
            "type": "string",
            "enum": [
              "error",
              "warning"
            ]
          },
          "message": {
            "type": "string",
            "description": "Your own words, said when the rule fires.",
            "maxLength": 300
          }
        }
      },
      "ClaimRulesBody": {
        "type": "object",
        "required": [
          "rules"
        ],
        "properties": {
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClaimRule"
            },
            "description": "At most 100.",
            "minItems": 1,
            "maxItems": 100
          },
          "claim": {
            "$ref": "#/components/schemas/Claim"
          },
          "claims": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Claim"
            },
            "description": "At most 100.",
            "maxItems": 100
          }
        }
      },
      "ClaimRulesAnswer": {
        "type": "object",
        "properties": {
          "valid": {
            "type": "boolean"
          },
          "rules": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "integer"
                },
                "id": {
                  "type": "string"
                },
                "valid": {
                  "type": "boolean"
                },
                "problems": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FieldProblem"
                  }
                }
              }
            }
          },
          "operators": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "exists",
                "absent",
                "equals",
                "not_equals",
                "in",
                "not_in",
                "contains",
                "not_contains",
                "starts_with",
                "ends_with",
                "longer_than",
                "shorter_than",
                "gt",
                "gte",
                "lt",
                "lte",
                "before",
                "after",
                "matches",
                "not_matches"
              ]
            }
          },
          "stored": {
            "type": "boolean",
            "const": false
          },
          "claims": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "integer"
                },
                "reference": {
                  "type": "string"
                },
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string",
                        "const": "caller_rule"
                      },
                      "rule_id": {
                        "type": "string"
                      },
                      "field": {
                        "type": "string"
                      },
                      "message": {
                        "type": "string"
                      },
                      "severity": {
                        "type": "string"
                      },
                      "source": {
                        "type": "string",
                        "const": "caller"
                      }
                    }
                  }
                },
                "warnings": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string",
                        "const": "caller_rule"
                      },
                      "rule_id": {
                        "type": "string"
                      },
                      "field": {
                        "type": "string"
                      },
                      "message": {
                        "type": "string"
                      },
                      "severity": {
                        "type": "string"
                      },
                      "source": {
                        "type": "string",
                        "const": "caller"
                      }
                    }
                  }
                },
                "not_checked": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "required": [
                      "rule_id",
                      "field",
                      "reason"
                    ],
                    "properties": {
                      "rule_id": {
                        "type": "string"
                      },
                      "field": {
                        "type": "string",
                        "description": "The field the rule tests, as written."
                      },
                      "reason": {
                        "type": "string",
                        "description": "step_budget (the call’s step budget ran out), values_per_path (a field the rule reads reaches too many values) or scope_elements (its scope checked only in part, said in checked).",
                        "enum": [
                          "step_budget",
                          "values_per_path",
                          "scope_elements"
                        ]
                      },
                      "checked": {
                        "type": "integer"
                      }
                    }
                  },
                  "description": "Each rule that could not be checked, and why: never passed."
                }
              }
            },
            "description": "Each claim sent, with the rules that fired on it (only when every rule is valid)."
          }
        }
      },
      "MrfCheckBody": {
        "type": "object",
        "description": "csv or json. At most 1990000 characters and 50000 rows a call: check a larger file in pieces.",
        "properties": {
          "csv": {
            "type": "string",
            "description": "The tall or wide CSV template’s text, its three header rows first."
          },
          "json": {
            "description": "The JSON file, as an object or its text."
          },
          "row_offset": {
            "type": "integer",
            "description": "A CSV piece: the rows of the whole file before its first data row.",
            "minimum": 0,
            "maximum": 1000000000
          }
        }
      },
      "MrfCheckAnswer": {
        "type": "object",
        "properties": {
          "valid": {
            "type": "boolean"
          },
          "format": {
            "type": "string",
            "enum": [
              "csv_tall",
              "csv_wide",
              "json"
            ]
          },
          "file_version": {
            "type": [
              "string",
              "null"
            ]
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "row": {
                  "type": "integer",
                  "description": "The file’s own row."
                },
                "path": {
                  "type": "string"
                },
                "item": {
                  "type": "integer"
                },
                "column": {
                  "type": "string"
                },
                "code": {
                  "type": "string"
                },
                "rule": {
                  "type": "string",
                  "description": "template, schema, csv_conditional_n or json_conditional_n."
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            },
            "description": "The first 1000."
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "row": {
                  "type": "integer"
                },
                "path": {
                  "type": "string"
                },
                "item": {
                  "type": "integer"
                },
                "column": {
                  "type": "string"
                },
                "code": {
                  "type": "string"
                },
                "rule": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                }
              },
              "additionalProperties": true
            },
            "description": "The first 200: our advice, never a fault."
          },
          "error_count": {
            "type": "integer"
          },
          "warning_count": {
            "type": "integer"
          },
          "truncated": {
            "type": "boolean"
          },
          "rows_checked": {
            "type": "integer"
          },
          "items_checked": {
            "type": "integer"
          },
          "payer_plans": {
            "type": "integer"
          },
          "template": {
            "type": "object",
            "description": "CMS’s template, by its repository, commit and the day read.",
            "properties": {
              "version": {
                "type": "string",
                "const": "3.0.0"
              }
            },
            "additionalProperties": true
          },
          "rules": {
            "type": "object",
            "description": "Each rule named by an error, in Payerworks’ words.",
            "properties": {},
            "additionalProperties": true
          },
          "hosted": {
            "type": "boolean",
            "const": false
          },
          "published": {
            "type": "boolean",
            "const": false
          },
          "stored": {
            "type": "boolean",
            "const": false
          }
        }
      },
      "WebhookDestinationBody": {
        "type": "object",
        "required": [
          "name",
          "url"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "1 to 80 characters.",
            "minLength": 1,
            "maxLength": 80
          },
          "url": {
            "type": "string",
            "description": "https, a hostname (not an IP address), the standard port, no user name or password.",
            "format": "uri",
            "maxLength": 500
          },
          "event_types": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string",
              "enum": [
                "ping",
                "sandbox.file.acknowledged",
                "sandbox.claim.acknowledged",
                "sandbox.remittance.received",
                "enrollment.updated",
                "enrollment.live",
                "enrollment.rejected",
                "enrollment.canceled",
                "enrollment.ended",
                "enrollment.task.assigned",
                "enrollment.task.completed",
                "enrollment.task.deleted",
                "job.completed",
                "job.failed",
                "submission.file.acknowledged",
                "submission.claim.acknowledged",
                "submission.remittance.received"
              ]
            },
            "description": "The event types it receives; empty, null or left out: every type. A ping always passes."
          },
          "enabled": {
            "type": "boolean",
            "description": "Left out on a new destination: true."
          },
          "concurrency": {
            "type": "integer",
            "description": "How many deliveries it takes at once. Left out: 2.",
            "minimum": 1,
            "maximum": 10
          }
        }
      },
      "WebhookDestinationUpdateBody": {
        "type": "object",
        "description": "Only the fields you send change.",
        "properties": {
          "name": {
            "type": "string",
            "description": "1 to 80 characters.",
            "minLength": 1,
            "maxLength": 80
          },
          "url": {
            "type": "string",
            "description": "https, a hostname (not an IP address), the standard port, no user name or password.",
            "format": "uri",
            "maxLength": 500
          },
          "event_types": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string",
              "enum": [
                "ping",
                "sandbox.file.acknowledged",
                "sandbox.claim.acknowledged",
                "sandbox.remittance.received",
                "enrollment.updated",
                "enrollment.live",
                "enrollment.rejected",
                "enrollment.canceled",
                "enrollment.ended",
                "enrollment.task.assigned",
                "enrollment.task.completed",
                "enrollment.task.deleted",
                "job.completed",
                "job.failed",
                "submission.file.acknowledged",
                "submission.claim.acknowledged",
                "submission.remittance.received"
              ]
            },
            "description": "The event types it receives; empty, null or left out: every type. A ping always passes."
          },
          "enabled": {
            "type": "boolean",
            "description": "Left out on a new destination: true."
          },
          "concurrency": {
            "type": "integer",
            "description": "How many deliveries it takes at once. Left out: 2.",
            "minimum": 1,
            "maximum": 10
          },
          "rotate": {
            "type": "boolean",
            "description": "True for a new signing secret, shown once."
          },
          "overlap_hours": {
            "type": "integer",
            "description": "How long the old secret is still accepted after a rotation, in hours. Left out: 24.",
            "minimum": 0,
            "maximum": 720
          }
        }
      },
      "WebhookDestination": {
        "type": "object",
        "required": [
          "id",
          "name",
          "url",
          "event_types",
          "enabled",
          "concurrency",
          "secret_last_four"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "wd_ and 16 hexadecimal characters."
          },
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "event_types": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "ping",
                "sandbox.file.acknowledged",
                "sandbox.claim.acknowledged",
                "sandbox.remittance.received",
                "enrollment.updated",
                "enrollment.live",
                "enrollment.rejected",
                "enrollment.canceled",
                "enrollment.ended",
                "enrollment.task.assigned",
                "enrollment.task.completed",
                "enrollment.task.deleted",
                "job.completed",
                "job.failed",
                "submission.file.acknowledged",
                "submission.claim.acknowledged",
                "submission.remittance.received"
              ]
            },
            "description": "Empty: every type."
          },
          "enabled": {
            "type": "boolean"
          },
          "concurrency": {
            "type": "integer"
          },
          "secret_last_four": {
            "type": "string"
          },
          "previous_secret_expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "disabled_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "disabled_reason": {
            "type": [
              "string",
              "null"
            ],
            "description": "retries_exhausted, when Payerworks disabled it."
          },
          "failing_since": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "notices": {
            "type": "array",
            "items": {
              "type": "object",
              "description": "A notice sent about it: when, and which.",
              "properties": {},
              "additionalProperties": true
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "secret": {
            "type": "string",
            "description": "whsec_ and the secret: only in the answer that made it (the create, or rotate: true)."
          }
        }
      },
      "WebhookDestinationList": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebhookDestination"
            },
            "description": "At most 10."
          }
        }
      },
      "WebhookDestinationDeleted": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "deleted": {
            "type": "boolean",
            "const": true
          }
        }
      },
      "DestinationQueued": {
        "type": "object",
        "properties": {
          "queued": {
            "type": "boolean",
            "const": true
          },
          "event_id": {
            "type": "string"
          },
          "destination_id": {
            "type": "string"
          }
        }
      },
      "DestinationDelivery": {
        "type": "object",
        "properties": {
          "event_id": {
            "type": "string"
          },
          "event_type": {
            "type": "string",
            "enum": [
              "ping",
              "sandbox.file.acknowledged",
              "sandbox.claim.acknowledged",
              "sandbox.remittance.received",
              "enrollment.updated",
              "enrollment.live",
              "enrollment.rejected",
              "enrollment.canceled",
              "enrollment.ended",
              "enrollment.task.assigned",
              "enrollment.task.completed",
              "enrollment.task.deleted",
              "job.completed",
              "job.failed",
              "submission.file.acknowledged",
              "submission.claim.acknowledged",
              "submission.remittance.received"
            ]
          },
          "destination_id": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "state": {
            "type": "string",
            "description": "scheduled: failed, with the next automatic attempt’s time.",
            "enum": [
              "pending",
              "scheduled",
              "delivered",
              "failed"
            ]
          },
          "attempts": {
            "type": "integer"
          },
          "next_attempt_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "last_attempt_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "last_status": {
            "type": [
              "integer",
              "null"
            ],
            "description": "What your server answered; null when it gave no answer."
          },
          "last_error": {
            "type": [
              "string",
              "null"
            ]
          },
          "delivered_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "DestinationDeliveryList": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DestinationDelivery"
            },
            "description": "Newest first."
          },
          "has_more": {
            "type": "boolean"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Pass as starting_after."
          }
        }
      },
      "EventAttempts": {
        "type": "object",
        "properties": {
          "event_id": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "event_id": {
                  "type": "string"
                },
                "destination_id": {
                  "type": "string"
                },
                "number": {
                  "type": "integer"
                },
                "type": {
                  "type": "string",
                  "enum": [
                    "automatic",
                    "manual"
                  ]
                },
                "delivered": {
                  "type": "boolean"
                },
                "status": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "error": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "description": "Each post: its headers carry Payerworks-Attempt-Number, Payerworks-Attempt-Type, Payerworks-Destination-Id."
          }
        }
      },
      "ContactBody": {
        "type": "object",
        "required": [
          "email"
        ],
        "properties": {
          "email": {
            "type": [
              "string",
              "null"
            ],
            "description": "The address that asked for the account’s test key by email, any case; null removes it. At most 254 characters. Any other address is refused 403 contact_not_proved.",
            "maxLength": 254
          }
        }
      },
      "ContactAnswer": {
        "type": "object",
        "properties": {
          "email": {
            "type": [
              "string",
              "null"
            ]
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          }
        }
      },
      "KeyBody": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "1 to 80 characters.",
            "minLength": 1,
            "maxLength": 80
          },
          "expires_in_days": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Left out: it does not expire.",
            "minimum": 1,
            "maximum": 365
          }
        }
      },
      "RotateBody": {
        "type": "object",
        "properties": {
          "overlap_hours": {
            "type": "integer",
            "description": "How long the old secret is still accepted after a rotation, in hours. Left out: 24.",
            "minimum": 0,
            "maximum": 720
          }
        }
      },
      "AccountKey": {
        "type": "object",
        "required": [
          "key_id",
          "name",
          "mode",
          "last_four",
          "created_at",
          "current"
        ],
        "properties": {
          "key_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "mode": {
            "type": "string",
            "enum": [
              "test",
              "live"
            ]
          },
          "last_four": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "expired": {
            "type": "boolean"
          },
          "revoked_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "rotated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "previous_secret_accepted_until": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "current": {
            "type": "boolean",
            "description": "True for the key this call was made with."
          },
          "key": {
            "type": "string",
            "description": "pw_test_ or pw_live_ and the secret: only in the answer that made it (POST /v1/keys, or a rotation)."
          },
          "overlap_hours": {
            "type": "integer"
          }
        }
      },
      "AccountKeyList": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "string",
            "description": "The account: the keys one key started."
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountKey"
            }
          }
        }
      },
      "McpMessage": {
        "type": "object",
        "description": "One JSON-RPC message (MCP Streamable HTTP, revision 2026-07-28, and the 2025 handshakes): one JSON answer, never a stream.",
        "required": [
          "jsonrpc",
          "method"
        ],
        "properties": {
          "jsonrpc": {
            "type": "string",
            "const": "2.0"
          },
          "id": {
            "description": "A number or a string; left out for a notification (answered 202, empty)."
          },
          "method": {
            "type": "string"
          },
          "params": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          }
        }
      },
      "McpAnswer": {
        "type": "object",
        "properties": {
          "jsonrpc": {
            "type": "string",
            "const": "2.0"
          },
          "id": {},
          "result": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          },
          "error": {
            "type": "object",
            "description": "A JSON-RPC error: never the API’s error shape.",
            "properties": {},
            "additionalProperties": true
          }
        }
      },
      "RedeliverBody": {
        "type": "object",
        "properties": {
          "destination_id": {
            "type": "string",
            "description": "Send it to this webhook destination instead of your account webhook, as a manual attempt that starts its retries again."
          }
        }
      },
      "ImportBody": {
        "type": "object",
        "required": [
          "csv"
        ],
        "properties": {
          "csv": {
            "type": "string",
            "description": "The template’s header and up to 100 rows; at most 500000 characters, 600 a cell.",
            "maxLength": 500000
          }
        }
      },
      "ImportRow": {
        "type": "object",
        "properties": {
          "row": {
            "type": "integer"
          },
          "line": {
            "type": "integer",
            "description": "The line of the file."
          },
          "provider": {
            "type": [
              "object",
              "null"
            ],
            "properties": {},
            "additionalProperties": true
          },
          "enrollment": {
            "type": [
              "object",
              "null"
            ],
            "properties": {},
            "additionalProperties": true
          },
          "problems": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string"
                },
                "field": {
                  "type": "string"
                },
                "message": {
                  "type": "string"
                },
                "column": {
                  "type": "string",
                  "description": "The CSV column at fault."
                }
              },
              "additionalProperties": true
            }
          },
          "warnings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          },
          "npi_registry": {
            "type": [
              "object",
              "null"
            ],
            "description": "What the NPI registry holds for the NPI (a live key only): found, holds no active record, or could not be asked.",
            "properties": {},
            "additionalProperties": true
          },
          "result": {
            "type": "string",
            "enum": [
              "ready",
              "created",
              "invalid",
              "duplicate",
              "refused",
              "not_run"
            ]
          },
          "duplicate_of_row": {
            "type": "integer"
          },
          "duplicate_of": {
            "type": "string"
          },
          "error": {
            "type": "object",
            "properties": {},
            "additionalProperties": true
          }
        }
      },
      "ImportCheckAnswer": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "const": "enrollment_import_check"
          },
          "saved": {
            "type": "boolean",
            "const": false,
            "description": "Nothing was saved."
          },
          "rows": {
            "type": "integer"
          },
          "results": {
            "type": "object",
            "description": "How many rows ended each way.",
            "properties": {},
            "additionalProperties": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportRow"
            }
          }
        }
      },
      "ImportAnswer": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "const": "enrollment_import"
          },
          "saved": {
            "type": "boolean"
          },
          "rows": {
            "type": "integer"
          },
          "results": {
            "type": "object",
            "description": "How many rows ended each way.",
            "properties": {},
            "additionalProperties": true
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ImportRow"
            }
          },
          "not_run_from_row": {
            "type": "integer",
            "description": "The first row not started in time: send it and the rows after it again."
          }
        }
      },
      "ExportAnswer": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "const": "enrollment_export"
          },
          "content_type": {
            "type": "string",
            "const": "text/csv"
          },
          "filename": {
            "type": "string"
          },
          "row_count": {
            "type": "integer",
            "maximum": 5000
          },
          "columns": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "id",
                "status",
                "waiting_on",
                "reason_code",
                "provider_id",
                "provider_name",
                "npi",
                "tax_id_last_four",
                "payer_id",
                "payer_name",
                "transaction",
                "x12",
                "notify_email",
                "requested_effective_date",
                "era_aggregation",
                "ptan",
                "open_tasks",
                "payer_reference",
                "created_at",
                "updated_at",
                "submitted_at",
                "status_changed_at",
                "sent_to_payer_at",
                "live_at",
                "ended_at"
              ]
            }
          },
          "csv": {
            "type": "string",
            "description": "The CSV’s text: a cell a spreadsheet would run as a formula starts with an apostrophe."
          }
        }
      },
      "DurationFigure": {
        "type": "object",
        "properties": {
          "n": {
            "type": "integer",
            "description": "Finished stays."
          },
          "open": {
            "type": "integer",
            "description": "Stays still open: counted, never measured."
          },
          "enough": {
            "type": "boolean",
            "description": "True from 5 finished stays."
          },
          "median_hours": {
            "type": [
              "number",
              "null"
            ]
          },
          "p25_hours": {
            "type": [
              "number",
              "null"
            ]
          },
          "p75_hours": {
            "type": [
              "number",
              "null"
            ]
          },
          "words": {
            "type": "string"
          }
        }
      },
      "DurationsAnswer": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "const": "enrollment_durations"
          },
          "basis": {
            "type": "string"
          },
          "floor": {
            "type": "integer",
            "const": 5
          },
          "as_of": {
            "type": "string",
            "format": "date-time"
          },
          "statuses": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "payer": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  }
                },
                "transaction": {
                  "type": "string",
                  "enum": [
                    "eligibility",
                    "claim_status",
                    "professional_claims",
                    "remittances"
                  ]
                },
                "requests": {
                  "type": "integer"
                },
                "submitted_to_live": {
                  "$ref": "#/components/schemas/DurationFigure"
                },
                "in_status": {
                  "type": "object",
                  "additionalProperties": {
                    "$ref": "#/components/schemas/DurationFigure"
                  },
                  "description": "Each waiting status, by name."
                }
              }
            }
          }
        }
      },
      "SftpBody": {
        "type": "object",
        "properties": {
          "acknowledgment_999": {
            "type": "string",
            "description": "When a 999 is written for a file you drop. Left out on a new user: errors_only.",
            "enum": [
              "always",
              "errors_only",
              "never"
            ]
          }
        }
      },
      "SshKey": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "key- and 17 lowercase hexadecimal characters."
          },
          "algorithm": {
            "type": "string"
          },
          "fingerprint": {
            "type": "string",
            "description": "SHA256:, as ssh-keygen -lf shows it."
          },
          "added_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "SftpUser": {
        "type": "object",
        "properties": {
          "user_name": {
            "type": "string"
          },
          "host": {
            "type": "string"
          },
          "port": {
            "type": "integer"
          },
          "mode": {
            "type": "string",
            "enum": [
              "test",
              "live"
            ]
          },
          "folders": {
            "type": "object",
            "properties": {
              "inbound": {
                "type": "string"
              },
              "outbound": {
                "type": "string"
              }
            }
          },
          "receiver": {
            "type": "object",
            "description": "What a dropped file’s ISA07, ISA08 and ISA15 must say.",
            "properties": {
              "qualifier": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "usage_indicator": {
                "type": "string",
                "enum": [
                  "T",
                  "P"
                ]
              }
            }
          },
          "acknowledgment_999": {
            "type": "string",
            "enum": [
              "always",
              "errors_only",
              "never"
            ]
          },
          "reads": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "max_file_bytes": {
            "type": "integer"
          },
          "ssh_keys": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SshKey"
            },
            "description": "At most 10."
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          },
          "retention": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "What is kept, and for how long."
          },
          "transmits": {
            "type": "boolean",
            "const": false
          }
        }
      },
      "SshKeyBody": {
        "type": "object",
        "required": [
          "public_key"
        ],
        "properties": {
          "public_key": {
            "type": "string",
            "description": "One OpenSSH public key line, as the .pub file holds it."
          }
        }
      },
      "SftpDeleted": {
        "type": "object",
        "properties": {
          "deleted": {
            "type": "boolean",
            "const": true
          },
          "note": {
            "type": "string"
          },
          "retention": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "JobBody": {
        "type": "object",
        "required": [
          "route"
        ],
        "properties": {
          "route": {
            "type": "string",
            "description": "The one route the job runs.",
            "enum": [
              "POST /v1/claims/validate",
              "POST /v1/claims/837p",
              "POST /v1/remittances/explain",
              "POST /v1/eligibility/explain",
              "POST /v1/claim-status/explain",
              "POST /v1/analytics/summary",
              "POST /v1/remittances/variance",
              "POST /v1/claims/track",
              "POST /v1/eligibility/270"
            ]
          },
          "query": {
            "type": "string",
            "description": "The query string every call carries, without the leading ?."
          }
        }
      },
      "JobUpload": {
        "type": "object",
        "description": "A signed upload form for the job’s one file, good for 60 minutes.",
        "properties": {
          "method": {
            "type": "string",
            "const": "POST"
          },
          "url": {
            "type": "string",
            "description": "The storage address the form is posted to."
          },
          "fields": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Every field, as given, before the file."
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "max_bytes": {
            "type": "integer",
            "const": 50000000
          },
          "content_type": {
            "type": "string",
            "const": "application/json"
          },
          "file_field": {
            "type": "string",
            "const": "file"
          }
        }
      },
      "Job": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "job_ and 24 lowercase hexadecimal characters."
          },
          "object": {
            "type": "string",
            "const": "job"
          },
          "route": {
            "type": "string"
          },
          "query": {
            "type": "string"
          },
          "mode": {
            "type": "string",
            "enum": [
              "test",
              "live"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "awaiting_upload",
              "running",
              "completed",
              "partial",
              "failed",
              "canceled",
              "expired"
            ]
          },
          "status_words": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "started_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "finished_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "upload": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/JobUpload"
              },
              {
                "type": "null"
              }
            ]
          },
          "calls": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "total": {
                "type": "integer"
              },
              "answered": {
                "type": "integer"
              },
              "not_run": {
                "type": "integer"
              },
              "not_run_from": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "not_run_reason": {
                "type": [
                  "string",
                  "null"
                ],
                "enum": [
                  "run_seconds",
                  "result_bytes",
                  null
                ]
              },
              "by_status": {
                "type": "object",
                "additionalProperties": {
                  "type": "integer"
                }
              }
            }
          },
          "result": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "url": {
                "type": "string",
                "description": "Good for 15 minutes."
              },
              "url_expires_at": {
                "type": "string",
                "format": "date-time"
              },
              "bytes": {
                "type": "integer"
              },
              "sha256": {
                "type": "string"
              },
              "content_type": {
                "type": "string",
                "const": "application/json"
              }
            }
          },
          "result_kept_until": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "error": {
            "type": [
              "object",
              "null"
            ],
            "properties": {
              "code": {
                "type": "string",
                "enum": [
                  "job_file_not_json",
                  "job_file_shape",
                  "job_too_many_calls",
                  "job_too_many_requests",
                  "job_file_too_large",
                  "job_key_not_usable",
                  "job_stopped",
                  "job_internal",
                  "job_result_too_large",
                  "job_270_too_many_segments",
                  "job_not_started"
                ]
              },
              "message": {
                "type": "string"
              }
            },
            "additionalProperties": true
          },
          "cancel_requested": {
            "type": "boolean",
            "description": "Present while a cancel waits for the run to stop."
          },
          "kept": {
            "type": "string",
            "description": "A job keeps your request file until the job finishes, then deletes it, and keeps the result for 24 hours after the job finishes, fetched by a signed link; after that the job is gone and the files are deleted from storage in the day or so after. Every other route answers and keeps nothing."
          },
          "stored": {
            "type": "boolean",
            "const": true
          },
          "transmitted": {
            "type": "boolean",
            "const": false
          }
        }
      },
      "JobList": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Job"
            },
            "description": "At most 100, newest first."
          },
          "kept": {
            "type": "string",
            "description": "A job keeps your request file until the job finishes, then deletes it, and keeps the result for 24 hours after the job finishes, fetched by a signed link; after that the job is gone and the files are deleted from storage in the day or so after. Every other route answers and keeps nothing."
          }
        }
      },
      "JobDeleted": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "deleted": {
            "type": "boolean",
            "const": true
          },
          "kept": {
            "type": "string",
            "description": "A job keeps your request file until the job finishes, then deletes it, and keeps the result for 24 hours after the job finishes, fetched by a signed link; after that the job is gone and the files are deleted from storage in the day or so after. Every other route answers and keeps nothing."
          }
        }
      },
      "InformationRequestExplainBody": {
        "type": "object",
        "required": [
          "x12"
        ],
        "properties": {
          "x12": {
            "type": "string",
            "description": "A 277 request for additional information (005010X213), envelope included: at most 500 claims and 5000 requested codes."
          },
          "today": {
            "type": "string",
            "description": "YYYY-MM-DD: your own today, to count the days to the due day by. Left out: today in UTC."
          }
        }
      },
      "InformationRequestExplainAnswer": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "const": "277RFAI"
          },
          "version": {
            "type": "string"
          },
          "usage": {
            "type": [
              "string",
              "null"
            ]
          },
          "created": {
            "type": [
              "string",
              "null"
            ],
            "description": "YYYY-MM-DD, or empty when not stated."
          },
          "reference": {
            "type": [
              "string",
              "null"
            ]
          },
          "today": {
            "type": "string",
            "description": "YYYY-MM-DD, or empty when not stated."
          },
          "claims": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "integer"
                },
                "trace": {
                  "type": "string",
                  "description": "The payer’s trace: the solicited 275 carries it on every attachment."
                },
                "trace_type": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "payer": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "additionalProperties": true
                },
                "receiver": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "id_qualifier": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  }
                },
                "provider": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "entity": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "last_name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "first_name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "id_qualifier": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  }
                },
                "patient": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "entity": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "last_name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "first_name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "id_qualifier": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  }
                },
                "payer_claim_number": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "patient_control_number": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "service_date": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "YYYY-MM-DD, or empty when not stated."
                },
                "service_date_end": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "YYYY-MM-DD, or empty when not stated."
                },
                "references": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "qualifier": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      },
                      "words": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                "dates": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "qualifier": {
                        "type": "string"
                      },
                      "format": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      },
                      "words": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                },
                "due": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "properties": {
                    "date": {
                      "type": "string",
                      "description": "YYYY-MM-DD, or empty when not stated."
                    },
                    "source": {
                      "type": "string"
                    },
                    "days_left": {
                      "type": "integer"
                    },
                    "overdue": {
                      "type": "boolean"
                    },
                    "words": {
                      "type": "string"
                    }
                  }
                },
                "requests": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "level": {
                        "type": "string",
                        "enum": [
                          "claim",
                          "line"
                        ]
                      },
                      "line_index": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      },
                      "element": {
                        "type": "string",
                        "description": "STC01, STC10 or STC11."
                      },
                      "written": {
                        "type": "string",
                        "description": "The composite as the payer wrote it."
                      },
                      "category": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "words": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "known": {
                            "type": "boolean"
                          }
                        }
                      },
                      "loinc": {
                        "type": [
                          "object",
                          "null"
                        ],
                        "description": "The LOINC code, valid and known, with LOINC’s own names and notice where it is in the table; known: false where Payerworks has no words for it.",
                        "properties": {},
                        "additionalProperties": true
                      },
                      "code": {
                        "type": "string"
                      },
                      "code_is_loinc": {
                        "type": "boolean"
                      },
                      "entity": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "code_list_qualifier": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "effective_date": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "YYYY-MM-DD, or empty when not stated."
                      },
                      "words": {
                        "type": "string"
                      }
                    }
                  },
                  "description": "What the payer asks for about the claim."
                },
                "lines": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true
                  },
                  "description": "Each service line the payer asks about, with its own requests."
                },
                "response_contact": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "The payer’s response contact (PER) as the request wrote it.",
                  "properties": {},
                  "additionalProperties": true
                },
                "payer_contact": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "description": "The same contact, in the shape request.payer_contact takes.",
                  "properties": {},
                  "additionalProperties": true
                },
                "response_275": {
                  "type": "object",
                  "description": "The solicited 275 that answers this claim’s requests: every value it must carry.",
                  "properties": {
                    "bgn01": {
                      "type": "string",
                      "const": "11"
                    },
                    "trn01": {
                      "type": "string",
                      "const": "2"
                    },
                    "trn02": {
                      "type": "string"
                    },
                    "ref_ej": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "submitter_id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "payer": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "id": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      },
                      "additionalProperties": true
                    },
                    "payer_contact": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "properties": {},
                      "additionalProperties": true
                    },
                    "provider": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "properties": {
                        "entity": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "last_name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "first_name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "id_qualifier": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "id": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    },
                    "patient": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "properties": {
                        "last_name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "first_name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "member_id": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      }
                    },
                    "request": {
                      "type": "object",
                      "description": "The request POST /v1/attachments/275 takes.",
                      "properties": {
                        "trace": {
                          "type": "string"
                        },
                        "stc01": {
                          "type": "string"
                        },
                        "patient_control_number": {
                          "type": "string"
                        },
                        "submitter_id": {
                          "type": "string"
                        },
                        "payer_contact": {
                          "type": "object",
                          "properties": {},
                          "additionalProperties": true
                        }
                      }
                    },
                    "attachments": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "control_number": {
                            "type": "string"
                          },
                          "stc01": {
                            "type": "string"
                          },
                          "loinc": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "document": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "content_type": {
                            "type": "null"
                          },
                          "content_base64": {
                            "type": "null"
                          },
                          "line_control_number": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "One per code asked: fill in content_type and content_base64."
                    },
                    "sender_id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "receiver_id": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "cannot_answer": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": true
                      },
                      "description": "A requested code no attachment can echo, with why."
                    },
                    "words": {
                      "type": "string"
                    }
                  }
                },
                "words": {
                  "type": "string"
                }
              }
            }
          },
          "requests": {
            "type": "integer"
          },
          "shape": {
            "type": "object",
            "properties": {
              "verified": {
                "type": "boolean",
                "const": false
              },
              "words": {
                "type": "string"
              }
            }
          },
          "loinc_notice": {
            "type": "string"
          },
          "today_source": {
            "type": "string"
          },
          "reads": {
            "type": "string"
          }
        }
      },
      "AttachmentResponseCheckBody": {
        "type": "object",
        "required": [
          "x12",
          "x12_275"
        ],
        "properties": {
          "x12": {
            "type": "string",
            "description": "The 277 request for additional information the 275s answer."
          },
          "x12_275": {
            "description": "The solicited 275 to check: the file’s text, or a list of at most 10.",
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "maxItems": 10
              }
            ]
          },
          "today": {
            "type": "string",
            "description": "YYYY-MM-DD: your own today. Left out: today in UTC."
          }
        }
      },
      "AttachmentResponseCheckAnswer": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "const": "277RFAI"
          },
          "today": {
            "type": "string",
            "description": "YYYY-MM-DD, or empty when not stated."
          },
          "today_source": {
            "type": "string"
          },
          "answers_every_request": {
            "type": "boolean"
          },
          "claims": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "index": {
                  "type": "integer"
                },
                "trace": {
                  "type": "string"
                },
                "patient_control_number": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "asked": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "answered": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "missing": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "missing_requests": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "code": {
                        "type": "string"
                      },
                      "level": {
                        "type": "string",
                        "enum": [
                          "claim",
                          "line"
                        ]
                      },
                      "line_control_number": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  },
                  "description": "Each request not yet answered by a 275 set with no errors, read across every 275 sent: a line’s request names the line (REF*FJ)."
                },
                "answered_by": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "file": {
                        "type": "integer"
                      },
                      "set": {
                        "type": "integer"
                      },
                      "answers": {
                        "type": "boolean",
                        "description": "True when that set has no error of its own, so its codes count."
                      }
                    }
                  }
                },
                "complete": {
                  "type": "boolean"
                },
                "words": {
                  "type": "string"
                }
              }
            }
          },
          "files": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "file": {
                  "type": "string"
                },
                "sets": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "index": {
                        "type": "integer"
                      },
                      "st_control": {
                        "type": "string"
                      },
                      "trace": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "claim_index": {
                        "type": [
                          "integer",
                          "null"
                        ]
                      },
                      "answers": {
                        "type": "boolean"
                      },
                      "errors": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/FieldProblem"
                        }
                      },
                      "warnings": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/FieldProblem"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "shape": {
            "type": "object",
            "properties": {
              "verified": {
                "type": "boolean",
                "const": false
              },
              "words": {
                "type": "string"
              }
            }
          },
          "reads": {
            "type": "string"
          },
          "loinc_notice": {
            "type": "string",
            "description": "LOINC’s notice, whenever the answer names a LOINC code."
          }
        }
      },
      "OrgYou": {
        "type": "object",
        "properties": {
          "member_id": {
            "type": "string",
            "description": "pwm_ and 16 lowercase hexadecimal characters."
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "developer",
              "viewer"
            ]
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "org.read",
                "org.update",
                "members.read",
                "members.invite",
                "members.change_role",
                "members.remove",
                "keys.read",
                "keys.write_test",
                "keys.write_live",
                "webhooks.read",
                "webhooks.write_test",
                "webhooks.write_live",
                "events.read",
                "enrollments.read",
                "enrollments.write_test",
                "enrollments.write_live",
                "sftp.read",
                "sftp.write_test",
                "sftp.write_live",
                "contact.write",
                "usage.read",
                "audit.read"
              ]
            },
            "description": "What your role lets you do."
          }
        }
      },
      "Organization": {
        "type": "object",
        "required": [
          "org_id",
          "name",
          "account_id",
          "owners",
          "members",
          "key_management",
          "created_at",
          "you"
        ],
        "properties": {
          "org_id": {
            "type": "string",
            "description": "pwo_ and 24 lowercase hexadecimal characters."
          },
          "name": {
            "type": "string",
            "description": "1 to 80 characters."
          },
          "account_id": {
            "type": "string",
            "description": "The account it manages: the keys one key started."
          },
          "owners": {
            "type": "integer"
          },
          "members": {
            "type": "integer"
          },
          "key_management": {
            "type": "string",
            "description": "keys_and_members: An API key of the account may still make, rotate and revoke the account's keys, as before the organization; members may too. members_only: Only a signed-in member with the role for it makes, rotates and revokes the account's keys; an API key is refused (keys_managed_by_members).",
            "enum": [
              "keys_and_members",
              "members_only"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "you": {
            "$ref": "#/components/schemas/OrgYou"
          },
          "pending_invitations": {
            "type": "integer",
            "description": "GET /v1/org only: invitations not yet accepted or canceled."
          },
          "kept": {
            "type": "string",
            "description": "An organization is kept while it exists: its name, its members (each sign-in's email address, name and role) and its pending invitations (an email address and a role, for 7 days). Never a claim, a patient or the body of a call."
          }
        }
      },
      "OrgCreateBody": {
        "type": "object",
        "required": [
          "name",
          "api_key"
        ],
        "properties": {
          "name": {
            "type": "string",
            "description": "1 to 80 characters.",
            "minLength": 1,
            "maxLength": 80
          },
          "api_key": {
            "type": "string",
            "description": "One usable key of the account, pw_test_ or pw_live_: it proves the account, and is checked and not kept."
          }
        }
      },
      "OrgUpdateBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "1 to 80 characters.",
            "minLength": 1,
            "maxLength": 80
          },
          "key_management": {
            "type": "string",
            "description": "An owner’s choice.",
            "enum": [
              "keys_and_members",
              "members_only"
            ]
          }
        }
      },
      "OrgMemberships": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "org_id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "role": {
                  "type": "string",
                  "enum": [
                    "owner",
                    "admin",
                    "developer",
                    "viewer"
                  ]
                },
                "member_id": {
                  "type": "string"
                }
              }
            },
            "description": "At most 20."
          }
        }
      },
      "OrgMember": {
        "type": "object",
        "required": [
          "member_id",
          "email",
          "role",
          "joined_at"
        ],
        "properties": {
          "member_id": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "description": "The sign-in’s verified email address."
          },
          "name": {
            "type": "string",
            "description": "At most 120 characters."
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "developer",
              "viewer"
            ]
          },
          "joined_at": {
            "type": "string",
            "format": "date-time"
          },
          "invited_by": {
            "type": [
              "string",
              "null"
            ],
            "description": "The member who invited them; null for the one who made the organization."
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ],
            "format": "date-time"
          },
          "you": {
            "type": "boolean",
            "description": "True for the member asking."
          }
        }
      },
      "OrgMemberList": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrgMember"
            },
            "description": "At most 200."
          }
        }
      },
      "OrgRoleBody": {
        "type": "object",
        "required": [
          "role"
        ],
        "properties": {
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "developer",
              "viewer"
            ]
          }
        }
      },
      "OrgMemberRemoved": {
        "type": "object",
        "properties": {
          "removed": {
            "$ref": "#/components/schemas/OrgMember"
          },
          "left": {
            "type": "boolean",
            "description": "True when the member removed themselves."
          },
          "keys_made": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "description": "The keys the member made in the console; null when they could not be read (keys_note says so)."
          },
          "keys_rotated": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "description": "The keys the member rotated in the console without making them; null when they could not be read."
          },
          "keys_revoked": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Revoked by this removal, as an owner asked (revoke_keys=true): made or rotated."
          },
          "keys_not_revoked": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Asked to be revoked (revoke_keys=true) and still working: the revocation failed, or the key was past the 25 one removal revokes. Revoke each with DELETE /v1/keys/{id}."
          },
          "keys_note": {
            "type": "string",
            "description": "Present only when the member was removed but their keys could not be read: what to do next."
          }
        }
      },
      "OrgInvitation": {
        "type": "object",
        "required": [
          "invitation_id",
          "email",
          "role",
          "created_at",
          "expires_at"
        ],
        "properties": {
          "invitation_id": {
            "type": "string",
            "description": "pwi_ and 16 lowercase hexadecimal characters."
          },
          "email": {
            "type": "string"
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "developer",
              "viewer"
            ]
          },
          "invited_by": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "expired": {
            "type": "boolean",
            "description": "The link works for 7 days."
          },
          "emailed": {
            "type": "boolean",
            "description": "POST only: whether the email went."
          },
          "join_url": {
            "type": "string",
            "description": "POST only, when the email did not go: the link to hand to the person yourself."
          },
          "canceled": {
            "type": "boolean",
            "const": true,
            "description": "DELETE only."
          }
        }
      },
      "OrgInvitationList": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrgInvitation"
            },
            "description": "At most 50 waiting."
          }
        }
      },
      "OrgInviteBody": {
        "type": "object",
        "required": [
          "email",
          "role"
        ],
        "properties": {
          "email": {
            "type": "string",
            "description": "The person’s email address. The link works only for a sign-in at this verified address.",
            "maxLength": 254
          },
          "role": {
            "type": "string",
            "enum": [
              "owner",
              "admin",
              "developer",
              "viewer"
            ]
          }
        }
      },
      "OrgJoinBody": {
        "type": "object",
        "required": [
          "token"
        ],
        "properties": {
          "token": {
            "type": "string",
            "description": "The token from the invitation’s link: the part after #join=.",
            "pattern": "^[A-Za-z0-9_-]{43}$"
          }
        }
      },
      "OrgJoined": {
        "type": "object",
        "properties": {
          "organization": {
            "$ref": "#/components/schemas/Organization"
          },
          "member": {
            "$ref": "#/components/schemas/OrgMember"
          }
        }
      },
      "OrgKeyList": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "string"
          },
          "data": {
            "type": "array",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/AccountKey"
                },
                {
                  "type": "object",
                  "properties": {
                    "made_by": {
                      "type": "object",
                      "properties": {
                        "kind": {
                          "type": "string",
                          "enum": [
                            "member",
                            "key"
                          ]
                        },
                        "id": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "The member or key that made it; null when no record says."
                        }
                      }
                    }
                  }
                }
              ]
            },
            "description": "Every key of the account, test and live; never a key itself."
          }
        }
      },
      "RoleTable": {
        "type": "object",
        "properties": {
          "roles": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "role": {
                  "type": "string",
                  "enum": [
                    "owner",
                    "admin",
                    "developer",
                    "viewer"
                  ]
                },
                "words": {
                  "type": "string"
                },
                "permissions": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "org.read",
                      "org.update",
                      "members.read",
                      "members.invite",
                      "members.change_role",
                      "members.remove",
                      "keys.read",
                      "keys.write_test",
                      "keys.write_live",
                      "webhooks.read",
                      "webhooks.write_test",
                      "webhooks.write_live",
                      "events.read",
                      "enrollments.read",
                      "enrollments.write_test",
                      "enrollments.write_live",
                      "sftp.read",
                      "sftp.write_test",
                      "sftp.write_live",
                      "contact.write",
                      "usage.read",
                      "audit.read"
                    ]
                  }
                }
              }
            },
            "description": "Every role, the least last."
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "permission": {
                  "type": "string",
                  "enum": [
                    "org.read",
                    "org.update",
                    "members.read",
                    "members.invite",
                    "members.change_role",
                    "members.remove",
                    "keys.read",
                    "keys.write_test",
                    "keys.write_live",
                    "webhooks.read",
                    "webhooks.write_test",
                    "webhooks.write_live",
                    "events.read",
                    "enrollments.read",
                    "enrollments.write_test",
                    "enrollments.write_live",
                    "sftp.read",
                    "sftp.write_test",
                    "sftp.write_live",
                    "contact.write",
                    "usage.read",
                    "audit.read"
                  ]
                },
                "words": {
                  "type": "string"
                }
              }
            }
          },
          "owner_rules": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The owner’s rules: 4 sentences."
          }
        }
      },
      "AuditEntry": {
        "type": "object",
        "required": [
          "id",
          "type",
          "words",
          "at",
          "actor",
          "door",
          "object",
          "changed"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "aud_ and 24 lowercase hexadecimal characters."
          },
          "type": {
            "type": "string",
            "enum": [
              "key.created",
              "key.rotated",
              "key.revoked",
              "key.expired",
              "webhook.set",
              "webhook.changed",
              "webhook.removed",
              "webhook_destination.created",
              "webhook_destination.changed",
              "webhook_destination.removed",
              "contact.changed",
              "contact.removed",
              "provider.created",
              "provider.changed",
              "provider.removed",
              "enrollment.created",
              "enrollment.changed",
              "enrollment.submitted",
              "enrollment.withdrawn",
              "enrollment.withdrawal_requested",
              "enrollment.removed",
              "enrollment.status_changed",
              "enrollment.imported",
              "enrollment.note_added",
              "enrollment_task.answered",
              "enrollment_task.added",
              "enrollment_task.superseded",
              "enrollment_task.completed",
              "enrollment_document.requested",
              "enrollment_document.added",
              "enrollment_document.removed",
              "sftp_user.added",
              "sftp_user.changed",
              "sftp_user.removed",
              "sftp_ssh_key.added",
              "sftp_ssh_key.removed",
              "job.created",
              "job.canceled",
              "job.removed",
              "account_baa.recorded",
              "account_baa.withdrawn",
              "org.created",
              "org.updated",
              "member.invited",
              "member.invitation_canceled",
              "member.joined",
              "member.role_changed",
              "member.removed"
            ]
          },
          "words": {
            "type": "string",
            "description": "The type in words."
          },
          "at": {
            "type": "string",
            "format": "date-time"
          },
          "actor": {
            "type": "object",
            "required": [
              "type",
              "id"
            ],
            "properties": {
              "type": {
                "type": "string",
                "description": "Who: a key, a member, Payerworks’ people (never named), Payerworks automatically, or the self-serve sign-up.",
                "enum": [
                  "key",
                  "member",
                  "payerworks",
                  "system",
                  "self_serve"
                ]
              },
              "id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "key_id": {
                "type": "string",
                "description": "A member’s change: the key it acted on."
              }
            }
          },
          "door": {
            "type": "string",
            "description": "Through which door: the API, the hosted MCP server, the console, Payerworks’ desk, the sign-up, or Payerworks automatically.",
            "enum": [
              "api",
              "mcp",
              "console",
              "desk",
              "signup",
              "system"
            ]
          },
          "object": {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string"
              },
              "id": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          "changed": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The fields that changed, by name only, never a value."
          },
          "url_host": {
            "type": [
              "string",
              "null"
            ],
            "description": "A web address’s host alone, never its path or query."
          },
          "count": {
            "type": [
              "integer",
              "null"
            ]
          },
          "request_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "The request that made the change."
          }
        }
      },
      "AuditLog": {
        "type": "object",
        "description": "An entry names what changed by field name only, never a value: no name, address, note or answer is kept. A web address is kept as its host alone.",
        "properties": {
          "object": {
            "type": "string",
            "const": "list"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AuditEntry"
            },
            "description": "Newest first."
          },
          "has_more": {
            "type": "boolean"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Pass as starting_after."
          },
          "retention_days": {
            "type": "integer",
            "description": "Each audit log entry is kept for 365 days (one year) from the moment of the change, then deleted. No entry is overwritten: each is written once, only where no entry of its id is.",
            "const": 365
          }
        }
      },
      "AuditLogExport": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "const": "audit_log_export"
          },
          "content_type": {
            "type": "string",
            "const": "text/csv"
          },
          "filename": {
            "type": "string"
          },
          "row_count": {
            "type": "integer",
            "description": "At most 5,000.",
            "maximum": 5000
          },
          "columns": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "id",
                "at",
                "type",
                "words",
                "actor_type",
                "actor_id",
                "door",
                "object_kind",
                "object_id",
                "changed",
                "url_host",
                "count",
                "request_id"
              ]
            }
          },
          "csv": {
            "type": "string",
            "description": "The file, CRLF line ends; no cell opens as a formula in a spreadsheet."
          },
          "has_more": {
            "type": "boolean"
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ],
            "description": "Pass as starting_after for the rest."
          },
          "retention_days": {
            "type": "integer",
            "description": "Each audit log entry is kept for 365 days (one year) from the moment of the change, then deleted. No entry is overwritten: each is written once, only where no entry of its id is.",
            "const": 365
          }
        }
      },
      "SubmitBody": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ClaimsBody"
          },
          {
            "type": "object",
            "properties": {
              "partner_id": {
                "type": "string",
                "description": "A partner GET /v1/partners lists. Left out: the one live partner that takes every payer in the call."
              },
              "rules": {
                "type": "array",
                "minItems": 1,
                "maxItems": 100,
                "items": {
                  "$ref": "#/components/schemas/ClaimRule"
                },
                "description": "Optional: up to 100 of your own rules, as POST /v1/edits/rules/check reads them, applied to each claim after its repairs. A rule that fires is listed with code caller_rule and source caller; one of severity error is an error like any other (validate answers valid: false, and 837p writes nothing). A rule not written in the rule format refuses the whole call with 422 invalid_rules, and nothing is checked. Left out: only Payerworks’ own checks."
              }
            }
          }
        ],
        "description": "The claims as POST /v1/claims/837p takes them, without the envelope; an envelope field is refused with submit_envelope_assigned: On a submission Payerworks sets the interchange: leave out sender_id, receiver_id, the two qualifiers, control_number and usage. Every patientControlNumber begins with your account’s reference prefix."
      },
      "SubmitAnswer": {
        "type": "object",
        "description": "What an account sees once every gate is open. Payerworks is connected to no payer today, so every call is answered 501 submit_not_offered.",
        "properties": {
          "submission_id": {
            "type": "string"
          },
          "partner_id": {
            "type": "string"
          },
          "partner_name": {
            "type": "string"
          },
          "usage": {
            "type": "string",
            "const": "P"
          },
          "interchange_control_number": {
            "type": "string",
            "description": "ISA13, assigned by Payerworks."
          },
          "group_control_number": {
            "type": "string",
            "description": "GS06."
          },
          "claims": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "reference": {
                  "type": "string"
                },
                "transaction_set_control_number": {
                  "type": "string"
                },
                "warnings": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FieldProblem"
                  }
                },
                "repairs": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Repair"
                  }
                },
                "not_checked": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NotChecked"
                  }
                }
              }
            }
          },
          "transfer_id": {
            "type": "string",
            "description": "The partner connection’s id for the transfer that accepted the file."
          },
          "sent_at": {
            "type": "string",
            "format": "date-time"
          },
          "acknowledgments": {
            "type": "string",
            "description": "Where the partner’s answers arrive."
          },
          "transmitted": {
            "type": "boolean",
            "const": true,
            "description": "Only once the partner’s connection accepted the file: every other answer is a refusal, with transmitted: false."
          },
          "warnings": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldProblem"
            }
          }
        }
      },
      "SubmitNotOffered": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "required": [
              "code",
              "message",
              "gates",
              "connection",
              "transmitted"
            ],
            "properties": {
              "code": {
                "type": "string",
                "const": "submit_not_offered"
              },
              "message": {
                "type": "string"
              },
              "request_id": {
                "type": "string"
              },
              "gates": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "gate",
                    "open",
                    "sentence"
                  ],
                  "properties": {
                    "gate": {
                      "type": "string",
                      "enum": [
                        "service",
                        "live_key",
                        "baa",
                        "partner",
                        "partner_switch"
                      ]
                    },
                    "open": {
                      "type": [
                        "boolean",
                        "null"
                      ],
                      "description": "null: not checked, because a gate before it is closed."
                    },
                    "sentence": {
                      "type": "string"
                    }
                  }
                },
                "description": "Each of the five gates, in order."
              },
              "connection": {
                "type": "string",
                "description": "The one sentence about Payerworks’ connections; today: Payerworks is connected to no payer."
              },
              "transmitted": {
                "type": "boolean",
                "const": false
              }
            }
          }
        }
      },
      "Partners": {
        "type": "object",
        "properties": {
          "connection": {
            "type": "string",
            "description": "The one sentence about Payerworks’ connections; today: Payerworks is connected to no payer."
          },
          "partners": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "partner_id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "transactions": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "enum": [
                      "837P",
                      "999",
                      "277CA",
                      "835"
                    ]
                  }
                },
                "payer_ids": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "receiver_id": {
                  "type": "string",
                  "description": "ISA08 on a file sent to it."
                }
              }
            },
            "description": "Empty today."
          }
        }
      }
    }
  },
  "paths": {
    "/v1/health": {
      "get": {
        "summary": "Health",
        "description": "Whether the API is answering. No key needed.",
        "operationId": "getV1Health",
        "tags": [
          "Your keys, your account and your webhook"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                },
                "example": {
                  "ok": true,
                  "service": "Payerworks",
                  "version": "v1",
                  "transmits": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        }
      }
    },
    "/v1/claims/validate": {
      "post": {
        "summary": "Validate claims",
        "description": "Every reason a claim would be refused at the front door or by a payer’s first edit, each with a code, the field’s path and a sentence, from the one edit table GET /v1/edits lists: the NPIs’ check digits, the dates, the pointers, a total that must equal its lines, the filing indicator, a character X12 reserves, and each diagnosis, HCPCS Level II code and modifier against the release in force on its date of service (the ICD-10 diagnosis releases for fiscal 2025 to 2027, CMS’s HCPCS file from January 2025) and the place of service against CMS’s list. A CPT code is checked for its shape only, and a dental D code or a CPT modifier, which CMS’s file does not carry, is listed as not checked. Every claim carries what the guides require: the submitter’s contact, the billing provider’s tax id, the patient’s address and date of birth, a facility’s address when one is sent, and the filing indicator. Formatting is repaired first, on a copy, and each claim lists its repairs (phone punctuation, a ZIP+4 hyphen, letter case, a diagnosis code’s dot, spaces) and not_checked, every check that could not run and why. For a claim to a later payer: the payers’ order, each earlier payer’s paid amount, claim and line balance, the adjudication date and the patient’s remaining share each at one level, the adjustment groups, the Medicare secondary payer type, and remark codes in force on the day; when Medicare is the later payer, the claim’s total equals each earlier payer’s paid amount plus all its adjustments, and a claim to Medicare is an original claim (frequency 1). Send the claims as JSON, or an 837P file as x12, read back claim by claim. Send your own rules beside them as rules, written as POST /v1/edits/rules/check reads them, and each is applied to every claim after its repairs: a rule that fires is listed as caller_rule with source caller, and one of severity error makes the claim invalid like any other error. Passing means the claim is well formed, not that a payer will pay it.",
        "operationId": "postV1ClaimsValidate",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateAnswer"
                },
                "example": {
                  "valid": true,
                  "claims": [
                    {
                      "index": 0,
                      "reference": "PW-2001",
                      "errors": [],
                      "warnings": [],
                      "repairs": [],
                      "not_checked": []
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ValidateBody"
              },
              "example": {
                "claim": {
                  "tradingPartnerServiceId": "99999",
                  "submitter": {
                    "organizationName": "Sample Family Medicine",
                    "contactInformation": {
                      "name": "Billing Office",
                      "phoneNumber": "5555550100"
                    }
                  },
                  "receiver": {
                    "organizationName": "Sample Health Plan"
                  },
                  "billing": {
                    "npi": "1234567893",
                    "employerId": "123456789",
                    "organizationName": "Sample Family Medicine",
                    "taxonomyCode": "207Q00000X",
                    "address": {
                      "address1": "100 Main Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "627011234"
                    }
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "paymentResponsibilityLevelCode": "P",
                    "firstName": "Sample",
                    "lastName": "Patient",
                    "gender": "F",
                    "dateOfBirth": "19800214",
                    "address": {
                      "address1": "9 Elm Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "62701"
                    }
                  },
                  "claimInformation": {
                    "claimFilingCode": "CI",
                    "patientControlNumber": "PW-2001",
                    "claimChargeAmount": "215.00",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "1",
                    "signatureIndicator": "Y",
                    "planParticipationCode": "A",
                    "benefitsAssignmentCertificationIndicator": "Y",
                    "releaseInformationCode": "Y",
                    "healthCareCodeInformation": [
                      {
                        "diagnosisTypeCode": "ABK",
                        "diagnosisCode": "J029"
                      },
                      {
                        "diagnosisTypeCode": "ABF",
                        "diagnosisCode": "R509"
                      }
                    ],
                    "serviceLines": [
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "99213",
                          "lineItemChargeAmount": "150.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1",
                              "2"
                            ]
                          }
                        }
                      },
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "87880",
                          "lineItemChargeAmount": "65.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/claims/837p": {
      "post": {
        "summary": "Write an 837P",
        "description": "Up to one hundred claims written as one 005010X222A1 interchange under your sender and receiver ids and your control number, a claim to a secondary or tertiary payer included: send each earlier payer’s adjudication (otherSubscriberInformation, and lineAdjudicationInformation on each line it paid) and the file carries the coordination of benefits loops. Every claim is checked as POST /v1/claims/validate checks it, your own rules included when you send them as rules, and written from its repaired copy; each claim’s answer lists its repairs, what was not checked, and a not_written warning for any field the 837P has no element for. Nothing is written if any claim would be refused. A test key writes test files only.",
        "operationId": "postV1Claims837p",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/File837PAnswer"
                },
                "example": {
                  "version": "005010X222A1",
                  "usage": "T",
                  "x12": "ISA*00*          *00*          *ZZ*SAMPLEBILLER   *ZZ*99999          *261019*1500*^*00501*000000007*0*T*:~GS*HC*SAMPLEBILLER*99999*20261019*1500*7*X*005010X222A1~ST*837*0001*005010X222A1~BHT*0019*00*PW-2001*20261019*1500*CH~NM1*41*2*Sample Family Medicine*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Health Plan*****46*99999~HL*1**20*1~PRV*BI*PXC*207Q00000X~NM1*85*2*Sample Family Medicine*****XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W123456789~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19800214*F~NM1*PR*2*Sample Health Plan*****PI*99999~CLM*PW-2001*215***11:B:1*Y*A*Y*Y~HI*ABK:J029*ABF:R509~LX*1~SV1*HC:99213*150*UN*1***1:2~DTP*472*D8*20261001~LX*2~SV1*HC:87880*65*UN*1***1~DTP*472*D8*20261001~SE*27*0001~GE*1*7~IEA*1*000000007~",
                  "interchange_control_number": "000000007",
                  "group_control_number": "7",
                  "transaction_set_control_numbers": [
                    "0001"
                  ],
                  "segments": 31,
                  "claims": [
                    {
                      "reference": "PW-2001",
                      "transaction_set_control_number": "0001",
                      "warnings": [],
                      "repairs": [],
                      "not_checked": []
                    }
                  ],
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ClaimsBody"
                  },
                  {
                    "$ref": "#/components/schemas/FileOptions"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "rules": {
                        "type": "array",
                        "minItems": 1,
                        "maxItems": 100,
                        "items": {
                          "$ref": "#/components/schemas/ClaimRule"
                        },
                        "description": "Optional: up to 100 of your own rules, as POST /v1/edits/rules/check reads them, applied to each claim after its repairs. A rule that fires is listed with code caller_rule and source caller; one of severity error is an error like any other (validate answers valid: false, and 837p writes nothing). A rule not written in the rule format refuses the whole call with 422 invalid_rules, and nothing is checked. Left out: only Payerworks’ own checks."
                      }
                    }
                  }
                ]
              },
              "example": {
                "claim": {
                  "tradingPartnerServiceId": "99999",
                  "submitter": {
                    "organizationName": "Sample Family Medicine",
                    "contactInformation": {
                      "name": "Billing Office",
                      "phoneNumber": "5555550100"
                    }
                  },
                  "receiver": {
                    "organizationName": "Sample Health Plan"
                  },
                  "billing": {
                    "npi": "1234567893",
                    "employerId": "123456789",
                    "organizationName": "Sample Family Medicine",
                    "taxonomyCode": "207Q00000X",
                    "address": {
                      "address1": "100 Main Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "627011234"
                    }
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "paymentResponsibilityLevelCode": "P",
                    "firstName": "Sample",
                    "lastName": "Patient",
                    "gender": "F",
                    "dateOfBirth": "19800214",
                    "address": {
                      "address1": "9 Elm Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "62701"
                    }
                  },
                  "claimInformation": {
                    "claimFilingCode": "CI",
                    "patientControlNumber": "PW-2001",
                    "claimChargeAmount": "215.00",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "1",
                    "signatureIndicator": "Y",
                    "planParticipationCode": "A",
                    "benefitsAssignmentCertificationIndicator": "Y",
                    "releaseInformationCode": "Y",
                    "healthCareCodeInformation": [
                      {
                        "diagnosisTypeCode": "ABK",
                        "diagnosisCode": "J029"
                      },
                      {
                        "diagnosisTypeCode": "ABF",
                        "diagnosisCode": "R509"
                      }
                    ],
                    "serviceLines": [
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "99213",
                          "lineItemChargeAmount": "150.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1",
                              "2"
                            ]
                          }
                        }
                      },
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "87880",
                          "lineItemChargeAmount": "65.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1"
                            ]
                          }
                        }
                      }
                    ]
                  }
                },
                "sender_id": "SAMPLEBILLER",
                "receiver_id": "99999",
                "control_number": 7
              }
            }
          }
        }
      }
    },
    "/v1/claims/837i": {
      "post": {
        "summary": "Write an 837I",
        "description": "Up to one hundred institutional claims, the UB-04’s electronic form, written as one 005010X223A2 interchange from the same JSON as the 837P route, with the institutional fields: the facility type and frequency, the statement dates, admission type, source and patient status, revenue code lines, principal and admitting diagnoses with present on admission, procedures, occurrence, span, value and condition codes, and the attending and operating providers. Every claim is checked first, and nothing is written if any would be refused. A revenue code or a type of bill is checked for its shape: the code set’s words belong to the NUBC. A test key writes test files only.",
        "operationId": "postV1Claims837i",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/File837Answer"
                },
                "example": {
                  "kind": "837I",
                  "version": "005010X223A2",
                  "usage": "T",
                  "x12": "ISA*00*          *00*          *ZZ*SAMPLEBILLER   *ZZ*99999          *261019*1500*^*00501*000000008*0*T*:~GS*HC*SAMPLEBILLER*99999*20261019*1500*8*X*005010X223A2~ST*837*0001*005010X223A2~BHT*0019*00*PW-3001*20261019*1500*CH~NM1*41*2*Sample Community Hospital*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Health Plan*****46*99999~HL*1**20*1~PRV*BI*PXC*282N00000X~NM1*85*2*Sample Community Hospital*****XX*1234567893~N3*200 Hospital Drive~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*GRP1******CI~NM1*IL*1*Patient*Sample****MI*W123456789~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19700101*F~NM1*PR*2*Sample Health Plan*****PI*99999~CLM*PW-3001*1500.50***11:A:1**A*Y*Y~DTP*096*TM*1400~DTP*434*RD8*20261001-20261003~DTP*435*DT*202610010800~CL1*1*7*01~HI*ABK:J189:::::::Y~HI*ABJ:R05~HI*ABF:E119:::::::Y~NM1*71*1*Doctor*Sample****XX*1245319599~PRV*AT*PXC*207R00000X~LX*1~SV2*0120**1000*DA*2~DTP*472*RD8*20261001-20261002~REF*6R*L1~LX*2~SV2*0300*HC:80053*500.50*UN*1~DTP*472*D8*20261001~REF*6R*L2~SE*37*0001~GE*1*8~IEA*1*000000008~",
                  "interchange_control_number": "000000008",
                  "group_control_number": "8",
                  "transaction_set_control_numbers": [
                    "0001"
                  ],
                  "segments": 41,
                  "claims": [
                    {
                      "reference": "PW-3001",
                      "transaction_set_control_number": "0001",
                      "warnings": []
                    }
                  ],
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "type": "object",
                    "properties": {
                      "claim": {
                        "$ref": "#/components/schemas/InstitutionalClaim"
                      },
                      "claims": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/InstitutionalClaim"
                        },
                        "description": "At most 100.",
                        "maxItems": 100
                      }
                    }
                  },
                  {
                    "$ref": "#/components/schemas/FileOptions"
                  }
                ],
                "description": "One claim as claim, or a list as claims."
              },
              "example": {
                "claim": {
                  "tradingPartnerServiceId": "99999",
                  "submitter": {
                    "organizationName": "Sample Community Hospital",
                    "contactInformation": {
                      "name": "Billing Office",
                      "phoneNumber": "5555550100"
                    }
                  },
                  "receiver": {
                    "organizationName": "Sample Health Plan"
                  },
                  "billing": {
                    "organizationName": "Sample Community Hospital",
                    "npi": "1234567893",
                    "employerId": "123456789",
                    "taxonomyCode": "282N00000X",
                    "address": {
                      "address1": "200 Hospital Drive",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "627011234"
                    }
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "firstName": "Sample",
                    "lastName": "Patient",
                    "dateOfBirth": "19700101",
                    "gender": "F",
                    "groupNumber": "GRP1",
                    "address": {
                      "address1": "9 Elm Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "62701"
                    }
                  },
                  "attending": {
                    "lastName": "Doctor",
                    "firstName": "Sample",
                    "npi": "1245319599",
                    "taxonomyCode": "207R00000X"
                  },
                  "claimInformation": {
                    "patientControlNumber": "PW-3001",
                    "claimChargeAmount": "1500.50",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "1",
                    "claimFilingCode": "CI",
                    "claimDateInformation": {
                      "statementBeginDate": "20261001",
                      "statementEndDate": "20261003",
                      "admissionDateAndHour": "202610010800",
                      "dischargeHour": "1400"
                    },
                    "claimCodeInformation": {
                      "admissionTypeCode": "1",
                      "admissionSourceCode": "7",
                      "patientStatusCode": "01"
                    },
                    "principalDiagnosis": {
                      "qualifierCode": "ABK",
                      "principalDiagnosisCode": "J18.9",
                      "presentOnAdmissionIndicator": "Y"
                    },
                    "admittingDiagnosis": {
                      "qualifierCode": "ABJ",
                      "admittingDiagnosisCode": "R05"
                    },
                    "otherDiagnosisInformationList": [
                      [
                        {
                          "qualifierCode": "ABF",
                          "otherDiagnosisCode": "E119",
                          "presentOnAdmissionIndicator": "Y"
                        }
                      ]
                    ],
                    "serviceLines": [
                      {
                        "institutionalService": {
                          "serviceLineRevenueCode": "0120",
                          "lineItemChargeAmount": "1000",
                          "measurementUnit": "DA",
                          "serviceUnitCount": "2"
                        },
                        "serviceDate": "20261001",
                        "serviceDateEnd": "20261002",
                        "lineItemControlNumber": "L1"
                      },
                      {
                        "institutionalService": {
                          "serviceLineRevenueCode": "0300",
                          "procedureIdentifier": "HC",
                          "procedureCode": "80053",
                          "lineItemChargeAmount": "500.50",
                          "serviceUnitCount": "1"
                        },
                        "serviceDate": "20261001",
                        "lineItemControlNumber": "L2"
                      }
                    ]
                  }
                },
                "sender_id": "SAMPLEBILLER",
                "receiver_id": "99999",
                "control_number": 8
              }
            }
          }
        }
      }
    },
    "/v1/claims/837i/validate": {
      "post": {
        "summary": "Validate institutional claims",
        "description": "The same institutional claims checked against the 837I’s rules without writing a file: each problem names its code, its field and a sentence.",
        "operationId": "postV1Claims837iValidate",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Validate837Answer"
                },
                "example": {
                  "kind": "837I",
                  "version": "005010X223A2",
                  "valid": true,
                  "claims": [
                    {
                      "index": 0,
                      "reference": "PW-3001",
                      "errors": [],
                      "warnings": []
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "One claim as claim, or a list as claims.",
                "properties": {
                  "claim": {
                    "$ref": "#/components/schemas/InstitutionalClaim"
                  },
                  "claims": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/InstitutionalClaim"
                    },
                    "description": "At most 100.",
                    "maxItems": 100
                  }
                }
              },
              "example": {
                "claim": {
                  "tradingPartnerServiceId": "99999",
                  "submitter": {
                    "organizationName": "Sample Community Hospital",
                    "contactInformation": {
                      "name": "Billing Office",
                      "phoneNumber": "5555550100"
                    }
                  },
                  "receiver": {
                    "organizationName": "Sample Health Plan"
                  },
                  "billing": {
                    "organizationName": "Sample Community Hospital",
                    "npi": "1234567893",
                    "employerId": "123456789",
                    "taxonomyCode": "282N00000X",
                    "address": {
                      "address1": "200 Hospital Drive",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "627011234"
                    }
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "firstName": "Sample",
                    "lastName": "Patient",
                    "dateOfBirth": "19700101",
                    "gender": "F",
                    "groupNumber": "GRP1",
                    "address": {
                      "address1": "9 Elm Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "62701"
                    }
                  },
                  "attending": {
                    "lastName": "Doctor",
                    "firstName": "Sample",
                    "npi": "1245319599",
                    "taxonomyCode": "207R00000X"
                  },
                  "claimInformation": {
                    "patientControlNumber": "PW-3001",
                    "claimChargeAmount": "1500.50",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "1",
                    "claimFilingCode": "CI",
                    "claimDateInformation": {
                      "statementBeginDate": "20261001",
                      "statementEndDate": "20261003",
                      "admissionDateAndHour": "202610010800",
                      "dischargeHour": "1400"
                    },
                    "claimCodeInformation": {
                      "admissionTypeCode": "1",
                      "admissionSourceCode": "7",
                      "patientStatusCode": "01"
                    },
                    "principalDiagnosis": {
                      "qualifierCode": "ABK",
                      "principalDiagnosisCode": "J18.9",
                      "presentOnAdmissionIndicator": "Y"
                    },
                    "admittingDiagnosis": {
                      "qualifierCode": "ABJ",
                      "admittingDiagnosisCode": "R05"
                    },
                    "otherDiagnosisInformationList": [
                      [
                        {
                          "qualifierCode": "ABF",
                          "otherDiagnosisCode": "E119",
                          "presentOnAdmissionIndicator": "Y"
                        }
                      ]
                    ],
                    "serviceLines": [
                      {
                        "institutionalService": {
                          "serviceLineRevenueCode": "0120",
                          "lineItemChargeAmount": "1000",
                          "measurementUnit": "DA",
                          "serviceUnitCount": "2"
                        },
                        "serviceDate": "20261001",
                        "serviceDateEnd": "20261002",
                        "lineItemControlNumber": "L1"
                      },
                      {
                        "institutionalService": {
                          "serviceLineRevenueCode": "0300",
                          "procedureIdentifier": "HC",
                          "procedureCode": "80053",
                          "lineItemChargeAmount": "500.50",
                          "serviceUnitCount": "1"
                        },
                        "serviceDate": "20261001",
                        "lineItemControlNumber": "L2"
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/claims/837d": {
      "post": {
        "summary": "Write an 837D",
        "description": "Up to one hundred dental claims and predeterminations written as one 005010X224A2 interchange from the same JSON as the 837P route, with the teeth and surfaces, the area of the mouth, tooth status, prosthesis replacement, orthodontic months and up to four diagnoses. A predetermination carries no date of service. A dental procedure code is checked for its shape: the code set’s words belong to the ADA. Nothing is written if any claim would be refused, and a test key writes test files only.",
        "operationId": "postV1Claims837d",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/File837Answer"
                },
                "example": {
                  "kind": "837D",
                  "version": "005010X224A2",
                  "usage": "T",
                  "x12": "ISA*00*          *00*          *ZZ*SAMPLEBILLER   *ZZ*99999          *261019*1500*^*00501*000000008*0*T*:~GS*HC*SAMPLEBILLER*99999*20261019*1500*8*X*005010X224A2~ST*837*0001*005010X224A2~BHT*0019*00*PW-4001*20261019*1500*CH~NM1*41*2*Sample Dental*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Dental Plan*****46*99999~HL*1**20*1~PRV*BI*PXC*1223G0001X~NM1*85*2*Sample Dental*****XX*1234567893~N3*3 Oak Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W123456789~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19800202*F~NM1*PR*2*Sample Dental Plan*****PI*99999~CLM*PW-4001*385***11:B:1*Y*A*Y*Y~DTP*472*D8*20261005~HI*ABK:K0252~NM1*82*1*Dentist*Sample****XX*1245319599~PRV*PE*PXC*1223G0001X~LX*1~SV3*AD:D2392*210****1*****1~TOO*JP*30*M:O~REF*6R*DL1~LX*2~SV3*AD:D2740*175***I******1~TOO*JP*19~REF*6R*DL2~SE*32*0001~GE*1*8~IEA*1*000000008~",
                  "interchange_control_number": "000000008",
                  "group_control_number": "8",
                  "transaction_set_control_numbers": [
                    "0001"
                  ],
                  "segments": 36,
                  "claims": [
                    {
                      "reference": "PW-4001",
                      "transaction_set_control_number": "0001",
                      "warnings": []
                    }
                  ],
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "type": "object",
                    "properties": {
                      "claim": {
                        "$ref": "#/components/schemas/DentalClaim"
                      },
                      "claims": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/DentalClaim"
                        },
                        "description": "At most 100.",
                        "maxItems": 100
                      }
                    }
                  },
                  {
                    "$ref": "#/components/schemas/FileOptions"
                  }
                ],
                "description": "One claim as claim, or a list as claims."
              },
              "example": {
                "claim": {
                  "tradingPartnerServiceId": "99999",
                  "submitter": {
                    "organizationName": "Sample Dental",
                    "contactInformation": {
                      "name": "Billing Office",
                      "phoneNumber": "5555550100"
                    }
                  },
                  "receiver": {
                    "organizationName": "Sample Dental Plan"
                  },
                  "billing": {
                    "organizationName": "Sample Dental",
                    "npi": "1234567893",
                    "employerId": "123456789",
                    "taxonomyCode": "1223G0001X",
                    "address": {
                      "address1": "3 Oak Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "627011234"
                    }
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "firstName": "Sample",
                    "lastName": "Patient",
                    "dateOfBirth": "19800202",
                    "gender": "F",
                    "address": {
                      "address1": "9 Elm Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "62701"
                    }
                  },
                  "rendering": {
                    "lastName": "Dentist",
                    "firstName": "Sample",
                    "npi": "1245319599",
                    "taxonomyCode": "1223G0001X"
                  },
                  "claimInformation": {
                    "patientControlNumber": "PW-4001",
                    "claimChargeAmount": "385",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "1",
                    "claimFilingCode": "CI",
                    "claimDateInformation": {
                      "serviceDate": "20261005"
                    },
                    "healthCareCodeInformation": [
                      {
                        "diagnosisTypeCode": "ABK",
                        "diagnosisCode": "K02.52"
                      }
                    ],
                    "serviceLines": [
                      {
                        "dentalService": {
                          "procedureCode": "D2392",
                          "lineItemChargeAmount": "210",
                          "procedureCount": 1,
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1"
                            ]
                          }
                        },
                        "teethInformation": [
                          {
                            "toothCode": "30",
                            "toothSurfaceCodes": [
                              "M",
                              "O"
                            ]
                          }
                        ],
                        "providerControlNumber": "DL1"
                      },
                      {
                        "dentalService": {
                          "procedureCode": "D2740",
                          "lineItemChargeAmount": "175",
                          "prosthesisCrownOrInlayCode": "I",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1"
                            ]
                          }
                        },
                        "teethInformation": [
                          {
                            "toothCode": "19"
                          }
                        ],
                        "providerControlNumber": "DL2"
                      }
                    ]
                  }
                },
                "sender_id": "SAMPLEBILLER",
                "receiver_id": "99999",
                "control_number": 8
              }
            }
          }
        }
      }
    },
    "/v1/claims/837d/validate": {
      "post": {
        "summary": "Validate dental claims",
        "description": "The same dental claims checked against the 837D’s rules without writing a file: each problem names its code, its field and a sentence.",
        "operationId": "postV1Claims837dValidate",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Validate837Answer"
                },
                "example": {
                  "kind": "837D",
                  "version": "005010X224A2",
                  "valid": true,
                  "claims": [
                    {
                      "index": 0,
                      "reference": "PW-4001",
                      "errors": [],
                      "warnings": []
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "One claim as claim, or a list as claims.",
                "properties": {
                  "claim": {
                    "$ref": "#/components/schemas/DentalClaim"
                  },
                  "claims": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/DentalClaim"
                    },
                    "description": "At most 100.",
                    "maxItems": 100
                  }
                }
              },
              "example": {
                "claim": {
                  "tradingPartnerServiceId": "99999",
                  "submitter": {
                    "organizationName": "Sample Dental",
                    "contactInformation": {
                      "name": "Billing Office",
                      "phoneNumber": "5555550100"
                    }
                  },
                  "receiver": {
                    "organizationName": "Sample Dental Plan"
                  },
                  "billing": {
                    "organizationName": "Sample Dental",
                    "npi": "1234567893",
                    "employerId": "123456789",
                    "taxonomyCode": "1223G0001X",
                    "address": {
                      "address1": "3 Oak Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "627011234"
                    }
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "firstName": "Sample",
                    "lastName": "Patient",
                    "dateOfBirth": "19800202",
                    "gender": "F",
                    "address": {
                      "address1": "9 Elm Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "62701"
                    }
                  },
                  "rendering": {
                    "lastName": "Dentist",
                    "firstName": "Sample",
                    "npi": "1245319599",
                    "taxonomyCode": "1223G0001X"
                  },
                  "claimInformation": {
                    "patientControlNumber": "PW-4001",
                    "claimChargeAmount": "385",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "1",
                    "claimFilingCode": "CI",
                    "claimDateInformation": {
                      "serviceDate": "20261005"
                    },
                    "healthCareCodeInformation": [
                      {
                        "diagnosisTypeCode": "ABK",
                        "diagnosisCode": "K02.52"
                      }
                    ],
                    "serviceLines": [
                      {
                        "dentalService": {
                          "procedureCode": "D2392",
                          "lineItemChargeAmount": "210",
                          "procedureCount": 1,
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1"
                            ]
                          }
                        },
                        "teethInformation": [
                          {
                            "toothCode": "30",
                            "toothSurfaceCodes": [
                              "M",
                              "O"
                            ]
                          }
                        ],
                        "providerControlNumber": "DL1"
                      },
                      {
                        "dentalService": {
                          "procedureCode": "D2740",
                          "lineItemChargeAmount": "175",
                          "prosthesisCrownOrInlayCode": "I",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1"
                            ]
                          }
                        },
                        "teethInformation": [
                          {
                            "toothCode": "19"
                          }
                        ],
                        "providerControlNumber": "DL2"
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/claims/correction-plan": {
      "post": {
        "summary": "Plan a corrected or void claim",
        "description": "Say whether you want to replace or void a claim, and give the payer’s claim number, or say the payer never processed it (adjudicated: false); with neither, the plan asks which rather than guess. The plan says the frequency code, whether REF*F8 goes, whether to use a new patient control number, and when a Medicare contractor fixes a processed claim by reopening instead. Send the replacement too, as JSON or an 837P (an 837D for a dental claim), and it is checked against the plan and every claim rule. Companion guides vary, and the answer says so. It writes and sends nothing.",
        "operationId": "postV1ClaimsCorrectionPlan",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CorrectionPlanAnswer"
                },
                "example": {
                  "change": "replace",
                  "claim_type": "professional",
                  "stage": "adjudicated",
                  "stage_reason": "The payer gave the claim its own number, so it took the claim into processing.",
                  "medicare_mac": false,
                  "medicare_mac_source": "default",
                  "route": "send_corrected_claim",
                  "frequency_code": "7",
                  "ref_f8": {
                    "send": true,
                    "value": "2026101900123"
                  },
                  "patient_control_number": {
                    "new_one": true,
                    "original": "PW-2001",
                    "why": "A new reference keeps the corrected claim's acknowledgments and remittance apart from the original's, so neither is matched to the other; some payers ask for the original's, so read the companion guide."
                  },
                  "steps": [
                    "Send the whole claim again with every service, corrected: frequency code 7 (CLM05-3).",
                    "Put the payer's claim number in 2300 REF*F8 (2026101900123); without it the payer rejects the claim.",
                    "Give it a new patient control number (CLM01)."
                  ],
                  "caveat": "Companion guides vary: this is the rule most payers publish, and a payer's own companion guide decides. Read it before the first corrected claim you send to that payer.",
                  "sources": [
                    "https://www.bcbsil.com/docs/provider/il/claims/submission/claim-frequency-codes-prof.pdf",
                    "https://x12.org/resources/requests-for-interpretation/rfi-1278-5010-837-claim-ccndcn",
                    "https://med.noridianmedicare.com/web/jfb/topics/appeals/reopening"
                  ],
                  "replacement": {
                    "valid": true,
                    "checks": "plan_claim_and_coordination",
                    "errors": [],
                    "warnings": []
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CorrectionPlanBody"
              },
              "example": {
                "change": "replace",
                "payer_claim_number": "2026101900123",
                "original": {
                  "tradingPartnerServiceId": "99999",
                  "submitter": {
                    "organizationName": "Sample Family Medicine",
                    "contactInformation": {
                      "name": "Billing Office",
                      "phoneNumber": "5555550100"
                    }
                  },
                  "receiver": {
                    "organizationName": "Sample Health Plan"
                  },
                  "billing": {
                    "npi": "1234567893",
                    "employerId": "123456789",
                    "organizationName": "Sample Family Medicine",
                    "taxonomyCode": "207Q00000X",
                    "address": {
                      "address1": "100 Main Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "627011234"
                    }
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "paymentResponsibilityLevelCode": "P",
                    "firstName": "Sample",
                    "lastName": "Patient",
                    "gender": "F",
                    "dateOfBirth": "19800214",
                    "address": {
                      "address1": "9 Elm Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "62701"
                    }
                  },
                  "claimInformation": {
                    "claimFilingCode": "CI",
                    "patientControlNumber": "PW-2001",
                    "claimChargeAmount": "215.00",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "1",
                    "signatureIndicator": "Y",
                    "planParticipationCode": "A",
                    "benefitsAssignmentCertificationIndicator": "Y",
                    "releaseInformationCode": "Y",
                    "healthCareCodeInformation": [
                      {
                        "diagnosisTypeCode": "ABK",
                        "diagnosisCode": "J029"
                      },
                      {
                        "diagnosisTypeCode": "ABF",
                        "diagnosisCode": "R509"
                      }
                    ],
                    "serviceLines": [
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "99213",
                          "lineItemChargeAmount": "150.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1",
                              "2"
                            ]
                          }
                        }
                      },
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "87880",
                          "lineItemChargeAmount": "65.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1"
                            ]
                          }
                        }
                      }
                    ]
                  }
                },
                "replacement": {
                  "tradingPartnerServiceId": "99999",
                  "submitter": {
                    "organizationName": "Sample Family Medicine",
                    "contactInformation": {
                      "name": "Billing Office",
                      "phoneNumber": "5555550100"
                    }
                  },
                  "receiver": {
                    "organizationName": "Sample Health Plan"
                  },
                  "billing": {
                    "npi": "1234567893",
                    "employerId": "123456789",
                    "organizationName": "Sample Family Medicine",
                    "taxonomyCode": "207Q00000X",
                    "address": {
                      "address1": "100 Main Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "627011234"
                    }
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "paymentResponsibilityLevelCode": "P",
                    "firstName": "Sample",
                    "lastName": "Patient",
                    "gender": "F",
                    "dateOfBirth": "19800214",
                    "address": {
                      "address1": "9 Elm Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "62701"
                    }
                  },
                  "claimInformation": {
                    "claimFilingCode": "CI",
                    "patientControlNumber": "PW-2001A",
                    "claimChargeAmount": "215.00",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "7",
                    "signatureIndicator": "Y",
                    "planParticipationCode": "A",
                    "benefitsAssignmentCertificationIndicator": "Y",
                    "releaseInformationCode": "Y",
                    "healthCareCodeInformation": [
                      {
                        "diagnosisTypeCode": "ABK",
                        "diagnosisCode": "J029"
                      },
                      {
                        "diagnosisTypeCode": "ABF",
                        "diagnosisCode": "R509"
                      }
                    ],
                    "serviceLines": [
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "99213",
                          "lineItemChargeAmount": "150.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1",
                              "2"
                            ]
                          }
                        }
                      },
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "87880",
                          "lineItemChargeAmount": "65.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1"
                            ]
                          }
                        }
                      }
                    ],
                    "claimSupplementalInformation": {
                      "claimControlNumber": "2026101900123"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/edits": {
      "get": {
        "summary": "Every claim edit",
        "description": "Every check Payerworks runs on a professional claim before it is written: its code, SNIP type, severity, what is wrong, how to fix it and where the rule comes from. Also the formatting repairs made first, the coordination of benefits checks a claim to a later payer gets, the checks a correction plan’s replacement gets, and the checks Payerworks does not run, with why. Filter with snip_type, severity, kind or runs_in, applied to every list. Passing every check means the claim is well formed and its codes are valid on their dates, not that a payer will pay it.",
        "operationId": "getV1Edits",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EditCatalog"
                },
                "example": {
                  "version": "10/19/2026",
                  "scope": "The edits Payerworks runs on a professional (837P) claim before it is written, from the one table the validator runs. Passing them means the claim is well formed and its codes are valid on their dates; it does not mean a payer will pay it, and Payerworks sends nothing.",
                  "claim_types": [
                    "837P"
                  ],
                  "filters": {
                    "kind": "code_set"
                  },
                  "count": 4,
                  "edits": [
                    {
                      "code": "place_of_service_unassigned",
                      "snip_type": 5,
                      "claim_types": [
                        "837P"
                      ],
                      "severity": "error",
                      "kind": "code_set",
                      "message": "The place of service is two digits but not a code CMS has assigned, or not one in force on the date of service.",
                      "fix": "Send an assigned place of service code (11 office, 12 home, 22 outpatient hospital and the rest of CMS's list).",
                      "source": {
                        "title": "CMS Place of Service Code Set",
                        "url": "https://www.cms.gov/medicare/coding-billing/place-of-service-codes/code-sets",
                        "read_on": "10/19/2026"
                      },
                      "runs_in": "edits"
                    },
                    {
                      "code": "diagnosis_not_valid_on_date",
                      "snip_type": 5,
                      "claim_types": [
                        "837P"
                      ],
                      "severity": "error",
                      "kind": "code_set",
                      "message": "A diagnosis code is not a valid ICD-10-CM code in the release in force on its date of service.",
                      "fix": "Send a code valid on that day: a code is valid from the October 1 its release takes effect to the next September 30.",
                      "source": {
                        "title": "ICD-10-CM code files, FY2025 to FY2027 (CMS)",
                        "url": "https://www.cms.gov/medicare/coding-billing/icd-10-codes",
                        "read_on": "10/19/2026"
                      },
                      "runs_in": "edits",
                      "needs_code_set": "icd10cm"
                    },
                    {
                      "code": "hcpcs_not_valid_on_date",
                      "snip_type": 5,
                      "claim_types": [
                        "837P"
                      ],
                      "severity": "error",
                      "kind": "code_set",
                      "message": "A HCPCS Level II code (a letter and four digits) is not on CMS's HCPCS file, or not in force on the line's date of service.",
                      "fix": "Send a code in force on that day. A code that was discontinued has a replacement named in CMS's quarterly file.",
                      "source": {
                        "title": "HCPCS quarterly update, Alpha-Numeric files January 2025 to October 2026 (CMS)",
                        "url": "https://www.cms.gov/medicare/coding-billing/healthcare-common-procedure-system/quarterly-update",
                        "read_on": "10/19/2026"
                      },
                      "runs_in": "edits",
                      "needs_code_set": "hcpcs"
                    },
                    {
                      "code": "modifier_not_valid_on_date",
                      "snip_type": 5,
                      "claim_types": [
                        "837P"
                      ],
                      "severity": "error",
                      "kind": "code_set",
                      "message": "A HCPCS Level II modifier is not on CMS's file, or not in force on the line's date of service.",
                      "fix": "Send a modifier in force on that day.",
                      "source": {
                        "title": "HCPCS quarterly update, Alpha-Numeric files January 2025 to October 2026 (CMS)",
                        "url": "https://www.cms.gov/medicare/coding-billing/healthcare-common-procedure-system/quarterly-update",
                        "read_on": "10/19/2026"
                      },
                      "runs_in": "edits",
                      "needs_code_set": "hcpcs"
                    }
                  ],
                  "repairs": [
                    {
                      "code": "spaces_trimmed",
                      "does": "Removes spaces before and after a value."
                    },
                    {
                      "code": "phone_punctuation_removed",
                      "does": "Writes a phone or fax number as its ten digits: parentheses, hyphens, dots, spaces and a leading +1 are removed."
                    },
                    {
                      "code": "zip_hyphen_removed",
                      "does": "Writes a U.S. ZIP+4 as nine digits, with no hyphen or space."
                    },
                    {
                      "code": "code_capitalized",
                      "does": "Writes a code in capitals: a state, a country, a procedure code or modifier, a taxonomy, a unit, a filing indicator, an accident cause, a CLIA number."
                    },
                    {
                      "code": "diagnosis_code_formatted",
                      "does": "Writes a diagnosis code in capitals with its dot removed, as the 837P carries it."
                    },
                    {
                      "code": "us_country_code_removed",
                      "does": "Leaves out a country code of US or USA: a U.S. address carries none."
                    }
                  ],
                  "coordination_of_benefits": [],
                  "replacement_checks": [],
                  "not_run": [
                    {
                      "code": "taxonomy_not_in_code_set",
                      "snip_type": 5,
                      "why": "The national provider taxonomy is licensed by the AMA through NUCC: its permission must be accepted on behalf of the organization before the set is used in a product. Only the code's shape is checked (invalid_taxonomy).",
                      "source": {
                        "url": "https://www.nucc.org/index.php/code-sets-mainmenu-41/provider-taxonomy-mainmenu-40/csv-mainmenu-57",
                        "read_on": "10/19/2026"
                      }
                    },
                    {
                      "code": "clia_not_on_file",
                      "snip_type": 5,
                      "why": "CMS publishes the certified laboratories in its quarterly Provider of Services file (15 MB to 36 MB), a lookup for the door, not a table for this claim check. Only the number's shape is checked (invalid_clia).",
                      "source": {
                        "url": "https://catalog.data.gov/dataset/provider-of-services-file-clinical-laboratories-2024-03-02",
                        "read_on": "10/19/2026"
                      }
                    },
                    {
                      "code": "npi_not_active",
                      "snip_type": 5,
                      "why": "Whether an NPI exists and is active is a question for CMS's NPI registry, asked at the door; the check digit is checked here (invalid_npi)."
                    },
                    {
                      "code": "cpt_not_valid_on_date",
                      "snip_type": 5,
                      "why": "CPT (numeric procedure codes) is licensed by the AMA; it is never shipped, so a numeric code's shape is checked and its validity is not."
                    },
                    {
                      "code": "medicare_ncci_mue_coverage",
                      "snip_type": 7,
                      "why": "Medicare's NCCI, MUE and coverage-policy edits are published with CPT and wait on the owner's acceptance of the AMA terms on CMS's downloads."
                    }
                  ],
                  "transmits": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "snip_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "enum": [
                1,
                2,
                3,
                4,
                5,
                7
              ]
            },
            "description": "Only the edits of this SNIP type."
          },
          {
            "name": "severity",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "error",
                "warning"
              ]
            }
          },
          {
            "name": "kind",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "deterministic",
                "code_set"
              ]
            },
            "description": "deterministic: decided by the claim itself; code_set: read against a code set.",
            "example": "code_set"
          },
          {
            "name": "runs_in",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "edits",
                "validateClaim",
                "validateSecondaryClaim",
                "correction-plan"
              ]
            },
            "description": "Which runner makes the check: validateClaim and edits run on every claim, validateSecondaryClaim on a claim to a later payer, correction-plan on a plan’s replacement. Every filter applies to every list; a check row has no snip_type or kind, so either filter leaves it out."
          }
        ]
      }
    },
    "/v1/edits/{code}": {
      "get": {
        "summary": "One claim edit",
        "description": "One check by its code, in any case. A check Payerworks does not run answers runs: false and says why; any other code is 404 edit_not_found.",
        "operationId": "getV1EditsByCode",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EditAnswer"
                },
                "example": {
                  "version": "10/19/2026",
                  "runs": true,
                  "edit": {
                    "code": "future_date",
                    "snip_type": 3,
                    "claim_types": [
                      "837P"
                    ],
                    "severity": "error",
                    "kind": "deterministic",
                    "message": "A date on the claim has not happened yet: a claim bills a service already given.",
                    "fix": "Send the claim after the service, with the day it was given.",
                    "source": {
                      "title": "Decided by the claim itself",
                      "where": "a value that contradicts another on the same claim"
                    },
                    "runs_in": "edits"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "future_date"
          }
        ]
      }
    },
    "/v1/x12/parse": {
      "post": {
        "summary": "Read an X12 file",
        "description": "Any X12 file Payerworks reads, to JSON with its envelope, in the file’s own delimiters: an 835, a 999, a 277CA, a 270 or 271, a 276 or 277, a 278, or an 837P, 837I or 837D. A claim file is read back to the same JSON its write route takes, each claim also as its own one-claim interchange, so a bulk file splits per claim, and every segment the reader does not read is named by its id, loop and position, never its value. A 277CA is told from a claim status 277 by its implementation guide, any other kind is named, and an interchange that mixes kinds is refused.",
        "operationId": "postV1X12Parse",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ParseAnswer"
                },
                "example": {
                  "kind": "999",
                  "envelope": {
                    "sender_qualifier": "ZZ",
                    "sender": "SAMPLEPAYER",
                    "receiver_qualifier": "ZZ",
                    "receiver": "SAMPLEBILLER",
                    "date": "261018",
                    "time": "0900",
                    "control_number": "000000071",
                    "usage": "T",
                    "functional_group": "FA",
                    "version": "005010X231A1",
                    "transaction_sets": {
                      "999": 1
                    },
                    "segments": 12
                  },
                  "acknowledgment": {
                    "ok": true,
                    "groups": [
                      {
                        "functional": "HC",
                        "control": "42",
                        "version": "005010X222A1",
                        "verdict": "R",
                        "included": 1,
                        "received": 1,
                        "accepted": 0,
                        "codes": [],
                        "sets": [
                          {
                            "set": "837",
                            "control": "0001",
                            "implementation": "005010X222A1",
                            "verdict": "R",
                            "codes": [
                              "5"
                            ],
                            "errors": [
                              {
                                "segment": "NM1",
                                "position": "8",
                                "loop": "2010BA",
                                "code": "8",
                                "claim_reference": "PW-1003",
                                "context": null,
                                "elements": [
                                  {
                                    "position": "9",
                                    "component": "",
                                    "reference": "67",
                                    "code": "6",
                                    "value": "W1234#"
                                  }
                                ]
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/X12Body"
              },
              "example": {
                "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000071*0*T*:~\nGS*FA*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*71*X*005010X231A1~\nST*999*0001*005010X231A1~\nAK1*HC*42*005010X222A1~\nAK2*837*0001*005010X222A1~\nIK3*NM1*8*2010BA*8~\nCTX*CLM01:PW-1003~\nIK4*9*67*6*W1234#~\nIK5*R*5~\nAK9*R*1*1*0~\nSE*9*0001~\nGE*1*71~\nIEA*1*000000071~"
              }
            }
          }
        }
      }
    },
    "/v1/claims/track": {
      "post": {
        "summary": "Track claims",
        "description": "Send the claims (as JSON or the 837P) and the 999s, 277CAs and 835s you hold for them. Each claim comes back with where it stands (submitted, received, accepted, rejected, processed, denied or unknown), who said so, what was paid, and a dated timeline of every file. It reads only what you send: nothing is stored and no payer is asked. A payer’s 277 request for additional information may ride with the acknowledgments: a request no 275 answers holds the claim as information requested, with its due day; send your solicited 275s as attachments to see whether they answer it.",
        "operationId": "postV1ClaimsTrack",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrackAnswer"
                },
                "example": {
                  "as_of": null,
                  "reads": "Only the files sent in this call: nothing is stored, and no payer is asked.",
                  "claims": [
                    {
                      "index": 0,
                      "reference": "PW-SBX-PAID",
                      "references": [
                        "PW-SBX-PAID"
                      ],
                      "state": "processed",
                      "meaning": "Adjudicated: the payer accepted responsibility for the claim. That is not the same as paid in full, or paid at all.",
                      "next_step": "Read the remittance for the amount paid, the patient's share and each adjustment (POST /v1/remittances/explain).",
                      "status_reported_by": "payer",
                      "since": "2026-10-19",
                      "days_in_state": 0,
                      "decided_by": {
                        "timeline_index": 3,
                        "source": "remittances[0]",
                        "kind": "835"
                      },
                      "paid_total": 1392,
                      "paid_total_cents": 139200,
                      "has_reversals": false,
                      "crossover": null,
                      "payer_claim_numbers": [
                        "PWS2292711347"
                      ],
                      "submissions": [
                        {
                          "index": 0,
                          "source": "x12_837[0]",
                          "reference": "PW-SBX-PAID",
                          "frequency_code": "1",
                          "replaces_payer_claim_number": null,
                          "submitted_on": "2026-10-19",
                          "batch_id": "PW-SBX-PAID",
                          "charge": 2900,
                          "service_date": "2026-10-01",
                          "service_date_end": null,
                          "member_id": "W123456789",
                          "payer_id": "99999",
                          "latest": true
                        }
                      ],
                      "lines": {
                        "submitted": [
                          {
                            "index": 0,
                            "line_control_number": null,
                            "procedure_code": "E0486",
                            "charge": 2900,
                            "service_date": "2026-10-01",
                            "acknowledgment_statuses": [],
                            "payments": []
                          }
                        ],
                        "remittance_lines_not_matched": [
                          {
                            "source": "remittances[0]",
                            "payer_claim_number": "PWS2292711347",
                            "clp_status": "1",
                            "procedure_code": "E0486",
                            "billed": 2900,
                            "paid": 1392,
                            "allowed": 1740,
                            "line_control_number": null
                          }
                        ]
                      },
                      "timeline": [
                        {
                          "at": "2026-10-19",
                          "source": "x12_837[0]",
                          "kind": "837P",
                          "event": "submitted",
                          "reported_by": null,
                          "words": "Submitted as an original claim.",
                          "submission": 0,
                          "counts_for_state": true,
                          "not_counted_because": null,
                          "matched_by": null,
                          "detail": {
                            "reference": "PW-SBX-PAID",
                            "frequency_code": "1",
                            "replaces_payer_claim_number": null,
                            "batch_id": "PW-SBX-PAID",
                            "charge": 2900
                          }
                        },
                        {
                          "at": "2026-10-19",
                          "source": "acknowledgments[0]",
                          "kind": "999",
                          "submission": 0,
                          "counts_for_state": true,
                          "not_counted_because": null,
                          "matched_by": "control_numbers",
                          "event": "file_accepted",
                          "reported_by": "unknown",
                          "words": "The receiver read the transaction set that carried this claim (999 IK5 A). That says the file was taken, not that the claim was accepted: the claim acknowledgment (a 277CA) says that.",
                          "detail": {
                            "group_control_number": "1",
                            "transaction_set_control_number": "0001",
                            "verdict": "A"
                          }
                        },
                        {
                          "at": "2026-10-19",
                          "source": "acknowledgments[1]",
                          "kind": "277CA",
                          "submission": 0,
                          "counts_for_state": true,
                          "not_counted_because": null,
                          "matched_by": "reference",
                          "event": "accepted",
                          "reported_by": "payer",
                          "words": "From the payer: The claim was accepted into the payer's adjudication system: accepted for processing (STC A2:20). Nothing to fix.",
                          "detail": {
                            "reference": "PW-SBX-PAID",
                            "payer_claim_number": "PWS2292711347",
                            "effective_date": "2026-10-19",
                            "statuses": [
                              {
                                "category": "A2",
                                "code": "20",
                                "entity": ""
                              }
                            ],
                            "source_name": "PAYERWORKS SANDBOX PAYER",
                            "source_id": "PWSANDBOX",
                            "batch_id": "000000001",
                            "charge": 2900,
                            "fixes": []
                          }
                        },
                        {
                          "at": "2026-10-19",
                          "source": "remittances[0]",
                          "kind": "835",
                          "submission": 0,
                          "counts_for_state": true,
                          "not_counted_because": null,
                          "matched_by": "reference",
                          "event": "processed",
                          "reported_by": "payer",
                          "words": "The payer's remittance says the claim was processed as primary (CLP02 1), paid $1,392.00, with $348.00 the patient's responsibility.",
                          "in_paid_total": true,
                          "detail": {
                            "reference": "PW-SBX-PAID",
                            "clp_status": "1",
                            "clp_status_words": "processed as primary",
                            "remittance_verdict": "paid",
                            "charge": 2900,
                            "paid": 1392,
                            "patient_responsibility": 348,
                            "payer_claim_number": "PWS2292711347",
                            "check_or_eft_trace": "PWSANDBOX-000000003-1",
                            "payer_identifier": "1PWSANDBOX",
                            "crossover_carrier": null,
                            "reverses": null,
                            "reversed_by_later_payment": false
                          }
                        }
                      ],
                      "correlation": {
                        "matched_by": [
                          "control_numbers",
                          "reference"
                        ],
                        "split_payer_claim_numbers": null,
                        "notes": []
                      }
                    }
                  ],
                  "unmatched": [],
                  "duplicate_remittances": []
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrackBody"
              },
              "example": {
                "x12_837": "ISA*00*          *00*          *ZZ*SAMPLEBILLER   *ZZ*PWSANDBOX      *261019*1500*^*00501*000000001*0*T*:~GS*HC*SAMPLEBILLER*PWSANDBOX*20261019*1500*1*X*005010X222A1~ST*837*0001*005010X222A1~BHT*0019*00*PW-SBX-PAID*20261019*1500*CH~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Health Plan*****46*PWSANDBOX~HL*1**20*1~PRV*BI*PXC*1223S0112X~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W123456789~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19600214*F~NM1*PR*2*Sample Health Plan*****PI*99999~CLM*PW-SBX-PAID*2900***11:B:1*Y*A*Y*Y~HI*ABK:G4733~LX*1~SV1*HC:E0486:KX*2900*UN*1***1~DTP*472*D8*20261001~SE*24*0001~GE*1*1~IEA*1*000000001~",
                "acknowledgments": [
                  "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000001*0*T*:~GS*FA*PWSANDBOX*SAMPLEBILLER*20261019*1500*1*X*005010X231A1~ST*999*0001*005010X231A1~AK1*HC*1*005010X222A1~AK2*837*0001*005010X222A1~IK5*A~AK9*A*1*1*1~SE*6*0001~GE*1*1~IEA*1*000000001~",
                  "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000002*0*T*:~GS*HN*PWSANDBOX*SAMPLEBILLER*20261019*1500*2*X*005010X214~ST*277*0001*005010X214~BHT*0085*08*PWSANDBOX2*20261019*1500*TH~HL*1**20*1~NM1*PR*2*PAYERWORKS SANDBOX PAYER*****PI*PWSANDBOX~TRN*1*PWSANDBOX2~DTP*050*D8*20261019~DTP*009*D8*20261019~HL*2*1*21*1~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~TRN*2*000000001~STC*A1:19:PR*20261019*WQ*2900~QTY*90*1~AMT*YU*2900~HL*3*2*19*1~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~TRN*1*0~HL*4*3*PT~NM1*QC*1*Patient*Sample****MI*W123456789~TRN*2*PW-SBX-PAID~STC*A2:20*20261019*WQ*2900~REF*1K*PWS2292711347~DTP*472*D8*20261001~SE*23*0001~GE*1*2~IEA*1*000000002~"
                ],
                "remittances": [
                  "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000003*0*T*:~GS*HP*PWSANDBOX*SAMPLEBILLER*20261019*1500*3*X*005010X221A1~ST*835*0001~BPR*I*1392*C*CHK************20261019~TRN*1*PWSANDBOX-000000003-1*1PWSANDBOX~DTM*405*20261019~N1*PR*PAYERWORKS SANDBOX PAYER*XV*PWSANDBOX~REF*2U*PWSANDBOX~N1*PE*Sample Sleep Dentistry*XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*TJ*123456789~LX*1~CLP*PW-SBX-PAID*1*2900*1392*348*CI*PWS2292711347*11*1~NM1*QC*1*Patient*Sample****MI*W123456789~SVC*HC:E0486:KX*2900*1392**1~DTM*472*20261001~CAS*CO*45*1160~CAS*PR*2*348~AMT*B6*1740~SE*19*0001~GE*1*3~IEA*1*000000003~"
                ]
              }
            }
          }
        }
      }
    },
    "/v1/acknowledgments/explain": {
      "post": {
        "summary": "Explain an acknowledgment",
        "description": "Every rejection in a 999 or a 277CA said as the fix: the segment, the loop, the element, and the part of your claim data to correct, matched to your claim reference. A TA1 is said as its accept or reject and its note code, in words.",
        "operationId": "postV1AcknowledgmentsExplain",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcknowledgmentAnswer"
                },
                "example": {
                  "kind": "277CA",
                  "batch": {
                    "trace": "B1",
                    "statuses": [],
                    "accepted": null,
                    "rejected": null
                  },
                  "claims": [
                    {
                      "reference": "PW-1004",
                      "payer_claim_number": "",
                      "verdict": "R",
                      "fixes": [
                        {
                          "category": "A7",
                          "code": "562",
                          "entity": "85",
                          "verdict": "R",
                          "where": "the billing provider in your claim data",
                          "sentence": "The claim was rejected for invalid information: the billing provider's NPI is missing or invalid (STC A7:562:85). Fix it on the billing provider in your claim data, then send the claim again."
                        }
                      ]
                    },
                    {
                      "reference": "PW-1005",
                      "payer_claim_number": "PAYER-CN-5",
                      "verdict": "A",
                      "fixes": [
                        {
                          "category": "A2",
                          "code": "20",
                          "entity": "",
                          "verdict": "A",
                          "where": "",
                          "sentence": "The claim was accepted into the payer's adjudication system: accepted for processing (STC A2:20). Nothing to fix."
                        }
                      ]
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/X12Body"
              },
              "example": {
                "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000081*0*T*:~\nGS*HN*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*81*X*005010X214~\nST*277*0001*005010X214~\nBHT*0085*08*B1*20261018*0900*TH~\nHL*1**20*1~\nNM1*PR*2*SAMPLE HEALTH PLAN*****46*99999~\nTRN*1*B1~\nHL*2*1*21*1~\nNM1*41*2*SAMPLE SLEEP DENTISTRY*****46*SAMPLEBILLER~\nTRN*2*B1~\nHL*3*2*19*1~\nNM1*85*2*SAMPLE SLEEP DENTISTRY*****XX*1234567893~\nHL*4*3*PT~\nNM1*QC*1*PATIENT*SAMPLE****MI*W123456789~\nTRN*2*PW-1004~\nSTC*A7:562:85*20261018*U*2900~\nDTP*472*D8*20261001~\nHL*5*3*PT~\nNM1*QC*1*PATIENT*SECOND****MI*W987654321~\nTRN*2*PW-1005~\nSTC*A2:20*20261018*WQ*350~\nREF*1K*PAYER-CN-5~\nDTP*472*D8*20261002~\nSE*22*0001~\nGE*1*81~\nIEA*1*000000081~"
              }
            }
          }
        }
      }
    },
    "/v1/claims/cms1500": {
      "post": {
        "summary": "Draw claims on the CMS-1500",
        "description": "Up to one hundred claims in the 837P’s JSON, checked by the same claim checks as POST /v1/claims/837p (your own rules are not applied here) and drawn on the CMS-1500 (02/12): six service lines a form, as many forms as a claim needs (at most 200 a call), each form’s Box 28 the total of its own lines. form: full puts CMS’s own form under the data; data_only prints the data alone, to print onto pre-printed red forms (print one on plain paper and hold it against a form first). Send signed_on to date Boxes 12 and 31, which are otherwise left undated, and payer_address for the carrier block. The answer is your PDF as base64; nothing is sent or kept.",
        "operationId": "postV1ClaimsCms1500",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Cms1500Answer"
                },
                "example": {
                  "document": "cms1500",
                  "content_type": "application/pdf",
                  "filename": "cms1500-20261019.pdf",
                  "pages": 1,
                  "bytes": 198311,
                  "sha256": "ddf6013e3b086ddb5b6ae2e5c3bcf5484015ffa022ab78ce1ae9409099b96703",
                  "pdf_base64": "JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL1R5cGUgL1hPYmplY3QKL1N1YnR5...",
                  "notice": "Your document: Payerworks drew it from what you sent. Payerworks sent nothing to any payer and kept no copy.",
                  "form": "full",
                  "forms": [
                    {
                      "claim": 0,
                      "reference": "PW-2001",
                      "page": 1,
                      "lines": [
                        1,
                        2
                      ]
                    }
                  ],
                  "shrunk": [],
                  "claims": [
                    {
                      "index": 0,
                      "reference": "PW-2001",
                      "errors": [],
                      "warnings": [],
                      "repairs": [],
                      "not_checked": []
                    }
                  ],
                  "dated": "Boxes 12 and 31 are dated 10/19/2026.",
                  "sources": [
                    {
                      "name": "CMS, Medicare Claims Processing Manual, chapter 26 (Item 24F and Item 28)",
                      "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c26pdf.pdf",
                      "read_on": "10/19/2026"
                    }
                  ],
                  "stored": false,
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Cms1500Body"
              },
              "example": {
                "claim": {
                  "tradingPartnerServiceId": "99999",
                  "submitter": {
                    "organizationName": "Sample Family Medicine",
                    "contactInformation": {
                      "name": "Billing Office",
                      "phoneNumber": "5555550100"
                    }
                  },
                  "receiver": {
                    "organizationName": "Sample Health Plan"
                  },
                  "billing": {
                    "npi": "1234567893",
                    "employerId": "123456789",
                    "organizationName": "Sample Family Medicine",
                    "taxonomyCode": "207Q00000X",
                    "address": {
                      "address1": "100 Main Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "627011234"
                    }
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "paymentResponsibilityLevelCode": "P",
                    "firstName": "Sample",
                    "lastName": "Patient",
                    "gender": "F",
                    "dateOfBirth": "19800214",
                    "address": {
                      "address1": "9 Elm Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "62701"
                    }
                  },
                  "claimInformation": {
                    "claimFilingCode": "CI",
                    "patientControlNumber": "PW-2001",
                    "claimChargeAmount": "215.00",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "1",
                    "signatureIndicator": "Y",
                    "planParticipationCode": "A",
                    "benefitsAssignmentCertificationIndicator": "Y",
                    "releaseInformationCode": "Y",
                    "healthCareCodeInformation": [
                      {
                        "diagnosisTypeCode": "ABK",
                        "diagnosisCode": "J029"
                      },
                      {
                        "diagnosisTypeCode": "ABF",
                        "diagnosisCode": "R509"
                      }
                    ],
                    "serviceLines": [
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "99213",
                          "lineItemChargeAmount": "150.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1",
                              "2"
                            ]
                          }
                        }
                      },
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "87880",
                          "lineItemChargeAmount": "65.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1"
                            ]
                          }
                        }
                      }
                    ]
                  }
                },
                "form": "full",
                "signed_on": "2026-10-19",
                "payer_address": {
                  "address1": "PO Box 100",
                  "city": "Springfield",
                  "state": "IL",
                  "postalCode": "62701"
                }
              }
            }
          }
        }
      }
    },
    "/v1/attachments/275": {
      "post": {
        "summary": "Write a 275 attachment",
        "description": "A claim’s attachments as an X12 275 (005010X210): each file (PDF, TIFF, JPEG, PNG or a CDA document, up to ten and 1.4 MB in all) base64 in its own BIN, under the control number the claim’s PWK segment announced with transmission EL, so the payer can match the two; a control number the claim does not announce is refused. A control number is 2 to 50 letters, digits, dots, dashes or underscores, the same in the claim’s PWK06 and the 275’s TRN02. Written as public payer companion guides show the 275, not from the licensed implementation guide, and the answer says so: check your payer’s own. A test key writes test files only. Names an attachment’s LOINC document type when you give one. A solicited 275 answers a payer’s request: send `request` with the request’s trace, and each attachment may echo its own requested code (stc01) and name its service line (line_control_number); POST /v1/attachments/requests/explain gives every value from the request.",
        "operationId": "postV1Attachments275",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Attachment275Answer"
                },
                "example": {
                  "version": "005010X210",
                  "usage": "T",
                  "solicited": false,
                  "x12": "ISA*00*          *00*          *ZZ*SAMPLEBILLER   *ZZ*99999          *261019*1500*^*00501*000000007*0*T*:~GS*PI*SAMPLEBILLER*99999*20261019*1500*7*X*005010X210~ST*275*0001*005010X210~BGN*02*PW-2001*20261019~NM1*PR*2*Sample Health Plan*****PI*99999~NM1*41*2*Sample Family Medicine*****46*SAMPLEBILLER~NM1*1P*2*Sample Family Medicine*****XX*1234567893~PRV*BI*PXC*207Q00000X~NX1*1P~N3*100 Main Street~N4*Springfield*IL*627011234~NM1*QC*1*Patient*Sample****MI*W123456789~REF*EJ*PW-2001~DTP*472*D8*20261001~LX*1~TRN*1*PWATT0001~DTP*368*D8*20261019~CAT*AE*IA~EFI*05~BIN*246*Mime-Version: 1.0\r\nContent-Type: application/pdf\r\nContent-Transfer-Encoding: base64\r\nContent-Disposition: attachment; filename=progress_note.pdf\r\n\r\nJVBERi0xLjQKJSBhbiBpbnZlbnRlZCBhdHRhY2htZW50CjEgMCBvYmo8PD4+ZW5kb2JqCnRyYWls\r\nZXI8PD4+CiUlRU9GCg==~SE*19*0001~GE*1*7~IEA*1*000000007~",
                  "interchange_control_number": "000000007",
                  "group_control_number": "7",
                  "transaction_set_control_number": "0001",
                  "bgn02": "PW-2001",
                  "segments": 23,
                  "attachments": [
                    {
                      "control_number": "PWATT0001",
                      "trn02": "PWATT0001",
                      "content_type": "application/pdf",
                      "format_code": "IA",
                      "filename": "progress_note.pdf",
                      "bytes": 70,
                      "loinc": {
                        "code": "11506-3",
                        "valid": true,
                        "known": true,
                        "long_common_name": "Progress Note",
                        "short_name": "Prog Note",
                        "label_source": "loinc",
                        "notice": "This material contains content from LOINC (http://loinc.org). LOINC is copyright © Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc."
                      }
                    }
                  ],
                  "warnings": [],
                  "shape": {
                    "verified": false,
                    "words": "Written as the public companion guides of the VA, Texas Medicaid and CMS's esMD profile show a 275; the ASC X12 TR3 for 005010X210 was not read. Check the payer's own companion guide (some ask for CAT02 MB for every file, and some take an unsolicited 275 only for the attachments they list)."
                  },
                  "limits": {
                    "attachments": 10,
                    "decoded_bytes": 1400000
                  },
                  "loinc_notice": "This material contains content from LOINC (http://loinc.org). LOINC is copyright © Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.",
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Attachment275Body"
              },
              "example": {
                "sender_id": "SAMPLEBILLER",
                "receiver_id": "99999",
                "control_number": 7,
                "claim": {
                  "tradingPartnerServiceId": "99999",
                  "submitter": {
                    "organizationName": "Sample Family Medicine",
                    "contactInformation": {
                      "name": "Billing Office",
                      "phoneNumber": "5555550100"
                    }
                  },
                  "receiver": {
                    "organizationName": "Sample Health Plan"
                  },
                  "billing": {
                    "npi": "1234567893",
                    "employerId": "123456789",
                    "organizationName": "Sample Family Medicine",
                    "taxonomyCode": "207Q00000X",
                    "address": {
                      "address1": "100 Main Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "627011234"
                    }
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "paymentResponsibilityLevelCode": "P",
                    "firstName": "Sample",
                    "lastName": "Patient",
                    "gender": "F",
                    "dateOfBirth": "19800214",
                    "address": {
                      "address1": "9 Elm Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "62701"
                    }
                  },
                  "claimInformation": {
                    "claimFilingCode": "CI",
                    "patientControlNumber": "PW-2001",
                    "claimChargeAmount": "215.00",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "1",
                    "signatureIndicator": "Y",
                    "planParticipationCode": "A",
                    "benefitsAssignmentCertificationIndicator": "Y",
                    "releaseInformationCode": "Y",
                    "healthCareCodeInformation": [
                      {
                        "diagnosisTypeCode": "ABK",
                        "diagnosisCode": "J029"
                      },
                      {
                        "diagnosisTypeCode": "ABF",
                        "diagnosisCode": "R509"
                      }
                    ],
                    "serviceLines": [
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "99213",
                          "lineItemChargeAmount": "150.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1",
                              "2"
                            ]
                          }
                        }
                      },
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "87880",
                          "lineItemChargeAmount": "65.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1"
                            ]
                          }
                        }
                      }
                    ],
                    "claimSupplementalInformation": {
                      "reportInformations": [
                        {
                          "attachmentReportTypeCode": "09",
                          "attachmentTransmissionCode": "EL",
                          "attachmentControlNumber": "PWATT0001"
                        }
                      ]
                    }
                  }
                },
                "attachments": [
                  {
                    "control_number": "PWATT0001",
                    "content_type": "application/pdf",
                    "content_base64": "JVBERi0xLjQKJSBhbiBpbnZlbnRlZCBhdHRhY2htZW50CjEgMCBvYmo8PD4+ZW5kb2JqCnRyYWlsZXI8PD4+CiUlRU9GCg==",
                    "filename": "progress note.pdf",
                    "loinc": "11506-3"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/v1/attachments/requests/explain": {
      "post": {
        "summary": "Read a request for more information",
        "description": "A payer’s 277 request for additional information (005010X213) said claim by claim: what it asks for (each LOINC code it names, in LOINC’s own words, or said as a code Payerworks has no words for), about which claim and which service line, by when against your own today, and the solicited 275 that answers it: the payer’s trace, the claim’s REF*EJ, the submitter id, the payer’s response contact, and a body POST /v1/attachments/275 takes. Read as public sources show the request, not from the licensed implementation guide, and the answer says so. Nothing is stored or sent.",
        "operationId": "postV1AttachmentsRequestsExplain",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InformationRequestExplainAnswer"
                },
                "example": {
                  "kind": "277RFAI",
                  "version": "005010X213",
                  "usage": "T",
                  "created": "2026-10-19",
                  "reference": "PWSANDBOX4",
                  "today": "2026-10-19",
                  "claims": [
                    {
                      "index": 0,
                      "trace": "PWR3503656727",
                      "trace_type": "1",
                      "payer": {
                        "name": "PAYERWORKS SANDBOX PAYER",
                        "id": "PWSANDBOX"
                      },
                      "receiver": {
                        "name": "Sample Sleep Dentistry",
                        "id": "SAMPLEBILLER",
                        "id_qualifier": "46"
                      },
                      "provider": {
                        "entity": "1P",
                        "name": "Sample Sleep Dentistry",
                        "first_name": null,
                        "id_qualifier": "XX",
                        "id": "1234567893"
                      },
                      "patient": {
                        "entity": "QC",
                        "last_name": "Patient",
                        "first_name": "Sample",
                        "id_qualifier": "MI",
                        "id": "W12345RFAI"
                      },
                      "payer_claim_number": "PWS1325701407",
                      "patient_control_number": "PW-SBX-RFAI",
                      "service_date": "2026-10-01",
                      "service_date_end": null,
                      "references": [
                        {
                          "qualifier": "1K",
                          "value": "PWS1325701407",
                          "words": "the payer's claim control number"
                        },
                        {
                          "qualifier": "EJ",
                          "value": "PW-SBX-RFAI",
                          "words": "the patient control number (the claim's CLM01)"
                        }
                      ],
                      "dates": [
                        {
                          "qualifier": "472",
                          "format": "D8",
                          "value": "20261001",
                          "words": "the date of service"
                        },
                        {
                          "qualifier": "106",
                          "format": "D8",
                          "value": "20261118",
                          "words": "the day the payer needs the information by"
                        }
                      ],
                      "due": {
                        "date": "2026-11-18",
                        "source": "DTP*106",
                        "days_left": 30,
                        "overdue": false,
                        "words": "Due by 11/18/2026, in 30 days."
                      },
                      "requests": [
                        {
                          "level": "claim",
                          "line_index": null,
                          "element": "STC01",
                          "written": "R4:11506-3::LOI",
                          "category": {
                            "code": "R4",
                            "words": "held for supporting documentation",
                            "known": true
                          },
                          "loinc": {
                            "code": "11506-3",
                            "valid": true,
                            "known": true,
                            "long_common_name": "Progress Note",
                            "short_name": "Prog Note",
                            "label_source": "loinc",
                            "notice": "This material contains content from LOINC (http://loinc.org). LOINC is copyright © Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc."
                          },
                          "code": "11506-3",
                          "code_is_loinc": true,
                          "entity": null,
                          "code_list_qualifier": "LOI",
                          "effective_date": "2026-10-19",
                          "words": "The payer asks for the Progress Note (LOINC 11506-3) about the claim: the claim is held for supporting documentation."
                        }
                      ],
                      "lines": [],
                      "response_contact": null,
                      "payer_contact": null,
                      "response_275": {
                        "bgn01": "11",
                        "trn01": "2",
                        "trn02": "PWR3503656727",
                        "ref_ej": "PW-SBX-RFAI",
                        "submitter_id": "SAMPLEBILLER",
                        "payer": {
                          "name": "PAYERWORKS SANDBOX PAYER",
                          "id": "PWSANDBOX"
                        },
                        "payer_contact": null,
                        "provider": {
                          "entity": "1P",
                          "name": "Sample Sleep Dentistry",
                          "first_name": null,
                          "id_qualifier": "XX",
                          "id": "1234567893"
                        },
                        "patient": {
                          "last_name": "Patient",
                          "first_name": "Sample",
                          "member_id": "W12345RFAI"
                        },
                        "request": {
                          "trace": "PWR3503656727",
                          "stc01": "R4:11506-3::LOI",
                          "patient_control_number": "PW-SBX-RFAI",
                          "submitter_id": "SAMPLEBILLER"
                        },
                        "attachments": [
                          {
                            "control_number": "ATT1",
                            "stc01": "R4:11506-3::LOI",
                            "loinc": "11506-3",
                            "document": "Progress Note",
                            "content_type": null,
                            "content_base64": null
                          }
                        ],
                        "sender_id": "SAMPLEBILLER",
                        "receiver_id": "PWSANDBOX",
                        "cannot_answer": [],
                        "words": "Send a solicited 275 (BGN01 11) under the payer's trace PWR3503656727 (TRN01 2, the same TRN02 on every attachment), as submitter SAMPLEBILLER, with REF*EJ PW-SBX-RFAI, and one attachment for each code asked, each echoing the request's STC as the payer wrote it. POST /v1/attachments/275 writes it from these values; POST /v1/attachments/requests/check checks it against this request before you send it."
                      },
                      "words": "One request about the claim PW-SBX-RFAI. Due by 11/18/2026, in 30 days."
                    }
                  ],
                  "requests": 1,
                  "shape": {
                    "verified": false,
                    "words": "Read as public sources show a 277 request for additional information (005010X213): X12's interpretation 2045 (the LOINC code in STC01, STC10 and STC11), HL7's Da Vinci attachment mapping (the payer's trace in the claim's TRN, the deadline as DTP 106) and payers' public 275 companion guides. The ASC X12 implementation guides were not read: check the payer's own companion guide."
                  },
                  "loinc_notice": "This material contains content from LOINC (http://loinc.org). LOINC is copyright © Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.",
                  "today_source": "today",
                  "reads": "Only the file sent in this call: nothing is stored, and no payer is asked."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InformationRequestExplainBody"
              },
              "example": {
                "x12": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000004*0*T*:~GS*HN*PWSANDBOX*SAMPLEBILLER*20261019*1500*4*X*005010X213~ST*277*0001*005010X213~BHT*0010*08*PWSANDBOX4*20261019*1500~HL*1**20*1~NM1*PR*2*PAYERWORKS SANDBOX PAYER*****PI*PWSANDBOX~HL*2*1*21*1~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~HL*3*2*19*1~NM1*1P*2*Sample Sleep Dentistry*****XX*1234567893~HL*4*3*PT~NM1*QC*1*Patient*Sample****MI*W12345RFAI~TRN*1*PWR3503656727~STC*R4:11506-3::LOI*20261019~REF*1K*PWS1325701407~REF*EJ*PW-SBX-RFAI~DTP*472*D8*20261001~DTP*106*D8*20261118~SE*17*0001~GE*1*4~IEA*1*000000004~",
                "today": "2026-10-19"
              }
            }
          }
        }
      }
    },
    "/v1/attachments/requests/check": {
      "post": {
        "summary": "Check a 275 against its request",
        "description": "A solicited 275 (or up to ten) held to the 277 request it answers before you send it: BGN01 11, the payer’s trace on every attachment, the request’s REF*EJ and submitter id, every code asked for answered by an attachment echoing its STC, each file’s BIN length, and the due day. Errors and warnings per 275 set, and per claim whether every code is answered: a set with an error of its own answers no code, what is missing is read across every 275 sent, and a line’s request is answered only by an attachment carrying that line’s REF*FJ. Nothing is stored or sent.",
        "operationId": "postV1AttachmentsRequestsCheck",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AttachmentResponseCheckAnswer"
                },
                "example": {
                  "kind": "277RFAI",
                  "today": "2026-10-19",
                  "today_source": "today",
                  "answers_every_request": true,
                  "claims": [
                    {
                      "index": 0,
                      "trace": "PWR3503656727",
                      "patient_control_number": "PW-SBX-RFAI",
                      "asked": [
                        "11506-3"
                      ],
                      "answered": [
                        "11506-3"
                      ],
                      "missing": [],
                      "missing_requests": [],
                      "answered_by": [
                        {
                          "file": 0,
                          "set": 0,
                          "answers": true
                        }
                      ],
                      "complete": true,
                      "words": "Every code asked for is answered."
                    }
                  ],
                  "files": [
                    {
                      "file": "x12_275",
                      "sets": [
                        {
                          "index": 0,
                          "st_control": "0001",
                          "trace": "PWR3503656727",
                          "claim_index": 0,
                          "answers": true,
                          "errors": [],
                          "warnings": []
                        }
                      ]
                    }
                  ],
                  "shape": {
                    "verified": false,
                    "words": "Read as public sources show a 277 request for additional information (005010X213): X12's interpretation 2045 (the LOINC code in STC01, STC10 and STC11), HL7's Da Vinci attachment mapping (the payer's trace in the claim's TRN, the deadline as DTP 106) and payers' public 275 companion guides. The ASC X12 implementation guides were not read: check the payer's own companion guide."
                  },
                  "loinc_notice": "This material contains content from LOINC (http://loinc.org). LOINC is copyright © Regenstrief Institute, Inc. and the Logical Observation Identifiers Names and Codes (LOINC) Committee and is available at no cost under the license at http://loinc.org/license. LOINC® is a registered United States trademark of Regenstrief Institute, Inc.",
                  "reads": "Only the files sent in this call: nothing is stored, nothing is sent, and no payer is asked."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachmentResponseCheckBody"
              },
              "example": {
                "x12": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000004*0*T*:~GS*HN*PWSANDBOX*SAMPLEBILLER*20261019*1500*4*X*005010X213~ST*277*0001*005010X213~BHT*0010*08*PWSANDBOX4*20261019*1500~HL*1**20*1~NM1*PR*2*PAYERWORKS SANDBOX PAYER*****PI*PWSANDBOX~HL*2*1*21*1~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~HL*3*2*19*1~NM1*1P*2*Sample Sleep Dentistry*****XX*1234567893~HL*4*3*PT~NM1*QC*1*Patient*Sample****MI*W12345RFAI~TRN*1*PWR3503656727~STC*R4:11506-3::LOI*20261019~REF*1K*PWS1325701407~REF*EJ*PW-SBX-RFAI~DTP*472*D8*20261001~DTP*106*D8*20261118~SE*17*0001~GE*1*4~IEA*1*000000004~",
                "x12_275": "ISA*00*          *00*          *ZZ*SAMPLEBILLER   *ZZ*PWSANDBOX      *261019*1500*^*00501*000000008*0*T*:~GS*PI*SAMPLEBILLER*PWSANDBOX*20261019*1500*8*X*005010X210~ST*275*0001*005010X210~BGN*11*PW-SBX-RFAI*20261019~NM1*PR*2*PAYERWORKS SANDBOX PAYER*****PI*PWSANDBOX~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~NM1*1P*2*Sample Sleep Dentistry*****XX*1234567893~PRV*BI*PXC*1223S0112X~NX1*1P~N3*100 Main Street~N4*Springfield*IL*627011234~NM1*QC*1*Patient*Sample****MI*W12345RFAI~REF*EJ*PW-SBX-RFAI~DTP*472*D8*20261001~LX*1~TRN*2*PWR3503656727~STC*R4:11506-3::LOI~DTP*368*D8*20261019~CAT*AE*IA~EFI*05~BIN*246*Mime-Version: 1.0\r\nContent-Type: application/pdf\r\nContent-Transfer-Encoding: base64\r\nContent-Disposition: attachment; filename=progress_note.pdf\r\n\r\nJVBERi0xLjQKJSBhbiBpbnZlbnRlZCBhdHRhY2htZW50CjEgMCBvYmo8PD4+ZW5kb2JqCnRyYWls\r\nZXI8PD4+CiUlRU9GCg==~SE*20*0001~GE*1*8~IEA*1*000000008~",
                "today": "2026-10-19"
              }
            }
          }
        }
      }
    },
    "/v1/edits/rules/check": {
      "post": {
        "summary": "Check your own claim rules",
        "description": "Rules you write for your own payers: a field’s path, an operator from a fixed list of twenty, a value, the payers it applies to, your message and whether it is an error or a warning. Each rule is checked for the format, and applied to any claims you send with it (up to 100). The same rules may ride on POST /v1/claims/validate and POST /v1/claims/837p as rules, where a rule of severity error refuses the claim. Patterns are a small fixed format, never code, and each call has a step budget, and a field a rule reads may reach at most 1,000 values: a rule it does not reach, or whose field reaches more, is listed as not checked with its reason, never as passed. Nothing is stored.",
        "operationId": "postV1EditsRulesCheck",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClaimRulesAnswer"
                },
                "example": {
                  "valid": true,
                  "rules": [
                    {
                      "index": 0,
                      "id": "visit-needs-pos-11",
                      "valid": true,
                      "problems": []
                    },
                    {
                      "index": 1,
                      "id": "member-id-shape",
                      "valid": true,
                      "problems": []
                    },
                    {
                      "index": 2,
                      "id": "strep-test-needs-qw",
                      "valid": true,
                      "problems": []
                    }
                  ],
                  "operators": [
                    "exists",
                    "absent",
                    "equals",
                    "not_equals",
                    "in",
                    "not_in",
                    "contains",
                    "not_contains",
                    "starts_with",
                    "ends_with",
                    "longer_than",
                    "shorter_than",
                    "gt",
                    "gte",
                    "lt",
                    "lte",
                    "before",
                    "after",
                    "matches",
                    "not_matches"
                  ],
                  "stored": false,
                  "claims": [
                    {
                      "index": 0,
                      "reference": "PW-2001",
                      "errors": [
                        {
                          "code": "caller_rule",
                          "rule_id": "strep-test-needs-qw",
                          "field": "claimInformation.serviceLines[1].professionalService.procedureModifiers",
                          "message": "A waived rapid strep test (87880) is billed with modifier QW.",
                          "severity": "error",
                          "source": "caller"
                        }
                      ],
                      "warnings": [],
                      "not_checked": []
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClaimRulesBody"
              },
              "example": {
                "rules": [
                  {
                    "id": "visit-needs-pos-11",
                    "payer_id": "99999",
                    "field": "claimInformation.placeOfServiceCode",
                    "operator": "not_equals",
                    "value": "11",
                    "severity": "error",
                    "message": "This plan pays office visits in the office only."
                  },
                  {
                    "id": "member-id-shape",
                    "field": "subscriber.memberId",
                    "operator": "not_matches",
                    "value": "W\\d{9}",
                    "severity": "warning",
                    "message": "Our member ids for this plan are W and nine digits."
                  },
                  {
                    "id": "strep-test-needs-qw",
                    "scope": "claimInformation.serviceLines[]",
                    "when": [
                      {
                        "field": "professionalService.procedureCode",
                        "operator": "equals",
                        "value": "87880"
                      }
                    ],
                    "field": "professionalService.procedureModifiers",
                    "operator": "not_contains",
                    "value": "QW",
                    "severity": "error",
                    "message": "A waived rapid strep test (87880) is billed with modifier QW."
                  }
                ],
                "claim": {
                  "tradingPartnerServiceId": "99999",
                  "submitter": {
                    "organizationName": "Sample Family Medicine",
                    "contactInformation": {
                      "name": "Billing Office",
                      "phoneNumber": "5555550100"
                    }
                  },
                  "receiver": {
                    "organizationName": "Sample Health Plan"
                  },
                  "billing": {
                    "npi": "1234567893",
                    "employerId": "123456789",
                    "organizationName": "Sample Family Medicine",
                    "taxonomyCode": "207Q00000X",
                    "address": {
                      "address1": "100 Main Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "627011234"
                    }
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "paymentResponsibilityLevelCode": "P",
                    "firstName": "Sample",
                    "lastName": "Patient",
                    "gender": "F",
                    "dateOfBirth": "19800214",
                    "address": {
                      "address1": "9 Elm Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "62701"
                    }
                  },
                  "claimInformation": {
                    "claimFilingCode": "CI",
                    "patientControlNumber": "PW-2001",
                    "claimChargeAmount": "215.00",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "1",
                    "signatureIndicator": "Y",
                    "planParticipationCode": "A",
                    "benefitsAssignmentCertificationIndicator": "Y",
                    "releaseInformationCode": "Y",
                    "healthCareCodeInformation": [
                      {
                        "diagnosisTypeCode": "ABK",
                        "diagnosisCode": "J029"
                      },
                      {
                        "diagnosisTypeCode": "ABF",
                        "diagnosisCode": "R509"
                      }
                    ],
                    "serviceLines": [
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "99213",
                          "lineItemChargeAmount": "150.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1",
                              "2"
                            ]
                          }
                        }
                      },
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "87880",
                          "lineItemChargeAmount": "65.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/eligibility/270": {
      "post": {
        "summary": "Write a 270",
        "description": "Up to one hundred eligibility questions written as one 005010X279A1 interchange, from the JSON shape most clearinghouse APIs take: the payer, the provider, the subscriber and at most one dependent, the day and the service types. Ask about any day, a later one included; with no day named, the payer answers for its own current day. A question may also ask about procedures (CPT, HCPCS, CDT or NDC codes with up to four modifiers), point each to the patient’s diagnoses, and carry the place of service, a prior authorization or referral number, the provider’s taxonomy, a payer PIN and a birth order for twins; a question that asks only about procedures asks no service type beside them. Each question is checked field by field first, and nothing is written if any would be refused. You are told when a member ID begins with the card issuer number (80840), a name holds a title, a degree or a suffix, a backtick was written as an apostrophe, or the day is more than a year back. A question that uses none of these fields is written exactly as before. A test key writes test files only.",
        "operationId": "postV1Eligibility270",
        "tags": [
          "Eligibility"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Eligibility270Answer"
                },
                "example": {
                  "version": "005010X279A1",
                  "usage": "T",
                  "x12": "ISA*00*          *00*          *ZZ*SAMPLEBILLER   *ZZ*99999          *261019*1500*^*00501*000000012*0*T*:~GS*HS*SAMPLEBILLER*99999*20261019*1500*12*X*005010X279A1~ST*270*0001*005010X279A1~BHT*0022*13*ELIG-0001*20261019*1500~HL*1**20*1~NM1*PR*2*SAMPLE HEALTH PLAN*****PI*99999~HL*2*1*21*1~NM1*1P*2*SAMPLE FAMILY MEDICINE*****XX*1234567893~HL*3*2*22*0~TRN*1*ELIG-0001*9SAMPLEBIL~NM1*IL*1*PATIENT*SAMPLE****MI*W123456789~DMG*D8*19800214*F~DTP*291*D8*20261020~EQ*30~SE*13*0001~GE*1*12~IEA*1*000000012~",
                  "interchange_control_number": "000000012",
                  "group_control_number": "12",
                  "transaction_set_control_numbers": [
                    "0001"
                  ],
                  "segments": 17,
                  "requests": [
                    {
                      "index": 0,
                      "trace": "ELIG-0001",
                      "transaction_set_control_number": "0001",
                      "warnings": []
                    }
                  ],
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Eligibility270Body"
              },
              "example": {
                "sender_id": "SAMPLEBILLER",
                "receiver_id": "99999",
                "control_number": 12,
                "request": {
                  "tradingPartnerServiceId": "99999",
                  "tradingPartnerName": "SAMPLE HEALTH PLAN",
                  "provider": {
                    "organizationName": "SAMPLE FAMILY MEDICINE",
                    "npi": "1234567893"
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "firstName": "SAMPLE",
                    "lastName": "PATIENT",
                    "dateOfBirth": "19800214",
                    "gender": "F"
                  },
                  "encounter": {
                    "dateOfService": "20261020",
                    "serviceTypeCodes": [
                      "30"
                    ]
                  },
                  "controlNumber": "ELIG-0001"
                }
              }
            }
          }
        }
      }
    },
    "/v1/eligibility/explain": {
      "post": {
        "summary": "Explain an eligibility answer",
        "description": "Any 271, as X12 or as the JSON most clearinghouse APIs return, said per patient: whether the coverage is active on the day you asked about, the plan, and for each service type the deductible and out-of-pocket limit with what is met and what remains, in and out of network, individual and family, the coinsurance, the copay, and what is not covered or needs prior authorization at each tier. A refusal comes back as every reason in words, with the field to fix and where to check it, or when to ask again. The JSON may be either shape most clearinghouse APIs return, a flat list of benefits or benefits grouped by plan with each kind in its own list, and one answer explains the same in any of the three forms; what the grouped shape holds that is not read is named. Add ?include=answer for the 271 read to JSON as well, and &shape=plans to have it in the grouped shape.",
        "operationId": "postV1EligibilityExplain",
        "tags": [
          "Eligibility"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EligibilityExplainAnswer"
                },
                "example": {
                  "kind": "271",
                  "source": "x12",
                  "envelope": {
                    "sender_qualifier": "ZZ",
                    "sender": "SAMPLEPAYER",
                    "receiver_qualifier": "ZZ",
                    "receiver": "SAMPLEBILLER",
                    "date": "261018",
                    "time": "0900",
                    "control_number": "000000091",
                    "usage": "T",
                    "functional_group": "HB",
                    "version": "005010X279A1",
                    "transaction_sets": {
                      "271": 1
                    },
                    "segments": 30
                  },
                  "asked": {
                    "service_type_codes": [
                      "30",
                      "98",
                      "62"
                    ],
                    "date_of_service": "20261020"
                  },
                  "members": [
                    {
                      "member": "subscriber",
                      "who": {
                        "first_name": "SAMPLE",
                        "last_name": "PATIENT",
                        "member_id": "W123456789",
                        "date_of_birth": "1980-02-14",
                        "relationship": "18"
                      },
                      "payer": {
                        "name": "SAMPLE HEALTH PLAN",
                        "id": "99999"
                      },
                      "coverage": {
                        "state": "active",
                        "words": "The payer says the coverage is active.",
                        "active_on_date": "yes",
                        "by_insurance_type": null
                      },
                      "plan": {
                        "name": "SAMPLE PPO",
                        "group_number": "G7700",
                        "group_name": "SAMPLE EMPLOYER GROUP",
                        "plan_number": "",
                        "begins": "2026-01-01",
                        "ends": "",
                        "eligibility_begins": "",
                        "eligibility_ends": "",
                        "insurance_type": {
                          "code": "PR",
                          "words": "preferred provider organization (PPO)"
                        }
                      },
                      "services": [
                        {
                          "service_type": "98",
                          "words": "physician visit, office",
                          "known": true,
                          "asked": true,
                          "answered": true,
                          "coverage": "not_stated",
                          "in_network": {
                            "individual": {
                              "deductible": {
                                "total": null,
                                "remaining": null,
                                "met": null,
                                "period": "",
                                "begins": "",
                                "ends": "",
                                "status": null
                              },
                              "out_of_pocket": {
                                "total": null,
                                "remaining": null,
                                "met": null,
                                "period": "",
                                "begins": "",
                                "ends": "",
                                "status": null
                              }
                            },
                            "family": {
                              "deductible": {
                                "total": null,
                                "remaining": null,
                                "met": null,
                                "period": "",
                                "begins": "",
                                "ends": "",
                                "status": null
                              },
                              "out_of_pocket": {
                                "total": null,
                                "remaining": null,
                                "met": null,
                                "period": "",
                                "begins": "",
                                "ends": "",
                                "status": null
                              }
                            },
                            "coinsurance_percent": null,
                            "copay": 25,
                            "not_covered": null,
                            "prior_auth_required": null
                          },
                          "out_of_network": {
                            "individual": {
                              "deductible": {
                                "total": null,
                                "remaining": null,
                                "met": null,
                                "period": "",
                                "begins": "",
                                "ends": "",
                                "status": null
                              },
                              "out_of_pocket": {
                                "total": null,
                                "remaining": null,
                                "met": null,
                                "period": "",
                                "begins": "",
                                "ends": "",
                                "status": null
                              }
                            },
                            "family": {
                              "deductible": {
                                "total": null,
                                "remaining": null,
                                "met": null,
                                "period": "",
                                "begins": "",
                                "ends": "",
                                "status": null
                              },
                              "out_of_pocket": {
                                "total": null,
                                "remaining": null,
                                "met": null,
                                "period": "",
                                "begins": "",
                                "ends": "",
                                "status": null
                              }
                            },
                            "coinsurance_percent": 40,
                            "copay": null,
                            "not_covered": null,
                            "prior_auth_required": null
                          },
                          "network_not_stated": null,
                          "prior_auth_required": null,
                          "not_covered": null,
                          "limitations": [],
                          "messages": []
                        },
                        {
                          "service_type": "62",
                          "words": "MRI or CAT scan",
                          "known": true,
                          "asked": true,
                          "answered": true,
                          "coverage": "active",
                          "in_network": null,
                          "out_of_network": null,
                          "network_not_stated": {
                            "individual": {
                              "deductible": {
                                "total": null,
                                "remaining": null,
                                "met": null,
                                "period": "",
                                "begins": "",
                                "ends": "",
                                "status": null
                              },
                              "out_of_pocket": {
                                "total": null,
                                "remaining": null,
                                "met": null,
                                "period": "",
                                "begins": "",
                                "ends": "",
                                "status": null
                              }
                            },
                            "family": {
                              "deductible": {
                                "total": null,
                                "remaining": null,
                                "met": null,
                                "period": "",
                                "begins": "",
                                "ends": "",
                                "status": null
                              },
                              "out_of_pocket": {
                                "total": null,
                                "remaining": null,
                                "met": null,
                                "period": "",
                                "begins": "",
                                "ends": "",
                                "status": null
                              }
                            },
                            "coinsurance_percent": null,
                            "copay": null,
                            "not_covered": null,
                            "prior_auth_required": true
                          },
                          "prior_auth_required": true,
                          "not_covered": null,
                          "limitations": [],
                          "messages": []
                        }
                      ],
                      "plan_level": {
                        "in_network": {
                          "individual": {
                            "deductible": {
                              "total": 1500,
                              "remaining": 600,
                              "met": 900,
                              "period": "calendar year",
                              "begins": "",
                              "ends": "",
                              "status": null
                            },
                            "out_of_pocket": {
                              "total": 6000,
                              "remaining": 4100,
                              "met": 1900,
                              "period": "calendar year",
                              "begins": "",
                              "ends": "",
                              "status": null
                            }
                          },
                          "family": {
                            "deductible": {
                              "total": 3000,
                              "remaining": 1800,
                              "met": 1200,
                              "period": "calendar year",
                              "begins": "",
                              "ends": "",
                              "status": null
                            },
                            "out_of_pocket": {
                              "total": null,
                              "remaining": null,
                              "met": null,
                              "period": "",
                              "begins": "",
                              "ends": "",
                              "status": null
                            }
                          },
                          "coinsurance_percent": 20,
                          "copay": null,
                          "not_covered": null,
                          "prior_auth_required": null
                        },
                        "out_of_network": {
                          "individual": {
                            "deductible": {
                              "total": 3000,
                              "remaining": 3000,
                              "met": 0,
                              "period": "calendar year",
                              "begins": "",
                              "ends": "",
                              "status": null
                            },
                            "out_of_pocket": {
                              "total": null,
                              "remaining": null,
                              "met": null,
                              "period": "",
                              "begins": "",
                              "ends": "",
                              "status": null
                            }
                          },
                          "family": {
                            "deductible": {
                              "total": null,
                              "remaining": null,
                              "met": null,
                              "period": "",
                              "begins": "",
                              "ends": "",
                              "status": null
                            },
                            "out_of_pocket": {
                              "total": null,
                              "remaining": null,
                              "met": null,
                              "period": "",
                              "begins": "",
                              "ends": "",
                              "status": null
                            }
                          },
                          "coinsurance_percent": 40,
                          "copay": null,
                          "not_covered": null,
                          "prior_auth_required": null
                        },
                        "network_not_stated": null,
                        "figures_source": {
                          "deductible": "plan_lines",
                          "out_of_pocket": "plan_lines"
                        },
                        "stated_on": {
                          "deductible": [],
                          "out_of_pocket": []
                        },
                        "prior_auth_required": null,
                        "not_covered": null,
                        "limitations": [],
                        "messages": []
                      },
                      "procedures": [],
                      "other_payers": [],
                      "refusal": null,
                      "notes": [
                        "A remaining amount is what was left on the day the payer answered.",
                        "In network and out of network are the plan’s benefit tiers as the payer stated them (EB12): what the plan pays at each tier. A 271 does not say whether this provider participates with the plan."
                      ]
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "answer"
              ]
            },
            "description": "answer: add the 271 read to JSON."
          },
          {
            "name": "shape",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "normalized",
                "plans"
              ],
              "default": "normalized"
            },
            "description": "With include=answer: plans writes the answer grouped by plan, and the answer says so as answer_shape. Without include=answer it is refused (invalid_shape)."
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EligibilityExplainBody"
              },
              "example": {
                "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000091*0*T*:~\nGS*HB*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*91*X*005010X279A1~\nST*271*0001*005010X279A1~\nBHT*0022*11*ELIG-0001*20261018*0900~\nHL*1**20*1~\nNM1*PR*2*SAMPLE HEALTH PLAN*****PI*99999~\nHL*2*1*21*1~\nNM1*1P*2*SAMPLE FAMILY MEDICINE*****XX*1234567893~\nHL*3*2*22*0~\nTRN*2*ELIG-0001*9SAMPLEBIL~\nNM1*IL*1*PATIENT*SAMPLE****MI*W123456789~\nREF*6P*G7700*SAMPLE EMPLOYER GROUP~\nDMG*D8*19800214*F~\nDTP*346*D8*20260101~\nEB*1*IND*30*PR*SAMPLE PPO~\nEB*C*IND*30***23*1500*****Y~\nEB*C*IND*30***29*600*****Y~\nEB*G*IND*30***23*6000*****Y~\nEB*G*IND*30***29*4100*****Y~\nEB*C*FAM*30***23*3000*****Y~\nEB*C*FAM*30***29*1800*****Y~\nEB*A*IND*30*****.2****Y~\nEB*C*IND*30***23*3000*****N~\nEB*C*IND*30***29*3000*****N~\nEB*A*IND*30*****.4****N~\nEB*B*IND*98****25*****Y~\nEB*A*IND*98*****.4****N~\nEB*1*IND*62********Y~\nSE*27*0001~\nGE*1*91~\nIEA*1*000000091~",
                "asked": {
                  "service_type_codes": [
                    "30",
                    "98",
                    "62"
                  ],
                  "date_of_service": "2026-10-20"
                }
              }
            }
          }
        }
      }
    },
    "/v1/eligibility/identity-retry": {
      "post": {
        "summary": "Find the patient again",
        "description": "After a payer could not match the patient (reject reasons 65, 67, 71, 72, 73, 75 or 77, sent as reasons or read from the 271 itself): the next questions to try, in order, each built from your own question and the facts you give (the legal first name, a previous last name, a dependent’s own member ID), each with its changes listed and checked as a 270 is. No name is guessed and there is no nickname table; a day and month swapped is offered only as one to check first. Suggestions only: Payerworks looks nobody up, and nothing is sent.",
        "operationId": "postV1EligibilityIdentityRetry",
        "tags": [
          "Eligibility"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityRetryAnswer"
                },
                "example": {
                  "applies": true,
                  "reasons": [
                    {
                      "code": "73",
                      "loop": "2100C"
                    }
                  ],
                  "answers_codes": [
                    "65",
                    "67",
                    "71",
                    "72",
                    "73",
                    "75",
                    "77"
                  ],
                  "person": "subscriber",
                  "steps": [
                    {
                      "step": "legal_name",
                      "status": "ready",
                      "why": "A nickname or short name is the most common mismatch: ask with the full legal first name, as the card or a government ID prints it.",
                      "changes": [
                        {
                          "op": "replace",
                          "path": "subscriber.firstName",
                          "value": "SAMANTHA"
                        }
                      ],
                      "request": {
                        "tradingPartnerServiceId": "99999",
                        "tradingPartnerName": "SAMPLE HEALTH PLAN",
                        "provider": {
                          "organizationName": "SAMPLE FAMILY MEDICINE",
                          "npi": "1234567893"
                        },
                        "subscriber": {
                          "memberId": "W123456789",
                          "firstName": "SAMANTHA",
                          "lastName": "PATIENT-JONES",
                          "dateOfBirth": "19800214",
                          "gender": "F"
                        },
                        "encounter": {
                          "dateOfService": "20261020",
                          "serviceTypeCodes": [
                            "30"
                          ]
                        },
                        "controlNumber": "ELIG-0001"
                      },
                      "errors": [],
                      "warnings": [],
                      "needs": []
                    },
                    {
                      "step": "compound_first_part",
                      "status": "ready",
                      "why": "A compound last name may be held as one part only: ask with the first part.",
                      "changes": [
                        {
                          "op": "replace",
                          "path": "subscriber.lastName",
                          "value": "PATIENT"
                        }
                      ],
                      "request": {
                        "tradingPartnerServiceId": "99999",
                        "tradingPartnerName": "SAMPLE HEALTH PLAN",
                        "provider": {
                          "organizationName": "SAMPLE FAMILY MEDICINE",
                          "npi": "1234567893"
                        },
                        "subscriber": {
                          "memberId": "W123456789",
                          "firstName": "SAM",
                          "lastName": "PATIENT",
                          "dateOfBirth": "19800214",
                          "gender": "F"
                        },
                        "encounter": {
                          "dateOfService": "20261020",
                          "serviceTypeCodes": [
                            "30"
                          ]
                        },
                        "controlNumber": "ELIG-0001"
                      },
                      "errors": [],
                      "warnings": [],
                      "needs": []
                    },
                    {
                      "step": "compound_second_part",
                      "status": "ready",
                      "why": "A compound last name may be held as one part only: ask with the second part.",
                      "changes": [
                        {
                          "op": "replace",
                          "path": "subscriber.lastName",
                          "value": "JONES"
                        }
                      ],
                      "request": {
                        "tradingPartnerServiceId": "99999",
                        "tradingPartnerName": "SAMPLE HEALTH PLAN",
                        "provider": {
                          "organizationName": "SAMPLE FAMILY MEDICINE",
                          "npi": "1234567893"
                        },
                        "subscriber": {
                          "memberId": "W123456789",
                          "firstName": "SAM",
                          "lastName": "JONES",
                          "dateOfBirth": "19800214",
                          "gender": "F"
                        },
                        "encounter": {
                          "dateOfService": "20261020",
                          "serviceTypeCodes": [
                            "30"
                          ]
                        },
                        "controlNumber": "ELIG-0001"
                      },
                      "errors": [],
                      "warnings": [],
                      "needs": []
                    },
                    {
                      "step": "compound_joined",
                      "status": "ready",
                      "why": "A compound last name may be held without its separator: ask with the parts joined.",
                      "changes": [
                        {
                          "op": "replace",
                          "path": "subscriber.lastName",
                          "value": "PATIENTJONES"
                        }
                      ],
                      "request": {
                        "tradingPartnerServiceId": "99999",
                        "tradingPartnerName": "SAMPLE HEALTH PLAN",
                        "provider": {
                          "organizationName": "SAMPLE FAMILY MEDICINE",
                          "npi": "1234567893"
                        },
                        "subscriber": {
                          "memberId": "W123456789",
                          "firstName": "SAM",
                          "lastName": "PATIENTJONES",
                          "dateOfBirth": "19800214",
                          "gender": "F"
                        },
                        "encounter": {
                          "dateOfService": "20261020",
                          "serviceTypeCodes": [
                            "30"
                          ]
                        },
                        "controlNumber": "ELIG-0001"
                      },
                      "errors": [],
                      "warnings": [],
                      "needs": []
                    },
                    {
                      "step": "compound_separator_swapped",
                      "status": "ready",
                      "why": "A compound last name may be held with a space in place of the hyphen: ask that way.",
                      "changes": [
                        {
                          "op": "replace",
                          "path": "subscriber.lastName",
                          "value": "PATIENT JONES"
                        }
                      ],
                      "request": {
                        "tradingPartnerServiceId": "99999",
                        "tradingPartnerName": "SAMPLE HEALTH PLAN",
                        "provider": {
                          "organizationName": "SAMPLE FAMILY MEDICINE",
                          "npi": "1234567893"
                        },
                        "subscriber": {
                          "memberId": "W123456789",
                          "firstName": "SAM",
                          "lastName": "PATIENT JONES",
                          "dateOfBirth": "19800214",
                          "gender": "F"
                        },
                        "encounter": {
                          "dateOfService": "20261020",
                          "serviceTypeCodes": [
                            "30"
                          ]
                        },
                        "controlNumber": "ELIG-0001"
                      },
                      "errors": [],
                      "warnings": [],
                      "needs": []
                    },
                    {
                      "step": "previous_last_name",
                      "status": "needs_value",
                      "why": "After a name change the payer may still hold the earlier name: send it in known.previous_last_name to build this request.",
                      "changes": [],
                      "request": null,
                      "errors": [],
                      "warnings": [],
                      "needs": [
                        "previous_last_name"
                      ]
                    }
                  ],
                  "notes": [],
                  "transmitted": false,
                  "scope": "Suggestions only, each built from the request and the facts you sent: Payerworks looks nobody up, and sends nothing."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IdentityRetryBody"
              },
              "example": {
                "request": {
                  "tradingPartnerServiceId": "99999",
                  "tradingPartnerName": "SAMPLE HEALTH PLAN",
                  "provider": {
                    "organizationName": "SAMPLE FAMILY MEDICINE",
                    "npi": "1234567893"
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "firstName": "SAM",
                    "lastName": "PATIENT-JONES",
                    "dateOfBirth": "19800214",
                    "gender": "F"
                  },
                  "encounter": {
                    "dateOfService": "20261020",
                    "serviceTypeCodes": [
                      "30"
                    ]
                  },
                  "controlNumber": "ELIG-0001"
                },
                "reasons": [
                  {
                    "code": "73",
                    "loop": "2100C"
                  }
                ],
                "known": {
                  "legal_first_name": "SAMANTHA"
                }
              }
            }
          }
        }
      }
    },
    "/v1/eligibility/service-type-test": {
      "post": {
        "summary": "Does a payer answer a service type",
        "description": "Two answers you hold from one payer, one to 30 (or 35, for dental) and one to a specific service type: whether the payer answered the specific one, likely ignored it, answered it under other service types, or refused it, with how many lines it added and removed. It reads only the two answers, as they stood when they were given: a payer may change what it answers.",
        "operationId": "postV1EligibilityServiceTypeTest",
        "tags": [
          "Eligibility"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceTypeTestAnswer"
                },
                "example": {
                  "code": "98",
                  "words": "physician visit, office",
                  "baseline": "30",
                  "verdict": "answered_differently",
                  "said": "The answer to 98 differs from the baseline but never names 98: the payer reads the code, and answers under other service types. Read the lines it added.",
                  "named_in_answer": false,
                  "differs": true,
                  "added": 0,
                  "removed": 10,
                  "notes": [],
                  "scope": "Read from the two answers you sent, for this payer at the time they were given: a payer may change what it answers."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceTypeTestBody"
              },
              "example": {
                "baseline": {
                  "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000091*0*T*:~\nGS*HB*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*91*X*005010X279A1~\nST*271*0001*005010X279A1~\nBHT*0022*11*ELIG-0001*20261018*0900~\nHL*1**20*1~\nNM1*PR*2*SAMPLE HEALTH PLAN*****PI*99999~\nHL*2*1*21*1~\nNM1*1P*2*SAMPLE FAMILY MEDICINE*****XX*1234567893~\nHL*3*2*22*0~\nTRN*2*ELIG-0001*9SAMPLEBIL~\nNM1*IL*1*PATIENT*SAMPLE****MI*W123456789~\nREF*6P*G7700*SAMPLE EMPLOYER GROUP~\nDMG*D8*19800214*F~\nDTP*346*D8*20260101~\nEB*1*IND*30*PR*SAMPLE PPO~\nEB*C*IND*30***23*1500*****Y~\nEB*C*IND*30***29*600*****Y~\nEB*G*IND*30***23*6000*****Y~\nEB*G*IND*30***29*4100*****Y~\nEB*C*FAM*30***23*3000*****Y~\nEB*C*FAM*30***29*1800*****Y~\nEB*A*IND*30*****.2****Y~\nEB*C*IND*30***23*3000*****N~\nEB*C*IND*30***29*3000*****N~\nEB*A*IND*30*****.4****N~\nEB*B*IND*98****25*****Y~\nEB*A*IND*98*****.4****N~\nEB*1*IND*62********Y~\nSE*27*0001~\nGE*1*91~\nIEA*1*000000091~"
                },
                "specific": {
                  "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000096*0*T*:~\nGS*HB*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*96*X*005010X279A1~\nST*271*0001*005010X279A1~\nBHT*0022*11*ELIG-0002*20261018*0900~\nHL*1**20*1~\nNM1*PR*2*SAMPLE HEALTH PLAN*****PI*99999~\nHL*2*1*21*1~\nNM1*1P*2*SAMPLE FAMILY MEDICINE*****XX*1234567893~\nHL*3*2*22*0~\nTRN*2*ELIG-0002*9SAMPLEBIL~\nNM1*IL*1*PATIENT*SAMPLE****MI*W123456789~\nDMG*D8*19800214*F~\nDTP*346*D8*20260101~\nEB*1*IND*30*PR*SAMPLE PPO~\nEB*C*IND*30***23*1500*****Y~\nEB*C*IND*30***29*600*****Y~\nEB*A*IND*30*****.2****Y~\nSE*16*0001~\nGE*1*96~\nIEA*1*000000096~"
                },
                "service_type_code": "98",
                "baseline_service_type": "30"
              }
            }
          }
        }
      }
    },
    "/v1/eligibility/coordination": {
      "post": {
        "summary": "Which plan pays first",
        "description": "The plans you list for one person, two to ten, put in the order they pay by the NAIC coordination of benefits model regulation and Medicare’s secondary payer rules, each step naming its rule and its section. Medicaid always pays last, and after Medicare a Medigap policy comes before TRICARE; injury coverage not related to the service is left out of the order. Where a rule needs a fact you did not send, no order is given and the fact is named, never guessed. It knows only the plans you send: it cannot find a person’s other coverage.",
        "operationId": "postV1EligibilityCoordination",
        "tags": [
          "Eligibility"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CoordinationAnswer"
                },
                "example": {
                  "decided": true,
                  "order": [
                    {
                      "position": 1,
                      "plan_id": "SPOUSE",
                      "kind": "employer_group"
                    },
                    {
                      "position": 2,
                      "plan_id": "MEDICARE",
                      "kind": "medicare"
                    },
                    {
                      "position": 3,
                      "plan_id": "RETIREE",
                      "kind": "employer_group"
                    }
                  ],
                  "not_ordered": [],
                  "steps": [
                    {
                      "between": [
                        "SPOUSE",
                        "RETIREE"
                      ],
                      "first": "SPOUSE",
                      "rule": "medicare_reversal",
                      "source": "naic",
                      "words": "6.D(1)(b): the person is a Medicare beneficiary, Medicare is secondary to the plan covering them as a dependent and primary to the plan covering them otherwise, so the dependent plan pays first."
                    },
                    {
                      "between": [
                        "SPOUSE",
                        "MEDICARE"
                      ],
                      "first": "SPOUSE",
                      "rule": "msp_current_employment",
                      "source": "cms_msp",
                      "words": "65 or older, covered through current employment at an employer of 20 or more employees: the group plan pays first."
                    },
                    {
                      "between": [
                        "RETIREE",
                        "MEDICARE"
                      ],
                      "first": "MEDICARE",
                      "rule": "msp_retiree",
                      "source": "cms_msp",
                      "words": "Retiree coverage of a person who is not working: Medicare pays first."
                    }
                  ],
                  "needs": [],
                  "notes": [],
                  "scope": "Ordered from the plans you listed and the facts you gave, by the NAIC model regulation and CMS’s Medicare Secondary Payer rules. Payerworks does not know a person’s other coverage: a plan you did not list is not here, and a state’s own rules or a plan’s contract may differ from the model. Confirm the order with each plan before billing.",
                  "sources": [
                    {
                      "id": "naic",
                      "title": "NAIC Coordination of Benefits Model Regulation (MO-120), October 2013",
                      "url": "https://content.naic.org/sites/default/files/model-law-120.pdf",
                      "read": "10/19/2026"
                    },
                    {
                      "id": "cms_msp",
                      "title": "CMS, Medicare Secondary Payer, MLN006903 (July 2025), Table 1",
                      "url": "https://www.cms.gov/Outreach-and-Education/Medicare-Learning-Network-MLN/MLNProducts/Downloads/MSP_Fact_Sheet.pdf",
                      "read": "10/19/2026"
                    },
                    {
                      "id": "cms_who_pays_first",
                      "title": "CMS, Medicare & Other Health Benefits: Your Guide to Who Pays First, Product No. 02179 (February 2026), Section 2",
                      "url": "https://www.medicare.gov/sites/default/files/2021-10/02179-Medicare-and-other-health-benefits-your-guide-to-who-pays-first.pdf",
                      "read": "10/19/2026"
                    },
                    {
                      "id": "cfr_433_139",
                      "title": "42 CFR 433.139(b)(1), Medicaid payment of claims where a third party is liable",
                      "url": "https://www.law.cornell.edu/cfr/text/42/433.139",
                      "read": "10/19/2026"
                    },
                    {
                      "id": "tricare_ohi",
                      "title": "TRICARE, Using Other Health Insurance (10/17/2025) and Using TRICARE For Life with Other Health Insurance (08/18/2025)",
                      "url": "https://tricare.mil/Plans/HealthPlans/TFL/TFL_OHI",
                      "read": "10/19/2026"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CoordinationBody"
              },
              "example": {
                "person": {
                  "medicare": {
                    "basis": "age"
                  }
                },
                "date_of_service": "2026-10-20",
                "plans": [
                  {
                    "id": "RETIREE",
                    "kind": "employer_group",
                    "covers_as": "self",
                    "subscriber_status": "retired",
                    "through": "retirement"
                  },
                  {
                    "id": "MEDICARE",
                    "kind": "medicare"
                  },
                  {
                    "id": "SPOUSE",
                    "kind": "employer_group",
                    "covers_as": "dependent",
                    "dependent_of": "spouse",
                    "subscriber_status": "active",
                    "through": "spouse_employment",
                    "employer_size": 250
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/v1/eligibility/discovery/verify": {
      "post": {
        "summary": "Is this coverage the patient’s",
        "description": "Up to ten coverages an insurance discovery search found, each a 271, checked against the patient: the last name (a two-part surname allowed), the first name, the exact date of birth, the gender and the address. Each is said as a match, one to review or not this patient, and one the payer reports as pending is marked to confirm with the payer. Payerworks runs no discovery search itself.",
        "operationId": "postV1EligibilityDiscoveryVerify",
        "tags": [
          "Eligibility"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryVerifyAnswer"
                },
                "example": {
                  "results": [
                    {
                      "coverage_index": 0,
                      "patient_in_answer": 0,
                      "verdict": "matches",
                      "said": "The name and the date of birth match the patient’s, and no address on it differs.",
                      "checks": [
                        {
                          "check": "last_name",
                          "result": "same"
                        },
                        {
                          "check": "first_name",
                          "result": "same"
                        },
                        {
                          "check": "date_of_birth",
                          "result": "same"
                        },
                        {
                          "check": "gender",
                          "result": "same"
                        },
                        {
                          "check": "address",
                          "result": "not_stated"
                        }
                      ],
                      "coverage": {
                        "state": "active",
                        "active_on_date": "yes",
                        "payer": {
                          "name": "SAMPLE HEALTH PLAN",
                          "id": "99999"
                        },
                        "member_id": "W123456789",
                        "plan": "SAMPLE PPO"
                      },
                      "status_codes": [
                        "1"
                      ],
                      "confirm_with_payer": false
                    }
                  ],
                  "summary": {
                    "coverages": 1,
                    "matched": 1,
                    "to_review": 0,
                    "not_this_patient": 0,
                    "confirm_with_payer": 0
                  },
                  "notes": [
                    "A coverage that matches is the patient’s as far as these answers show; discovery says nothing of which plan pays first: order them with POST /v1/eligibility/coordination, or from a payer’s coordination denial."
                  ],
                  "scope": "Checked against the answers and the patient you sent: Payerworks finds no coverage itself and keeps nothing."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoveryVerifyBody"
              },
              "example": {
                "patient": {
                  "first_name": "SAMPLE",
                  "last_name": "PATIENT",
                  "date_of_birth": "1980-02-14",
                  "gender": "F"
                },
                "coverages": [
                  {
                    "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000091*0*T*:~\nGS*HB*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*91*X*005010X279A1~\nST*271*0001*005010X279A1~\nBHT*0022*11*ELIG-0001*20261018*0900~\nHL*1**20*1~\nNM1*PR*2*SAMPLE HEALTH PLAN*****PI*99999~\nHL*2*1*21*1~\nNM1*1P*2*SAMPLE FAMILY MEDICINE*****XX*1234567893~\nHL*3*2*22*0~\nTRN*2*ELIG-0001*9SAMPLEBIL~\nNM1*IL*1*PATIENT*SAMPLE****MI*W123456789~\nREF*6P*G7700*SAMPLE EMPLOYER GROUP~\nDMG*D8*19800214*F~\nDTP*346*D8*20260101~\nEB*1*IND*30*PR*SAMPLE PPO~\nEB*C*IND*30***23*1500*****Y~\nEB*C*IND*30***29*600*****Y~\nEB*G*IND*30***23*6000*****Y~\nEB*G*IND*30***29*4100*****Y~\nEB*C*FAM*30***23*3000*****Y~\nEB*C*FAM*30***29*1800*****Y~\nEB*A*IND*30*****.2****Y~\nEB*C*IND*30***23*3000*****N~\nEB*C*IND*30***29*3000*****N~\nEB*A*IND*30*****.4****N~\nEB*B*IND*98****25*****Y~\nEB*A*IND*98*****.4****N~\nEB*1*IND*62********Y~\nSE*27*0001~\nGE*1*91~\nIEA*1*000000091~"
                  }
                ],
                "date_of_service": "2026-10-20"
              }
            }
          }
        }
      }
    },
    "/v1/eligibility/pdf": {
      "post": {
        "summary": "Print an eligibility answer",
        "description": "A 271, as POST /v1/eligibility/explain takes it, as a summary per patient: what was asked and what the answer echoes back, whether the coverage is active, the plan’s figures in and out of network, each service type asked, and every benefit line by plan and then service type. Up to 50 patients and 3,000 benefit lines a call, and 3,000 rows as drawn: a benefit line is listed under each service type it names, so a line naming ten service types is ten rows (and each of its messages one more under each). The answer is your PDF as base64.",
        "operationId": "postV1EligibilityPdf",
        "tags": [
          "Eligibility"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EligibilityPdfAnswer"
                },
                "example": {
                  "document": "eligibility",
                  "content_type": "application/pdf",
                  "filename": "eligibility-20261019.pdf",
                  "pages": 1,
                  "bytes": 6999,
                  "sha256": "03927a87f1174d778f9953402d7ee60106b93ae3d09e7501325ffb0776444961",
                  "pdf_base64": "JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUK...",
                  "notice": "Your document: Payerworks drew it from what you sent. Payerworks sent nothing to any payer and kept no copy.",
                  "patients": 1,
                  "benefit_lines": 14,
                  "stored": false,
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EligibilityExplainBody"
              },
              "example": {
                "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000091*0*T*:~\nGS*HB*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*91*X*005010X279A1~\nST*271*0001*005010X279A1~\nBHT*0022*11*ELIG-0001*20261018*0900~\nHL*1**20*1~\nNM1*PR*2*SAMPLE HEALTH PLAN*****PI*99999~\nHL*2*1*21*1~\nNM1*1P*2*SAMPLE FAMILY MEDICINE*****XX*1234567893~\nHL*3*2*22*0~\nTRN*2*ELIG-0001*9SAMPLEBIL~\nNM1*IL*1*PATIENT*SAMPLE****MI*W123456789~\nREF*6P*G7700*SAMPLE EMPLOYER GROUP~\nDMG*D8*19800214*F~\nDTP*346*D8*20260101~\nEB*1*IND*30*PR*SAMPLE PPO~\nEB*C*IND*30***23*1500*****Y~\nEB*C*IND*30***29*600*****Y~\nEB*G*IND*30***23*6000*****Y~\nEB*G*IND*30***29*4100*****Y~\nEB*C*FAM*30***23*3000*****Y~\nEB*C*FAM*30***29*1800*****Y~\nEB*A*IND*30*****.2****Y~\nEB*C*IND*30***23*3000*****N~\nEB*C*IND*30***29*3000*****N~\nEB*A*IND*30*****.4****N~\nEB*B*IND*98****25*****Y~\nEB*A*IND*98*****.4****N~\nEB*1*IND*62********Y~\nSE*27*0001~\nGE*1*91~\nIEA*1*000000091~",
                "asked": {
                  "service_type_codes": [
                    "30",
                    "98",
                    "62"
                  ],
                  "date_of_service": "2026-10-20"
                }
              }
            }
          }
        }
      }
    },
    "/v1/claim-status/276": {
      "post": {
        "summary": "Write a 276",
        "description": "Up to one hundred claim status questions, from the JSON shape most clearinghouse APIs take, written as one 005010X212 interchange for you to send on your own connection. Each question is checked field by field first, and nothing is written if any would be refused. A test key writes test files only.",
        "operationId": "postV1ClaimStatus276",
        "tags": [
          "Claim status"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClaimStatus276Answer"
                },
                "example": {
                  "version": "005010X212",
                  "usage": "T",
                  "x12": "ISA*00*          *00*          *ZZ*SAMPLEBILLER   *ZZ*99999          *261019*1500*^*00501*000000021*0*T*:~GS*HR*SAMPLEBILLER*99999*20261019*1500*21*X*005010X212~ST*276*0001*005010X212~BHT*0010*13*STATUS-0001*20261019*1500~HL*1**20*1~NM1*PR*2*SAMPLE HEALTH PLAN*****PI*99999~HL*2*1*21*1~NM1*41*2*SAMPLE FAMILY MEDICINE*****46*SAMPLEBILLER~HL*3*2*19*1~NM1*1P*2*SAMPLE FAMILY MEDICINE*****XX*1234567893~HL*4*3*22*0~DMG*D8*19800214~NM1*IL*1*PATIENT*SAMPLE****MI*W123456789~TRN*1*STATUS-0001~REF*EJ*PW-2001~AMT*T3*215~DTP*472*RD8*20261001-20261001~SE*16*0001~GE*1*21~IEA*1*000000021~",
                  "interchange_control_number": "000000021",
                  "group_control_number": "21",
                  "transaction_set_control_numbers": [
                    "0001"
                  ],
                  "inquiries": [
                    {
                      "index": 0,
                      "trace": "STATUS-0001",
                      "transaction_set_control_number": "0001",
                      "warnings": []
                    }
                  ],
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClaimStatus276Body"
              },
              "example": {
                "sender_id": "SAMPLEBILLER",
                "receiver_id": "99999",
                "control_number": 21,
                "payer_name": "SAMPLE HEALTH PLAN",
                "inquiry": {
                  "tradingPartnerServiceId": "99999",
                  "providers": [
                    {
                      "providerType": "BillingProvider",
                      "npi": "1234567893",
                      "organizationName": "SAMPLE FAMILY MEDICINE"
                    }
                  ],
                  "subscriber": {
                    "memberId": "W123456789",
                    "firstName": "SAMPLE",
                    "lastName": "PATIENT",
                    "dateOfBirth": "19800214"
                  },
                  "encounter": {
                    "trackingNumber": "STATUS-0001",
                    "beginningDateOfService": "20261001",
                    "endDateOfService": "20261001",
                    "submittedAmount": "215.00",
                    "patientControlNumber": "PW-2001"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/claim-status/explain": {
      "post": {
        "summary": "Explain a claim status answer",
        "description": "A 277 claim status answer, as X12 or as the JSON most clearinghouse APIs return, said per question: where the claim stands, whether money is coming and how much, what to do next and when to ask again. A claim the payer cannot find yet is never called a rejection, and a question the payer refused because of its own data is never asked again unchanged. A claim the payer’s search did not find comes back with the next questions to ask, in order, each built from the question you sent (asked.request) and what you hold (asked.known), never from a value you did not give; a payer whose system did not answer, with a retry schedule for the same day.",
        "operationId": "postV1ClaimStatusExplain",
        "tags": [
          "Claim status"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClaimStatusAnswer"
                },
                "example": {
                  "kind": "277",
                  "label_source": "paraphrase",
                  "business_days": "Business days are Monday to Friday. Holidays are not counted, so a payer closed on a holiday may need one day more.",
                  "today": "2026-10-19",
                  "inquiries": [
                    {
                      "trace": "STATUS-0001",
                      "claims": [
                        0
                      ],
                      "answered_by": 0,
                      "state": "paid",
                      "meaning": "The claim was finalized and paid: the claim or line has been paid (STC F1:65).",
                      "money": {
                        "coming": "yes",
                        "amount": 103.2,
                        "check_number": "CHK10021",
                        "check_date": "2026-10-16",
                        "adjudicated_on": "2026-10-15",
                        "why": "The payer reports $103.20 paid on check or payment CHK10021 dated 10/16/2026. The remittance (835) carries the allowed amount, the adjustments and the patient's share; this answer does not."
                      },
                      "next_step": {
                        "action": "post_remittance",
                        "words": "Nothing to send again. Post the remittance (835) when it arrives: it says what was allowed and what the patient owes."
                      },
                      "ask_again": {
                        "after_business_days": null,
                        "not_before": null,
                        "never": true,
                        "why": "The payer has paid it: the remittance (835) is the rest of the answer, and asking again returns the same."
                      },
                      "asks": [],
                      "next_inquiries": [],
                      "retry_schedule": null
                    },
                    {
                      "trace": "STATUS-0002",
                      "claims": [
                        1
                      ],
                      "answered_by": 1,
                      "state": "info_requested",
                      "meaning": "The claim was pending for provider information: more information was asked of the provider (STC P3:123:1P).",
                      "money": {
                        "coming": "not_yet",
                        "amount": 0,
                        "check_number": "",
                        "check_date": "",
                        "adjudicated_on": "",
                        "why": "Nothing is paid until the payer receives what it asked for."
                      },
                      "next_step": {
                        "action": "send_records",
                        "words": "Send the payer the records it asked for: medical notes or a report. The claim does not move until they arrive."
                      },
                      "ask_again": {
                        "after_business_days": 5,
                        "not_before": "2026-10-26",
                        "never": false,
                        "why": "After what was asked is sent. The usual schedule: 3, 5 and 7 business days apart, then every 10, counted from this answer."
                      },
                      "asks": [
                        {
                          "status_code": "297",
                          "procedure_code": "",
                          "words": "medical notes or a report"
                        }
                      ],
                      "next_inquiries": [],
                      "retry_schedule": null
                    }
                  ],
                  "claims": [
                    {
                      "index": 0,
                      "trace": "STATUS-0001",
                      "payer_claim_number": "PAYER-CN-21",
                      "clearinghouse_claim_number": "",
                      "patient_control_number": "PW-2001",
                      "service_date": {
                        "from": "2026-10-01",
                        "to": "2026-10-01"
                      },
                      "charge": 215,
                      "status": {
                        "category_code": "F1",
                        "status_code": "65",
                        "entity_code": ""
                      },
                      "state": "paid",
                      "meaning": "The claim was finalized and paid: the claim or line has been paid (STC F1:65).",
                      "money": {
                        "coming": "yes",
                        "amount": 103.2,
                        "check_number": "CHK10021",
                        "check_date": "2026-10-16",
                        "adjudicated_on": "2026-10-15",
                        "why": "The payer reports $103.20 paid on check or payment CHK10021 dated 10/16/2026. The remittance (835) carries the allowed amount, the adjustments and the patient's share; this answer does not."
                      },
                      "next_step": {
                        "action": "post_remittance",
                        "words": "Nothing to send again. Post the remittance (835) when it arrives: it says what was allowed and what the patient owes."
                      },
                      "ask_again": {
                        "after_business_days": null,
                        "not_before": null,
                        "never": true,
                        "why": "The payer has paid it: the remittance (835) is the rest of the answer, and asking again returns the same."
                      },
                      "asks": [],
                      "next_inquiries": [],
                      "retry_schedule": null,
                      "lines": [],
                      "matches_requested": null,
                      "describes_replaced_claim": false
                    },
                    {
                      "index": 1,
                      "trace": "STATUS-0002",
                      "payer_claim_number": "PAYER-CN-22",
                      "clearinghouse_claim_number": "",
                      "patient_control_number": "PW-2002",
                      "service_date": {
                        "from": "2026-10-02",
                        "to": "2026-10-02"
                      },
                      "charge": 350,
                      "status": {
                        "category_code": "P3",
                        "status_code": "123",
                        "entity_code": "1P"
                      },
                      "state": "info_requested",
                      "meaning": "The claim was pending for provider information: more information was asked of the provider (STC P3:123:1P).",
                      "money": {
                        "coming": "not_yet",
                        "amount": 0,
                        "check_number": "",
                        "check_date": "",
                        "adjudicated_on": "",
                        "why": "Nothing is paid until the payer receives what it asked for."
                      },
                      "next_step": {
                        "action": "send_records",
                        "words": "Send the payer the records it asked for: medical notes or a report. The claim does not move until they arrive."
                      },
                      "ask_again": {
                        "after_business_days": 5,
                        "not_before": "2026-10-26",
                        "never": false,
                        "why": "After what was asked is sent. The usual schedule: 3, 5 and 7 business days apart, then every 10, counted from this answer."
                      },
                      "asks": [
                        {
                          "status_code": "297",
                          "procedure_code": "",
                          "words": "medical notes or a report"
                        }
                      ],
                      "next_inquiries": [],
                      "retry_schedule": null,
                      "lines": [],
                      "matches_requested": null,
                      "describes_replaced_claim": false
                    }
                  ],
                  "notices": [],
                  "errors": []
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClaimStatusExplainBody"
              },
              "example": {
                "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000092*0*T*:~\nGS*HN*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*92*X*005010X212~\nST*277*0001*005010X212~\nBHT*0010*08*STATUS-0001*20261018*0900*DG~\nHL*1**20*1~\nNM1*PR*2*SAMPLE HEALTH PLAN*****PI*99999~\nHL*2*1*21*1~\nNM1*41*2*SAMPLE FAMILY MEDICINE*****46*SAMPLEBILLER~\nHL*3*2*19*1~\nNM1*1P*2*SAMPLE FAMILY MEDICINE*****XX*1234567893~\nHL*4*3*22*0~\nNM1*IL*1*PATIENT*SAMPLE****MI*W123456789~\nTRN*2*STATUS-0001~\nSTC*F1:65*20261015**215*103.2*20261015*CHK*20261016*CHK10021~\nREF*1K*PAYER-CN-21~\nREF*EJ*PW-2001~\nDTP*472*RD8*20261001-20261001~\nHL*5*3*22*0~\nNM1*IL*1*PATIENT*SECOND****MI*W987654321~\nTRN*2*STATUS-0002~\nSTC*P3:123:1P*20261015**350*0*****P3:297:1P~\nREF*1K*PAYER-CN-22~\nREF*EJ*PW-2002~\nDTP*472*RD8*20261002-20261002~\nSE*23*0001~\nGE*1*92~\nIEA*1*000000092~",
                "asked": {
                  "submitted_on": "2026-10-05",
                  "today": "2026-10-19"
                }
              }
            }
          }
        }
      }
    },
    "/v1/claims/follow-up": {
      "post": {
        "summary": "Follow up on open claims",
        "description": "Your open claims (up to 200) with the day each was sent, and your history of when each payer paid (up to 20,000 rows), or the 837Ps, 277CAs and 835s themselves. Each payer’s days to pay are learned from your history alone, with how many paid claims they rest on, and only from five up; below that the answer says there is not enough history. Each claim comes back with when its remittance is expected, whether it is late, and the next step: ask its status now, wait until a day, the next questions after a not found, or retries for a payer whose system did not answer. Your own follow-up codes come back as you sent them, never read. Nothing is stored, nothing is sent, and no payer is asked.",
        "operationId": "postV1ClaimsFollowUp",
        "tags": [
          "Claim status"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FollowUpAnswer"
                },
                "example": {
                  "today": "2026-10-19",
                  "business_days": "Business days are Monday to Friday. Holidays are not counted, so a payer closed on a holiday may need one day more.",
                  "floor": 5,
                  "method": "Days to pay are calendar days from the day a claim was sent to the day its remittance (835) came, learned per payer from the history you sent. A payer's window runs from the 25th to the 90th percentile of its own days, with the median as the likely day, and only once it has 5 paid claims; a claim is overdue once today is past the window. Payerworks has no data of its own about any payer: nothing here is a benchmark.",
                  "payers": [
                    {
                      "payer_id": "99999",
                      "history": {
                        "n": 6,
                        "median_days": 20.5,
                        "p25_days": 18,
                        "p90_days": 25,
                        "min_days": 16,
                        "max_days": 25,
                        "remitted_from": "2026-06-19",
                        "remitted_to": "2026-09-11"
                      },
                      "basis": "your_history",
                      "words": "Your history: 6 paid claims from this payer, paid in 20.5 days at the median, and in 18 to 25 days from the 25th to the 90th percentile."
                    }
                  ],
                  "claims": [
                    {
                      "index": 0,
                      "reference": "PW-3001",
                      "payer_id": "99999",
                      "sent_on": "2026-10-01",
                      "disposition": null,
                      "open": true,
                      "expected_by": {
                        "from": "2026-10-19",
                        "likely": "2026-10-22",
                        "to": "2026-10-26",
                        "basis": "your_history",
                        "n": 6
                      },
                      "overdue": false,
                      "days_since_sent": 18,
                      "next_step": {
                        "action": "wait_until",
                        "on": "2026-10-27",
                        "words": "Nothing to do yet: the remittance is expected by 10/26/2026, most likely around 10/22/2026. If none has come by then, ask the payer's status on 10/27/2026."
                      },
                      "inquiry_window": null,
                      "next_inquiries": [],
                      "retry_schedule": null
                    },
                    {
                      "index": 1,
                      "reference": "PW-3002",
                      "payer_id": "99999",
                      "sent_on": "2026-08-31",
                      "disposition": null,
                      "open": true,
                      "expected_by": {
                        "from": "2026-09-18",
                        "likely": "2026-09-21",
                        "to": "2026-09-25",
                        "basis": "your_history",
                        "n": 6
                      },
                      "overdue": true,
                      "days_since_sent": 49,
                      "next_step": {
                        "action": "follow_not_found_plan",
                        "on": "2026-10-19",
                        "words": "The payer's search found no claim. A search can miss a claim the payer has: ask again with the next questions, in order (next_inquiries), before sending the claim again, since a claim the payer has, sent again, is a duplicate."
                      },
                      "inquiry_window": null,
                      "next_inquiries": [
                        {
                          "step": 1,
                          "kind": "add_charge_amount",
                          "route": "POST /v1/claim-status/276",
                          "builds_on": null,
                          "status": "needs_value",
                          "changes": [],
                          "inquiry": null,
                          "warnings": [],
                          "errors": [],
                          "needs": [
                            "the question that found nothing (asked.request)"
                          ],
                          "why": "Add the claim's total charge: some payers search by it, and a question without it can miss the claim."
                        },
                        {
                          "step": 2,
                          "kind": "add_payer_claim_number",
                          "route": "POST /v1/claim-status/276",
                          "builds_on": null,
                          "status": "needs_value",
                          "changes": [],
                          "inquiry": null,
                          "warnings": [],
                          "errors": [],
                          "needs": [
                            "the question that found nothing (asked.request)",
                            "known.payer_claim_number"
                          ],
                          "why": "Add the payer's own claim number, from its claim acknowledgment (the 277CA's REF*1K): a payer finds its own number first. With no 277CA from the payer, there is no number to add: the payer may never have accepted the claim."
                        },
                        {
                          "step": 3,
                          "kind": "ask_by_billing_tax_id",
                          "route": "POST /v1/claim-status/276",
                          "builds_on": null,
                          "status": "needs_value",
                          "changes": [],
                          "inquiry": null,
                          "warnings": [],
                          "errors": [],
                          "needs": [
                            "the question that found nothing (asked.request)",
                            "known.billing_tax_id (nine digits)"
                          ],
                          "why": "Ask with the billing provider's tax ID: some payers search a claim by the tax ID rather than the NPI. A 276 names a provider by one id, so this question names the tax ID in the NPI's place."
                        },
                        {
                          "step": 4,
                          "kind": "widen_dates",
                          "route": "POST /v1/claim-status/276",
                          "builds_on": null,
                          "status": "needs_value",
                          "changes": [],
                          "inquiry": null,
                          "warnings": [],
                          "errors": [],
                          "needs": [
                            "the question that found nothing (asked.request)"
                          ],
                          "why": "Widen the dates of service to 14 days either side of the claim's (30 days at most in all, nothing after today): the payer may hold the claim under a slightly different date."
                        },
                        {
                          "step": 5,
                          "kind": "group_npi_as_billing",
                          "route": "POST /v1/claim-status/276",
                          "builds_on": null,
                          "status": "needs_value",
                          "changes": [],
                          "inquiry": null,
                          "warnings": [],
                          "errors": [],
                          "needs": [
                            "the question that found nothing (asked.request)",
                            "known.group_npi"
                          ],
                          "why": "Ask with the group's NPI as the billing provider: the billing NPI must be the one on the claim, and a claim billed under the group is found by the group's."
                        },
                        {
                          "step": 6,
                          "kind": "rendering_npi_as_billing",
                          "route": "POST /v1/claim-status/276",
                          "builds_on": null,
                          "status": "needs_value",
                          "changes": [],
                          "inquiry": null,
                          "warnings": [],
                          "errors": [],
                          "needs": [
                            "the question that found nothing (asked.request)",
                            "known.rendering_npi"
                          ],
                          "why": "Ask with the rendering provider's NPI as the billing provider: some payers file a claim under the provider who gave the care."
                        },
                        {
                          "step": 7,
                          "kind": "confirm_patient",
                          "route": "POST /v1/eligibility/270",
                          "builds_on": null,
                          "status": "needs_value",
                          "changes": [],
                          "inquiry": null,
                          "warnings": [],
                          "errors": [],
                          "needs": [
                            "the question that found nothing (asked.request)"
                          ],
                          "why": "Confirm the patient's details as the plan holds them with an eligibility question (270): an answer refusing the date of birth (AAA 71), the name (AAA 73) or the member (AAA 75) names what to correct, and the status question is then asked with the plan's details."
                        },
                        {
                          "step": 8,
                          "kind": "blue_home_plan",
                          "route": "POST /v1/eligibility/270",
                          "builds_on": null,
                          "status": "not_applicable",
                          "changes": [],
                          "inquiry": null,
                          "warnings": [],
                          "errors": [],
                          "needs": [],
                          "why": "Only for a Blue Cross Blue Shield member (a payer named Blue Cross, Blue Shield or BCBS, or known.blue_plan true).",
                          "home_plan": null,
                          "source": "https://providers.lablue.com/-/media/Files/Providers/2025%20BlueCard%20Webinar%20pdf.pdf",
                          "prefix": null
                        }
                      ],
                      "retry_schedule": null
                    }
                  ],
                  "counts": {
                    "claims": 2,
                    "open": 2,
                    "overdue": 1,
                    "not_overdue": 1,
                    "cannot_say": 0
                  },
                  "history_used": {
                    "rows": 6,
                    "from_files": 0
                  },
                  "reads": "Reads only what you send. Nothing is stored, nothing is sent, and no payer is asked."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FollowUpBody"
              },
              "example": {
                "claims": [
                  {
                    "reference": "PW-3001",
                    "payer_id": "99999",
                    "sent_on": "2026-10-01",
                    "service_date": "2026-09-29",
                    "charge_amount": 215
                  },
                  {
                    "reference": "PW-3002",
                    "payer_id": "99999",
                    "sent_on": "2026-08-31",
                    "service_date": "2026-08-27",
                    "charge_amount": 150,
                    "last_status": {
                      "state": "not_found",
                      "asked_on": "2026-10-02",
                      "checks_made": 1
                    }
                  }
                ],
                "history": [
                  {
                    "payer_id": "99999",
                    "sent_on": "2026-06-01",
                    "remitted_on": "2026-06-19"
                  },
                  {
                    "payer_id": "99999",
                    "sent_on": "2026-06-15",
                    "remitted_on": "2026-07-08"
                  },
                  {
                    "payer_id": "99999",
                    "sent_on": "2026-07-01",
                    "remitted_on": "2026-07-17"
                  },
                  {
                    "payer_id": "99999",
                    "sent_on": "2026-07-20",
                    "remitted_on": "2026-08-14"
                  },
                  {
                    "payer_id": "99999",
                    "sent_on": "2026-08-03",
                    "remitted_on": "2026-08-21"
                  },
                  {
                    "payer_id": "99999",
                    "sent_on": "2026-08-17",
                    "remitted_on": "2026-09-11"
                  }
                ],
                "today": "2026-10-19"
              }
            }
          }
        }
      }
    },
    "/v1/remittances/explain": {
      "post": {
        "summary": "Explain a remittance",
        "description": "An 835 claim by claim: what was paid, allowed and written off, the patient’s share, the verdict in words, each service line, every adjustment and remark code in words, and whether each check adds up to the claims it pays.",
        "operationId": "postV1RemittancesExplain",
        "tags": [
          "Remittances, denials and appeals"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RemittanceAnswer"
                },
                "example": {
                  "check": {
                    "number": "EFT-20261018-01",
                    "date": "20261018",
                    "amount": "1260",
                    "method_flag": "C",
                    "payer": "SAMPLE HEALTH PLAN",
                    "payee_ids": {
                      "npis": [
                        "1234567893"
                      ],
                      "tins": []
                    }
                  },
                  "checks": [
                    {
                      "number": "EFT-20261018-01",
                      "date": "20261018",
                      "amount": "1260",
                      "method_flag": "C",
                      "payer": "SAMPLE HEALTH PLAN",
                      "payee_ids": {
                        "npis": [
                          "1234567893"
                        ],
                        "tins": []
                      },
                      "references": [
                        "PW-1001",
                        "PW-1002"
                      ],
                      "balance": {
                        "stated": 1260,
                        "claims_net": 1260,
                        "provider_adjustments_net": 0,
                        "variance": 0,
                        "ties": true,
                        "words": "The claims, less the provider-level adjustments, add up to the check."
                      },
                      "provider_adjustments": []
                    }
                  ],
                  "claims": [
                    {
                      "reference": "PW-1001",
                      "payer_claim_number": "PAYER-CN-1",
                      "status_code": "1",
                      "status": "processed as primary",
                      "service_date": "20261001",
                      "billed": 2900,
                      "paid": 1260,
                      "allowed": 1500,
                      "patient_responsibility": 240,
                      "amounts": {
                        "billed": 2900,
                        "paid": 1260,
                        "allowed": 1500,
                        "allowed_basis": "stated",
                        "patient_responsibility": 240,
                        "patient_basis": "stated",
                        "adjustment": 1400,
                        "adjustment_basis": "stated",
                        "write_off": 1400,
                        "below_allowed": 0,
                        "not_paid": 0,
                        "shortfall": 0
                      },
                      "adjustments": [
                        {
                          "group": "CO",
                          "code": "45",
                          "amount": 1400,
                          "label": "Charge exceeds the fee schedule / contracted amount",
                          "category": "Underpayment",
                          "known": true,
                          "label_source": "paraphrase",
                          "patient_billable": false
                        }
                      ],
                      "patient_adjustments": [
                        {
                          "group": "PR",
                          "code": "2",
                          "amount": 240,
                          "label": "Coinsurance amount",
                          "category": "Other",
                          "known": true,
                          "label_source": "paraphrase",
                          "patient_billable": true
                        }
                      ],
                      "remark_codes": [],
                      "primary_reason": null,
                      "crossover_carrier": "",
                      "service_lines": [
                        {
                          "procedure_code": "E0486",
                          "modifiers": [],
                          "billed": 2900,
                          "paid": 1260,
                          "allowed": 1500
                        }
                      ],
                      "check_number": "EFT-20261018-01",
                      "index": 0,
                      "claim_filing_indicator": "12",
                      "verdict": "paid",
                      "verdict_words": "Paid: the payer paid $1,260.00, the patient owes $240.00 (patient responsibility), and $1,400.00 is a contractual adjustment.",
                      "remarks": [],
                      "claim_adjustments": [
                        {
                          "group": "CO",
                          "code": "45",
                          "amount": 1400
                        },
                        {
                          "group": "PR",
                          "code": "2",
                          "amount": 240
                        }
                      ],
                      "lines": [
                        {
                          "index": 0,
                          "procedure_code": "E0486",
                          "procedure_qualifier": "HC",
                          "modifiers": [],
                          "billed": 2900,
                          "paid": 1260,
                          "allowed": 1500,
                          "units_paid": null,
                          "service_date": null,
                          "service_date_end": null,
                          "line_control_number": "",
                          "adjustments": [],
                          "remarks": []
                        }
                      ]
                    },
                    {
                      "reference": "PW-1002",
                      "payer_claim_number": "PAYER-CN-2",
                      "status_code": "4",
                      "status": "denied",
                      "service_date": "20261002",
                      "billed": 350,
                      "paid": 0,
                      "allowed": null,
                      "patient_responsibility": 0,
                      "amounts": {
                        "billed": 350,
                        "paid": 0,
                        "allowed": null,
                        "allowed_basis": null,
                        "patient_responsibility": 0,
                        "patient_basis": "stated",
                        "adjustment": 350,
                        "adjustment_basis": "stated",
                        "write_off": 0,
                        "below_allowed": 0,
                        "not_paid": 350,
                        "shortfall": null
                      },
                      "adjustments": [
                        {
                          "group": "CO",
                          "code": "50",
                          "amount": 350,
                          "label": "Non-covered: not deemed a medical necessity",
                          "category": "Medical Necessity",
                          "known": true,
                          "label_source": "paraphrase",
                          "patient_billable": false
                        }
                      ],
                      "patient_adjustments": [],
                      "remark_codes": [
                        "N115"
                      ],
                      "primary_reason": {
                        "code": "50",
                        "category": "Medical Necessity",
                        "words": "50, Non-covered: not deemed a medical necessity"
                      },
                      "crossover_carrier": "",
                      "service_lines": [
                        {
                          "procedure_code": "95800",
                          "modifiers": [],
                          "billed": 350,
                          "paid": 0,
                          "allowed": null
                        }
                      ],
                      "check_number": "EFT-20261018-01",
                      "index": 1,
                      "claim_filing_indicator": "12",
                      "verdict": "denied",
                      "verdict_words": "Refused: the payer paid nothing. The refusing adjustment is CO-50 (Non-covered: not deemed a medical necessity).",
                      "remarks": [
                        {
                          "code": "N115",
                          "words": "The decision was based on a Local Coverage Determination (LCD).",
                          "label_source": "paraphrase"
                        }
                      ],
                      "claim_adjustments": [
                        {
                          "group": "CO",
                          "code": "50",
                          "amount": 350
                        }
                      ],
                      "lines": [
                        {
                          "index": 0,
                          "procedure_code": "95800",
                          "procedure_qualifier": "HC",
                          "modifiers": [],
                          "billed": 350,
                          "paid": 0,
                          "allowed": null,
                          "units_paid": null,
                          "service_date": null,
                          "service_date_end": null,
                          "line_control_number": "",
                          "adjustments": [],
                          "remarks": [
                            {
                              "code": "N115",
                              "words": "The decision was based on a Local Coverage Determination (LCD).",
                              "label_source": "paraphrase"
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "provider_adjustments": [],
                  "groups": {
                    "CO": {
                      "name": "Contractual obligation",
                      "patient_billable": false,
                      "words": "An adjustment your agreement with the payer, or a regulation, requires. It is generally a write-off for you and is not billed to the patient."
                    },
                    "OA": {
                      "name": "Other adjustment",
                      "patient_billable": "depends",
                      "words": "Used when no other group applies, such as the effect of an earlier payer's payment. Whether the patient may be billed depends on the reason code beside it and on your agreement with the plan."
                    },
                    "PI": {
                      "name": "Payer-initiated reduction",
                      "patient_billable": false,
                      "words": "A reduction the payer made itself. It is not a patient responsibility amount, so it is not billed to the patient."
                    },
                    "PR": {
                      "name": "Patient responsibility",
                      "patient_billable": true,
                      "words": "An amount that may be billed to the patient, such as the deductible, coinsurance or copay."
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/X12Body"
              },
              "example": {
                "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000001*0*T*:~\nGS*HP*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*1*X*005010X221A1~\nST*835*0001~\nBPR*I*1260*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~\nTRN*1*EFT-20261018-01*1234567890~\nN1*PR*SAMPLE HEALTH PLAN*PI*99999~\nN1*PE*SAMPLE SLEEP DENTISTRY*XX*1234567893~\nLX*1~\nCLP*PW-1001*1*2900*1260*240*12*PAYER-CN-1*11~\nCAS*CO*45*1400~\nCAS*PR*2*240~\nNM1*QC*1*PATIENT*SAMPLE~\nDTM*472*20261001~\nSVC*HC:E0486*2900*1260~\nAMT*B6*1500~\nCLP*PW-1002*4*350*0*0*12*PAYER-CN-2*11~\nCAS*CO*50*350~\nNM1*QC*1*PATIENT*SECOND~\nDTM*472*20261002~\nSVC*HC:95800*350*0~\nLQ*HE*N115~\nSE*20*0001~\nGE*1*1~\nIEA*1*000000001~"
              }
            }
          }
        }
      }
    },
    "/v1/denials/next-step": {
      "post": {
        "summary": "The next step on a denial",
        "description": "An 835, or the claims as JSON: for each claim and each adjustment, what the payer did, whether the patient may be billed, the next step, the corrected claim fields to send, what to attach, and every deadline with where it comes from: a Medicare regulation with its section, the limits you send, or no date at all.",
        "operationId": "postV1DenialsNextStep",
        "tags": [
          "Remittances, denials and appeals"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NextStepAnswer"
                },
                "example": {
                  "source": "x12",
                  "remittance_date": "2026-10-18",
                  "today": "2026-10-19",
                  "claims": [
                    {
                      "index": 0,
                      "reference": "PW-2003",
                      "payer_claim_number": "PAYER-CN-23",
                      "status_code": "1",
                      "status": "processed as primary",
                      "claim_filing_indicator": "12",
                      "medicare": null,
                      "service_date": "2026-10-01",
                      "remittance_date": "2026-10-18",
                      "notice_date": "2026-10-18",
                      "notice_date_source": "bpr_16",
                      "billed": 215,
                      "paid": 0,
                      "allowed": null,
                      "patient_responsibility": null,
                      "verdict": "denied",
                      "verdict_words": "Refused: the payer paid nothing. The refusing adjustment is CO-16 (Claim lacks information or has a submission/billing error). The claim status code says processed as primary, but the adjustments refused the money.",
                      "patient": {
                        "may_bill": 0,
                        "words": "Nothing on this remittance is the patient's to pay. The $215.00 under group CO (contractual) may not be billed to the patient."
                      },
                      "adjustments": [
                        {
                          "group": "CO",
                          "code": "16",
                          "amount": 150,
                          "label": "Claim lacks information or has a submission/billing error",
                          "category": "Missing Information",
                          "known": true,
                          "label_source": "paraphrase",
                          "patient_billable": false,
                          "line": 0,
                          "remedy": {
                            "key": "correct",
                            "action": "correct",
                            "label": "Correct the claim and send a replacement",
                            "words": "The payer says something on the claim was missing or wrong. Fix it and send a replacement claim (frequency code 7) that carries the payer's claim number. An appeal is not the route for this.",
                            "is_letter": false,
                            "letter_kind": null
                          }
                        },
                        {
                          "group": "CO",
                          "code": "16",
                          "amount": 65,
                          "label": "Claim lacks information or has a submission/billing error",
                          "category": "Missing Information",
                          "known": true,
                          "label_source": "paraphrase",
                          "patient_billable": false,
                          "line": 1,
                          "remedy": {
                            "key": "correct",
                            "action": "correct",
                            "label": "Correct the claim and send a replacement",
                            "words": "The payer says something on the claim was missing or wrong. Fix it and send a replacement claim (frequency code 7) that carries the payer's claim number. An appeal is not the route for this.",
                            "is_letter": false,
                            "letter_kind": null
                          }
                        }
                      ],
                      "remarks": [
                        {
                          "code": "N290",
                          "words": "The rendering provider's primary identifier is missing, incomplete or invalid.",
                          "label_source": "paraphrase"
                        },
                        {
                          "code": "N290",
                          "words": "The rendering provider's primary identifier is missing, incomplete or invalid.",
                          "label_source": "paraphrase"
                        }
                      ],
                      "next_step": {
                        "key": "correct",
                        "action": "correct",
                        "label": "Correct the claim and send a replacement",
                        "words": "The payer says something on the claim was missing or wrong. Fix it and send a replacement claim (frequency code 7) that carries the payer's claim number. An appeal is not the route for this.",
                        "is_letter": false,
                        "letter_kind": null
                      },
                      "corrected_claim": {
                        "frequency_code": "7",
                        "void_frequency_code": "8",
                        "claim_control_number": "PAYER-CN-23",
                        "fields": {
                          "claimInformation.claimFrequencyCode": "7",
                          "claimInformation.claimSupplementalInformation.claimControlNumber": "PAYER-CN-23"
                        },
                        "words": "Send a replacement claim through POST /v1/claims/837p with claimInformation.claimFrequencyCode \"7\" and claimInformation.claimSupplementalInformation.claimControlNumber \"PAYER-CN-23\" (the payer's claim number); it is written as CLM05-3 7 and REF*F8. To cancel the claim instead, for example one sent to the wrong payer or for the wrong patient, send frequency code 8 with the same number."
                      },
                      "send": [],
                      "deadlines": [
                        {
                          "kind": "timely_filing",
                          "date": null,
                          "date_us": null,
                          "days_left": null,
                          "window": null,
                          "counted_from": "the date of service",
                          "source": {
                            "kind": "none"
                          },
                          "words": "The payer's filing limit is stated in its contract or provider manual. Send facts.filing_limit_days to have the date computed."
                        }
                      ]
                    },
                    {
                      "index": 1,
                      "reference": "PW-2004",
                      "payer_claim_number": "PAYER-CN-24",
                      "status_code": "1",
                      "status": "processed as primary",
                      "claim_filing_indicator": "MB",
                      "medicare": "fee_for_service",
                      "service_date": "2026-10-02",
                      "remittance_date": "2026-10-18",
                      "notice_date": "2026-10-18",
                      "notice_date_source": "bpr_16",
                      "billed": 350,
                      "paid": 0,
                      "allowed": null,
                      "patient_responsibility": null,
                      "verdict": "denied",
                      "verdict_words": "Refused: the payer paid nothing. The refusing adjustment is CO-50 (Non-covered: not deemed a medical necessity). The claim status code says processed as primary, but the adjustments refused the money.",
                      "patient": {
                        "may_bill": 0,
                        "words": "Nothing on this remittance is the patient's to pay. The $350.00 under group CO (contractual) may not be billed to the patient."
                      },
                      "adjustments": [
                        {
                          "group": "CO",
                          "code": "50",
                          "amount": 350,
                          "label": "Non-covered: not deemed a medical necessity",
                          "category": "Medical Necessity",
                          "known": true,
                          "label_source": "paraphrase",
                          "patient_billable": false,
                          "line": 0,
                          "remedy": {
                            "key": "necessity",
                            "action": "appeal",
                            "label": "Appeal with the clinical records",
                            "words": "The payer says the service was not medically necessary. Appeal with the clinical records that support it, the ones the payer's coverage policy asks for.",
                            "is_letter": true,
                            "letter_kind": "medical_necessity"
                          }
                        }
                      ],
                      "remarks": [
                        {
                          "code": "N115",
                          "words": "The decision was based on a Local Coverage Determination (LCD).",
                          "label_source": "paraphrase"
                        }
                      ],
                      "next_step": {
                        "key": "necessity",
                        "action": "appeal",
                        "label": "Appeal with the clinical records",
                        "words": "The payer says the service was not medically necessary. Appeal with the clinical records that support it, the ones the payer's coverage policy asks for.",
                        "is_letter": true,
                        "letter_kind": "medical_necessity",
                        "letter_facts": {
                          "payer_name": "SAMPLE HEALTH PLAN",
                          "patient_name": "SECOND PATIENT",
                          "payer_claim_number": "PAYER-CN-24",
                          "patient_control_number": "PW-2004",
                          "service_date": "2026-10-02",
                          "billed_amount": 350,
                          "remittance_date": "2026-10-18",
                          "adjustment_codes": [
                            "CO-50"
                          ],
                          "remark_codes": [
                            "N115"
                          ],
                          "claim_filing_indicator": "MB"
                        },
                        "letter_facts_missing": [
                          "member_id",
                          "provider_name",
                          "signer_name",
                          "clinical_summary",
                          "enclosures"
                        ]
                      },
                      "corrected_claim": null,
                      "send": [],
                      "deadlines": [
                        {
                          "kind": "redetermination",
                          "date": "2027-02-20",
                          "date_us": "02/20/2027",
                          "days_left": 124,
                          "window": {
                            "days": 120,
                            "presumed_receipt_days": 5
                          },
                          "counted_from": "receipt of the initial determination",
                          "counted_from_date": "2026-10-18",
                          "counted_from_date_source": "bpr_16",
                          "source": {
                            "kind": "regulation",
                            "citation": "42 CFR 405.942(a)",
                            "url": "https://www.ecfr.gov/current/title-42/section-405.942",
                            "verified_on": "10/19/2026",
                            "presumed_receipt_citation": "42 CFR 405.942(a)(1)"
                          },
                          "words": "A redetermination (the first level of appeal) is due within 120 days of receiving the initial determination, and receipt is presumed 5 days after the notice's date: 02/20/2027, counted from the payment date (BPR16), as the remittance advice states no date of its own (DTM*405), 10/18/2026 (42 CFR 405.942(a) and (a)(1)). It counts as filed when the contractor receives it, so send it early."
                        },
                        {
                          "kind": "reconsideration",
                          "date": null,
                          "date_us": null,
                          "days_left": null,
                          "window": {
                            "days": 180,
                            "presumed_receipt_days": 5
                          },
                          "counted_from": "receipt of the redetermination decision",
                          "source": {
                            "kind": "regulation",
                            "citation": "42 CFR 405.962(a)",
                            "url": "https://www.ecfr.gov/current/title-42/section-405.962",
                            "verified_on": "10/19/2026",
                            "presumed_receipt_citation": "42 CFR 405.962(a)(1)"
                          },
                          "words": "A later level: 180 days from receipt of the redetermination decision, receipt presumed 5 days after that decision's date (42 CFR 405.962(a); 42 CFR 405.962(a)(1)). Its date is known once that decision is."
                        },
                        {
                          "kind": "alj_hearing",
                          "date": null,
                          "date_us": null,
                          "days_left": null,
                          "window": {
                            "days": 60,
                            "presumed_receipt_days": 5
                          },
                          "counted_from": "receipt of the reconsideration decision",
                          "source": {
                            "kind": "regulation",
                            "citation": "42 CFR 405.1002(a)(1)",
                            "url": "https://www.ecfr.gov/current/title-42/section-405.1002",
                            "verified_on": "10/19/2026",
                            "presumed_receipt_citation": "42 CFR 405.1002(a)(3)",
                            "amount_in_controversy_citation": "42 CFR 405.1006(b)"
                          },
                          "words": "A later level: 60 days from receipt of the reconsideration decision, receipt presumed 5 days after that decision's date (42 CFR 405.1002(a)(1); 42 CFR 405.1002(a)(3)), if the amount in controversy meets 42 CFR 405.1006(b), which is adjusted each year. Its date is known once that decision is."
                        },
                        {
                          "kind": "council_review",
                          "date": null,
                          "date_us": null,
                          "days_left": null,
                          "window": {
                            "days": 60,
                            "presumed_receipt_days": 5
                          },
                          "counted_from": "receipt of the ALJ's decision",
                          "source": {
                            "kind": "regulation",
                            "citation": "42 CFR 405.1102(a)(1)",
                            "url": "https://www.ecfr.gov/current/title-42/section-405.1102",
                            "verified_on": "10/19/2026",
                            "presumed_receipt_citation": "42 CFR 405.1102(a)(2)"
                          },
                          "words": "A later level: 60 days from receipt of the ALJ's decision, receipt presumed 5 days after that decision's date (42 CFR 405.1102(a)(1); 42 CFR 405.1102(a)(2)). Its date is known once that decision is."
                        },
                        {
                          "kind": "judicial_review",
                          "date": null,
                          "date_us": null,
                          "days_left": null,
                          "window": {
                            "days": 60,
                            "presumed_receipt_days": 5
                          },
                          "counted_from": "receipt of the Council's decision",
                          "source": {
                            "kind": "regulation",
                            "citation": "42 CFR 405.1130",
                            "url": "https://www.ecfr.gov/current/title-42/section-405.1130",
                            "verified_on": "10/19/2026",
                            "presumed_receipt_citation": "42 CFR 405.1136(c)(2)",
                            "amount_in_controversy_citation": "42 CFR 405.1006(c)"
                          },
                          "words": "A later level: 60 days from receipt of the Council's decision, receipt presumed 5 days after that decision's date (42 CFR 405.1130; 42 CFR 405.1136(c)(2)), if the amount in controversy meets 42 CFR 405.1006(c), which is adjusted each year. Its date is known once that decision is."
                        }
                      ]
                    },
                    {
                      "index": 2,
                      "reference": "PW-2005",
                      "payer_claim_number": "PAYER-CN-25",
                      "status_code": "1",
                      "status": "processed as primary",
                      "claim_filing_indicator": "12",
                      "medicare": null,
                      "service_date": "2026-10-03",
                      "remittance_date": "2026-10-18",
                      "notice_date": "2026-10-18",
                      "notice_date_source": "bpr_16",
                      "billed": 240,
                      "paid": 80,
                      "allowed": 180,
                      "patient_responsibility": 100,
                      "verdict": "paid",
                      "verdict_words": "Paid: the payer paid $80.00, the patient owes $100.00 (patient responsibility), and $60.00 is a contractual adjustment.",
                      "patient": {
                        "may_bill": 100,
                        "words": "The patient may be billed $100.00 (deductible $100.00), the patient responsibility (group PR). The $60.00 under group CO (contractual) may not be billed to the patient."
                      },
                      "adjustments": [
                        {
                          "group": "CO",
                          "code": "45",
                          "amount": 60,
                          "label": "Charge exceeds the fee schedule / contracted amount",
                          "category": "Underpayment",
                          "known": true,
                          "label_source": "paraphrase",
                          "patient_billable": false,
                          "line": 0,
                          "remedy": null
                        },
                        {
                          "group": "PR",
                          "code": "1",
                          "amount": 100,
                          "label": "Deductible amount",
                          "category": "Other",
                          "known": true,
                          "label_source": "paraphrase",
                          "patient_billable": true,
                          "line": 0,
                          "remedy": null
                        }
                      ],
                      "remarks": [],
                      "next_step": {
                        "key": "post_payment",
                        "action": "post_payment",
                        "label": "Post the payment",
                        "words": "The payer paid the claim. Post the payment and the contractual write-off; bill the patient only the patient responsibility.",
                        "is_letter": false,
                        "letter_kind": null
                      },
                      "corrected_claim": null,
                      "send": [],
                      "deadlines": []
                    },
                    {
                      "index": 3,
                      "reference": "PW-2006",
                      "payer_claim_number": "PAYER-CN-26",
                      "status_code": "1",
                      "status": "processed as primary",
                      "claim_filing_indicator": "12",
                      "medicare": null,
                      "service_date": "2026-01-01",
                      "remittance_date": "2026-10-18",
                      "notice_date": "2026-10-18",
                      "notice_date_source": "bpr_16",
                      "billed": 150,
                      "paid": 0,
                      "allowed": null,
                      "patient_responsibility": null,
                      "verdict": "denied",
                      "verdict_words": "Refused: the payer paid nothing. The refusing adjustment is CO-29 (Time limit for filing has expired (timely filing)). The claim status code says processed as primary, but the adjustments refused the money.",
                      "patient": {
                        "may_bill": 0,
                        "words": "Nothing on this remittance is the patient's to pay. The $150.00 under group CO (contractual) may not be billed to the patient."
                      },
                      "adjustments": [
                        {
                          "group": "CO",
                          "code": "29",
                          "amount": 150,
                          "label": "Time limit for filing has expired (timely filing)",
                          "category": "Timely Filing",
                          "known": true,
                          "label_source": "paraphrase",
                          "patient_billable": false,
                          "line": 0,
                          "remedy": {
                            "key": "timely",
                            "action": "timely",
                            "label": "Appeal with proof of timely filing",
                            "words": "The payer says the claim was filed after its limit. If you filed in time, appeal with your proof of filing, such as the acceptance acknowledgment (999 or 277CA) for the original claim and its date. A replacement claim cannot cure a filing limit.",
                            "is_letter": true,
                            "letter_kind": "timely_filing"
                          }
                        }
                      ],
                      "remarks": [],
                      "next_step": {
                        "key": "timely",
                        "action": "timely",
                        "label": "Appeal with proof of timely filing",
                        "words": "The payer says the claim was filed after its limit. If you filed in time, appeal with your proof of filing, such as the acceptance acknowledgment (999 or 277CA) for the original claim and its date. A replacement claim cannot cure a filing limit.",
                        "is_letter": true,
                        "letter_kind": "timely_filing",
                        "filing": {
                          "filed_on": null,
                          "days_after_service": null,
                          "limit_days": null,
                          "within_limit": null
                        },
                        "letter_facts": {
                          "payer_name": "SAMPLE HEALTH PLAN",
                          "patient_name": "FOURTH PATIENT",
                          "payer_claim_number": "PAYER-CN-26",
                          "patient_control_number": "PW-2006",
                          "service_date": "2026-01-01",
                          "billed_amount": 150,
                          "remittance_date": "2026-10-18",
                          "adjustment_codes": [
                            "CO-29"
                          ],
                          "claim_filing_indicator": "12"
                        },
                        "letter_facts_missing": [
                          "member_id",
                          "provider_name",
                          "signer_name",
                          "original_filing_date"
                        ]
                      },
                      "corrected_claim": null,
                      "send": [],
                      "deadlines": [
                        {
                          "kind": "appeal",
                          "date": null,
                          "date_us": null,
                          "days_left": null,
                          "window": null,
                          "counted_from": "the remittance date",
                          "source": {
                            "kind": "none"
                          },
                          "words": "The payer's appeal window is stated in its contract or provider manual. Send facts.appeal_limit_days to have the date computed."
                        }
                      ]
                    }
                  ],
                  "groups": {
                    "CO": {
                      "name": "Contractual obligation",
                      "patient_billable": false,
                      "words": "An adjustment your agreement with the payer, or a regulation, requires. It is generally a write-off for you and is not billed to the patient."
                    },
                    "OA": {
                      "name": "Other adjustment",
                      "patient_billable": "depends",
                      "words": "Used when no other group applies, such as the effect of an earlier payer's payment. Whether the patient may be billed depends on the reason code beside it and on your agreement with the plan."
                    },
                    "PI": {
                      "name": "Payer-initiated reduction",
                      "patient_billable": false,
                      "words": "A reduction the payer made itself. It is not a patient responsibility amount, so it is not billed to the patient."
                    },
                    "PR": {
                      "name": "Patient responsibility",
                      "patient_billable": true,
                      "words": "An amount that may be billed to the patient, such as the deductible, coinsurance or copay."
                    }
                  },
                  "deadline_rule": "A deadline is computed only from a regulation it cites (Medicare fee-for-service, by its filing indicator MA or MB), or from the limits you send as facts; otherwise its date is null and its words say the payer's contract or provider manual states it. days_left counts from today, the UTC day; send today (YYYY-MM-DD) to count from your own."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NextStepBody"
              },
              "example": {
                "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000093*0*T*:~\nGS*HP*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*93*X*005010X221A1~\nST*835*0001~\nBPR*I*80*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~\nTRN*1*EFT-20261018-02*1234567890~\nN1*PR*SAMPLE HEALTH PLAN*PI*99999~\nN1*PE*SAMPLE FAMILY MEDICINE*XX*1234567893~\nLX*1~\nCLP*PW-2003*1*215*0**12*PAYER-CN-23*11~\nNM1*QC*1*PATIENT*SAMPLE****MI*W123456789~\nDTM*232*20261001~\nSVC*HC:99213*150*0~\nDTM*472*20261001~\nCAS*CO*16*150~\nLQ*HE*N290~\nSVC*HC:87880*65*0~\nDTM*472*20261001~\nCAS*CO*16*65~\nLQ*HE*N290~\nCLP*PW-2004*1*350*0**MB*PAYER-CN-24*11~\nNM1*QC*1*PATIENT*SECOND****MI*1EG4TE5MK73~\nDTM*232*20261002~\nSVC*HC:99214*350*0~\nDTM*472*20261002~\nCAS*CO*50*350~\nLQ*HE*N115~\nCLP*PW-2005*1*240*80*100*12*PAYER-CN-25*11~\nNM1*QC*1*PATIENT*THIRD****MI*W555555555~\nDTM*232*20261003~\nSVC*HC:99213*240*80~\nDTM*472*20261003~\nCAS*CO*45*60~\nCAS*PR*1*100~\nAMT*B6*180~\nCLP*PW-2006*1*150*0**12*PAYER-CN-26*11~\nNM1*QC*1*PATIENT*FOURTH****MI*W666666666~\nDTM*232*20260101~\nSVC*HC:99213*150*0~\nDTM*472*20260101~\nCAS*CO*29*150~\nSE*39*0001~\nGE*1*93~\nIEA*1*000000093~"
              }
            }
          }
        }
      }
    },
    "/v1/appeals/letter": {
      "post": {
        "summary": "Write an appeal letter",
        "description": "An appeal letter written from the facts you send, by a fixed template for its kind. It never adds a code, an amount or a date you did not give. A fact the kind needs and you left out is named, and nothing is written.",
        "operationId": "postV1AppealsLetter",
        "tags": [
          "Remittances, denials and appeals"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppealLetterAnswer"
                },
                "example": {
                  "kind": "timely_filing",
                  "subject": "Request for reconsideration: timely filing denial",
                  "letter": "10/19/2026\n\nSample Health Plan\n\nRe: Request for reconsideration: timely filing denial\nPatient: Sample Patient\nMember ID: W666666666\nClaim number: PAYER-CN-26\nDate of service: 01/01/2026\n\nTo the appeals department:\n\nThis claim was denied as filed after the filing limit. It was first filed on 01/15/2026, as shown by the clearinghouse acceptance report dated 01/16/2026. That is 14 days after the date of service, within the 90-day filing limit.\n\nWe ask that you reverse the timely filing denial and process the claim.\n\nPlease send your decision in writing.\n\nSincerely,\n\nSam Sample\nSample Family Medicine\nNPI 1234567893",
                  "facts_used": [
                    {
                      "field": "payer_name",
                      "label": "Payer",
                      "value": "Sample Health Plan"
                    },
                    {
                      "field": "patient_name",
                      "label": "Patient",
                      "value": "Sample Patient"
                    },
                    {
                      "field": "member_id",
                      "label": "Member ID",
                      "value": "W666666666"
                    },
                    {
                      "field": "payer_claim_number",
                      "label": "Claim number",
                      "value": "PAYER-CN-26"
                    },
                    {
                      "field": "service_date",
                      "label": "Date of service",
                      "value": "2026-01-01"
                    },
                    {
                      "field": "provider_name",
                      "label": "Provider",
                      "value": "Sample Family Medicine"
                    },
                    {
                      "field": "signer_name",
                      "label": "Signed by",
                      "value": "Sam Sample"
                    },
                    {
                      "field": "original_filing_date",
                      "label": "Date first filed",
                      "value": "2026-01-15"
                    },
                    {
                      "field": "provider_npi",
                      "label": "NPI",
                      "value": "1234567893"
                    },
                    {
                      "field": "proof_reference",
                      "label": "Proof of filing",
                      "value": "the clearinghouse acceptance report dated 01/16/2026"
                    },
                    {
                      "field": "filing_limit_days",
                      "label": "Filing limit in days",
                      "value": "90"
                    },
                    {
                      "field": "letter_date",
                      "label": "Letter date (today in UTC; send facts.letter_date for your own day)",
                      "value": "2026-10-19",
                      "derived": true
                    },
                    {
                      "field": "days_from_service_to_filing",
                      "label": "Days from the date of service to the first filing",
                      "value": "14",
                      "derived": true
                    }
                  ],
                  "enclosures": [],
                  "guard": {
                    "passed": true
                  },
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppealLetterBody"
              },
              "example": {
                "kind": "timely_filing",
                "facts": {
                  "payer_name": "Sample Health Plan",
                  "patient_name": "Sample Patient",
                  "member_id": "W666666666",
                  "payer_claim_number": "PAYER-CN-26",
                  "service_date": "2026-01-01",
                  "provider_name": "Sample Family Medicine",
                  "provider_npi": "1234567893",
                  "signer_name": "Sam Sample",
                  "original_filing_date": "2026-01-15",
                  "proof_reference": "the clearinghouse acceptance report dated 01/16/2026",
                  "filing_limit_days": 90
                }
              }
            }
          }
        }
      }
    },
    "/v1/appeals/letter/check": {
      "post": {
        "summary": "Check an edited letter",
        "description": "A letter you edited, held to the facts by the same rule: every code, amount and date it states, however it is written (a dollar sign or the word dollars, a written or numeric date, CO-50 or CARC 50, N115 or N 115), must be one the facts hold, and a placeholder left in is found.",
        "operationId": "postV1AppealsLetterCheck",
        "tags": [
          "Remittances, denials and appeals"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppealLetterCheckAnswer"
                },
                "example": {
                  "guard": {
                    "passed": false,
                    "reason": "unknown_amount",
                    "value": "$150.00",
                    "words": "The letter states $150.00, which no fact holds. Add the amount to the facts, or take it out of the letter.",
                    "findings": [
                      {
                        "reason": "unknown_amount",
                        "value": "$150.00",
                        "words": "The letter states $150.00, which no fact holds. Add the amount to the facts, or take it out of the letter."
                      }
                    ]
                  },
                  "facts_used": [
                    {
                      "field": "patient_name",
                      "label": "Patient",
                      "value": "Sample Patient"
                    },
                    {
                      "field": "adjustment_codes",
                      "label": "Adjustment codes",
                      "value": "CO-29"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppealLetterCheckBody"
              },
              "example": {
                "letter": "We ask that you reverse the denial of the claim for Sample Patient (CO-29), billed at $150.00.",
                "facts": {
                  "patient_name": "Sample Patient",
                  "adjustment_codes": [
                    "CO-29"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/remittances/pdf": {
      "post": {
        "summary": "Print a remittance",
        "description": "An 835 laid out the way Medicare’s Standard Paper Remittance is read: each check, each claim and its service lines with what was billed, allowed, applied to the deductible and coinsurance, adjusted and paid, the check’s totals and provider-level adjustments, and a glossary of every code on the file. Up to 500 claims and 3,000 service lines a call. The answer is your PDF as base64.",
        "operationId": "postV1RemittancesPdf",
        "tags": [
          "Remittances, denials and appeals"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RemittancePdfAnswer"
                },
                "example": {
                  "document": "remittance",
                  "content_type": "application/pdf",
                  "filename": "remittance-20261019.pdf",
                  "pages": 1,
                  "bytes": 5142,
                  "sha256": "be50686577c0787609da31857e494a6a3e1f8c94e290bfd62d528709f26bb0d0",
                  "pdf_base64": "JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUK...",
                  "notice": "Your document: Payerworks drew it from what you sent. Payerworks sent nothing to any payer and kept no copy.",
                  "checks": 1,
                  "claims": 2,
                  "service_lines": 2,
                  "sources": [
                    {
                      "name": "CMS, Remittance Advice Resources and FAQs (MLN booklet ICN 905367)",
                      "url": "https://www.cms.gov/Outreach-and-Education/Medicare-Learning-Network-MLN/MLNProducts/Downloads/ICN905367TextOnly.pdf",
                      "read_on": "10/19/2026"
                    },
                    {
                      "name": "CMS, Medicare Claims Processing Manual, chapter 22, section 50 (Standard Paper Remittance)",
                      "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c22.pdf",
                      "read_on": "10/19/2026"
                    }
                  ],
                  "stored": false,
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/X12Body"
              },
              "example": {
                "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000001*0*T*:~\nGS*HP*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*1*X*005010X221A1~\nST*835*0001~\nBPR*I*1260*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~\nTRN*1*EFT-20261018-01*1234567890~\nN1*PR*SAMPLE HEALTH PLAN*PI*99999~\nN1*PE*SAMPLE SLEEP DENTISTRY*XX*1234567893~\nLX*1~\nCLP*PW-1001*1*2900*1260*240*12*PAYER-CN-1*11~\nCAS*CO*45*1400~\nCAS*PR*2*240~\nNM1*QC*1*PATIENT*SAMPLE~\nDTM*472*20261001~\nSVC*HC:E0486*2900*1260~\nAMT*B6*1500~\nCLP*PW-1002*4*350*0*0*12*PAYER-CN-2*11~\nCAS*CO*50*350~\nNM1*QC*1*PATIENT*SECOND~\nDTM*472*20261002~\nSVC*HC:95800*350*0~\nLQ*HE*N115~\nSE*20*0001~\nGE*1*1~\nIEA*1*000000001~"
              }
            }
          }
        }
      }
    },
    "/v1/appeals/form": {
      "post": {
        "summary": "Fill a Medicare appeal form",
        "description": "CMS’s own redetermination request (CMS-20027) or reconsideration request (CMS-20033), the file CMS publishes, filled from the claim and the 835 that denied it: the beneficiary, the Medicare number, the codes of the lines the payer denied (a line it paid is never listed) and their dates of service, the notice date, and why you disagree in your words. Original Medicare only. Nothing is signed, dated or chosen for you, the deadline comes with its regulation, and the form is yours to review and send.",
        "operationId": "postV1AppealsForm",
        "tags": [
          "Remittances, denials and appeals"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppealFormAnswer"
                },
                "example": {
                  "document": "cms-20027",
                  "content_type": "application/pdf",
                  "filename": "cms-20027-PW-1002.pdf",
                  "pages": 1,
                  "bytes": 55228,
                  "sha256": "634e37b62abac326693c63c4d431f8618c41ee9bca5c9a1a997d05a38e3f27ee",
                  "pdf_base64": "JVBERi0xLjcKJYGBgYEKCjEgMCBvYmoKPDwKL0JCb3ggWyAwIDAgNy42ODAwMiA3...",
                  "notice": "Your document: Payerworks drew it from what you sent. Payerworks sent nothing to any payer and kept no copy.",
                  "form": {
                    "id": "cms-20027",
                    "form_number": "CMS-20027",
                    "revision": "01/20",
                    "level": 1,
                    "name": "Medicare Redetermination Request Form (1st level of appeal)",
                    "source_url": "https://www.cms.gov/medicare/cms-forms/cms-forms/downloads/cms20027.pdf",
                    "sha256": "bc80ed47453ddabf3628106fbdf6151c13951be697a2098d548fa7f7be92f09c",
                    "retrieved_on": "10/19/2026",
                    "fillable": true
                  },
                  "claim": {
                    "reference": "PW-1002",
                    "index": 1,
                    "payer_claim_number": "PAYER-CN-2",
                    "claim_filing_indicator": "MB",
                    "verdict": "denied",
                    "verdict_words": "Refused: the payer paid nothing. The refusing adjustment is CO-50 (Non-covered: not deemed a medical necessity).",
                    "lines_appealed": [
                      0
                    ]
                  },
                  "filled": {
                    "beneficiary_name": "Sample Patient",
                    "medicare_number": "1EG4TE5MK73",
                    "item_or_service": "95800",
                    "date_received": "10/02/2026",
                    "notice_date": "10/16/2026",
                    "contractor": "SAMPLE HEALTH PLAN",
                    "reason": "The study was ordered for a documented condition; the order and the visit note are enclosed.",
                    "appellant_name": "Sample Family Medicine",
                    "appellant_street": "100 Main Street",
                    "appellant_city": "Springfield",
                    "appellant_state": "IL",
                    "appellant_zip": "62701-1234",
                    "appellant_phone": "(555) 555-0100",
                    "evidence": "I have evidence to submit",
                    "appellant_type": "Person appealing - Provider/Supplier"
                  },
                  "filled_from": {
                    "beneficiary": "claim (the patient)",
                    "item_or_service": "the 835's lines for this claim payment (procedure codes only)",
                    "notice_date": "the 835: the remittance advice's date (DTM*405)",
                    "contractor": "the 835's payer name (N1*PR); CMS marks the box not required",
                    "appellant": "claim (its billing provider, as the provider or supplier)"
                  },
                  "deadline": {
                    "date": "2027-02-18",
                    "days": 120,
                    "presumed_receipt_days": 5,
                    "counted_from": "receipt of the initial determination",
                    "citation": "42 CFR 405.942(a)",
                    "url": "https://www.ecfr.gov/current/title-42/section-405.942",
                    "late": false,
                    "today": "2026-10-19"
                  },
                  "where_to_send": "Send it to the Medicare contractor named on the notice, at the address the notice gives, with a copy of the notice and your evidence. Nothing is signed here: the form has no signature box, and the person appealing reviews it before it goes.",
                  "warnings": [],
                  "stored": false,
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AppealFormBody"
              },
              "example": {
                "form": "redetermination",
                "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000001*0*T*:~\nGS*HP*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*1*X*005010X221A1~\nST*835*0001~\nBPR*I*1260*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~\nTRN*1*EFT-20261018-01*1234567890~\nDTM*405*20261016~\nN1*PR*SAMPLE HEALTH PLAN*PI*99999~\nN1*PE*SAMPLE SLEEP DENTISTRY*XX*1234567893~\nLX*1~\nCLP*PW-1001*1*2900*1260*240*12*PAYER-CN-1*11~\nCAS*CO*45*1400~\nCAS*PR*2*240~\nNM1*QC*1*PATIENT*SAMPLE~\nDTM*472*20261001~\nSVC*HC:E0486*2900*1260~\nAMT*B6*1500~\nCLP*PW-1002*4*350*0*0*MB*PAYER-CN-2*11~\nCAS*CO*50*350~\nNM1*QC*1*PATIENT*SECOND~\nDTM*472*20261002~\nSVC*HC:95800*350*0~\nLQ*HE*N115~\nSE*20*0001~\nGE*1*1~\nIEA*1*000000001~",
                "reference": "PW-1002",
                "claim": {
                  "tradingPartnerServiceId": "99999",
                  "submitter": {
                    "organizationName": "Sample Family Medicine",
                    "contactInformation": {
                      "name": "Billing Office",
                      "phoneNumber": "5555550100"
                    }
                  },
                  "receiver": {
                    "organizationName": "Sample Health Plan"
                  },
                  "billing": {
                    "npi": "1234567893",
                    "employerId": "123456789",
                    "organizationName": "Sample Family Medicine",
                    "taxonomyCode": "207Q00000X",
                    "address": {
                      "address1": "100 Main Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "627011234"
                    }
                  },
                  "subscriber": {
                    "memberId": "1EG4TE5MK73",
                    "paymentResponsibilityLevelCode": "P",
                    "firstName": "Sample",
                    "lastName": "Patient",
                    "gender": "F",
                    "dateOfBirth": "19800214",
                    "address": {
                      "address1": "9 Elm Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "62701"
                    }
                  },
                  "claimInformation": {
                    "claimFilingCode": "CI",
                    "patientControlNumber": "PW-1002",
                    "claimChargeAmount": "215.00",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "1",
                    "signatureIndicator": "Y",
                    "planParticipationCode": "A",
                    "benefitsAssignmentCertificationIndicator": "Y",
                    "releaseInformationCode": "Y",
                    "healthCareCodeInformation": [
                      {
                        "diagnosisTypeCode": "ABK",
                        "diagnosisCode": "J029"
                      },
                      {
                        "diagnosisTypeCode": "ABF",
                        "diagnosisCode": "R509"
                      }
                    ],
                    "serviceLines": [
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "99213",
                          "lineItemChargeAmount": "150.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1",
                              "2"
                            ]
                          }
                        }
                      },
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "87880",
                          "lineItemChargeAmount": "65.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1"
                            ]
                          }
                        }
                      }
                    ]
                  }
                },
                "reason": "The study was ordered for a documented condition; the order and the visit note are enclosed.",
                "evidence": true
              }
            }
          }
        }
      }
    },
    "/v1/remittances/from-image": {
      "post": {
        "summary": "Read a paper EOB into a draft 835",
        "description": "A photo, scan or PDF of a payer’s paper explanation of benefits (two pages at most, 1.4 MB), read by a model into a DRAFT: every figure, date and code with the reader’s confidence and where on the page it was read, the payments checked by arithmetic against the check total the page states, and an 835 written as a test file. It is never an ERA and nothing is posted: check every field against the paper. Off until Payerworks turns it on; test keys and invented documents only for now, at most 100 reads a UTC day for an account’s keys together; a call refused for the route being off, a live key or no file is not counted. A read has 25 seconds; past them the answer is 504 model_read_timed_out: send one page, or a crop of the part you need. Nothing is kept.",
        "operationId": "postV1RemittancesFromImage",
        "tags": [
          "Remittances, denials and appeals"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RemittanceDraft"
                },
                "example": {
                  "object": "remittance_draft",
                  "draft": true,
                  "needs_review": true,
                  "is_era": false,
                  "posted": false,
                  "words": "A draft read from a picture of a paper explanation of benefits by a model. It is not an ERA, it was not sent by the payer, and nothing has been posted: check every field against the paper before you use it.",
                  "confidence_words": "confidence is the reader's own estimate from 0 to 1, not a measured accuracy.",
                  "region_words": "region is where on the page the reader placed the value: page (1 is the first) and a box as fractions of the page's width and height from its top left. It is approximate, and null where the reader read a PDF's text rather than its picture.",
                  "document": {
                    "media_type": "image/png",
                    "pages": 1,
                    "read_as": "picture"
                  },
                  "payer": {
                    "name": {
                      "value": "SAMPLE HEALTH PLAN",
                      "confidence": 0.97,
                      "region": {
                        "page": 1,
                        "box": [
                          0.1,
                          0.2,
                          0.15,
                          0.02
                        ]
                      }
                    }
                  },
                  "payee": {
                    "name": {
                      "value": "Sample Family Medicine",
                      "confidence": 0.97,
                      "region": {
                        "page": 1,
                        "box": [
                          0.1,
                          0.2,
                          0.15,
                          0.02
                        ]
                      }
                    },
                    "npi": {
                      "value": "1234567893",
                      "confidence": 0.97,
                      "region": {
                        "page": 1,
                        "box": [
                          0.1,
                          0.2,
                          0.15,
                          0.02
                        ]
                      }
                    },
                    "tax_id": {
                      "value": "12-3456789",
                      "confidence": 0.97,
                      "region": {
                        "page": 1,
                        "box": [
                          0.1,
                          0.2,
                          0.15,
                          0.02
                        ]
                      }
                    }
                  },
                  "check": {
                    "number": {
                      "value": "CHK10001",
                      "confidence": 0.97,
                      "region": {
                        "page": 1,
                        "box": [
                          0.1,
                          0.2,
                          0.15,
                          0.02
                        ]
                      }
                    },
                    "date": {
                      "value": "2026-10-01",
                      "confidence": 0.97,
                      "region": {
                        "page": 1,
                        "box": [
                          0.1,
                          0.2,
                          0.15,
                          0.02
                        ]
                      }
                    },
                    "total": {
                      "value": 150,
                      "confidence": 0.97,
                      "region": {
                        "page": 1,
                        "box": [
                          0.1,
                          0.2,
                          0.15,
                          0.02
                        ]
                      }
                    },
                    "method": {
                      "value": "Check",
                      "confidence": 0.97,
                      "region": {
                        "page": 1,
                        "box": [
                          0.1,
                          0.2,
                          0.15,
                          0.02
                        ]
                      }
                    }
                  },
                  "claims": [
                    {
                      "patient_name": {
                        "value": "PATIENT, SAMPLE",
                        "confidence": 0.97,
                        "region": {
                          "page": 1,
                          "box": [
                            0.1,
                            0.2,
                            0.15,
                            0.02
                          ]
                        }
                      },
                      "member_id": {
                        "value": "W123456789",
                        "confidence": 0.97,
                        "region": {
                          "page": 1,
                          "box": [
                            0.1,
                            0.2,
                            0.15,
                            0.02
                          ]
                        }
                      },
                      "patient_control_number": {
                        "value": "PW-2001",
                        "confidence": 0.97,
                        "region": {
                          "page": 1,
                          "box": [
                            0.1,
                            0.2,
                            0.15,
                            0.02
                          ]
                        }
                      },
                      "payer_claim_number": {
                        "value": "PCN000123",
                        "confidence": 0.97,
                        "region": {
                          "page": 1,
                          "box": [
                            0.1,
                            0.2,
                            0.15,
                            0.02
                          ]
                        }
                      },
                      "status": {
                        "value": "processed_as_primary",
                        "confidence": 0.97,
                        "region": {
                          "page": 1,
                          "box": [
                            0.1,
                            0.2,
                            0.15,
                            0.02
                          ]
                        }
                      },
                      "billed": {
                        "value": 215,
                        "confidence": 0.97,
                        "region": {
                          "page": 1,
                          "box": [
                            0.1,
                            0.2,
                            0.15,
                            0.02
                          ]
                        }
                      },
                      "allowed": {
                        "value": 150,
                        "confidence": 0.97,
                        "region": {
                          "page": 1,
                          "box": [
                            0.1,
                            0.2,
                            0.15,
                            0.02
                          ]
                        }
                      },
                      "paid": {
                        "value": 120,
                        "confidence": 0.97,
                        "region": {
                          "page": 1,
                          "box": [
                            0.1,
                            0.2,
                            0.15,
                            0.02
                          ]
                        }
                      },
                      "patient_responsibility": {
                        "value": 30,
                        "confidence": 0.97,
                        "region": {
                          "page": 1,
                          "box": [
                            0.1,
                            0.2,
                            0.15,
                            0.02
                          ]
                        }
                      },
                      "service_from": {
                        "value": null,
                        "confidence": null,
                        "region": null,
                        "not_printed": true
                      },
                      "service_to": {
                        "value": null,
                        "confidence": null,
                        "region": null,
                        "not_printed": true
                      },
                      "adjustments": [],
                      "lines": [
                        {
                          "date": {
                            "value": "2026-10-01",
                            "confidence": 0.97,
                            "region": {
                              "page": 1,
                              "box": [
                                0.1,
                                0.2,
                                0.15,
                                0.02
                              ]
                            }
                          },
                          "procedure_code": {
                            "value": "99213",
                            "confidence": 0.97,
                            "region": {
                              "page": 1,
                              "box": [
                                0.1,
                                0.2,
                                0.15,
                                0.02
                              ]
                            }
                          },
                          "modifiers": {
                            "value": null,
                            "confidence": null,
                            "region": null,
                            "not_printed": true
                          },
                          "units": {
                            "value": 1,
                            "confidence": 0.97,
                            "region": {
                              "page": 1,
                              "box": [
                                0.1,
                                0.2,
                                0.15,
                                0.02
                              ]
                            }
                          },
                          "billed": {
                            "value": 150,
                            "confidence": 0.97,
                            "region": {
                              "page": 1,
                              "box": [
                                0.1,
                                0.2,
                                0.15,
                                0.02
                              ]
                            }
                          },
                          "allowed": {
                            "value": 150,
                            "confidence": 0.97,
                            "region": {
                              "page": 1,
                              "box": [
                                0.1,
                                0.2,
                                0.15,
                                0.02
                              ]
                            }
                          },
                          "paid": {
                            "value": 120,
                            "confidence": 0.97,
                            "region": {
                              "page": 1,
                              "box": [
                                0.1,
                                0.2,
                                0.15,
                                0.02
                              ]
                            }
                          },
                          "adjustments": [
                            {
                              "group": {
                                "value": "PR",
                                "confidence": 0.97,
                                "region": {
                                  "page": 1,
                                  "box": [
                                    0.1,
                                    0.2,
                                    0.15,
                                    0.02
                                  ]
                                }
                              },
                              "reason": {
                                "value": "2",
                                "confidence": 0.97,
                                "region": {
                                  "page": 1,
                                  "box": [
                                    0.1,
                                    0.2,
                                    0.15,
                                    0.02
                                  ]
                                }
                              },
                              "amount": {
                                "value": 30,
                                "confidence": 0.97,
                                "region": {
                                  "page": 1,
                                  "box": [
                                    0.1,
                                    0.2,
                                    0.15,
                                    0.02
                                  ]
                                }
                              }
                            }
                          ],
                          "remarks": {
                            "value": null,
                            "confidence": null,
                            "region": null,
                            "not_printed": true
                          }
                        },
                        {
                          "date": {
                            "value": "2026-10-01",
                            "confidence": 0.97,
                            "region": {
                              "page": 1,
                              "box": [
                                0.1,
                                0.2,
                                0.15,
                                0.02
                              ]
                            }
                          },
                          "procedure_code": {
                            "value": "87880",
                            "confidence": 0.97,
                            "region": {
                              "page": 1,
                              "box": [
                                0.1,
                                0.2,
                                0.15,
                                0.02
                              ]
                            }
                          },
                          "modifiers": {
                            "value": null,
                            "confidence": null,
                            "region": null,
                            "not_printed": true
                          },
                          "units": {
                            "value": 1,
                            "confidence": 0.97,
                            "region": {
                              "page": 1,
                              "box": [
                                0.1,
                                0.2,
                                0.15,
                                0.02
                              ]
                            }
                          },
                          "billed": {
                            "value": 65,
                            "confidence": 0.97,
                            "region": {
                              "page": 1,
                              "box": [
                                0.1,
                                0.2,
                                0.15,
                                0.02
                              ]
                            }
                          },
                          "allowed": {
                            "value": 0,
                            "confidence": 0.97,
                            "region": {
                              "page": 1,
                              "box": [
                                0.1,
                                0.2,
                                0.15,
                                0.02
                              ]
                            }
                          },
                          "paid": {
                            "value": 0,
                            "confidence": 0.97,
                            "region": {
                              "page": 1,
                              "box": [
                                0.1,
                                0.2,
                                0.15,
                                0.02
                              ]
                            }
                          },
                          "adjustments": [
                            {
                              "group": {
                                "value": "CO",
                                "confidence": 0.97,
                                "region": {
                                  "page": 1,
                                  "box": [
                                    0.1,
                                    0.2,
                                    0.15,
                                    0.02
                                  ]
                                }
                              },
                              "reason": {
                                "value": "97",
                                "confidence": 0.97,
                                "region": {
                                  "page": 1,
                                  "box": [
                                    0.1,
                                    0.2,
                                    0.15,
                                    0.02
                                  ]
                                }
                              },
                              "amount": {
                                "value": 65,
                                "confidence": 0.97,
                                "region": {
                                  "page": 1,
                                  "box": [
                                    0.1,
                                    0.2,
                                    0.15,
                                    0.02
                                  ]
                                }
                              }
                            }
                          ],
                          "remarks": {
                            "value": "N130",
                            "confidence": 0.62,
                            "region": {
                              "page": 1,
                              "box": [
                                0.1,
                                0.2,
                                0.15,
                                0.02
                              ]
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "provider_adjustments": [],
                  "totals": {
                    "check_total_stated": 150,
                    "claims_paid": 120,
                    "provider_adjustments": 0,
                    "check_total_computed": 120,
                    "matches": false,
                    "words": "The claims as read do NOT add up to the check total the page states."
                  },
                  "warnings": [
                    {
                      "code": "check_total_mismatch",
                      "path": "check.total",
                      "message": "The page states a check total of $150.00, and the claims as read come to $120.00: a difference of $30.00. Something was misread or not read: check every payment against the paper.",
                      "stated": 150,
                      "computed": 120
                    }
                  ],
                  "review": [
                    "claims[0].lines[1].remarks",
                    "check.total"
                  ],
                  "x12": {
                    "version": "005010X221A1",
                    "usage": "T",
                    "text": "ISA*00*          *00*          *ZZ*PWDRAFT        *ZZ*PWDRAFT        *261019*1500*^*00501*000000001*0*T*:~GS*HP*PWDRAFT*PWDRAFT*20261019*1500*1*X*005010X221A1~ST*835*0001~BPR*I*150*C*CHK************20261001~TRN*1*CHK10001~DTM*405*20261001~N1*PR*SAMPLE HEALTH PLAN~N1*PE*Sample Family Medicine*XX*1234567893~REF*TJ*123456789~LX*1~CLP*PW-2001*1*215*120*30**PCN000123~NM1*QC*1*PATIENT*SAMPLE****MI*W123456789~AMT*AU*150~SVC*HC:99213*150*120**1~DTM*472*20261001~CAS*PR*2*30~AMT*B6*150~SVC*HC:87880*65*0**1~DTM*472*20261001~CAS*CO*97*65~AMT*B6*0~LQ*HE*N130~SE*21*0001~GE*1*1~IEA*1*000000001~",
                    "reads_back": true,
                    "not_read": [
                      {
                        "path": "payer",
                        "element": "TRN03"
                      },
                      {
                        "path": "claims[0]",
                        "element": "CLP06"
                      }
                    ],
                    "words": "A test interchange (ISA15 T) whatever your key: a draft to check against the paper, never a payer's file. Elements the page did not give are left empty and listed in not_read."
                  },
                  "mode": "test",
                  "stored": false,
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EobImageBody"
              },
              "example": {
                "file_base64": "iVBORw0KGgoAAAANSUhEUgAAAEAAAAAoCAAAAABrpaM1AAAAJElEQVR4nGOYSSFgGDVg1IBRA0YNGDVg1IBRA0YNGDVgOBoAAFl9+kzmtZbEAAAAAElFTkSuQmCC"
              }
            }
          }
        }
      }
    },
    "/v1/remittances/duplicates": {
      "post": {
        "summary": "Find duplicate remittances",
        "description": "Send several 835s and get back every check that is one payment sent more than once: the same trace number (TRN02) from the same originator (TRN03), never the trace alone. Each duplicate says whether the copies are the same remittance or differ in content, and a check with no trace is listed apart. Nothing is stored.",
        "operationId": "postV1RemittancesDuplicates",
        "tags": [
          "Remittances, denials and appeals"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DuplicatesAnswer"
                },
                "example": {
                  "files": 2,
                  "checks": [
                    {
                      "file": 0,
                      "check": 0,
                      "trace": "EFT-20261018-01",
                      "originator": "1234567890",
                      "amount": 1260,
                      "date": "2026-10-18",
                      "method": "ACH",
                      "payer": "SAMPLE HEALTH PLAN",
                      "claims": 2,
                      "duplicate_of": null
                    },
                    {
                      "file": 1,
                      "check": 0,
                      "trace": "EFT-20261018-01",
                      "originator": "1234567890",
                      "amount": 1260,
                      "date": "2026-10-18",
                      "method": "ACH",
                      "payer": "SAMPLE HEALTH PLAN",
                      "claims": 2,
                      "duplicate_of": {
                        "file": 0,
                        "check": 0,
                        "trace": "EFT-20261018-01",
                        "originator": "1234567890",
                        "amount": 1260,
                        "date": "2026-10-18",
                        "method": "ACH",
                        "payer": "SAMPLE HEALTH PLAN",
                        "claims": 2
                      }
                    }
                  ],
                  "duplicates": [
                    {
                      "trace": "EFT-20261018-01",
                      "originator": "1234567890",
                      "matched_on": [
                        "TRN02",
                        "TRN03"
                      ],
                      "identical": true,
                      "copies": [
                        {
                          "file": 0,
                          "check": 0,
                          "trace": "EFT-20261018-01",
                          "originator": "1234567890",
                          "amount": 1260,
                          "date": "2026-10-18",
                          "method": "ACH",
                          "payer": "SAMPLE HEALTH PLAN",
                          "claims": 2
                        },
                        {
                          "file": 1,
                          "check": 0,
                          "trace": "EFT-20261018-01",
                          "originator": "1234567890",
                          "amount": 1260,
                          "date": "2026-10-18",
                          "method": "ACH",
                          "payer": "SAMPLE HEALTH PLAN",
                          "claims": 2
                        }
                      ],
                      "words": "2 checks carry the same trace (TRN02 EFT-20261018-01) from the same originator (TRN03 1234567890), and their content is the same: one remittance sent twice. Post it once."
                    }
                  ],
                  "no_trace": [],
                  "words": "1 payment is in these files more than once, matched by trace (TRN02) and originator (TRN03).",
                  "reads": "Only the files sent in this call: nothing is stored, and no payer or bank is asked."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemittancesBody"
              },
              "example": {
                "remittances": [
                  "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000001*0*T*:~\nGS*HP*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*1*X*005010X221A1~\nST*835*0001~\nBPR*I*1260*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~\nTRN*1*EFT-20261018-01*1234567890~\nN1*PR*SAMPLE HEALTH PLAN*PI*99999~\nN1*PE*SAMPLE SLEEP DENTISTRY*XX*1234567893~\nLX*1~\nCLP*PW-1001*1*2900*1260*240*12*PAYER-CN-1*11~\nCAS*CO*45*1400~\nCAS*PR*2*240~\nNM1*QC*1*PATIENT*SAMPLE~\nDTM*472*20261001~\nSVC*HC:E0486*2900*1260~\nAMT*B6*1500~\nCLP*PW-1002*4*350*0*0*12*PAYER-CN-2*11~\nCAS*CO*50*350~\nNM1*QC*1*PATIENT*SECOND~\nDTM*472*20261002~\nSVC*HC:95800*350*0~\nLQ*HE*N115~\nSE*20*0001~\nGE*1*1~\nIEA*1*000000001~",
                  "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000001*0*T*:~\nGS*HP*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*1*X*005010X221A1~\nST*835*0001~\nBPR*I*1260*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~\nTRN*1*EFT-20261018-01*1234567890~\nN1*PR*SAMPLE HEALTH PLAN*PI*99999~\nN1*PE*SAMPLE SLEEP DENTISTRY*XX*1234567893~\nLX*1~\nCLP*PW-1001*1*2900*1260*240*12*PAYER-CN-1*11~\nCAS*CO*45*1400~\nCAS*PR*2*240~\nNM1*QC*1*PATIENT*SAMPLE~\nDTM*472*20261001~\nSVC*HC:E0486*2900*1260~\nAMT*B6*1500~\nCLP*PW-1002*4*350*0*0*12*PAYER-CN-2*11~\nCAS*CO*50*350~\nNM1*QC*1*PATIENT*SECOND~\nDTM*472*20261002~\nSVC*HC:95800*350*0~\nLQ*HE*N115~\nSE*20*0001~\nGE*1*1~\nIEA*1*000000001~"
                ]
              }
            }
          }
        }
      }
    },
    "/v1/remittances/reassociate": {
      "post": {
        "summary": "Match deposits to remittances",
        "description": "Send 835s and the deposits from your bank (the amount and effective date, and the trace number or description when your bank gives them). Each deposit is matched to one check by its trace number first, then by a trace in the description, then by amount and date only when exactly one check and one deposit fit, and every match says what agreed and what did not. Unmatched deposits and checks are listed. No bank description is repeated back.",
        "operationId": "postV1RemittancesReassociate",
        "tags": [
          "Remittances, denials and appeals"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReassociateAnswer"
                },
                "example": {
                  "matches": [
                    {
                      "deposit": {
                        "index": 0,
                        "id": "bank-1",
                        "amount": 1260,
                        "effective_date": "2026-10-19"
                      },
                      "check": {
                        "file": 0,
                        "check": 0,
                        "trace": "EFT-20261018-01",
                        "originator": "1234567890",
                        "amount": 1260,
                        "date": "2026-10-18",
                        "method": "ACH",
                        "payer": "SAMPLE HEALTH PLAN",
                        "claims": 2
                      },
                      "matched_by": "trace",
                      "matched_on": [
                        "TRN02",
                        "TRN03",
                        "BPR02"
                      ],
                      "agrees": {
                        "amount": true,
                        "date": false,
                        "originator": true,
                        "weekdays_from_payment_date": 1
                      },
                      "words": "Matched by the trace number (TRN02): check EFT-20261018-01 of 10/18/2026 (file 1), agreeing on TRN02, TRN03, BPR02. But the date differs: the deposit settled 10/19/2026 and the check's payment date (BPR16) is 10/18/2026, 1 weekday apart."
                    }
                  ],
                  "unmatched_deposits": [
                    {
                      "deposit": {
                        "index": 1,
                        "id": "bank-2",
                        "amount": 80,
                        "effective_date": "2026-10-19"
                      },
                      "words": "Not matched: the deposit carries no trace number, its description names none of the checks' traces, and no single check has its amount on its date."
                    }
                  ],
                  "unmatched_checks": [
                    {
                      "check": {
                        "file": 1,
                        "check": 0,
                        "trace": "EFT-20261018-02",
                        "originator": "1234567890",
                        "amount": 80,
                        "date": "2026-10-18",
                        "method": "ACH",
                        "payer": "SAMPLE HEALTH PLAN",
                        "claims": 4
                      },
                      "words": "Unmatched: no deposit among those sent matches this check. CAQH CORE 370 has the plan release the 835 within 3 business days of the EFT's effective entry date either way, so the money may not have settled yet."
                    }
                  ],
                  "counts": {
                    "checks": 2,
                    "deposits": 2,
                    "matched": 1
                  },
                  "words": "1 of 2 deposits matched to a check; 1 deposit and 1 check unmatched.",
                  "how": "Matched by trace number first (TRN02, with TRN03 when the deposit names its originator), then by a trace printed in the bank's description (at least 6 characters, as a whole word), then by amount and date only where neither carries a trace and exactly one check and one deposit fit. Weekdays are counted Monday to Friday; holidays are not known here.",
                  "sources": [
                    {
                      "name": "CMS, EFT and ERA: Payment Remittance Reassociation Basics (June 2022)",
                      "url": "https://www.cms.gov/files/document/eft-and-era-payment-remittance-reassociation-basics.pdf",
                      "read_on": "10/19/2026"
                    },
                    {
                      "name": "CAQH CORE, EFT and ERA Operating Rules Overview",
                      "url": "https://www.caqh.org/sites/default/files/core/phase-iii/policy-rules/EFT-ERA_Rules_Overview.pdf",
                      "read_on": "10/19/2026"
                    }
                  ],
                  "reads": "Only the files and deposits sent in this call: nothing is stored, no bank description is repeated back, and no payer or bank is asked."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReassociateBody"
              },
              "example": {
                "remittances": [
                  "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000001*0*T*:~\nGS*HP*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*1*X*005010X221A1~\nST*835*0001~\nBPR*I*1260*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~\nTRN*1*EFT-20261018-01*1234567890~\nN1*PR*SAMPLE HEALTH PLAN*PI*99999~\nN1*PE*SAMPLE SLEEP DENTISTRY*XX*1234567893~\nLX*1~\nCLP*PW-1001*1*2900*1260*240*12*PAYER-CN-1*11~\nCAS*CO*45*1400~\nCAS*PR*2*240~\nNM1*QC*1*PATIENT*SAMPLE~\nDTM*472*20261001~\nSVC*HC:E0486*2900*1260~\nAMT*B6*1500~\nCLP*PW-1002*4*350*0*0*12*PAYER-CN-2*11~\nCAS*CO*50*350~\nNM1*QC*1*PATIENT*SECOND~\nDTM*472*20261002~\nSVC*HC:95800*350*0~\nLQ*HE*N115~\nSE*20*0001~\nGE*1*1~\nIEA*1*000000001~",
                  "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000093*0*T*:~\nGS*HP*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*93*X*005010X221A1~\nST*835*0001~\nBPR*I*80*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~\nTRN*1*EFT-20261018-02*1234567890~\nN1*PR*SAMPLE HEALTH PLAN*PI*99999~\nN1*PE*SAMPLE FAMILY MEDICINE*XX*1234567893~\nLX*1~\nCLP*PW-2003*1*215*0**12*PAYER-CN-23*11~\nNM1*QC*1*PATIENT*SAMPLE****MI*W123456789~\nDTM*232*20261001~\nSVC*HC:99213*150*0~\nDTM*472*20261001~\nCAS*CO*16*150~\nLQ*HE*N290~\nSVC*HC:87880*65*0~\nDTM*472*20261001~\nCAS*CO*16*65~\nLQ*HE*N290~\nCLP*PW-2004*1*350*0**MB*PAYER-CN-24*11~\nNM1*QC*1*PATIENT*SECOND****MI*1EG4TE5MK73~\nDTM*232*20261002~\nSVC*HC:99214*350*0~\nDTM*472*20261002~\nCAS*CO*50*350~\nLQ*HE*N115~\nCLP*PW-2005*1*240*80*100*12*PAYER-CN-25*11~\nNM1*QC*1*PATIENT*THIRD****MI*W555555555~\nDTM*232*20261003~\nSVC*HC:99213*240*80~\nDTM*472*20261003~\nCAS*CO*45*60~\nCAS*PR*1*100~\nAMT*B6*180~\nCLP*PW-2006*1*150*0**12*PAYER-CN-26*11~\nNM1*QC*1*PATIENT*FOURTH****MI*W666666666~\nDTM*232*20260101~\nSVC*HC:99213*150*0~\nDTM*472*20260101~\nCAS*CO*29*150~\nSE*39*0001~\nGE*1*93~\nIEA*1*000000093~"
                ],
                "deposits": [
                  {
                    "id": "bank-1",
                    "amount": 1260,
                    "effective_date": "2026-10-19",
                    "trace_number": "EFT-20261018-01",
                    "originator": "1234567890"
                  },
                  {
                    "id": "bank-2",
                    "amount": 80,
                    "effective_date": "2026-10-19",
                    "description": "SAMPLE HEALTH PLAN HCCLAIMPMT EFT-20261018-02"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/v1/remittances/split": {
      "post": {
        "summary": "Split an 835 by payee or rendering provider",
        "description": "Send an 835 paid to one tax ID and get one file per payee (the provider the payer grouped the claims under) or per rendering NPI. Each file’s payment total is recomputed from its own claims and provider-level adjustments and read back to check it balances, the parts add up to the original check, and each keeps its trace. An adjustment that names no single group gets a file of its own, never a guessed one, and a value holding a delimiter is refused, never rewritten. Send the interchange control number you track for the first file (each further file takes the next): the original’s own number is never reused. The files are yours to load; nothing is sent.",
        "operationId": "postV1RemittancesSplit",
        "tags": [
          "Remittances, denials and appeals"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SplitAnswer"
                },
                "example": {
                  "by": "payee",
                  "transmitted": false,
                  "files": [
                    {
                      "group": {
                        "by": "payee",
                        "key": "1234567893",
                        "stated": true
                      },
                      "claims": 1,
                      "checks": [
                        {
                          "trace": "EFT-20261018-03",
                          "original_amount": 330,
                          "amount": 180,
                          "claims_paid": 180,
                          "provider_adjustments": 0
                        }
                      ],
                      "ties": true,
                      "isa_control": "000000001",
                      "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000001*0*T*:~GS*HP*SAMPLEPAYER*SAMPLEBILLER*20261019*1500*1*X*005010X221A1~ST*835*0001~BPR*I*180*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~TRN*1*EFT-20261018-03*1234567890~DTM*405*20261018~N1*PR*SAMPLE HEALTH PLAN*PI*99999~N1*PE*SAMPLE FAMILY MEDICINE*FI*123456789~LX*1~TS3*1234567893*11*20261231*1*240~CLP*PW-2101*1*240*180*60*12*PAYER-CN-31*11~CAS*PR*2*60~NM1*QC*1*PATIENT*SAMPLE****MI*W123456789~NM1*82*1*SAMPLE*SAM****XX*1234567893~SVC*HC:99213*240*180~DTM*472*20261001~SE*15*0001~GE*1*1~IEA*1*000000001~",
                      "words": "The claims the payer grouped under provider 1234567893."
                    },
                    {
                      "group": {
                        "by": "payee",
                        "key": "1999999992",
                        "stated": true
                      },
                      "claims": 1,
                      "checks": [
                        {
                          "trace": "EFT-20261018-03",
                          "original_amount": 330,
                          "amount": 150,
                          "claims_paid": 170,
                          "provider_adjustments": 20
                        }
                      ],
                      "ties": true,
                      "isa_control": "000000002",
                      "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000002*0*T*:~GS*HP*SAMPLEPAYER*SAMPLEBILLER*20261019*1500*2*X*005010X221A1~ST*835*0001~BPR*I*150*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~TRN*1*EFT-20261018-03*1234567890~DTM*405*20261018~N1*PR*SAMPLE HEALTH PLAN*PI*99999~N1*PE*SAMPLE FAMILY MEDICINE*FI*123456789~LX*1~TS3*1999999992*11*20261231*1*200~CLP*PW-2102*1*200*170*30*12*PAYER-CN-32*11~CAS*PR*2*30~NM1*QC*1*PATIENT*SECOND****MI*W987654321~NM1*82*1*SAMPLE*SARA****XX*1999999992~SVC*HC:99214*200*170~DTM*472*20261002~PLB*123456789*20261231*WO:PAYER-CN-32 PW-2102*20~SE*16*0001~GE*1*2~IEA*1*000000002~",
                      "words": "The claims the payer grouped under provider 1999999992."
                    }
                  ],
                  "checks": [
                    {
                      "trace": "EFT-20261018-03",
                      "original_amount": 330,
                      "parts_total": 330,
                      "parts_add_up": true,
                      "original_ties": true,
                      "claims_kept": true,
                      "provider_adjustments": [
                        {
                          "code": "WO",
                          "reference": "PAYER-CN-32 PW-2102",
                          "amount": 20,
                          "provider": "123456789",
                          "group": "1999999992",
                          "assigned_by": "its reference (PLB03-2) names a claim in this group"
                        }
                      ]
                    }
                  ],
                  "balanced": true,
                  "how": "In each file, each check's BPR02 is recomputed as its claims' payments (CLP04) less its provider-level adjustments (PLB), BPR03 C, or D with the amount unsigned when that is negative. The LX numbers are renumbered, a TS3 whose loop is cut states its own claim count (TS304) and charges (TS305), and the trace (TRN) is kept, because the parts are one payment: reassociate the deposit with the original, not the parts. Every written file was read back (read835) and its checks tied against their own BPR02 (checkBalance), and each tied, and the parts were added up against each original check, and they add up.",
                  "notes": [],
                  "words": "Split into 2 files by payee; every file ties and the parts add up to the original."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SplitBody"
              },
              "example": {
                "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000094*0*T*:~\nGS*HP*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*94*X*005010X221A1~\nST*835*0001~\nBPR*I*330*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~\nTRN*1*EFT-20261018-03*1234567890~\nDTM*405*20261018~\nN1*PR*SAMPLE HEALTH PLAN*PI*99999~\nN1*PE*SAMPLE FAMILY MEDICINE*FI*123456789~\nLX*1~\nTS3*1234567893*11*20261231*1*240~\nCLP*PW-2101*1*240*180*60*12*PAYER-CN-31*11~\nCAS*PR*2*60~\nNM1*QC*1*PATIENT*SAMPLE****MI*W123456789~\nNM1*82*1*SAMPLE*SAM****XX*1234567893~\nSVC*HC:99213*240*180~\nDTM*472*20261001~\nLX*2~\nTS3*1999999992*11*20261231*1*200~\nCLP*PW-2102*1*200*170*30*12*PAYER-CN-32*11~\nCAS*PR*2*30~\nNM1*QC*1*PATIENT*SECOND****MI*W987654321~\nNM1*82*1*SAMPLE*SARA****XX*1999999992~\nSVC*HC:99214*200*170~\nDTM*472*20261002~\nPLB*123456789*20261231*WO:PAYER-CN-32 PW-2102*20~\nSE*24*0001~\nGE*1*94~\nIEA*1*000000094~",
                "by": "payee",
                "control_number": 1
              }
            }
          }
        }
      }
    },
    "/v1/remittances/recoupments": {
      "post": {
        "summary": "Match recoupments to the claims they take back",
        "description": "Send a set of 835s. Every provider-level adjustment is named, and each takeback is matched to the paid claim its reference names in the files you sent: by payer claim number, then patient control number, then amount when only one earlier payment at the same payer fits. Unmatched takebacks are listed, with what each payer took back and what the files show still carried forward. It says what was taken and from which claim, never whether it should have been.",
        "operationId": "postV1RemittancesRecoupments",
        "tags": [
          "Remittances, denials and appeals"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RecoupmentsAnswer"
                },
                "example": {
                  "adjustments": [
                    {
                      "check": {
                        "file": 1,
                        "check": 0,
                        "trace": "EFT-20261102-01",
                        "originator": "1234567890",
                        "amount": 50,
                        "date": "2026-11-02",
                        "method": "ACH",
                        "payer": "SAMPLE HEALTH PLAN",
                        "claims": 1
                      },
                      "provider_identifier": "1234567893",
                      "code": "WO",
                      "label": "Overpayment recovery",
                      "kind": "claim_recoupment",
                      "known": true,
                      "label_source": "paraphrase",
                      "amount": 100,
                      "effect": "withheld",
                      "reference": "PAYER-CN-1 PW-1001",
                      "takeback": true,
                      "match": {
                        "matched_by": "payer_claim_number",
                        "matched_on": "CLP07",
                        "token": "PAYER-CN-1",
                        "claim": {
                          "reference": "PW-1001",
                          "payer_claim_number": "PAYER-CN-1",
                          "status_code": "1",
                          "paid": 1260,
                          "billed": 2900,
                          "service_date": "2026-10-01",
                          "check": {
                            "file": 0,
                            "check": 0,
                            "trace": "EFT-20261018-01",
                            "originator": "1234567890",
                            "amount": 1260,
                            "date": "2026-10-18",
                            "method": "ACH",
                            "payer": "SAMPLE HEALTH PLAN",
                            "claims": 2
                          }
                        },
                        "reversed_in_files": null
                      },
                      "matched": true,
                      "ambiguous": false,
                      "words": "WO (overpayment recovery): $100.00 withheld from check EFT-20261102-01 of 11/02/2026 (file 2), matched to claim PW-1001 paid $1,260.00 on check EFT-20261018-01 of 10/18/2026 (file 1), by the payer claim number PAYER-CN-1 (CLP07) in its reference."
                    }
                  ],
                  "reversals": [],
                  "payers": [
                    {
                      "payer": "SAMPLE HEALTH PLAN",
                      "originator": "1234567890",
                      "checks": 2,
                      "adjustments": 1,
                      "taken_back": 100,
                      "matched_taken_back": 100,
                      "unmatched_taken_back": 0,
                      "returned": 0,
                      "reversed_on_claims": 0,
                      "other_withheld": 0,
                      "other_added": 0,
                      "forwarding_balance_net": 0,
                      "open_balance": 0,
                      "words": "SAMPLE HEALTH PLAN: $100.00 taken back from claims by provider-level adjustment, $100.00 of it matched to a claim in these files and $0.00 not."
                    }
                  ],
                  "counts": {
                    "checks": 2,
                    "adjustments": 1,
                    "takebacks": 1,
                    "matched": 1,
                    "unmatched": 0,
                    "reversals": 0
                  },
                  "words": "1 takeback by provider-level adjustment, 1 matched to a claim in these files; 0 claim reversals.",
                  "how": "Each provider-level adjustment is named by X12's list of PLB reason codes and matched to the one claim payment its reference (PLB03-2) names at the same payer: the payer claim control number (CLP07) first, then the patient control number (CLP01), then, for money recovered from a claim and only when nothing else matched, an amount equal to exactly one earlier payment. Several that fit equally name none. The open balance is the forwarding balances (FB, FR) these files hold, negated: positive is still to be withheld by the payer. Nothing here says whether a recoupment is right.",
                  "source": {
                    "list": "X12 provider adjustment reason codes (code list 967)",
                    "url": "https://x12.org/codes/provider-adjustment-reason-codes",
                    "read_on": "10/19/2026"
                  },
                  "reads": "Only the files sent in this call: nothing is stored, and no payer is asked."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RemittancesBody"
              },
              "example": {
                "remittances": [
                  "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000001*0*T*:~\nGS*HP*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*1*X*005010X221A1~\nST*835*0001~\nBPR*I*1260*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~\nTRN*1*EFT-20261018-01*1234567890~\nN1*PR*SAMPLE HEALTH PLAN*PI*99999~\nN1*PE*SAMPLE SLEEP DENTISTRY*XX*1234567893~\nLX*1~\nCLP*PW-1001*1*2900*1260*240*12*PAYER-CN-1*11~\nCAS*CO*45*1400~\nCAS*PR*2*240~\nNM1*QC*1*PATIENT*SAMPLE~\nDTM*472*20261001~\nSVC*HC:E0486*2900*1260~\nAMT*B6*1500~\nCLP*PW-1002*4*350*0*0*12*PAYER-CN-2*11~\nCAS*CO*50*350~\nNM1*QC*1*PATIENT*SECOND~\nDTM*472*20261002~\nSVC*HC:95800*350*0~\nLQ*HE*N115~\nSE*20*0001~\nGE*1*1~\nIEA*1*000000001~",
                  "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000095*0*T*:~\nGS*HP*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*95*X*005010X221A1~\nST*835*0001~\nBPR*I*50*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261102~\nTRN*1*EFT-20261102-01*1234567890~\nDTM*405*20261102~\nN1*PR*SAMPLE HEALTH PLAN*PI*99999~\nN1*PE*SAMPLE SLEEP DENTISTRY*XX*1234567893~\nLX*1~\nCLP*PW-1006*1*150*150*0*12*PAYER-CN-6*11~\nNM1*QC*1*PATIENT*FIFTH****MI*W777777777~\nSVC*HC:99213*150*150~\nDTM*472*20261020~\nPLB*1234567893*20261231*WO:PAYER-CN-1 PW-1001*100~\nSE*13*0001~\nGE*1*95~\nIEA*1*000000095~"
                ]
              }
            }
          }
        }
      }
    },
    "/v1/filing-limits": {
      "get": {
        "summary": "Published claim filing windows",
        "description": "The claim filing window each payer in Payerworks’ table publishes, read on its own pages on 09/10/2026, and Medicare fee-for-service’s from 42 CFR 424.44. Search with q, and add date_of_service to count the last day where the payer states one figure; a payer whose pages leave the window to its agreement says so, with no day. Your agreement with the payer governs over a published window, and nothing here is a payer’s answer about a claim.",
        "operationId": "getV1FilingLimits",
        "tags": [
          "Remittances, denials and appeals"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilingLimitList"
                },
                "example": {
                  "total": 1,
                  "data": [
                    {
                      "slug": "select-health",
                      "payer": "Select Health",
                      "applies_to": null,
                      "answer": "window",
                      "answer_words": "A published window",
                      "words": "1 year from the date of service.",
                      "window": {
                        "years": 1
                      },
                      "date_of_service": "2026-03-15",
                      "last_day": "2027-03-15",
                      "last_day_words": "File by 03/15/2027.",
                      "source": {
                        "url": null,
                        "read_on": "09/10/2026",
                        "words": "Read on the payer's own pages on 09/10/2026; the page's address was not kept."
                      }
                    }
                  ],
                  "note": "A payer's own agreement with you, or the plan's document, governs over a published window; a secondary claim's window may differ. Nothing here is a payer's answer about a claim."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Part of a payer’s name.",
            "example": "select"
          },
          {
            "name": "date_of_service",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "YYYY-MM-DD: count the last day where the payer states one figure.",
            "example": "2026-03-15"
          }
        ]
      }
    },
    "/v1/filing-limits/{payer}": {
      "get": {
        "summary": "One payer’s filing window",
        "description": "One payer by its slug from GET /v1/filing-limits, or by its name, with every plan line it publishes a window for; add date_of_service to count the last day. A payer with no window on record is 404 no_filing_limit_on_record, never a window.",
        "operationId": "getV1FilingLimitsByPayer",
        "tags": [
          "Remittances, denials and appeals"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FilingLimitAnswer"
                },
                "example": {
                  "payer": "Select Health",
                  "data": [
                    {
                      "slug": "select-health",
                      "payer": "Select Health",
                      "applies_to": null,
                      "answer": "window",
                      "answer_words": "A published window",
                      "words": "1 year from the date of service.",
                      "window": {
                        "years": 1
                      },
                      "date_of_service": "2026-03-15",
                      "last_day": "2027-03-15",
                      "last_day_words": "File by 03/15/2027.",
                      "source": {
                        "url": null,
                        "read_on": "09/10/2026",
                        "words": "Read on the payer's own pages on 09/10/2026; the page's address was not kept."
                      }
                    }
                  ],
                  "note": "A payer's own agreement with you, or the plan's document, governs over a published window; a secondary claim's window may differ. Nothing here is a payer's answer about a claim."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "payer",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "select-health"
          },
          {
            "name": "date_of_service",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "YYYY-MM-DD: count the last day where the payer states one figure.",
            "example": "2026-03-15"
          }
        ]
      }
    },
    "/v1/analytics/summary": {
      "post": {
        "summary": "Summarize your claims",
        "description": "Send the claims with the 999s, 277CAs and 835s you hold for them (the same body as /v1/claims/track), or your 835s alone. You get first-pass acceptance, the rejection reasons ranked, the denial rate by payer and by group code, the dollars refused, the days from sending a claim to its remittance by payer (the median and quartiles), reversals, and what the refusals come down to by reason. Every figure says how many it counts, and a rate or a median is read as a pattern only from five; below that the answer says there is not enough history. Send month (YYYY-MM) for one calendar month: the current month counts to today. It reads only your files: there is no benchmark, and nothing is stored.",
        "operationId": "postV1AnalyticsSummary",
        "tags": [
          "Analytics from your own files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AnalyticsAnswer"
                },
                "example": {
                  "unit": "claims",
                  "period": {
                    "month": "2026-10",
                    "from": "2026-10-01",
                    "through": "2026-10-19",
                    "month_to_date": true,
                    "basis": "Each claim is counted in the month of the day it was first sent (its 837's date), else its date of service; a claim payment, in the month of its date of service.",
                    "words": "The calendar month to date, through 10/19/2026."
                  },
                  "claims": {
                    "n": 6,
                    "sent": 6,
                    "outside_the_month": 0,
                    "undated_left_out": 0,
                    "states": {
                      "processed": 2,
                      "denied": 2,
                      "rejected": 1,
                      "accepted": 1
                    }
                  },
                  "first_pass": {
                    "n": 6,
                    "accepted": 5,
                    "rejected": 1,
                    "received_only": 0,
                    "not_acknowledged": 0,
                    "acceptance_rate": 0.833,
                    "enough_history": true,
                    "words": "Of the 6 claims whose first submission's first acknowledgment accepted or rejected it, 5 were accepted. 0 were only received at the first acknowledgment, and 0 have no acknowledgment of their first submission among the files sent: neither is counted in the rate."
                  },
                  "rejections": {
                    "claims_rejected": 1,
                    "reasons": [
                      {
                        "kind": "277CA",
                        "category": "A7",
                        "code": "164",
                        "entity": "IL",
                        "claims": 1,
                        "words": "The claim was rejected for invalid information: the subscriber's contract or member number is missing or invalid (STC A7:164:IL). Fix it on the subscriber in your claim data, then send the claim again."
                      }
                    ],
                    "words": "Each reason counts the claims it rejected at least once, on any submission; a claim rejected for two reasons is counted under both."
                  },
                  "denials": {
                    "unit": "claims",
                    "decided": 4,
                    "denied": 2,
                    "denial_rate": 0.5,
                    "enough_history": false,
                    "words": "Not enough history: 4 are fewer than the 5 this figure is read as a pattern from.",
                    "partly_refused": 0,
                    "dollars_refused": 5800,
                    "dollars_refused_cents": 580000,
                    "by_payer": [
                      {
                        "payer_id": "99999",
                        "payer_id_source": "claim",
                        "decided": 4,
                        "denied": 2,
                        "denial_rate": 0.5,
                        "dollars_refused": 5800,
                        "enough_history": false,
                        "words": "Not enough history: 4 are fewer than the 5 this figure is read as a pattern from."
                      }
                    ],
                    "by_group": {
                      "n": 2,
                      "words": "Of the 2 claims with money refused, how many had a refusing adjustment under each group code (one may have several).",
                      "groups": [
                        {
                          "group": "CO",
                          "name": "Contractual obligation",
                          "known": true,
                          "count": 2,
                          "share": 1,
                          "dollars_refused": 5800
                        }
                      ]
                    },
                    "reasons": [
                      {
                        "group": "CO",
                        "code": "16",
                        "label": "Claim lacks information or has a submission/billing error",
                        "known": true,
                        "label_source": "paraphrase",
                        "root_cause": "missing_information",
                        "count": 1,
                        "share": 0.5,
                        "dollars_refused": 2900
                      },
                      {
                        "group": "CO",
                        "code": "50",
                        "label": "Non-covered: not deemed a medical necessity",
                        "known": true,
                        "label_source": "paraphrase",
                        "root_cause": "medical_necessity",
                        "count": 1,
                        "share": 0.5,
                        "dollars_refused": 2900
                      }
                    ],
                    "root_cause": {
                      "n": 2,
                      "words": "Each of the 2 claims with money refused is placed by the reason that refused the most money on it; the dollars count every refusing adjustment by its own reason.",
                      "categories": [
                        {
                          "category": "medical_necessity",
                          "words": "The payer judged the service not medically necessary, unproven or experimental, or the records not to support its level, frequency or diagnosis.",
                          "count": 1,
                          "share": 0.5,
                          "dollars_refused": 2900
                        },
                        {
                          "category": "missing_information",
                          "words": "Information or an attachment the payer needed was missing, wrong or not documented.",
                          "count": 1,
                          "share": 0.5,
                          "dollars_refused": 2900
                        }
                      ],
                      "source": {
                        "list": "X12 claim adjustment reason codes",
                        "url": "https://x12.org/codes/claim-adjustment-reason-codes",
                        "read_on": "10/19/2026",
                        "grouping": "Payerworks' own grouping of each code by its published words; the codes' words are X12's and are not copied here."
                      }
                    }
                  },
                  "days_to_remittance": {
                    "words": "Days from the day the claim's latest submission was sent (its 837's date) to the first remittance that decided it. A claim with no submission date is not counted.",
                    "all_payers": {
                      "n": 4,
                      "median": 0,
                      "p25": 0,
                      "p75": 0,
                      "min": 0,
                      "max": 0,
                      "enough_history": false
                    },
                    "by_payer": [
                      {
                        "payer_id": "99999",
                        "payer_id_source": "claim",
                        "n": 4,
                        "median": 0,
                        "p25": 0,
                        "p75": 0,
                        "min": 0,
                        "max": 0,
                        "enough_history": false,
                        "words": "Not enough history: 4 are fewer than the 5 this figure is read as a pattern from."
                      }
                    ],
                    "not_counted": 0
                  },
                  "reversals": {
                    "claims_with_reversals": 0,
                    "reversals": 0,
                    "taken_back": 0,
                    "taken_back_of_payments_not_sent": 0,
                    "words": "A reversal takes back an earlier payment. Money taken back from a payment among the files sent is counted in taken_back; from a payment not among them, apart."
                  },
                  "files_not_tied": {
                    "items": 0,
                    "words": "Every acknowledgment and remittance item was tied to a claim sent."
                  },
                  "floor": {
                    "min_n": 5,
                    "words": "A rate or a median is read as a pattern only from 5. Every figure counts only the files sent: Payerworks holds no other history, and no figure here is a benchmark."
                  },
                  "reads": "Only the files sent in this call: nothing is stored, and no payer is asked."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AnalyticsBody"
              },
              "example": {
                "x12_837": "ISA*00*          *00*          *ZZ*SAMPLEBILLER   *ZZ*PWSANDBOX      *261019*1500*^*00501*000000001*0*T*:~GS*HC*SAMPLEBILLER*PWSANDBOX*20261019*1500*1*X*005010X222A1~ST*837*0001*005010X222A1~BHT*0019*00*PW-SBX-PAID*20261019*1500*CH~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Health Plan*****46*PWSANDBOX~HL*1**20*1~PRV*BI*PXC*1223S0112X~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W123456789~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19600214*F~NM1*PR*2*Sample Health Plan*****PI*99999~CLM*PW-SBX-PAID*2900***11:B:1*Y*A*Y*Y~HI*ABK:G4733~LX*1~SV1*HC:E0486:KX*2900*UN*1***1~DTP*472*D8*20261001~SE*24*0001~ST*837*0002*005010X222A1~BHT*0019*00*PW-SBX-DENY*20261019*1500*CH~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Health Plan*****46*PWSANDBOX~HL*1**20*1~PRV*BI*PXC*1223S0112X~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W12345DENY~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19600214*F~NM1*PR*2*Sample Health Plan*****PI*99999~CLM*PW-SBX-DENY*2900***11:B:1*Y*A*Y*Y~HI*ABK:G4733~LX*1~SV1*HC:E0486:KX*2900*UN*1***1~DTP*472*D8*20261001~SE*24*0002~ST*837*0003*005010X222A1~BHT*0019*00*PW-SBX-REJ*20261019*1500*CH~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Health Plan*****46*PWSANDBOX~HL*1**20*1~PRV*BI*PXC*1223S0112X~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W12345REJ~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19600214*F~NM1*PR*2*Sample Health Plan*****PI*99999~CLM*PW-SBX-REJ*2900***11:B:1*Y*A*Y*Y~HI*ABK:G4733~LX*1~SV1*HC:E0486:KX*2900*UN*1***1~DTP*472*D8*20261001~SE*24*0003~ST*837*0004*005010X222A1~BHT*0019*00*PW-SBX-D16*20261019*1500*CH~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Health Plan*****46*PWSANDBOX~HL*1**20*1~PRV*BI*PXC*1223S0112X~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W12345D16~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19600214*F~NM1*PR*2*Sample Health Plan*****PI*99999~CLM*PW-SBX-D16*2900***11:B:1*Y*A*Y*Y~HI*ABK:G4733~LX*1~SV1*HC:E0486:KX*2900*UN*1***1~DTP*472*D8*20261001~SE*24*0004~ST*837*0005*005010X222A1~BHT*0019*00*PW-SBX-PEND*20261019*1500*CH~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Health Plan*****46*PWSANDBOX~HL*1**20*1~PRV*BI*PXC*1223S0112X~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W12345PEND~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19600214*F~NM1*PR*2*Sample Health Plan*****PI*99999~CLM*PW-SBX-PEND*2900***11:B:1*Y*A*Y*Y~HI*ABK:G4733~LX*1~SV1*HC:E0486:KX*2900*UN*1***1~DTP*472*D8*20261001~SE*24*0005~ST*837*0006*005010X222A1~BHT*0019*00*PW-SBX-DED*20261019*1500*CH~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Health Plan*****46*PWSANDBOX~HL*1**20*1~PRV*BI*PXC*1223S0112X~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W12345DED~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19600214*F~NM1*PR*2*Sample Health Plan*****PI*99999~CLM*PW-SBX-DED*2900***11:B:1*Y*A*Y*Y~HI*ABK:G4733~LX*1~SV1*HC:E0486:KX*2900*UN*1***1~DTP*472*D8*20261001~SE*24*0006~GE*6*1~IEA*1*000000001~",
                "acknowledgments": [
                  "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000001*0*T*:~GS*FA*PWSANDBOX*SAMPLEBILLER*20261019*1500*1*X*005010X231A1~ST*999*0001*005010X231A1~AK1*HC*1*005010X222A1~AK2*837*0001*005010X222A1~IK5*A~AK2*837*0002*005010X222A1~IK5*A~AK2*837*0003*005010X222A1~IK5*A~AK2*837*0004*005010X222A1~IK5*A~AK2*837*0005*005010X222A1~IK5*A~AK2*837*0006*005010X222A1~IK5*A~AK9*A*6*6*6~SE*16*0001~GE*1*1~IEA*1*000000001~",
                  "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000002*0*T*:~GS*HN*PWSANDBOX*SAMPLEBILLER*20261019*1500*2*X*005010X214~ST*277*0001*005010X214~BHT*0085*08*PWSANDBOX2*20261019*1500*TH~HL*1**20*1~NM1*PR*2*PAYERWORKS SANDBOX PAYER*****PI*PWSANDBOX~TRN*1*PWSANDBOX2~DTP*050*D8*20261019~DTP*009*D8*20261019~HL*2*1*21*1~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~TRN*2*000000001~STC*A1:19:PR*20261019*WQ*17400~QTY*90*5~QTY*AA*1~AMT*YU*14500~AMT*YY*2900~HL*3*2*19*1~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~TRN*1*0~HL*4*3*PT~NM1*QC*1*Patient*Sample****MI*W123456789~TRN*2*PW-SBX-PAID~STC*A2:20*20261019*WQ*2900~REF*1K*PWS2292711347~DTP*472*D8*20261001~HL*5*3*PT~NM1*QC*1*Patient*Sample****MI*W12345DENY~TRN*2*PW-SBX-DENY~STC*A2:20*20261019*WQ*2900~REF*1K*PWS0752053091~DTP*472*D8*20261001~HL*6*3*PT~NM1*QC*1*Patient*Sample****MI*W12345REJ~TRN*2*PW-SBX-REJ~STC*A7:164:IL*20261019*U*2900~DTP*472*D8*20261001~HL*7*3*PT~NM1*QC*1*Patient*Sample****MI*W12345D16~TRN*2*PW-SBX-D16~STC*A2:20*20261019*WQ*2900~REF*1K*PWS1120978316~DTP*472*D8*20261001~HL*8*3*PT~NM1*QC*1*Patient*Sample****MI*W12345PEND~TRN*2*PW-SBX-PEND~STC*A2:20*20261019*WQ*2900~REF*1K*PWS0688343368~DTP*472*D8*20261001~HL*9*3*PT~NM1*QC*1*Patient*Sample****MI*W12345DED~TRN*2*PW-SBX-DED~STC*A2:20*20261019*WQ*2900~REF*1K*PWS0903628598~DTP*472*D8*20261001~SE*54*0001~GE*1*2~IEA*1*000000002~"
                ],
                "remittances": [
                  "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000003*0*T*:~GS*HP*PWSANDBOX*SAMPLEBILLER*20261019*1500*3*X*005010X221A1~ST*835*0001~BPR*I*1740*C*CHK************20261019~TRN*1*PWSANDBOX-000000003-1*1PWSANDBOX~DTM*405*20261019~N1*PR*PAYERWORKS SANDBOX PAYER*XV*PWSANDBOX~REF*2U*PWSANDBOX~N1*PE*Sample Sleep Dentistry*XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*TJ*123456789~LX*1~CLP*PW-SBX-PAID*1*2900*1392*348*CI*PWS2292711347*11*1~NM1*QC*1*Patient*Sample****MI*W123456789~SVC*HC:E0486:KX*2900*1392**1~DTM*472*20261001~CAS*CO*45*1160~CAS*PR*2*348~AMT*B6*1740~CLP*PW-SBX-DENY*1*2900*0*0*CI*PWS0752053091*11*1~NM1*QC*1*Patient*Sample****MI*W12345DENY~SVC*HC:E0486:KX*2900*0**1~DTM*472*20261001~CAS*CO*50*2900~AMT*B6*0~LQ*HE*N115~CLP*PW-SBX-D16*1*2900*0*0*CI*PWS1120978316*11*1~NM1*QC*1*Patient*Sample****MI*W12345D16~SVC*HC:E0486:KX*2900*0**1~DTM*472*20261001~CAS*CO*16*2900~AMT*B6*0~LQ*HE*M51~CLP*PW-SBX-DED*1*2900*348*1392*CI*PWS0903628598*11*1~NM1*QC*1*Patient*Sample****MI*W12345DED~SVC*HC:E0486:KX*2900*348**1~DTM*472*20261001~CAS*CO*45*1160~CAS*PR*1*1392~AMT*B6*1740~SE*40*0001~GE*1*3~IEA*1*000000003~"
                ],
                "month": "2026-10"
              }
            }
          }
        }
      }
    },
    "/v1/remittances/variance": {
      "post": {
        "summary": "Check payments against your fee schedule",
        "description": "Send your 835s and your fee schedule (payer_id, code, modifier, allowed, effective_from, effective_to). Each service line is judged against the rate in force on its date of service: the amount expected, the payer’s allowed amount, the difference, and the adjustment codes the payer gave. A line with no rate says so and is never read as zero, and a line the payer refused is a denial, not an underpayment. Add medicare (a state) to compare with Medicare’s October 2026 DMEPOS fee schedule where the API runs, labeled as Medicare’s rate and never as your contract. An underpaid line carries the facts for POST /v1/appeals/letter.",
        "operationId": "postV1RemittancesVariance",
        "tags": [
          "Analytics from your own files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VarianceAnswer"
                },
                "example": {
                  "lines": [
                    {
                      "source": "remittances[0]",
                      "claim_index": 0,
                      "reference": "PW-2003",
                      "payer_claim_number": "PAYER-CN-23",
                      "payer_id": "99999",
                      "line": 0,
                      "procedure_code": "99213",
                      "modifiers": [],
                      "service_date": "2026-10-01",
                      "units_paid": null,
                      "billed": 150,
                      "paid": 0,
                      "allowed": null,
                      "expected_allowed": null,
                      "variance": null,
                      "status": "refused",
                      "words": "The payer refused money on this line: it is a denial, not a pricing question. POST /v1/denials/next-step says what to do.",
                      "rate": null,
                      "adjustments": [
                        {
                          "group": "CO",
                          "code": "16",
                          "label": "Claim lacks information or has a submission/billing error",
                          "amount": 150
                        }
                      ]
                    },
                    {
                      "source": "remittances[0]",
                      "claim_index": 0,
                      "reference": "PW-2003",
                      "payer_claim_number": "PAYER-CN-23",
                      "payer_id": "99999",
                      "line": 1,
                      "procedure_code": "87880",
                      "modifiers": [],
                      "service_date": "2026-10-01",
                      "units_paid": null,
                      "billed": 65,
                      "paid": 0,
                      "allowed": null,
                      "expected_allowed": null,
                      "variance": null,
                      "status": "refused",
                      "words": "The payer refused money on this line: it is a denial, not a pricing question. POST /v1/denials/next-step says what to do.",
                      "rate": null,
                      "adjustments": [
                        {
                          "group": "CO",
                          "code": "16",
                          "label": "Claim lacks information or has a submission/billing error",
                          "amount": 65
                        }
                      ]
                    },
                    {
                      "source": "remittances[0]",
                      "claim_index": 1,
                      "reference": "PW-2004",
                      "payer_claim_number": "PAYER-CN-24",
                      "payer_id": "99999",
                      "line": 0,
                      "procedure_code": "99214",
                      "modifiers": [],
                      "service_date": "2026-10-02",
                      "units_paid": null,
                      "billed": 350,
                      "paid": 0,
                      "allowed": null,
                      "expected_allowed": null,
                      "variance": null,
                      "status": "refused",
                      "words": "The payer refused money on this line: it is a denial, not a pricing question. POST /v1/denials/next-step says what to do.",
                      "rate": null,
                      "adjustments": [
                        {
                          "group": "CO",
                          "code": "50",
                          "label": "Non-covered: not deemed a medical necessity",
                          "amount": 350
                        }
                      ]
                    },
                    {
                      "source": "remittances[0]",
                      "claim_index": 2,
                      "reference": "PW-2005",
                      "payer_claim_number": "PAYER-CN-25",
                      "payer_id": "99999",
                      "line": 0,
                      "procedure_code": "99213",
                      "modifiers": [],
                      "service_date": "2026-10-03",
                      "units_paid": null,
                      "billed": 240,
                      "paid": 80,
                      "allowed": 180,
                      "expected_allowed": 210,
                      "variance": 30,
                      "status": "underpaid",
                      "words": "The payer allowed less than your fee schedule's rate for this line.",
                      "rate": {
                        "row": 0,
                        "modifier": null,
                        "allowed": 210,
                        "per_unit": false,
                        "effective_from": "2026-01-01",
                        "effective_to": null,
                        "label": "your fee schedule"
                      },
                      "adjustments": [
                        {
                          "group": "CO",
                          "code": "45",
                          "label": "Charge exceeds the fee schedule / contracted amount",
                          "amount": 60
                        },
                        {
                          "group": "PR",
                          "code": "1",
                          "label": "Deductible amount",
                          "amount": 100
                        }
                      ],
                      "letter": {
                        "route": "POST /v1/appeals/letter",
                        "kind": "underpayment",
                        "facts": {
                          "payer_claim_number": "PAYER-CN-25",
                          "patient_control_number": "PW-2005",
                          "service_date": "2026-10-03",
                          "billed_amount": 240,
                          "remittance_date": "2026-10-18",
                          "payer_name": "SAMPLE HEALTH PLAN",
                          "procedure_code": "99213",
                          "allowed_amount": 180,
                          "paid_amount": 80,
                          "contracted_amount": 210,
                          "adjustment_codes": [
                            "CO-45",
                            "PR-1"
                          ]
                        },
                        "still_needed": [
                          "patient_name",
                          "member_id",
                          "provider_name",
                          "signer_name"
                        ]
                      }
                    },
                    {
                      "source": "remittances[0]",
                      "claim_index": 3,
                      "reference": "PW-2006",
                      "payer_claim_number": "PAYER-CN-26",
                      "payer_id": "99999",
                      "line": 0,
                      "procedure_code": "99213",
                      "modifiers": [],
                      "service_date": "2026-01-01",
                      "units_paid": null,
                      "billed": 150,
                      "paid": 0,
                      "allowed": null,
                      "expected_allowed": null,
                      "variance": null,
                      "status": "refused",
                      "words": "The payer refused money on this line: it is a denial, not a pricing question. POST /v1/denials/next-step says what to do.",
                      "rate": null,
                      "adjustments": [
                        {
                          "group": "CO",
                          "code": "29",
                          "label": "Time limit for filing has expired (timely filing)",
                          "amount": 150
                        }
                      ]
                    }
                  ],
                  "totals": {
                    "lines": 5,
                    "judged": 1,
                    "as_expected": 0,
                    "underpaid": 1,
                    "underpaid_dollars": 30,
                    "above_expected": 0,
                    "above_expected_dollars": 0,
                    "no_rate": 0,
                    "refused": 4,
                    "no_allowed_stated": 0,
                    "reversals_and_predeterminations_left_out": 0,
                    "repeats_left_out": 0,
                    "words": "1 of 5 lines were judged against your fee schedule; 1 was allowed below your rate, by $30.00 in all. A line with no rate is not judged and is never read as zero."
                  },
                  "by_payer": [
                    {
                      "payer_id": "99999",
                      "payer_id_source": "N1*PR",
                      "lines": 5,
                      "judged": 1,
                      "underpaid": 1,
                      "underpaid_dollars": 30,
                      "above_expected": 0,
                      "above_expected_dollars": 0,
                      "no_rate": 0
                    }
                  ],
                  "rule": "Each line is judged by the row in force on its date of service: a row with effective_from applies from that day, effective_to ends it, and of several rows the newest in force wins. A row naming a modifier the line carries is chosen over the row with none. The comparison is with the payer's allowed amount (AMT*B6), never its payment, so the patient's share does not read as an underpayment.",
                  "letters": "An underpaid line carries the facts POST /v1/appeals/letter (kind underpayment) can be sent, from the remittance and your own rate; add the patient, member ID, provider and signer.",
                  "reads": "Only the files and fee schedule sent in this call: nothing is stored, and no payer is asked."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VarianceBody"
              },
              "example": {
                "remittances": [
                  "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000093*0*T*:~\nGS*HP*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*93*X*005010X221A1~\nST*835*0001~\nBPR*I*80*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~\nTRN*1*EFT-20261018-02*1234567890~\nN1*PR*SAMPLE HEALTH PLAN*PI*99999~\nN1*PE*SAMPLE FAMILY MEDICINE*XX*1234567893~\nLX*1~\nCLP*PW-2003*1*215*0**12*PAYER-CN-23*11~\nNM1*QC*1*PATIENT*SAMPLE****MI*W123456789~\nDTM*232*20261001~\nSVC*HC:99213*150*0~\nDTM*472*20261001~\nCAS*CO*16*150~\nLQ*HE*N290~\nSVC*HC:87880*65*0~\nDTM*472*20261001~\nCAS*CO*16*65~\nLQ*HE*N290~\nCLP*PW-2004*1*350*0**MB*PAYER-CN-24*11~\nNM1*QC*1*PATIENT*SECOND****MI*1EG4TE5MK73~\nDTM*232*20261002~\nSVC*HC:99214*350*0~\nDTM*472*20261002~\nCAS*CO*50*350~\nLQ*HE*N115~\nCLP*PW-2005*1*240*80*100*12*PAYER-CN-25*11~\nNM1*QC*1*PATIENT*THIRD****MI*W555555555~\nDTM*232*20261003~\nSVC*HC:99213*240*80~\nDTM*472*20261003~\nCAS*CO*45*60~\nCAS*PR*1*100~\nAMT*B6*180~\nCLP*PW-2006*1*150*0**12*PAYER-CN-26*11~\nNM1*QC*1*PATIENT*FOURTH****MI*W666666666~\nDTM*232*20260101~\nSVC*HC:99213*150*0~\nDTM*472*20260101~\nCAS*CO*29*150~\nSE*39*0001~\nGE*1*93~\nIEA*1*000000093~"
                ],
                "fee_schedule": [
                  {
                    "payer_id": "99999",
                    "code": "99213",
                    "allowed": 210,
                    "effective_from": "2026-01-01"
                  },
                  {
                    "payer_id": "99999",
                    "code": "99214",
                    "allowed": 260,
                    "effective_from": "2026-01-01"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/v1/claims/risk": {
      "post": {
        "summary": "Check a claim against your past denials",
        "description": "Send a claim (as /v1/claims/validate takes it) and your past 835s. For each line, every past refusal of the same payer, procedure code and modifiers, with its reason and remark codes, on how many claims, out of how many decided claims with a line of that shape, and the fix. A reason is called a pattern only from two refused claims: a claim counts once however many of its lines were refused, and a remittance sent twice counts once. Send the past claims too and the diagnosis is compared. It reads only your files and never says how a payer will decide.",
        "operationId": "postV1ClaimsRisk",
        "tags": [
          "Analytics from your own files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RiskAnswer"
                },
                "example": {
                  "reference": "PW-2001",
                  "payer_ids_compared": [
                    "99999"
                  ],
                  "history": {
                    "claim_payments_read": 4,
                    "decisions_read": 4,
                    "for_this_payer": 4,
                    "not_decisions": 0,
                    "repeats_set_aside": 0,
                    "payer_ids_in_files": [
                      {
                        "payer_id": "99999",
                        "claim_payments": 4
                      }
                    ],
                    "diagnosis": "No past claims were sent, so diagnoses are not compared: an 835 does not carry them. Send past_claims to compare them too."
                  },
                  "lines": [
                    {
                      "index": 0,
                      "procedure_code": "99213",
                      "modifiers": [],
                      "diagnoses": [
                        "J029",
                        "R509"
                      ],
                      "verdict": "refused_before",
                      "words": "Refused before, not enough history for a pattern: this payer refused 99213 with no modifier on 2 of 3 decided claims with a line of this shape, and no reason came up on 2 claims or more.",
                      "same_shape": {
                        "refused": 2,
                        "paid": 1,
                        "other": 0,
                        "decided": 3,
                        "n": 3,
                        "refusals": [
                          {
                            "group": "CO",
                            "code": "16",
                            "label": "Claim lacks information or has a submission/billing error",
                            "known": true,
                            "label_source": "paraphrase",
                            "root_cause": "missing_information",
                            "root_cause_mapped": true,
                            "times": 1,
                            "of_decided": 3,
                            "refused": 150,
                            "remark_codes": [
                              {
                                "code": "N290",
                                "times": 1
                              }
                            ],
                            "pattern": false,
                            "fix": {
                              "key": "correct",
                              "label": "Correct the claim and send a replacement",
                              "words": "The payer says something on the claim was missing or wrong. Fix it and send a replacement claim (frequency code 7) that carries the payer's claim number. An appeal is not the route for this.",
                              "letter_kind": null
                            },
                            "latest": {
                              "remittance_date": "2026-10-18",
                              "reference": "PW-2003",
                              "payer_claim_number": "PAYER-CN-23",
                              "source": "remittances[0]"
                            }
                          },
                          {
                            "group": "CO",
                            "code": "29",
                            "label": "Time limit for filing has expired (timely filing)",
                            "known": true,
                            "label_source": "paraphrase",
                            "root_cause": "timely_filing",
                            "root_cause_mapped": true,
                            "times": 1,
                            "of_decided": 3,
                            "refused": 150,
                            "remark_codes": [],
                            "pattern": false,
                            "fix": {
                              "key": "timely",
                              "label": "Appeal with proof of timely filing",
                              "words": "The payer says the claim was filed after its limit. If you filed in time, appeal with your proof of filing, such as the acceptance acknowledgment (999 or 277CA) for the original claim and its date. A replacement claim cannot cure a filing limit.",
                              "letter_kind": "timely_filing"
                            },
                            "latest": {
                              "remittance_date": "2026-10-18",
                              "reference": "PW-2006",
                              "payer_claim_number": "PAYER-CN-26",
                              "source": "remittances[0]"
                            }
                          }
                        ]
                      },
                      "same_diagnosis": null,
                      "same_code_other_modifiers": []
                    },
                    {
                      "index": 1,
                      "procedure_code": "87880",
                      "modifiers": [],
                      "diagnoses": [
                        "J029"
                      ],
                      "verdict": "refused_before",
                      "words": "Refused before, not enough history for a pattern: this payer refused 87880 with no modifier on 1 of 1 decided claim with a line of this shape, and no reason came up on 2 claims or more.",
                      "same_shape": {
                        "refused": 1,
                        "paid": 0,
                        "other": 0,
                        "decided": 1,
                        "n": 1,
                        "refusals": [
                          {
                            "group": "CO",
                            "code": "16",
                            "label": "Claim lacks information or has a submission/billing error",
                            "known": true,
                            "label_source": "paraphrase",
                            "root_cause": "missing_information",
                            "root_cause_mapped": true,
                            "times": 1,
                            "of_decided": 1,
                            "refused": 65,
                            "remark_codes": [
                              {
                                "code": "N290",
                                "times": 1
                              }
                            ],
                            "pattern": false,
                            "fix": {
                              "key": "correct",
                              "label": "Correct the claim and send a replacement",
                              "words": "The payer says something on the claim was missing or wrong. Fix it and send a replacement claim (frequency code 7) that carries the payer's claim number. An appeal is not the route for this.",
                              "letter_kind": null
                            },
                            "latest": {
                              "remittance_date": "2026-10-18",
                              "reference": "PW-2003",
                              "payer_claim_number": "PAYER-CN-23",
                              "source": "remittances[0]"
                            }
                          }
                        ]
                      },
                      "same_diagnosis": null,
                      "same_code_other_modifiers": []
                    }
                  ],
                  "floor": {
                    "pattern_min_denials": 2,
                    "words": "A reason is called a pattern only when this payer refused a line of the same shape under it on at least 2 claims in the files sent, each claim counted once however many of its lines it refused, and a remittance sent twice counted once. Every count is of your own files only: Payerworks holds no other history and compares with no one."
                  },
                  "root_cause_source": {
                    "list": "X12 claim adjustment reason codes",
                    "url": "https://x12.org/codes/claim-adjustment-reason-codes",
                    "read_on": "10/19/2026",
                    "grouping": "Payerworks' own grouping of each code by its published words; the codes' words are X12's and are not copied here."
                  },
                  "reads": "Only the files sent in this call: nothing is stored, no payer is asked, and nothing here says how a payer will decide."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RiskBody"
              },
              "example": {
                "claim": {
                  "tradingPartnerServiceId": "99999",
                  "submitter": {
                    "organizationName": "Sample Family Medicine",
                    "contactInformation": {
                      "name": "Billing Office",
                      "phoneNumber": "5555550100"
                    }
                  },
                  "receiver": {
                    "organizationName": "Sample Health Plan"
                  },
                  "billing": {
                    "npi": "1234567893",
                    "employerId": "123456789",
                    "organizationName": "Sample Family Medicine",
                    "taxonomyCode": "207Q00000X",
                    "address": {
                      "address1": "100 Main Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "627011234"
                    }
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "paymentResponsibilityLevelCode": "P",
                    "firstName": "Sample",
                    "lastName": "Patient",
                    "gender": "F",
                    "dateOfBirth": "19800214",
                    "address": {
                      "address1": "9 Elm Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "62701"
                    }
                  },
                  "claimInformation": {
                    "claimFilingCode": "CI",
                    "patientControlNumber": "PW-2001",
                    "claimChargeAmount": "215.00",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "1",
                    "signatureIndicator": "Y",
                    "planParticipationCode": "A",
                    "benefitsAssignmentCertificationIndicator": "Y",
                    "releaseInformationCode": "Y",
                    "healthCareCodeInformation": [
                      {
                        "diagnosisTypeCode": "ABK",
                        "diagnosisCode": "J029"
                      },
                      {
                        "diagnosisTypeCode": "ABF",
                        "diagnosisCode": "R509"
                      }
                    ],
                    "serviceLines": [
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "99213",
                          "lineItemChargeAmount": "150.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1",
                              "2"
                            ]
                          }
                        }
                      },
                      {
                        "serviceDate": "20261001",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "87880",
                          "lineItemChargeAmount": "65.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1"
                            ]
                          }
                        }
                      }
                    ]
                  }
                },
                "remittances": [
                  "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000093*0*T*:~\nGS*HP*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*93*X*005010X221A1~\nST*835*0001~\nBPR*I*80*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~\nTRN*1*EFT-20261018-02*1234567890~\nN1*PR*SAMPLE HEALTH PLAN*PI*99999~\nN1*PE*SAMPLE FAMILY MEDICINE*XX*1234567893~\nLX*1~\nCLP*PW-2003*1*215*0**12*PAYER-CN-23*11~\nNM1*QC*1*PATIENT*SAMPLE****MI*W123456789~\nDTM*232*20261001~\nSVC*HC:99213*150*0~\nDTM*472*20261001~\nCAS*CO*16*150~\nLQ*HE*N290~\nSVC*HC:87880*65*0~\nDTM*472*20261001~\nCAS*CO*16*65~\nLQ*HE*N290~\nCLP*PW-2004*1*350*0**MB*PAYER-CN-24*11~\nNM1*QC*1*PATIENT*SECOND****MI*1EG4TE5MK73~\nDTM*232*20261002~\nSVC*HC:99214*350*0~\nDTM*472*20261002~\nCAS*CO*50*350~\nLQ*HE*N115~\nCLP*PW-2005*1*240*80*100*12*PAYER-CN-25*11~\nNM1*QC*1*PATIENT*THIRD****MI*W555555555~\nDTM*232*20261003~\nSVC*HC:99213*240*80~\nDTM*472*20261003~\nCAS*CO*45*60~\nCAS*PR*1*100~\nAMT*B6*180~\nCLP*PW-2006*1*150*0**12*PAYER-CN-26*11~\nNM1*QC*1*PATIENT*FOURTH****MI*W666666666~\nDTM*232*20260101~\nSVC*HC:99213*150*0~\nDTM*472*20260101~\nCAS*CO*29*150~\nSE*39*0001~\nGE*1*93~\nIEA*1*000000093~"
                ]
              }
            }
          }
        }
      }
    },
    "/v1/denials/prioritize": {
      "post": {
        "summary": "Rank your open denials",
        "description": "Send the 835s holding your open denials, and if you have them, your appeal outcomes (payer_id, carc, outcome). Denials due in 14 days or fewer come first, soonest first; then each by its dollars, or its dollars times your own overturn rate for that payer and code once you have five decided appeals there. A passed deadline comes last. Without outcomes it ranks by deadline and dollars, and says so. No rate here is anyone’s but yours.",
        "operationId": "postV1DenialsPrioritize",
        "tags": [
          "Analytics from your own files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrioritizeAnswer"
                },
                "example": {
                  "today": "2026-10-19",
                  "denials": [
                    {
                      "source": "remittances[0]",
                      "index": 1,
                      "reference": "PW-2004",
                      "payer_claim_number": "PAYER-CN-24",
                      "payer_id": "99999",
                      "payer_name": "SAMPLE HEALTH PLAN",
                      "service_date": "2026-10-02",
                      "remittance_date": "2026-10-18",
                      "verdict": "denied",
                      "lead": {
                        "group": "CO",
                        "code": "50",
                        "label": "Non-covered: not deemed a medical necessity",
                        "known": true,
                        "root_cause": "medical_necessity"
                      },
                      "at_stake": 350,
                      "at_stake_cents": 35000,
                      "deadline": {
                        "kind": "redetermination",
                        "date": "2027-02-20",
                        "date_us": "02/20/2027",
                        "days_left": 124,
                        "source": {
                          "kind": "regulation",
                          "citation": "42 CFR 405.942(a)",
                          "url": "https://www.ecfr.gov/current/title-42/section-405.942",
                          "verified_on": "10/19/2026",
                          "presumed_receipt_citation": "42 CFR 405.942(a)(1)"
                        },
                        "passed": false
                      },
                      "tier": "open",
                      "overturn": null,
                      "expected_recovery": null,
                      "expected_recovery_cents": null,
                      "ranked_by": "dollars",
                      "next_step": {
                        "key": "necessity",
                        "action": "appeal",
                        "label": "Appeal with the clinical records",
                        "words": "The payer says the service was not medically necessary. Appeal with the clinical records that support it, the ones the payer's coverage policy asks for.",
                        "is_letter": true,
                        "letter_kind": "medical_necessity",
                        "letter_facts": {
                          "payer_name": "SAMPLE HEALTH PLAN",
                          "patient_name": "SECOND PATIENT",
                          "payer_claim_number": "PAYER-CN-24",
                          "patient_control_number": "PW-2004",
                          "service_date": "2026-10-02",
                          "billed_amount": 350,
                          "remittance_date": "2026-10-18",
                          "adjustment_codes": [
                            "CO-50"
                          ],
                          "remark_codes": [
                            "N115"
                          ],
                          "claim_filing_indicator": "MB"
                        },
                        "letter_facts_missing": [
                          "member_id",
                          "provider_name",
                          "signer_name",
                          "clinical_summary",
                          "enclosures"
                        ]
                      },
                      "rank": 1
                    },
                    {
                      "source": "remittances[0]",
                      "index": 0,
                      "reference": "PW-2003",
                      "payer_claim_number": "PAYER-CN-23",
                      "payer_id": "99999",
                      "payer_name": "SAMPLE HEALTH PLAN",
                      "service_date": "2026-10-01",
                      "remittance_date": "2026-10-18",
                      "verdict": "denied",
                      "lead": {
                        "group": "CO",
                        "code": "16",
                        "label": "Claim lacks information or has a submission/billing error",
                        "known": true,
                        "root_cause": "missing_information"
                      },
                      "at_stake": 215,
                      "at_stake_cents": 21500,
                      "deadline": {
                        "kind": "timely_filing",
                        "date": "2027-03-30",
                        "date_us": "03/30/2027",
                        "days_left": 162,
                        "source": {
                          "kind": "caller",
                          "field": "filing_limit_days",
                          "value": 180
                        },
                        "passed": false
                      },
                      "tier": "open",
                      "overturn": null,
                      "expected_recovery": null,
                      "expected_recovery_cents": null,
                      "ranked_by": "dollars",
                      "next_step": {
                        "key": "correct",
                        "action": "correct",
                        "label": "Correct the claim and send a replacement",
                        "words": "The payer says something on the claim was missing or wrong. Fix it and send a replacement claim (frequency code 7) that carries the payer's claim number. An appeal is not the route for this.",
                        "is_letter": false,
                        "letter_kind": null
                      },
                      "rank": 2
                    },
                    {
                      "source": "remittances[0]",
                      "index": 3,
                      "reference": "PW-2006",
                      "payer_claim_number": "PAYER-CN-26",
                      "payer_id": "99999",
                      "payer_name": "SAMPLE HEALTH PLAN",
                      "service_date": "2026-01-01",
                      "remittance_date": "2026-10-18",
                      "verdict": "denied",
                      "lead": {
                        "group": "CO",
                        "code": "29",
                        "label": "Time limit for filing has expired (timely filing)",
                        "known": true,
                        "root_cause": "timely_filing"
                      },
                      "at_stake": 150,
                      "at_stake_cents": 15000,
                      "deadline": {
                        "kind": "appeal",
                        "date": "2027-04-16",
                        "date_us": "04/16/2027",
                        "days_left": 179,
                        "source": {
                          "kind": "caller",
                          "field": "appeal_limit_days",
                          "value": 180
                        },
                        "passed": false
                      },
                      "tier": "open",
                      "overturn": null,
                      "expected_recovery": null,
                      "expected_recovery_cents": null,
                      "ranked_by": "dollars",
                      "next_step": {
                        "key": "timely",
                        "action": "timely",
                        "label": "Appeal with proof of timely filing",
                        "words": "The payer says the claim was filed after its limit. If you filed in time, appeal with your proof of filing, such as the acceptance acknowledgment (999 or 277CA) for the original claim and its date. A replacement claim cannot cure a filing limit.",
                        "is_letter": true,
                        "letter_kind": "timely_filing",
                        "filing": {
                          "filed_on": null,
                          "days_after_service": null,
                          "limit_days": 180,
                          "within_limit": null
                        },
                        "letter_facts": {
                          "payer_name": "SAMPLE HEALTH PLAN",
                          "patient_name": "FOURTH PATIENT",
                          "payer_claim_number": "PAYER-CN-26",
                          "patient_control_number": "PW-2006",
                          "service_date": "2026-01-01",
                          "billed_amount": 150,
                          "remittance_date": "2026-10-18",
                          "adjustment_codes": [
                            "CO-29"
                          ],
                          "claim_filing_indicator": "12"
                        },
                        "letter_facts_missing": [
                          "member_id",
                          "provider_name",
                          "signer_name",
                          "original_filing_date"
                        ]
                      },
                      "rank": 3
                    }
                  ],
                  "counts": {
                    "open": 3,
                    "due_soon": 0,
                    "passed": 0,
                    "no_deadline_known": 0,
                    "closed_left_out": 0,
                    "repeats_left_out": 0,
                    "ranked_by_expected_recovery": 0,
                    "ranked_by_dollars": 3,
                    "outcomes_read": 0
                  },
                  "ranking": "Deadline first: a denial due in 14 days or fewer comes first, soonest first, and one whose deadline has passed comes last. Then by dollars at stake only: no appeal outcomes were sent, so no overturn rate is used. Send outcomes ({ payer_id, carc, outcome }) to rank by your own record.",
                  "deadline_rule": "Every deadline cites its source, as POST /v1/denials/next-step does.",
                  "floor": {
                    "overturn_min_decided": 5,
                    "levels": [
                      "payer_and_code",
                      "payer_and_root_cause",
                      "payer"
                    ]
                  },
                  "letters": "POST /v1/appeals/letter writes the letter each next step names (letter_kind).",
                  "reads": "Only the files and outcomes sent in this call: nothing is stored, no payer is asked, and no rate here is anyone's but yours."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrioritizeBody"
              },
              "example": {
                "remittances": [
                  "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000093*0*T*:~\nGS*HP*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*93*X*005010X221A1~\nST*835*0001~\nBPR*I*80*C*ACH*CCP*01*999999999*DA*123456*1234567890**01*999999999*DA*654321*20261018~\nTRN*1*EFT-20261018-02*1234567890~\nN1*PR*SAMPLE HEALTH PLAN*PI*99999~\nN1*PE*SAMPLE FAMILY MEDICINE*XX*1234567893~\nLX*1~\nCLP*PW-2003*1*215*0**12*PAYER-CN-23*11~\nNM1*QC*1*PATIENT*SAMPLE****MI*W123456789~\nDTM*232*20261001~\nSVC*HC:99213*150*0~\nDTM*472*20261001~\nCAS*CO*16*150~\nLQ*HE*N290~\nSVC*HC:87880*65*0~\nDTM*472*20261001~\nCAS*CO*16*65~\nLQ*HE*N290~\nCLP*PW-2004*1*350*0**MB*PAYER-CN-24*11~\nNM1*QC*1*PATIENT*SECOND****MI*1EG4TE5MK73~\nDTM*232*20261002~\nSVC*HC:99214*350*0~\nDTM*472*20261002~\nCAS*CO*50*350~\nLQ*HE*N115~\nCLP*PW-2005*1*240*80*100*12*PAYER-CN-25*11~\nNM1*QC*1*PATIENT*THIRD****MI*W555555555~\nDTM*232*20261003~\nSVC*HC:99213*240*80~\nDTM*472*20261003~\nCAS*CO*45*60~\nCAS*PR*1*100~\nAMT*B6*180~\nCLP*PW-2006*1*150*0**12*PAYER-CN-26*11~\nNM1*QC*1*PATIENT*FOURTH****MI*W666666666~\nDTM*232*20260101~\nSVC*HC:99213*150*0~\nDTM*472*20260101~\nCAS*CO*29*150~\nSE*39*0001~\nGE*1*93~\nIEA*1*000000093~"
                ],
                "facts": {
                  "filing_limit_days": 180,
                  "appeal_limit_days": 180
                },
                "today": "2026-10-19"
              }
            }
          }
        }
      }
    },
    "/v1/authorizations/278": {
      "post": {
        "summary": "Write a 278",
        "description": "Up to one hundred prior authorization or referral requests, from JSON (the kind of review, the service type, each procedure code with its units and dates, the requester, the servicing provider, the patient and the diagnoses), written as one 005010X217 interchange for you to send on your own connection, or built in the shape of the Da Vinci PAS request bundle with output set to fhir. Each request is checked field by field first, and nothing is written if any would be refused. A test key writes test files only. Whether a payer takes a 278 at all is the payer’s choice: many take prior authorizations only on a portal, by fax or by phone.",
        "operationId": "postV1Authorizations278",
        "tags": [
          "Prior authorization"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Authorization278Answer"
                },
                "example": {
                  "version": "005010X217",
                  "usage": "T",
                  "x12": "ISA*00*          *00*          *ZZ*SAMPLEBILLER   *ZZ*99999          *261019*1500*^*00501*000000031*0*T*:~GS*HI*SAMPLEBILLER*99999*20261019*1500*31*X*005010X217~ST*278*0001*005010X217~BHT*0007*13*AUTH-0001*20261019*1500~HL*1**20*1~NM1*X3*2*99999*****PI*99999~HL*2*1*21*1~NM1*1P*2*Sample Family Medicine*****XX*1234567893~HL*3*2*22*1~NM1*IL*1*PATIENT*SAMPLE****MI*W123456789~DMG*D8*19800214*F~HL*4*3*EV*1~TRN*1*AUTH-0001*9SAMPLEBIL~UM*HS*I*12*12:B~HI*ABK:M1711~HL*5*4*SS*0~TRN*1*852346626*9SAMPLEBIL~DTP*472*D8*20261102~SV1*HC:L1833**UN*4~SE*18*0001~GE*1*31~IEA*1*000000031~",
                  "interchange_control_number": "000000031",
                  "group_control_number": "31",
                  "transaction_set_control_numbers": [
                    "0001"
                  ],
                  "segments": 22,
                  "requests": [
                    {
                      "index": 0,
                      "trace": "AUTH-0001",
                      "transaction_set_control_number": "0001",
                      "warnings": []
                    }
                  ],
                  "payer_choice": "Payerworks sends nothing. Whether a payer accepts an X12 278 or a FHIR prior authorization request at all is the payer's choice: many take them only on a portal, by fax or by phone, and its companion guide says what it requires.",
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Authorization278Body"
              },
              "example": {
                "sender_id": "SAMPLEBILLER",
                "receiver_id": "99999",
                "control_number": 31,
                "request": {
                  "controlNumber": "AUTH-0001",
                  "tradingPartnerServiceId": "99999",
                  "requester": {
                    "organizationName": "Sample Family Medicine",
                    "npi": "1234567893"
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "firstName": "SAMPLE",
                    "lastName": "PATIENT",
                    "dateOfBirth": "1980-02-14",
                    "gender": "F"
                  },
                  "review": {
                    "serviceTypeCode": "12",
                    "placeOfServiceCode": "12",
                    "diagnoses": [
                      "M17.11"
                    ]
                  },
                  "services": [
                    {
                      "procedureCode": "L1833",
                      "units": 4,
                      "serviceDate": "2026-11-02"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/authorizations/explain": {
      "post": {
        "summary": "Explain a 278 response",
        "description": "A payer’s 278 response, as X12, as Payerworks’ own JSON read of one, or as a PAS response, said per review: approved, approved in part, approved with changes, not approved, pended, waiting on more information, canceled, no review needed, or not reviewed at all, with the reason in words, the certification and reference numbers, the approved dates and units against what you asked, the claim field the number goes in, and the next step. A request the payer never reviewed is never called a denial.",
        "operationId": "postV1AuthorizationsExplain",
        "tags": [
          "Prior authorization"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationExplainAnswer"
                },
                "example": {
                  "kind": "278",
                  "source": "x12",
                  "envelope": {
                    "sender_qualifier": "ZZ",
                    "sender": "PWSANDBOX",
                    "receiver_qualifier": "ZZ",
                    "receiver": "SUBMITTER",
                    "date": "261019",
                    "time": "1500",
                    "control_number": "000000002",
                    "usage": "T",
                    "functional_group": "HI",
                    "version": "005010X217",
                    "transaction_sets": {
                      "278": 1
                    },
                    "segments": 28
                  },
                  "reviews": [
                    {
                      "index": 0,
                      "trace": "AUTH-0001",
                      "purpose": "response",
                      "payer": {
                        "name": "PAYERWORKS SANDBOX PAYER",
                        "id": "PWSANDBOX",
                        "entity": "X3"
                      },
                      "requester": {
                        "name": "Sample Family Medicine",
                        "id_qualifier": "XX",
                        "id": "1234567893",
                        "entity": "1P"
                      },
                      "subscriber": {
                        "name": "SAMPLE PATIENT",
                        "member_id": "W12345PARTIAL",
                        "birth_date": "1980-02-14",
                        "gender": "F"
                      },
                      "dependent": null,
                      "request_category": {
                        "code": "HS",
                        "words": "health services review: outpatient services",
                        "known": true
                      },
                      "service_type": {
                        "code": "12",
                        "words": "durable medical equipment, purchased",
                        "known": true,
                        "verified_in_005010": true,
                        "later_words": ""
                      },
                      "verdict": "partially_approved",
                      "words": "Approved in part, certification number PWA033425780: fewer units than asked on one service.",
                      "next_step": "Bill only what was approved, with PWA033425780 as priorAuthorizationNumber (2300 REF*G1). For what was not, ask the payer to reconsider (a 278 with certificationType N and the administrative reference number, where the payer takes one) or follow the appeal its notice describes. Keep the payer's reference PWR951115437 for any call or follow-up.",
                      "certification_number": "PWA033425780",
                      "administrative_reference_number": "PWR951115437",
                      "previous_authorization_number": "",
                      "decision": {
                        "code": "A2",
                        "words": "certified in part",
                        "verdict": "partially_approved",
                        "known": true,
                        "certification_number": "PWA033425780",
                        "second_surgical_opinion": ""
                      },
                      "reason": {
                        "code": "10",
                        "words": "the delivery pattern asked (units, days, visits, weeks, hours or months)",
                        "kind": "denial",
                        "known": true
                      },
                      "rejections": [],
                      "dates": {
                        "event": {
                          "begin": "2026-11-02",
                          "end": "2027-01-30"
                        },
                        "admission": "",
                        "certification": {
                          "issued": "2026-10-19",
                          "effective": {
                            "begin": "2026-11-02",
                            "end": "2027-01-30"
                          },
                          "expires": "2027-01-30"
                        }
                      },
                      "services": [
                        {
                          "index": 0,
                          "trace": "852346626",
                          "procedure": {
                            "qualifier": "HC",
                            "code": "L1833",
                            "modifiers": []
                          },
                          "verdict": "partially_approved",
                          "decision": {
                            "code": "A2",
                            "words": "certified in part",
                            "verdict": "partially_approved",
                            "known": true,
                            "certification_number": "PWA033425780"
                          },
                          "reason": {
                            "code": "10",
                            "words": "the delivery pattern asked (units, days, visits, weeks, hours or months)",
                            "known": true
                          },
                          "units": 2,
                          "units_asked": 4,
                          "units_cut": 2,
                          "dates": {
                            "begin": "2026-11-02",
                            "end": "2026-11-02"
                          },
                          "dates_asked": {
                            "begin": "2026-11-02",
                            "end": "2026-11-02"
                          },
                          "dates_changed": false,
                          "quantities": [],
                          "administrative_reference_number": "",
                          "messages": []
                        }
                      ],
                      "quantities": [],
                      "messages": [],
                      "claim": {
                        "prior_authorization_number": "PWA033425780",
                        "field": "claimInformation.claimSupplementalInformation.priorAuthorizationNumber",
                        "segment": "2300 REF*G1",
                        "route": "POST /v1/claims/837p"
                      },
                      "notes": [
                        "From 01/01/2026, CMS-0057-F (89 FR 8758, 02/08/2024) requires Medicare Advantage organizations, Medicaid and CHIP programs and plans, and QHP issuers on the federal exchanges to give a specific reason for a denied prior authorization (drugs are outside the rule)."
                      ],
                      "label_source": "paraphrase"
                    }
                  ],
                  "label_source": "paraphrase"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "include",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "answer"
              ]
            },
            "description": "answer: add the 278 read to JSON."
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthorizationExplainBody"
              },
              "example": {
                "x12": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SUBMITTER      *261019*1500*^*00501*000000002*0*T*:~GS*HI*PWSANDBOX*SUBMITTER*20261019*1500*2*X*005010X217~ST*278*0001*005010X217~BHT*0007*11*AUTH-0001*20261019*1500*18~HL*1**20*1~NM1*X3*2*PAYERWORKS SANDBOX PAYER*****PI*PWSANDBOX~HL*2*1*21*1~NM1*1P*2*Sample Family Medicine*****XX*1234567893~HL*3*2*22*1~NM1*IL*1*PATIENT*SAMPLE****MI*W12345PARTIAL~DMG*D8*19800214*F~HL*4*3*EV*1~TRN*2*AUTH-0001*9SUBMITTER~UM*HS*I*12*12:B~HCR*A2*PWA033425780*10~REF*NT*PWR951115437~DTP*AAH*RD8*20261102-20270130~DTP*102*D8*20261019~DTP*007*RD8*20261102-20270130~DTP*036*D8*20270130~HI*ABK:M1711~HL*5*4*SS*0~TRN*2*852346626*9SUBMITTER~HCR*A2*PWA033425780*10~DTP*472*D8*20261102~SV1*HC:L1833**UN*2~SE*25*0001~GE*1*2~IEA*1*000000002~",
                "asked": {
                  "controlNumber": "AUTH-0001",
                  "tradingPartnerServiceId": "PWSANDBOX",
                  "requester": {
                    "organizationName": "Sample Family Medicine",
                    "npi": "1234567893"
                  },
                  "subscriber": {
                    "memberId": "W12345PARTIAL",
                    "firstName": "SAMPLE",
                    "lastName": "PATIENT",
                    "dateOfBirth": "1980-02-14",
                    "gender": "F"
                  },
                  "review": {
                    "serviceTypeCode": "12",
                    "placeOfServiceCode": "12",
                    "diagnoses": [
                      "M17.11"
                    ]
                  },
                  "services": [
                    {
                      "procedureCode": "L1833",
                      "units": 4,
                      "serviceDate": "2026-11-02"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/sandbox/authorizations": {
      "post": {
        "summary": "Run the prior authorization sandbox",
        "description": "The round trip on invented data: your requests written as a 278 and the sandbox payer’s 278 response, chosen by how each member ID ends, read back and explained in the same call. Any key may call it, every file is a test file, and nothing reaches a payer.",
        "operationId": "postV1SandboxAuthorizations",
        "tags": [
          "Prior authorization"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationSandboxAnswer"
                },
                "example": {
                  "usage": "T",
                  "transmitted": false,
                  "control": {
                    "interchange_request": "000000001",
                    "interchange_response": "000000002",
                    "sets": [
                      "0001"
                    ]
                  },
                  "files": {
                    "authorization_request_278": "ISA*00*          *00*          *ZZ*SUBMITTER      *ZZ*PWSANDBOX      *261019*1500*^*00501*000000001*0*T*:~GS*HI*SUBMITTER*PWSANDBOX*20261019*1500*1*X*005010X217~ST*278*0001*005010X217~BHT*0007*13*AUTH-0001*20261019*1500~HL*1**20*1~NM1*X3*2*PWSANDBOX*****PI*PWSANDBOX~HL*2*1*21*1~NM1*1P*2*Sample Family Medicine*****XX*1234567893~HL*3*2*22*1~NM1*IL*1*PATIENT*SAMPLE****MI*W12345PARTIAL~DMG*D8*19800214*F~HL*4*3*EV*1~TRN*1*AUTH-0001*9SUBMITTER~UM*HS*I*12*12:B~HI*ABK:M1711~HL*5*4*SS*0~TRN*1*852346626*9SUBMITTER~DTP*472*D8*20261102~SV1*HC:L1833**UN*4~SE*18*0001~GE*1*1~IEA*1*000000001~",
                    "authorization_response_278": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SUBMITTER      *261019*1500*^*00501*000000002*0*T*:~GS*HI*PWSANDBOX*SUBMITTER*20261019*1500*2*X*005010X217~ST*278*0001*005010X217~BHT*0007*11*AUTH-0001*20261019*1500*18~HL*1**20*1~NM1*X3*2*PAYERWORKS SANDBOX PAYER*****PI*PWSANDBOX~HL*2*1*21*1~NM1*1P*2*Sample Family Medicine*****XX*1234567893~HL*3*2*22*1~NM1*IL*1*PATIENT*SAMPLE****MI*W12345PARTIAL~DMG*D8*19800214*F~HL*4*3*EV*1~TRN*2*AUTH-0001*9SUBMITTER~UM*HS*I*12*12:B~HCR*A2*PWA033425780*10~REF*NT*PWR951115437~DTP*AAH*RD8*20261102-20270130~DTP*102*D8*20261019~DTP*007*RD8*20261102-20270130~DTP*036*D8*20270130~HI*ABK:M1711~HL*5*4*SS*0~TRN*2*852346626*9SUBMITTER~HCR*A2*PWA033425780*10~DTP*472*D8*20261102~SV1*HC:L1833**UN*2~SE*25*0001~GE*1*2~IEA*1*000000002~"
                  },
                  "outcomes": [
                    {
                      "index": 0,
                      "trace": "AUTH-0001",
                      "outcome": "partially_approved",
                      "trigger": "PARTIAL"
                    }
                  ],
                  "requests": [
                    {
                      "index": 0,
                      "trace": "AUTH-0001",
                      "warnings": []
                    }
                  ],
                  "explained": [
                    {
                      "index": 0,
                      "trace": "AUTH-0001",
                      "purpose": "response",
                      "payer": {
                        "name": "PAYERWORKS SANDBOX PAYER",
                        "id": "PWSANDBOX",
                        "entity": "X3"
                      },
                      "requester": {
                        "name": "Sample Family Medicine",
                        "id_qualifier": "XX",
                        "id": "1234567893",
                        "entity": "1P"
                      },
                      "subscriber": {
                        "name": "SAMPLE PATIENT",
                        "member_id": "W12345PARTIAL",
                        "birth_date": "1980-02-14",
                        "gender": "F"
                      },
                      "dependent": null,
                      "request_category": {
                        "code": "HS",
                        "words": "health services review: outpatient services",
                        "known": true
                      },
                      "service_type": {
                        "code": "12",
                        "words": "durable medical equipment, purchased",
                        "known": true,
                        "verified_in_005010": true,
                        "later_words": ""
                      },
                      "verdict": "partially_approved",
                      "words": "Approved in part, certification number PWA033425780: fewer units than asked on one service.",
                      "next_step": "Bill only what was approved, with PWA033425780 as priorAuthorizationNumber (2300 REF*G1). For what was not, ask the payer to reconsider (a 278 with certificationType N and the administrative reference number, where the payer takes one) or follow the appeal its notice describes. Keep the payer's reference PWR951115437 for any call or follow-up.",
                      "certification_number": "PWA033425780",
                      "administrative_reference_number": "PWR951115437",
                      "previous_authorization_number": "",
                      "decision": {
                        "code": "A2",
                        "words": "certified in part",
                        "verdict": "partially_approved",
                        "known": true,
                        "certification_number": "PWA033425780",
                        "second_surgical_opinion": ""
                      },
                      "reason": {
                        "code": "10",
                        "words": "the delivery pattern asked (units, days, visits, weeks, hours or months)",
                        "kind": "denial",
                        "known": true
                      },
                      "rejections": [],
                      "dates": {
                        "event": {
                          "begin": "2026-11-02",
                          "end": "2027-01-30"
                        },
                        "admission": "",
                        "certification": {
                          "issued": "2026-10-19",
                          "effective": {
                            "begin": "2026-11-02",
                            "end": "2027-01-30"
                          },
                          "expires": "2027-01-30"
                        }
                      },
                      "services": [
                        {
                          "index": 0,
                          "trace": "852346626",
                          "procedure": {
                            "qualifier": "HC",
                            "code": "L1833",
                            "modifiers": []
                          },
                          "verdict": "partially_approved",
                          "decision": {
                            "code": "A2",
                            "words": "certified in part",
                            "verdict": "partially_approved",
                            "known": true,
                            "certification_number": "PWA033425780"
                          },
                          "reason": {
                            "code": "10",
                            "words": "the delivery pattern asked (units, days, visits, weeks, hours or months)",
                            "known": true
                          },
                          "units": 2,
                          "units_asked": 4,
                          "units_cut": 2,
                          "dates": {
                            "begin": "2026-11-02",
                            "end": "2026-11-02"
                          },
                          "dates_asked": {
                            "begin": "2026-11-02",
                            "end": "2026-11-02"
                          },
                          "dates_changed": false,
                          "quantities": [],
                          "administrative_reference_number": "",
                          "messages": []
                        }
                      ],
                      "quantities": [],
                      "messages": [],
                      "claim": {
                        "prior_authorization_number": "PWA033425780",
                        "field": "claimInformation.claimSupplementalInformation.priorAuthorizationNumber",
                        "segment": "2300 REF*G1",
                        "route": "POST /v1/claims/837p"
                      },
                      "notes": [
                        "From 01/01/2026, CMS-0057-F (89 FR 8758, 02/08/2024) requires Medicare Advantage organizations, Medicaid and CHIP programs and plans, and QHP issuers on the federal exchanges to give a specific reason for a denied prior authorization (drugs are outside the rule)."
                      ],
                      "label_source": "paraphrase"
                    }
                  ],
                  "payer_choice": "Payerworks sends nothing. Whether a payer accepts an X12 278 or a FHIR prior authorization request at all is the payer's choice: many take them only on a portal, by fax or by phone, and its companion guide says what it requires."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthorizationSandboxBody"
              },
              "example": {
                "request": {
                  "controlNumber": "AUTH-0001",
                  "tradingPartnerServiceId": "PWSANDBOX",
                  "requester": {
                    "organizationName": "Sample Family Medicine",
                    "npi": "1234567893"
                  },
                  "subscriber": {
                    "memberId": "W12345PARTIAL",
                    "firstName": "SAMPLE",
                    "lastName": "PATIENT",
                    "dateOfBirth": "1980-02-14",
                    "gender": "F"
                  },
                  "review": {
                    "serviceTypeCode": "12",
                    "placeOfServiceCode": "12",
                    "diagnoses": [
                      "M17.11"
                    ]
                  },
                  "services": [
                    {
                      "procedureCode": "L1833",
                      "units": 4,
                      "serviceDate": "2026-11-02"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/authorizations/required": {
      "post": {
        "summary": "Does Medicare require it",
        "description": "Up to one hundred procedure codes checked against CMS’s published Medicare fee-for-service lists on a date of service: the DMEPOS Required Prior Authorization List and the hospital outpatient department list, each named and dated, with the state or the setting asked for where the list depends on it. A code on neither list is said as not on the lists held, never as not required, and for any other payer the answer is that no published list is held.",
        "operationId": "postV1AuthorizationsRequired",
        "tags": [
          "Prior authorization"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthorizationRequiredAnswer"
                },
                "example": {
                  "date_of_service": "2026-11-02",
                  "payer_type": "medicare_fee_for_service",
                  "state": null,
                  "setting": null,
                  "payer_choice": "Payerworks sends nothing. Whether a payer accepts an X12 278 or a FHIR prior authorization request at all is the payer's choice: many take them only on a portal, by fax or by phone, and its companion guide says what it requires.",
                  "codes": [
                    {
                      "code": "L1833",
                      "kind": "hcpcs",
                      "required": true,
                      "lists": [
                        {
                          "list": "dmepos",
                          "name": "CMS DMEPOS Required Prior Authorization List",
                          "url": "https://www.cms.gov/research-statistics-data-and-systems/monitoring-programs/medicare-ffs-compliance-programs/dmepos/downloads/dmepos_pa_required-prior-authorization-list.pdf",
                          "updated": "07/29/2026",
                          "read": "10/19/2026",
                          "group": "Orthoses",
                          "words": "knee orthosis, adjustable joints, positional, off the shelf",
                          "required": true,
                          "from": "2026-10-28",
                          "why": "nationwide"
                        }
                      ],
                      "words": "L1833 needs prior authorization for Medicare fee-for-service on 11/02/2026: it is on the DMEPOS Required Prior Authorization List, required from 10/28/2026."
                    },
                    {
                      "code": "L3761",
                      "kind": "hcpcs",
                      "required": "depends_on_state",
                      "lists": [
                        {
                          "list": "dmepos",
                          "name": "CMS DMEPOS Required Prior Authorization List",
                          "url": "https://www.cms.gov/research-statistics-data-and-systems/monitoring-programs/medicare-ffs-compliance-programs/dmepos/downloads/dmepos_pa_required-prior-authorization-list.pdf",
                          "updated": "07/29/2026",
                          "read": "10/19/2026",
                          "group": "Orthoses",
                          "words": "elbow orthosis, adjustable locking joint, off the shelf",
                          "required": "depends_on_state",
                          "from": "2026-10-28",
                          "states": [
                            "NY",
                            "MI",
                            "FL",
                            "CA"
                          ],
                          "nationwide_from": "2027-04-26",
                          "why": "phased"
                        }
                      ],
                      "words": "L3761 is on the DMEPOS Required Prior Authorization List, phased in by state: on 11/02/2026 it is required where the beneficiary lives in NY, MI, FL, CA, and nationwide from 04/26/2027. Send the state the beneficiary lives in to settle it."
                    },
                    {
                      "code": "E0601",
                      "kind": "hcpcs",
                      "required": "not_on_lists_held",
                      "lists": [],
                      "words": "E0601 is on neither CMS list held (DMEPOS, updated 07/29/2026; hospital outpatient, read 10/19/2026)."
                    }
                  ],
                  "sources": [
                    {
                      "name": "CMS DMEPOS Required Prior Authorization List",
                      "url": "https://www.cms.gov/research-statistics-data-and-systems/monitoring-programs/medicare-ffs-compliance-programs/dmepos/downloads/dmepos_pa_required-prior-authorization-list.pdf",
                      "updated": "07/29/2026",
                      "read": "10/19/2026"
                    },
                    {
                      "name": "CMS Hospital Outpatient Department Services That Require Prior Authorization",
                      "url": "https://www.cms.gov/files/document/opd-services-require-prior-authorization.pdf",
                      "updated": "09/25/2026",
                      "read": "10/19/2026"
                    }
                  ],
                  "note": "Medicare fee-for-service claims for these items, by the date of delivery (for a rental, of the initial rental claim). It does not apply to Medicare Advantage plans. Medicare fee-for-service services furnished in a hospital outpatient department, by the date of service. A code CMS removed before these copies were published, or added after the day each was read, is not held. Medicare's other prior authorization programs are not checked here: repetitive scheduled non-emergent ambulance transport, the ambulatory surgical center and home health and inpatient rehabilitation demonstrations, and the probationary process for newly enrolled DMEPOS suppliers. CPT codes are listed by number only."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthorizationRequiredBody"
              },
              "example": {
                "procedure_codes": [
                  "L1833",
                  "L3761",
                  "E0601"
                ],
                "date_of_service": "2026-11-02",
                "payer_type": "medicare_fee_for_service"
              }
            }
          }
        }
      }
    },
    "/v1/estimates": {
      "post": {
        "summary": "Estimate a patient’s share",
        "description": "A patient’s share and the plan’s, line by line, from a 271 (X12 or JSON) and the allowed amounts you send, at most 50 lines. You say the network level and, where a copay is stated, how it applies (copay_rule): a 271 says neither. The lines draw on the deductible and the out-of-pocket amount left in the order sent; for one member, a family amount left the 271 states bounds the member’s, and since a 271 does not say whether a family deductible is embedded or aggregate, the answer says which it read and what the other would mean. Where the out-of-pocket limit caps a line, its deductible and coinsurance are cut to add up to the share. Every input names where it came from: the 271, you, or not stated. A benefit the 271 did not state stops that line rather than reading as zero, unless you supply it, and no allowed amount is ever supplied for you: Payerworks holds no prices. The payer’s own processing decides what the patient owes.",
        "operationId": "postV1Estimates",
        "tags": [
          "Patient estimates and money"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EstimateAnswer"
                },
                "example": {
                  "kind": "estimate",
                  "source": "x12",
                  "member_index": 0,
                  "payer": {
                    "name": "SAMPLE HEALTH PLAN",
                    "id": "99999"
                  },
                  "plan": {
                    "name": "SAMPLE PPO",
                    "begins": "2026-01-01",
                    "ends": ""
                  },
                  "date_of_service": "2026-10-20",
                  "network_level": "in_network",
                  "coverage_level": "individual",
                  "insurance_type": null,
                  "coverage": {
                    "state": "active",
                    "active_on_date": "yes"
                  },
                  "lines": [
                    {
                      "index": 0,
                      "reference": "L1",
                      "service_type": "30",
                      "procedure_code": null,
                      "allowed_amount": 180,
                      "inputs": {
                        "allowed_amount": {
                          "value": 180,
                          "source": "caller",
                          "words": "You sent it (lines[0].allowed_amount)."
                        },
                        "copay": {
                          "value": null,
                          "source": "not_stated",
                          "words": "The 271 did not state a copay for this line, and you sent none."
                        },
                        "deductible_remaining_before": {
                          "value": 600,
                          "source": "271",
                          "scope": "plan",
                          "service_type": "30",
                          "network_tier": "in_network",
                          "coverage_level": "individual",
                          "insurance_type": null,
                          "words": "The 271, plan level (30), in network, individual, remaining amount stated."
                        },
                        "deductible_family_remaining_before": {
                          "value": 1800,
                          "source": "271",
                          "scope": "plan",
                          "service_type": "30",
                          "network_tier": "in_network",
                          "coverage_level": "family",
                          "insurance_type": null,
                          "words": "The 271, plan level (30), in network, family, remaining amount stated."
                        },
                        "deductible_family_design": {
                          "value": "not_stated",
                          "source": "not_stated",
                          "words": "The 271 has no field saying whether the family deductible is embedded or aggregate; it is read as embedded, so the member owes toward it no more than the lesser of the individual and family amounts left."
                        },
                        "out_of_pocket_remaining_before": {
                          "value": 4100,
                          "source": "271",
                          "scope": "plan",
                          "service_type": "30",
                          "network_tier": "in_network",
                          "coverage_level": "individual",
                          "insurance_type": null,
                          "words": "The 271, plan level (30), in network, individual, remaining amount stated."
                        }
                      },
                      "deductible_applied": 180,
                      "copay_applied": 0,
                      "coinsurance_amount": 0,
                      "patient_share": 180,
                      "plan_share": 0,
                      "out_of_pocket_reached": false,
                      "not_stated": [],
                      "why": [],
                      "prior_auth_required": null
                    },
                    {
                      "index": 1,
                      "reference": "L2",
                      "service_type": "30",
                      "procedure_code": null,
                      "allowed_amount": 900,
                      "inputs": {
                        "allowed_amount": {
                          "value": 900,
                          "source": "caller",
                          "words": "You sent it (lines[1].allowed_amount)."
                        },
                        "copay": {
                          "value": null,
                          "source": "not_stated",
                          "words": "The 271 did not state a copay for this line, and you sent none."
                        },
                        "deductible_remaining_before": {
                          "value": 420,
                          "source": "271",
                          "scope": "plan",
                          "service_type": "30",
                          "network_tier": "in_network",
                          "coverage_level": "individual",
                          "insurance_type": null,
                          "words": "The 271, plan level (30), in network, individual, remaining amount stated."
                        },
                        "deductible_family_remaining_before": {
                          "value": 1620,
                          "source": "271",
                          "scope": "plan",
                          "service_type": "30",
                          "network_tier": "in_network",
                          "coverage_level": "family",
                          "insurance_type": null,
                          "words": "The 271, plan level (30), in network, family, remaining amount stated."
                        },
                        "deductible_family_design": {
                          "value": "not_stated",
                          "source": "not_stated",
                          "words": "The 271 has no field saying whether the family deductible is embedded or aggregate; it is read as embedded, so the member owes toward it no more than the lesser of the individual and family amounts left."
                        },
                        "coinsurance_percent": {
                          "value": 20,
                          "source": "271",
                          "scope": "plan",
                          "service_type": "30",
                          "network_tier": "in_network",
                          "coverage_level": null,
                          "insurance_type": null,
                          "words": "The 271, plan level (30), in network."
                        },
                        "out_of_pocket_remaining_before": {
                          "value": 3920,
                          "source": "271",
                          "scope": "plan",
                          "service_type": "30",
                          "network_tier": "in_network",
                          "coverage_level": "individual",
                          "insurance_type": null,
                          "words": "The 271, plan level (30), in network, individual, remaining amount stated."
                        }
                      },
                      "deductible_applied": 420,
                      "copay_applied": 0,
                      "coinsurance_amount": 96,
                      "patient_share": 516,
                      "plan_share": 384,
                      "out_of_pocket_reached": false,
                      "not_stated": [],
                      "why": [],
                      "prior_auth_required": null
                    }
                  ],
                  "totals": {
                    "allowed_amount": 1080,
                    "patient_share": 696,
                    "plan_share": 384,
                    "deductible_applied": 600,
                    "copay_applied": 0,
                    "coinsurance_amount": 96
                  },
                  "figured": true,
                  "not_stated": [],
                  "assumptions": [
                    "The 271 states both an individual ($600.00) and a family ($1800.00) deductible left and does not say whether the family deductible is embedded or aggregate. This estimate reads it as embedded (the member’s own amount caps what the member owes); under an aggregate deductible the member could owe toward it up to the family’s $1800.00."
                  ],
                  "notes": [
                    "An estimate from the benefits the payer stated and the allowed amounts you sent, before the payer adjudicates the claim. The payer’s own processing decides what the patient owes. Payerworks holds no prices and keeps nothing it was sent.",
                    "The network level is yours: a 271 says what the plan pays at each benefit tier, never whether this provider participates with the plan.",
                    "Lines draw on the deductible and the out-of-pocket amount left in the order sent; the payer adjudicates in its own order, which can move a share from one line to another, and the total too where lines carry different coinsurance or copays."
                  ],
                  "eligibility_notes": [
                    "A remaining amount is what was left on the day the payer answered.",
                    "In network and out of network are the plan’s benefit tiers as the payer stated them (EB12): what the plan pays at each tier. A 271 does not say whether this provider participates with the plan."
                  ],
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EstimateBody"
              },
              "example": {
                "x12": "ISA*00*          *00*          *ZZ*SAMPLEPAYER    *ZZ*SAMPLEBILLER   *261018*0900*^*00501*000000091*0*T*:~\nGS*HB*SAMPLEPAYER*SAMPLEBILLER*20261018*0900*91*X*005010X279A1~\nST*271*0001*005010X279A1~\nBHT*0022*11*ELIG-0001*20261018*0900~\nHL*1**20*1~\nNM1*PR*2*SAMPLE HEALTH PLAN*****PI*99999~\nHL*2*1*21*1~\nNM1*1P*2*SAMPLE FAMILY MEDICINE*****XX*1234567893~\nHL*3*2*22*0~\nTRN*2*ELIG-0001*9SAMPLEBIL~\nNM1*IL*1*PATIENT*SAMPLE****MI*W123456789~\nREF*6P*G7700*SAMPLE EMPLOYER GROUP~\nDMG*D8*19800214*F~\nDTP*346*D8*20260101~\nEB*1*IND*30*PR*SAMPLE PPO~\nEB*C*IND*30***23*1500*****Y~\nEB*C*IND*30***29*600*****Y~\nEB*G*IND*30***23*6000*****Y~\nEB*G*IND*30***29*4100*****Y~\nEB*C*FAM*30***23*3000*****Y~\nEB*C*FAM*30***29*1800*****Y~\nEB*A*IND*30*****.2****Y~\nEB*C*IND*30***23*3000*****N~\nEB*C*IND*30***29*3000*****N~\nEB*A*IND*30*****.4****N~\nEB*B*IND*98****25*****Y~\nEB*A*IND*98*****.4****N~\nEB*1*IND*62********Y~\nSE*27*0001~\nGE*1*91~\nIEA*1*000000091~",
                "network_level": "in_network",
                "date_of_service": "2026-10-20",
                "lines": [
                  {
                    "reference": "L1",
                    "allowed_amount": 180
                  },
                  {
                    "reference": "L2",
                    "allowed_amount": 900
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/v1/estimates/good-faith": {
      "post": {
        "summary": "Lay out a Good Faith Estimate",
        "description": "A Good Faith Estimate for an uninsured or self-pay patient, with every element 45 CFR 149.610 lists, in order and each named by its paragraph: the patient, the primary service, the items grouped by provider with their codes and expected charges, the amount at which the patient may dispute the bill, the disclaimers, and when it is due by the business days you state. It is your document to issue, give and keep; Payerworks issues, delivers and keeps nothing.",
        "operationId": "postV1EstimatesGoodFaith",
        "tags": [
          "Patient estimates and money"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GoodFaithAnswer"
                },
                "example": {
                  "document": "good_faith_estimate",
                  "provider_document": true,
                  "statement": "This is the provider’s Good Faith Estimate: the convening provider or facility issues it in writing, gives it to the patient and keeps it with the medical record (45 CFR 149.610(e)(1), (f)(1)). Payerworks laid it out from what you sent; it issues nothing, delivers nothing and keeps nothing.",
                  "rule": {
                    "cite": "45 CFR 149.610",
                    "url": "https://www.law.cornell.edu/cfr/text/45/149.610",
                    "read_on": "10/19/2026"
                  },
                  "issued_on": "2026-10-19",
                  "issued_by": {
                    "provider_id": "p1",
                    "name": "Sample Family Medicine",
                    "role": "convening"
                  },
                  "uninsured_reason": {
                    "code": "not_filing_claim",
                    "words": "The patient has coverage but does not want a claim sent to it (45 CFR 149.610(a)(2)(xiii)(B))."
                  },
                  "elements": [
                    {
                      "cfr": "(c)(1)(i)",
                      "element": "patient",
                      "value": {
                        "first_name": "SAMPLE",
                        "last_name": "PATIENT",
                        "date_of_birth": "1980-02-14"
                      }
                    },
                    {
                      "cfr": "(c)(1)(ii)",
                      "element": "primary_service",
                      "value": {
                        "description": "A new patient visit and a sleep study",
                        "scheduled_date": "2026-11-09"
                      }
                    },
                    {
                      "cfr": "(c)(1)(iii), (c)(1)(iv)",
                      "element": "items_by_provider",
                      "value": [
                        {
                          "provider_id": "p1",
                          "role": "convening",
                          "items": [
                            {
                              "description": "New patient visit",
                              "service_code": "99203",
                              "service_code_type": "CPT",
                              "diagnosis_codes": [
                                "G47.33"
                              ],
                              "quantity": 1,
                              "expected_charge": 180
                            }
                          ],
                          "expected_total": 180,
                          "dispute_at_or_above": 580
                        },
                        {
                          "provider_id": "p2",
                          "role": "co_provider",
                          "items": [
                            {
                              "description": "Home sleep apnea test",
                              "service_code": "G0399",
                              "service_code_type": "HCPCS",
                              "diagnosis_codes": [
                                "G47.33"
                              ],
                              "quantity": 1,
                              "expected_charge": 350
                            }
                          ],
                          "expected_total": 350,
                          "dispute_at_or_above": 750
                        }
                      ]
                    },
                    {
                      "cfr": "(c)(1)(v)",
                      "element": "providers",
                      "value": [
                        {
                          "id": "p1",
                          "role": "convening",
                          "name": "Sample Family Medicine",
                          "npi": "1234567893",
                          "tin": "12-3456789",
                          "locations": [
                            {
                              "state": "IL"
                            }
                          ]
                        },
                        {
                          "id": "p2",
                          "role": "co_provider",
                          "name": "Sample Sleep Lab",
                          "npi": "1999999992",
                          "tin": "987654321",
                          "locations": [
                            {
                              "state": "IL"
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "cfr": "(c)(1)(vi)",
                      "element": "separately_scheduled",
                      "disclaimer_above_list": "The items or services below are expected to be scheduled separately, before or after the period of care this estimate covers. A separate Good Faith Estimate will be issued for them on request or when they are scheduled; this list gives no codes or charges for them. Ask Sample Family Medicine for a separate Good Faith Estimate for each.",
                      "value": [
                        {
                          "description": "A follow-up visit to read the results"
                        }
                      ]
                    },
                    {
                      "cfr": "(c)(1)(viii)",
                      "element": "disclaimer_more_care",
                      "words": "Your provider may recommend other items or services as part of your care that must be scheduled or requested separately; they are not in this estimate."
                    },
                    {
                      "cfr": "(c)(1)(ix)",
                      "element": "disclaimer_estimate",
                      "words": "This is only an estimate. The items, services and charges you receive may differ from it."
                    },
                    {
                      "cfr": "(c)(1)(x)",
                      "element": "disclaimer_dispute",
                      "words": "If you are billed substantially more than this estimate (at least $400 more than a provider’s or facility’s expected charges here), you have the right to dispute the bill through the patient-provider dispute resolution process, started within 120 calendar days of receiving the first bill (45 CFR 149.620). Starting a dispute will not affect the quality of the care you receive. To learn how, visit www.cms.gov/nosurprises. Keep a copy of this estimate."
                    },
                    {
                      "cfr": "(c)(1)(xi)",
                      "element": "disclaimer_not_a_contract",
                      "words": "This estimate is not a contract and does not require you to get any item or service from any provider or facility named in it."
                    }
                  ],
                  "expected_total": 530,
                  "expected_total_words": "Expected charges in all: $530.00.",
                  "timing": [
                    {
                      "rule": "45 CFR 149.610(b)(1)(vi)(B)",
                      "words": "Scheduled at least 10 business days ahead: issue it within 3 business days of scheduling."
                    }
                  ],
                  "delivery": "In writing, on paper or electronically as the patient asks; an electronic copy must be one the patient can save and print, in plain language (45 CFR 149.610(e)(1)). Information given by phone does not replace the written estimate ((e)(2)).",
                  "retention": "Part of the patient’s medical record; copies of any estimate issued in the last 6 years are given on request (45 CFR 149.610(f)(1)).",
                  "not_laid_out": "A recurring course of care on one estimate (at most 12 months, 45 CFR 149.610(b)(1)(x)) and a co-provider’s own submission to the convening provider ((d)) are not laid out by this route.",
                  "notes": [
                    "Codes are checked for their shape only (an ICD-10-CM diagnosis, a CPT or HCPCS code, a DRG, an NDC); Payerworks does not look them up and prints no code descriptor."
                  ],
                  "sources": [
                    {
                      "cite": "45 CFR 149.610",
                      "url": "https://www.law.cornell.edu/cfr/text/45/149.610",
                      "read_on": "10/19/2026"
                    },
                    {
                      "cite": "45 CFR 149.620",
                      "url": "https://www.law.cornell.edu/cfr/text/45/149.620",
                      "read_on": "10/19/2026"
                    }
                  ],
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GoodFaithBody"
              },
              "example": {
                "issued_on": "2026-10-19",
                "uninsured_reason": "not_filing_claim",
                "patient": {
                  "first_name": "SAMPLE",
                  "last_name": "PATIENT",
                  "date_of_birth": "1980-02-14"
                },
                "primary_service": {
                  "description": "A new patient visit and a sleep study",
                  "scheduled_date": "2026-11-09"
                },
                "providers": [
                  {
                    "id": "p1",
                    "role": "convening",
                    "name": "Sample Family Medicine",
                    "npi": "1234567893",
                    "tin": "12-3456789",
                    "locations": [
                      {
                        "state": "IL"
                      }
                    ]
                  },
                  {
                    "id": "p2",
                    "role": "co_provider",
                    "name": "Sample Sleep Lab",
                    "npi": "1999999992",
                    "tin": "987654321",
                    "locations": [
                      {
                        "state": "IL"
                      }
                    ]
                  }
                ],
                "items": [
                  {
                    "provider_id": "p1",
                    "description": "New patient visit",
                    "service_code": "99203",
                    "service_code_type": "CPT",
                    "diagnosis_codes": [
                      "G47.33"
                    ],
                    "expected_charge": 180
                  },
                  {
                    "provider_id": "p2",
                    "description": "Home sleep apnea test",
                    "service_code": "G0399",
                    "service_code_type": "HCPCS",
                    "diagnosis_codes": [
                      "G47.33"
                    ],
                    "expected_charge": 350
                  }
                ],
                "separately_scheduled": [
                  {
                    "description": "A follow-up visit to read the results"
                  }
                ],
                "timing": {
                  "business_days_until_service": 15
                }
              }
            }
          }
        }
      }
    },
    "/v1/dme/replacement-window": {
      "post": {
        "summary": "When equipment may be replaced",
        "description": "For each item you send (a HCPCS code and the day it was delivered, at most 100): the earliest replacement for wear under Medicare’s reasonable useful lifetime, five years from delivery unless you name a longer lifetime and its source, whether a planned day falls inside it (judged from the latest delivery you sent of the same code), and what to consider by reason (an Advance Beneficiary Notice with GA or GZ, or the RA modifier for a loss, a theft or irreparable damage), each cited. It does not check Medicare’s records: only the DME MAC shows whether a same or similar item was supplied.",
        "operationId": "postV1DmeReplacementWindow",
        "tags": [
          "Patient estimates and money"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReplacementWindowAnswer"
                },
                "example": {
                  "kind": "dme_replacement_window",
                  "checks_medicare_records": false,
                  "statement": "This does not check Medicare’s records. It works from the codes and delivery dates you sent; the patient may have had a same or similar item from another supplier, which only the DME MAC’s same or similar inquiry shows. Payerworks keeps nothing it was sent.",
                  "items": [
                    {
                      "reference": "A",
                      "hcpcs": "E0601",
                      "delivered_on": "2021-03-15",
                      "useful_lifetime_years": 5,
                      "useful_lifetime": {
                        "source": "cfr_floor",
                        "words": "5 years: the floor in 42 CFR 414.210(f)(1). A program instruction or the DME MAC may set a longer lifetime for this item, which this answer does not know."
                      },
                      "earliest_replacement_for_wear": "2026-03-15",
                      "earliest_words": "A replacement for wear is outside the lifetime on or after 03/15/2026 (5 years from delivery on 03/15/2021).",
                      "latest_delivery_for_code": true,
                      "planned_on": "2026-11-02",
                      "reason": null,
                      "inside_lifetime": false,
                      "consider": [
                        {
                          "step": "no_abn_for_lifetime",
                          "words": "The planned day is on or after the end of the lifetime, so the lifetime gives no reason for an ABN (Noridian JD DME, Same or Similar Denials (one DME MAC’s guidance)). A replacement for wear needs a new order, and a new CMN where one is required (Medicare Benefit Policy Manual, Pub. 100-02, ch. 15, §110.2.C).",
                          "source": {
                            "cite": "Noridian JD DME, Same or Similar Denials (one DME MAC’s guidance)",
                            "url": "https://med.noridianmedicare.com/web/jddme/topics/same-or-similar/ss-denials",
                            "read_on": "10/19/2026"
                          }
                        }
                      ],
                      "sources": [
                        {
                          "cite": "42 CFR 414.210(f)(1)",
                          "url": "https://www.law.cornell.edu/cfr/text/42/414.210",
                          "read_on": "10/19/2026"
                        },
                        {
                          "cite": "Medicare Benefit Policy Manual, Pub. 100-02, ch. 15, §110.2.C",
                          "url": "https://www.cms.gov/Regulations-and-Guidance/Guidance/Manuals/downloads/bp102c15.pdf",
                          "read_on": "10/19/2026"
                        }
                      ]
                    },
                    {
                      "reference": "B",
                      "hcpcs": "K0001",
                      "delivered_on": "2023-05-02",
                      "useful_lifetime_years": 5,
                      "useful_lifetime": {
                        "source": "cfr_floor",
                        "words": "5 years: the floor in 42 CFR 414.210(f)(1). A program instruction or the DME MAC may set a longer lifetime for this item, which this answer does not know."
                      },
                      "earliest_replacement_for_wear": "2028-05-02",
                      "earliest_words": "A replacement for wear is outside the lifetime on or after 05/02/2028 (5 years from delivery on 05/02/2023).",
                      "latest_delivery_for_code": true,
                      "planned_on": "2026-11-02",
                      "reason": "theft",
                      "inside_lifetime": true,
                      "consider": [
                        {
                          "step": "ra_modifier",
                          "modifier": "RA",
                          "words": "A stolen item may be replaced inside the lifetime (42 CFR 414.210(f)(1)). Bill the replacement with RA, replacement of a DME item, and a narrative of why it was replaced (Medicare Claims Processing Manual, Pub. 100-04, ch. 20, §50.4); keep what shows the event (a police, fire or insurance report) and a new order or CMN where one is required.",
                          "source": {
                            "cite": "Medicare Claims Processing Manual, Pub. 100-04, ch. 20, §50.4",
                            "url": "https://www.cms.gov/Regulations-and-Guidance/Guidance/Manuals/downloads/clm104c20.pdf",
                            "read_on": "10/19/2026"
                          }
                        }
                      ],
                      "sources": [
                        {
                          "cite": "42 CFR 414.210(f)(1)",
                          "url": "https://www.law.cornell.edu/cfr/text/42/414.210",
                          "read_on": "10/19/2026"
                        },
                        {
                          "cite": "Medicare Benefit Policy Manual, Pub. 100-02, ch. 15, §110.2.C",
                          "url": "https://www.cms.gov/Regulations-and-Guidance/Guidance/Manuals/downloads/bp102c15.pdf",
                          "read_on": "10/19/2026"
                        },
                        {
                          "cite": "Medicare Claims Processing Manual, Pub. 100-04, ch. 20, §50.4",
                          "url": "https://www.cms.gov/Regulations-and-Guidance/Guidance/Manuals/downloads/clm104c20.pdf",
                          "read_on": "10/19/2026"
                        }
                      ]
                    }
                  ],
                  "notes": [
                    "Replacing rented oxygen equipment, items needing frequent and substantial servicing, and rented inexpensive or routinely purchased items is not covered at all (Medicare Benefit Policy Manual, Pub. 100-02, ch. 15, §110.2.C); a HCPCS code alone does not say which payment category an item is in, so this answer does not.",
                    "Same or similar is judged across codes as well as within one; which codes Medicare treats as similar is the DME MAC’s, and this answer compares a code only with itself."
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplacementWindowBody"
              },
              "example": {
                "items": [
                  {
                    "reference": "A",
                    "hcpcs": "E0601",
                    "delivered_on": "2021-03-15",
                    "planned_on": "2026-11-02"
                  },
                  {
                    "reference": "B",
                    "hcpcs": "K0001",
                    "delivered_on": "2023-05-02",
                    "planned_on": "2026-11-02",
                    "reason": "theft"
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/v1/financial-assistance/fpl": {
      "post": {
        "summary": "Income against the poverty guideline",
        "description": "Income as a percent of the 2026 HHS poverty guideline for the household’s size (Alaska and Hawaii on their own tables; a territory only when you say your program uses the contiguous table), and which of your policy’s tiers it falls in, compared in whole cents. Arithmetic only: no screening and no decision.",
        "operationId": "postV1FinancialAssistanceFpl",
        "tags": [
          "Patient estimates and money"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FplAnswer"
                },
                "example": {
                  "kind": "fpl",
                  "household_size": 3,
                  "annual_income": 54640,
                  "income_input": {
                    "annual_income": 54640
                  },
                  "state": "IL",
                  "guideline": {
                    "year": 2026,
                    "table": "48 contiguous states and the District of Columbia",
                    "amount": 27320,
                    "source": {
                      "name": "2026 HHS Poverty Guidelines",
                      "publisher": "U.S. Department of Health and Human Services, Office of the Assistant Secretary for Planning and Evaluation (ASPE)",
                      "citation": "91 Fed. Reg. 1797 (01/15/2026), document 2026-00755",
                      "url": "https://aspe.hhs.gov/topics/poverty-economic-mobility/poverty-guidelines",
                      "federal_register_url": "https://www.govinfo.gov/content/pkg/FR-2026-01-15/html/2026-00755.htm",
                      "effective": "01/13/2026, unless a program sets another date",
                      "read_on": "10/19/2026"
                    }
                  },
                  "percent_of_guideline": 200,
                  "tier": {
                    "name": "Full discount",
                    "max_percent": 200
                  },
                  "tier_words": "At 200% of the guideline, inside your tier Full discount (up to 200%).",
                  "statement": "Arithmetic on the figures you sent against the published HHS poverty guideline. It is not a screening and not a decision: what counts as the household and its income, and what each tier grants, are the provider’s financial assistance policy. Payerworks reads no credit or income record and keeps nothing it was sent.",
                  "screening": false,
                  "decision": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FplBody"
              },
              "example": {
                "household_size": 3,
                "annual_income": 54640,
                "state": "IL",
                "tiers": [
                  {
                    "name": "Full discount",
                    "max_percent": 200
                  },
                  {
                    "name": "Half discount",
                    "max_percent": 300
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/v1/price-transparency/validate": {
      "post": {
        "summary": "Check a hospital standard charges file",
        "description": "A hospital’s standard charges file, as the tall or wide CSV or as JSON, checked against CMS’s version 3.0.0 template and schema: every required header and value, the valid values, and each conditional requirement, each problem with its row or path, the column and the rule it breaks. A file over 2 MB is checked in pieces, the first three rows sent again with each and row_offset set, so every row number is the file’s own. Nothing is hosted, published or kept.",
        "operationId": "postV1PriceTransparencyValidate",
        "tags": [
          "Hospital standard charges"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MrfCheckAnswer"
                },
                "example": {
                  "valid": false,
                  "format": "csv_tall",
                  "file_version": "3.0.0",
                  "errors": [
                    {
                      "row": 5,
                      "column": "count",
                      "code": "count_missing",
                      "rule": "csv_conditional_7",
                      "message": "Row 5 has a negotiated percentage or algorithm but no count of allowed amounts."
                    },
                    {
                      "row": 5,
                      "column": "median_amount",
                      "code": "allowed_amount_missing",
                      "rule": "csv_conditional_8",
                      "message": "Row 5 has a negotiated percentage or algorithm but no median allowed amount."
                    },
                    {
                      "row": 5,
                      "column": "10th_percentile",
                      "code": "allowed_amount_missing",
                      "rule": "csv_conditional_8",
                      "message": "Row 5 has a negotiated percentage or algorithm but no 10th percentile allowed amount."
                    },
                    {
                      "row": 5,
                      "column": "90th_percentile",
                      "code": "allowed_amount_missing",
                      "rule": "csv_conditional_8",
                      "message": "Row 5 has a negotiated percentage or algorithm but no 90th percentile allowed amount."
                    }
                  ],
                  "warnings": [],
                  "error_count": 4,
                  "warning_count": 0,
                  "truncated": false,
                  "rows_checked": 2,
                  "template": {
                    "version": "3.0.0",
                    "repository": "https://github.com/CMSgov/hospital-price-transparency",
                    "commit": "5333564a710f80d7740180b9ffab8dbdcba9b502",
                    "committed_on": "06/09/2026",
                    "read_on": "10/19/2026",
                    "files": [
                      "documentation/CSV/README.md",
                      "documentation/CSV/templates/V3.0.0_Tall_CSV_Format_Template.csv",
                      "documentation/CSV/templates/V3.0.0_Wide_CSV_Format_Template.csv",
                      "documentation/JSON/README.md",
                      "documentation/JSON/schemas/V3.0.0_Hospital_price_transparency_schema.json"
                    ],
                    "regulation": "45 CFR 180.50",
                    "terms": "A work of the United States federal government (CMS); the repository carries no license file."
                  },
                  "rules": {
                    "csv_conditional_1": "A negotiated charge (dollar, percentage or algorithm) needs its payer name, plan name and methodology; a payer or plan named in the tall layout needs a negotiated charge.",
                    "csv_conditional_2": "A row with a standard charge needs at least one code with its code type.",
                    "csv_conditional_3": "A code needs its code type in the matching column, and a code type its code.",
                    "csv_conditional_4": "A methodology of \"other\" needs an explanation in the notes for that charge.",
                    "csv_conditional_5": "An item or service needs at least one of: gross charge, discounted cash price, or a negotiated dollar, percentage or algorithm.",
                    "csv_conditional_6": "A negotiated dollar amount needs the de-identified minimum and maximum negotiated charges.",
                    "csv_conditional_7": "A negotiated percentage or algorithm needs the count of allowed amounts.",
                    "csv_conditional_8": "A negotiated percentage or algorithm needs the median, 10th and 90th percentile allowed amounts, unless the count is 0.",
                    "csv_conditional_9": "A count of 0 needs an explanation in the notes for that charge.",
                    "csv_conditional_10": "A code of type NDC needs the drug unit and drug type of measurement.",
                    "csv_conditional_11": "A modifier row with no code needs a description and one of: a negotiated dollar, percentage or algorithm, or notes.",
                    "csv_conditional_12": "A drug unit of measurement needs its drug type, and a drug type its unit.",
                    "json_conditional_1": "A methodology of \"other\" needs additional_payer_notes.",
                    "json_conditional_2": "A standard charge needs at least one of: gross_charge, discounted_cash, or a payer's negotiated dollar, percentage or algorithm.",
                    "json_conditional_3": "Each payers_information object needs a standard_charge_dollar, standard_charge_percentage or standard_charge_algorithm.",
                    "json_conditional_4": "A negotiated dollar amount needs minimum and maximum on its standard charge.",
                    "json_conditional_5": "A negotiated percentage or algorithm needs count.",
                    "json_conditional_6": "A negotiated percentage or algorithm needs median_amount, 10th_percentile and 90th_percentile, unless count is \"0\".",
                    "json_conditional_7": "A count of \"0\" needs additional_payer_notes.",
                    "json_conditional_8": "A code of type NDC needs drug_information.",
                    "schema": "The v3.0.0 JSON schema's own requirement.",
                    "template": "The v3.0.0 CSV template's own requirement."
                  },
                  "hosted": false,
                  "published": false,
                  "stored": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MrfCheckBody"
              },
              "example": {
                "csv": "hospital_name,last_updated_on,version,location_name,hospital_address,license_number|IL,type_2_npi,\"To the best of its knowledge and belief, this hospital has included all applicable standard charge information in accordance with the requirements of 45 CFR 180.50, and the information encoded is true, accurate, and complete as of the date in the file. This hospital has included all payer-specific negotiated charges in dollars that can be expressed as a dollar amount. For payer-specific negotiated charges that cannot be expressed as a dollar amount in the machine-readable file or not knowable in advance, the hospital attests that the payer-specific negotiated charge is based on a contractual algorithm, percentage or formula that precludes the provision of a dollar amount and has provided all necessary information available to the hospital for the public to be able to derive the dollar amount, including, but not limited to, the specific fee schedule or components referenced in such percentage, algorithm or formula.\",attester_name\nSample Community Hospital,2026-10-01,3.0.0,Sample Community Hospital,\"100 Main Street, Springfield, IL 62701\",SAMPLE-1,1234567893,true,Sample Attester\ndescription,code|1,code|1|type,modifiers,setting,drug_unit_of_measurement,drug_type_of_measurement,standard_charge|gross,standard_charge|discounted_cash,payer_name,plan_name,standard_charge|negotiated_dollar,standard_charge|negotiated_percentage,standard_charge|negotiated_algorithm,median_amount,10th_percentile,90th_percentile,count,standard_charge|methodology,standard_charge|min,standard_charge|max,additional_generic_notes\nOffice visit,510,RC,,outpatient,,,200,160,Sample Health Plan,PPO,120,,,,,,,fee schedule,110,120,\nHip replacement,470,MS-DRG,,inpatient,,,,,Sample Health Plan,PPO,,45,,,,,,percent of total billed charges,,,\n"
              }
            }
          }
        }
      }
    },
    "/v1/providers": {
      "post": {
        "summary": "Create a provider",
        "description": "A provider record: its name, billing NPI, tax id (an EIN, never a Social Security number) and contacts. One per NPI and tax id pair: a second is refused, naming the first. With a live key the answer also says what the NPI registry holds for the NPI: whether it is there, Type 1 or 2, and whether the provider’s name matches (its own name only, never a contact’s; a warning, never a refusal; a lookup that fails says so, and is never read as not found).",
        "operationId": "postV1Providers",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "201": {
            "description": "Made.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Provider"
                },
                "example": {
                  "object": "provider",
                  "id": "prv_01a154ad358043763d71b95c",
                  "mode": "test",
                  "name": "Sample Family Clinic TASKS",
                  "npi": "1234567893",
                  "tax_id": "123456789",
                  "tax_id_type": "ein",
                  "contacts": [
                    {
                      "organization_name": null,
                      "first_name": "Jane",
                      "last_name": "Doe",
                      "email": "enrollment@sampleclinic.example",
                      "phone": "8015550100",
                      "phone_extension": null,
                      "address": null
                    }
                  ],
                  "identifiers_locked": false,
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "updated_at": "2026-10-19T15:00:00.000Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProviderBody"
              },
              "example": {
                "name": "Sample Family Clinic TASKS",
                "npi": "1234567893",
                "tax_id": "12-3456789",
                "tax_id_type": "ein",
                "contacts": [
                  {
                    "first_name": "Jane",
                    "last_name": "Doe",
                    "email": "enrollment@sampleclinic.example",
                    "phone": "8015550100"
                  }
                ]
              }
            }
          }
        }
      },
      "get": {
        "summary": "List your providers",
        "description": "Newest first. Page with limit (up to 100) and starting_after, and filter with npi, tax_id or q (part of the name).",
        "operationId": "getV1Providers",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProviderList"
                },
                "example": {
                  "data": [
                    {
                      "object": "provider",
                      "id": "prv_01a154ad358043763d71b95c",
                      "mode": "test",
                      "name": "Sample Family Clinic TASKS",
                      "npi": "1234567893",
                      "tax_id": "123456789",
                      "tax_id_type": "ein",
                      "contacts": [
                        {
                          "organization_name": null,
                          "first_name": "Jane",
                          "last_name": "Doe",
                          "email": "enrollment@sampleclinic.example",
                          "phone": "8015550100",
                          "phone_extension": null,
                          "address": null
                        }
                      ],
                      "identifiers_locked": false,
                      "created_at": "2026-10-19T15:00:00.000Z",
                      "updated_at": "2026-10-19T15:00:00.000Z"
                    }
                  ],
                  "has_more": false,
                  "next_cursor": null
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            },
            "description": "How many a page holds, 1 to 100."
          },
          {
            "name": "starting_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "The next_cursor of the page before, or the id of a provider on it."
          },
          {
            "name": "npi",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{10}$"
            },
            "description": "Only the provider with this NPI."
          },
          {
            "name": "tax_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "Only providers with this EIN, with or without the hyphen."
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "description": "Part of the name, any case."
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/providers/{id}": {
      "get": {
        "summary": "One provider",
        "description": "The provider, and whether its NPI and tax id are locked because a request for it has gone to a payer.",
        "operationId": "getV1ProvidersById",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Provider"
                },
                "example": {
                  "object": "provider",
                  "id": "prv_01a154ad358043763d71b95c",
                  "mode": "test",
                  "name": "Sample Family Clinic TASKS",
                  "npi": "1234567893",
                  "tax_id": "123456789",
                  "tax_id_type": "ein",
                  "contacts": [
                    {
                      "organization_name": null,
                      "first_name": "Jane",
                      "last_name": "Doe",
                      "email": "enrollment@sampleclinic.example",
                      "phone": "8015550100",
                      "phone_extension": null,
                      "address": null
                    }
                  ],
                  "identifiers_locked": false,
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "updated_at": "2026-10-19T15:00:00.000Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "prv_01a154ad358043763d71b95c"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      },
      "post": {
        "summary": "Change a provider",
        "description": "Only the fields you send change. The NPI and tax id can be corrected until a request for the provider has gone to a payer.",
        "operationId": "postV1ProvidersById",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Provider"
                },
                "example": {
                  "object": "provider",
                  "id": "prv_01a154ad358043763d71b95c",
                  "mode": "test",
                  "name": "Sample Family Clinic TASKS",
                  "npi": "1234567893",
                  "tax_id": "123456789",
                  "tax_id_type": "ein",
                  "contacts": [
                    {
                      "organization_name": null,
                      "first_name": "Jane",
                      "last_name": "Doe",
                      "email": "enrollment@sampleclinic.example",
                      "phone": "8015550100",
                      "phone_extension": null,
                      "address": null
                    }
                  ],
                  "identifiers_locked": false,
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "updated_at": "2026-10-19T15:00:00.000Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "prv_01a154ad358043763d71b95c"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProviderUpdateBody"
              },
              "example": {
                "name": "Sample Family Clinic TASKS"
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Delete a provider",
        "description": "Its drafts go with it. A provider with a request that is open or live is kept, and the refusal names those requests. Deleting again answers the same.",
        "operationId": "deleteV1ProvidersById",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Deleted"
                },
                "example": {
                  "deleted": true,
                  "id": "prv_01a154ad358043763d71b95c"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "prv_01a154ad358043763d71b95c"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/enrollments": {
      "post": {
        "summary": "Request an enrollment",
        "description": "One request per provider, payer and transaction: eligibility, claim_status, professional_claims or remittances. Kept as a draft, or handed to Payerworks with submit: true. Payerworks is not yet registered with any payer, so a live request waits with Payerworks, the answer carries a route_not_open warning, and nothing is sent.",
        "operationId": "postV1Enrollments",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "201": {
            "description": "Made.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Enrollment"
                },
                "example": {
                  "object": "enrollment",
                  "id": "enr_01a154ad35808fafb0295307",
                  "mode": "test",
                  "provider": {
                    "id": "prv_01a154ad358043763d71b95c",
                    "name": "Sample Family Clinic TASKS",
                    "npi": "1234567893",
                    "tax_id_last_four": "6789"
                  },
                  "payer": {
                    "id": "PWSANDBOX",
                    "name": "PAYERWORKS SANDBOX PAYER",
                    "sandbox": true
                  },
                  "transaction": "remittances",
                  "x12": "835",
                  "status": "provider_action_required",
                  "status_words": "Waiting on the provider: 2 steps below need the provider. Finish them in order.",
                  "waiting_on": "provider",
                  "reason_code": null,
                  "route": {
                    "open": true,
                    "sandbox": true,
                    "words": "The sandbox payer answers every enrollment in the sandbox. Nothing is sent anywhere."
                  },
                  "primary_contact": {
                    "organization_name": "Sample Family Clinic LLC",
                    "first_name": null,
                    "last_name": null,
                    "email": "enrollment@sampleclinic.example",
                    "phone": "8015550100",
                    "phone_extension": null,
                    "address": {
                      "line1": "100 Main St",
                      "line2": null,
                      "city": "Salt Lake City",
                      "state": "UT",
                      "zip": "84101"
                    }
                  },
                  "notify_email": "dev@sampleclinic.example",
                  "requested_effective_date": null,
                  "era_aggregation": null,
                  "ptan": null,
                  "note": "",
                  "tasks": [
                    {
                      "id": "tsk_01a154ad35808fafb0295307_01",
                      "rank": 0,
                      "responsible": "provider",
                      "title": "Give the sandbox payer’s packet number",
                      "instructions": "Sandbox: the payer emailed a packet number when the provider finished its form. Enter it here.",
                      "fields": [
                        {
                          "key": "packet_id",
                          "label": "Packet number",
                          "type": "text",
                          "format": "identifier",
                          "required": true,
                          "description": ""
                        }
                      ],
                      "links": [],
                      "template_document_id": null,
                      "values": [],
                      "complete": false,
                      "completed_at": null,
                      "created_at": "2026-10-19T15:00:00.000Z"
                    },
                    {
                      "id": "tsk_01a154ad35808fafb0295307_02",
                      "rank": 1,
                      "responsible": "provider",
                      "title": "Finish the sandbox payer’s steps",
                      "instructions": "Sandbox: these steps happen on the payer’s own site. Mark this task complete, with no values, once they are done.",
                      "fields": [],
                      "links": [],
                      "template_document_id": null,
                      "values": [],
                      "complete": false,
                      "completed_at": null,
                      "created_at": "2026-10-19T15:00:00.000Z"
                    }
                  ],
                  "documents": [],
                  "notes": [],
                  "rejection": null,
                  "payer_reference": null,
                  "history": [
                    {
                      "sequence": 1,
                      "at": "2026-10-19T15:00:00.000Z",
                      "from": null,
                      "to": "payerworks_action_required",
                      "by": "you",
                      "reason_code": "preparing"
                    },
                    {
                      "sequence": 3,
                      "at": "2026-10-19T15:00:00.000Z",
                      "from": "payerworks_action_required",
                      "to": "provider_action_required",
                      "by": "sandbox",
                      "reason_code": null
                    }
                  ],
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "updated_at": "2026-10-19T15:00:00.000Z",
                  "submitted_at": "2026-10-19T15:00:00.000Z",
                  "status_changed_at": "2026-10-19T15:00:00.000Z",
                  "sent_to_payer_at": null,
                  "live_at": null,
                  "ended_at": null,
                  "cancel_requested_at": null,
                  "requirements_url": "/v1/enrollment-requirements/PWSANDBOX?transaction=remittances",
                  "warnings": []
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnrollmentBody"
              },
              "example": {
                "provider_id": "prv_01a154ad358043763d71b95c",
                "payer": {
                  "id": "PWSANDBOX"
                },
                "transaction": "remittances",
                "primary_contact": {
                  "organization_name": "Sample Family Clinic LLC",
                  "email": "enrollment@sampleclinic.example",
                  "phone": "8015550100",
                  "address": {
                    "line1": "100 Main St",
                    "city": "Salt Lake City",
                    "state": "UT",
                    "zip": "84101"
                  }
                },
                "notify_email": "dev@sampleclinic.example",
                "submit": true
              }
            }
          }
        }
      },
      "get": {
        "summary": "List your enrollments",
        "description": "Newest first, each with its status, whose turn it is and its open tasks. Filter with status, transaction, payer_id, provider_id, npi, waiting_on and the created and updated dates. A page may hold fewer than limit, so keep paging while has_more is true.",
        "operationId": "getV1Enrollments",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnrollmentList"
                },
                "example": {
                  "data": [
                    {
                      "object": "enrollment",
                      "id": "enr_01a154ad35808fafb0295307",
                      "mode": "test",
                      "provider": {
                        "id": "prv_01a154ad358043763d71b95c",
                        "name": "Sample Family Clinic TASKS",
                        "npi": "1234567893",
                        "tax_id_last_four": "6789"
                      },
                      "payer": {
                        "id": "PWSANDBOX",
                        "name": "PAYERWORKS SANDBOX PAYER",
                        "sandbox": true
                      },
                      "transaction": "remittances",
                      "x12": "835",
                      "status": "provider_action_required",
                      "status_words": "Waiting on the provider: 2 steps below need the provider. Finish them in order.",
                      "waiting_on": "provider",
                      "reason_code": null,
                      "route": {
                        "open": true,
                        "sandbox": true,
                        "words": "The sandbox payer answers every enrollment in the sandbox. Nothing is sent anywhere."
                      },
                      "notify_email": "dev@sampleclinic.example",
                      "requested_effective_date": null,
                      "era_aggregation": null,
                      "ptan": null,
                      "note": "",
                      "tasks": [
                        {
                          "id": "tsk_01a154ad35808fafb0295307_01",
                          "rank": 0,
                          "responsible": "provider",
                          "title": "Give the sandbox payer’s packet number",
                          "instructions": "Sandbox: the payer emailed a packet number when the provider finished its form. Enter it here.",
                          "fields": [
                            {
                              "key": "packet_id",
                              "label": "Packet number",
                              "type": "text",
                              "format": "identifier",
                              "required": true,
                              "description": ""
                            }
                          ],
                          "links": [],
                          "template_document_id": null,
                          "values": [],
                          "complete": false,
                          "completed_at": null,
                          "created_at": "2026-10-19T15:00:00.000Z"
                        },
                        {
                          "id": "tsk_01a154ad35808fafb0295307_02",
                          "rank": 1,
                          "responsible": "provider",
                          "title": "Finish the sandbox payer’s steps",
                          "instructions": "Sandbox: these steps happen on the payer’s own site. Mark this task complete, with no values, once they are done.",
                          "fields": [],
                          "links": [],
                          "template_document_id": null,
                          "values": [],
                          "complete": false,
                          "completed_at": null,
                          "created_at": "2026-10-19T15:00:00.000Z"
                        }
                      ],
                      "documents": [],
                      "rejection": null,
                      "payer_reference": null,
                      "created_at": "2026-10-19T15:00:00.000Z",
                      "updated_at": "2026-10-19T15:00:00.000Z",
                      "submitted_at": "2026-10-19T15:00:00.000Z",
                      "status_changed_at": "2026-10-19T15:00:00.000Z",
                      "sent_to_payer_at": null,
                      "live_at": null,
                      "ended_at": null,
                      "cancel_requested_at": null,
                      "requirements_url": "/v1/enrollment-requirements/PWSANDBOX?transaction=remittances",
                      "open_tasks": 2
                    },
                    {
                      "object": "enrollment",
                      "id": "enr_01a154ad35802c85a436872c",
                      "mode": "test",
                      "provider": {
                        "id": "prv_01a154ad35807d5d51823b6e",
                        "name": "Sample Family Clinic SLOW",
                        "npi": "1234567893",
                        "tax_id_last_four": "6789"
                      },
                      "payer": {
                        "id": "PWSANDBOX",
                        "name": "PAYERWORKS SANDBOX PAYER",
                        "sandbox": true
                      },
                      "transaction": "remittances",
                      "x12": "835",
                      "status": "with_payer",
                      "status_words": "Sandbox: waiting on the sandbox payer. Nothing was sent anywhere; advance moves it on.",
                      "waiting_on": "payer",
                      "reason_code": null,
                      "route": {
                        "open": true,
                        "sandbox": true,
                        "words": "The sandbox payer answers every enrollment in the sandbox. Nothing is sent anywhere."
                      },
                      "notify_email": "dev@sampleclinic.example",
                      "requested_effective_date": null,
                      "era_aggregation": null,
                      "ptan": null,
                      "note": "",
                      "tasks": [],
                      "documents": [],
                      "rejection": null,
                      "payer_reference": null,
                      "created_at": "2026-10-19T15:00:00.000Z",
                      "updated_at": "2026-10-19T15:00:00.000Z",
                      "submitted_at": "2026-10-19T15:00:00.000Z",
                      "status_changed_at": "2026-10-19T15:00:00.000Z",
                      "sent_to_payer_at": "2026-10-19T15:00:00.000Z",
                      "live_at": null,
                      "ended_at": null,
                      "cancel_requested_at": null,
                      "requirements_url": "/v1/enrollment-requirements/PWSANDBOX?transaction=remittances",
                      "open_tasks": 0
                    }
                  ],
                  "has_more": false,
                  "next_cursor": null
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            },
            "description": "How many a page holds, 1 to 100."
          },
          {
            "name": "starting_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "The next_cursor of the page before, or the id of a enrollment on it."
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "One or more statuses, separated by commas: draft, payerworks_action_required, provider_action_required, with_payer, live, rejected, canceled, ended."
          },
          {
            "name": "transaction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "eligibility",
                "claim_status",
                "professional_claims",
                "remittances"
              ]
            }
          },
          {
            "name": "payer_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "provider_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "npi",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{10}$"
            }
          },
          {
            "name": "waiting_on",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "you",
                "provider",
                "payerworks",
                "payer"
              ]
            },
            "description": "Only requests that are this party’s turn."
          },
          {
            "name": "created_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A day (YYYY-MM-DD, its 00:00 UTC) or an instant; inclusive."
          },
          {
            "name": "created_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A day (YYYY-MM-DD, its 00:00 UTC) or an instant; exclusive."
          },
          {
            "name": "updated_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A day (YYYY-MM-DD, its 00:00 UTC) or an instant; inclusive."
          },
          {
            "name": "updated_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A day (YYYY-MM-DD, its 00:00 UTC) or an instant; exclusive."
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/enrollments/{id}": {
      "get": {
        "summary": "One enrollment",
        "description": "Its status and whose turn it is, in words; its tasks in rank order, its documents, notes from Payerworks, a rejection with its remedy, and the history of every status change.",
        "operationId": "getV1EnrollmentsById",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Enrollment"
                },
                "example": {
                  "object": "enrollment",
                  "id": "enr_01a154ad35808fafb0295307",
                  "mode": "test",
                  "provider": {
                    "id": "prv_01a154ad358043763d71b95c",
                    "name": "Sample Family Clinic TASKS",
                    "npi": "1234567893",
                    "tax_id_last_four": "6789"
                  },
                  "payer": {
                    "id": "PWSANDBOX",
                    "name": "PAYERWORKS SANDBOX PAYER",
                    "sandbox": true
                  },
                  "transaction": "remittances",
                  "x12": "835",
                  "status": "provider_action_required",
                  "status_words": "Waiting on the provider: 1 step below needs the provider. Finish it, in rank order after any step before it.",
                  "waiting_on": "provider",
                  "reason_code": null,
                  "route": {
                    "open": true,
                    "sandbox": true,
                    "words": "The sandbox payer answers every enrollment in the sandbox. Nothing is sent anywhere."
                  },
                  "primary_contact": {
                    "organization_name": "Sample Family Clinic LLC",
                    "first_name": null,
                    "last_name": null,
                    "email": "enrollment@sampleclinic.example",
                    "phone": "8015550100",
                    "phone_extension": null,
                    "address": {
                      "line1": "100 Main St",
                      "line2": null,
                      "city": "Salt Lake City",
                      "state": "UT",
                      "zip": "84101"
                    }
                  },
                  "notify_email": "dev@sampleclinic.example",
                  "requested_effective_date": null,
                  "era_aggregation": null,
                  "ptan": null,
                  "note": "",
                  "tasks": [
                    {
                      "id": "tsk_01a154ad35808fafb0295307_01",
                      "rank": 0,
                      "responsible": "provider",
                      "title": "Give the sandbox payer’s packet number",
                      "instructions": "Sandbox: the payer emailed a packet number when the provider finished its form. Enter it here.",
                      "fields": [
                        {
                          "key": "packet_id",
                          "label": "Packet number",
                          "type": "text",
                          "format": "identifier",
                          "required": true,
                          "description": ""
                        }
                      ],
                      "links": [],
                      "template_document_id": null,
                      "values": [
                        {
                          "key": "packet_id",
                          "text": "PKT-0001"
                        }
                      ],
                      "complete": true,
                      "completed_at": "2026-10-19T15:00:00.000Z",
                      "created_at": "2026-10-19T15:00:00.000Z"
                    },
                    {
                      "id": "tsk_01a154ad35808fafb0295307_02",
                      "rank": 1,
                      "responsible": "provider",
                      "title": "Finish the sandbox payer’s steps",
                      "instructions": "Sandbox: these steps happen on the payer’s own site. Mark this task complete, with no values, once they are done.",
                      "fields": [],
                      "links": [],
                      "template_document_id": null,
                      "values": [],
                      "complete": false,
                      "completed_at": null,
                      "created_at": "2026-10-19T15:00:00.000Z"
                    }
                  ],
                  "documents": [],
                  "notes": [],
                  "rejection": null,
                  "payer_reference": null,
                  "history": [
                    {
                      "sequence": 1,
                      "at": "2026-10-19T15:00:00.000Z",
                      "from": null,
                      "to": "payerworks_action_required",
                      "by": "you",
                      "reason_code": "preparing"
                    },
                    {
                      "sequence": 3,
                      "at": "2026-10-19T15:00:00.000Z",
                      "from": "payerworks_action_required",
                      "to": "provider_action_required",
                      "by": "sandbox",
                      "reason_code": null
                    }
                  ],
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "updated_at": "2026-10-19T15:00:00.000Z",
                  "submitted_at": "2026-10-19T15:00:00.000Z",
                  "status_changed_at": "2026-10-19T15:00:00.000Z",
                  "sent_to_payer_at": null,
                  "live_at": null,
                  "ended_at": null,
                  "cancel_requested_at": null,
                  "requirements_url": "/v1/enrollment-requirements/PWSANDBOX?transaction=remittances"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "enr_01a154ad35808fafb0295307"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      },
      "post": {
        "summary": "Change an enrollment",
        "description": "The contact, the notice email, the effective date, the remittance grouping, the PTAN or your note, until the request is sent to a payer; while it is a draft, the payer and the transaction too.",
        "operationId": "postV1EnrollmentsById",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Enrollment"
                },
                "example": {
                  "object": "enrollment",
                  "id": "enr_01a154ad35808fafb0295307",
                  "mode": "test",
                  "provider": {
                    "id": "prv_01a154ad358043763d71b95c",
                    "name": "Sample Family Clinic TASKS",
                    "npi": "1234567893",
                    "tax_id_last_four": "6789"
                  },
                  "payer": {
                    "id": "PWSANDBOX",
                    "name": "PAYERWORKS SANDBOX PAYER",
                    "sandbox": true
                  },
                  "transaction": "remittances",
                  "x12": "835",
                  "status": "provider_action_required",
                  "status_words": "Waiting on the provider: 1 step below needs the provider. Finish it, in rank order after any step before it.",
                  "waiting_on": "provider",
                  "reason_code": null,
                  "route": {
                    "open": true,
                    "sandbox": true,
                    "words": "The sandbox payer answers every enrollment in the sandbox. Nothing is sent anywhere."
                  },
                  "primary_contact": {
                    "organization_name": "Sample Family Clinic LLC",
                    "first_name": null,
                    "last_name": null,
                    "email": "enrollment@sampleclinic.example",
                    "phone": "8015550100",
                    "phone_extension": null,
                    "address": {
                      "line1": "100 Main St",
                      "line2": null,
                      "city": "Salt Lake City",
                      "state": "UT",
                      "zip": "84101"
                    }
                  },
                  "notify_email": "dev@sampleclinic.example",
                  "requested_effective_date": null,
                  "era_aggregation": null,
                  "ptan": null,
                  "note": "",
                  "tasks": [
                    {
                      "id": "tsk_01a154ad35808fafb0295307_01",
                      "rank": 0,
                      "responsible": "provider",
                      "title": "Give the sandbox payer’s packet number",
                      "instructions": "Sandbox: the payer emailed a packet number when the provider finished its form. Enter it here.",
                      "fields": [
                        {
                          "key": "packet_id",
                          "label": "Packet number",
                          "type": "text",
                          "format": "identifier",
                          "required": true,
                          "description": ""
                        }
                      ],
                      "links": [],
                      "template_document_id": null,
                      "values": [
                        {
                          "key": "packet_id",
                          "text": "PKT-0001"
                        }
                      ],
                      "complete": true,
                      "completed_at": "2026-10-19T15:00:00.000Z",
                      "created_at": "2026-10-19T15:00:00.000Z"
                    },
                    {
                      "id": "tsk_01a154ad35808fafb0295307_02",
                      "rank": 1,
                      "responsible": "provider",
                      "title": "Finish the sandbox payer’s steps",
                      "instructions": "Sandbox: these steps happen on the payer’s own site. Mark this task complete, with no values, once they are done.",
                      "fields": [],
                      "links": [],
                      "template_document_id": null,
                      "values": [],
                      "complete": false,
                      "completed_at": null,
                      "created_at": "2026-10-19T15:00:00.000Z"
                    }
                  ],
                  "documents": [],
                  "notes": [],
                  "rejection": null,
                  "payer_reference": null,
                  "history": [
                    {
                      "sequence": 1,
                      "at": "2026-10-19T15:00:00.000Z",
                      "from": null,
                      "to": "payerworks_action_required",
                      "by": "you",
                      "reason_code": "preparing"
                    },
                    {
                      "sequence": 3,
                      "at": "2026-10-19T15:00:00.000Z",
                      "from": "payerworks_action_required",
                      "to": "provider_action_required",
                      "by": "sandbox",
                      "reason_code": null
                    }
                  ],
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "updated_at": "2026-10-19T15:00:00.000Z",
                  "submitted_at": "2026-10-19T15:00:00.000Z",
                  "status_changed_at": "2026-10-19T15:00:00.000Z",
                  "sent_to_payer_at": null,
                  "live_at": null,
                  "ended_at": null,
                  "cancel_requested_at": null,
                  "requirements_url": "/v1/enrollment-requirements/PWSANDBOX?transaction=remittances"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "enr_01a154ad35808fafb0295307"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnrollmentUpdateBody"
              },
              "example": {
                "note": "Our remittances go to the billing office."
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Delete an enrollment",
        "description": "A draft, a canceled or a rejected request. Deleting again answers the same.",
        "operationId": "deleteV1EnrollmentsById",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Deleted"
                },
                "example": {
                  "deleted": true,
                  "id": "enr_01a154ad35808fafb0295307"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "enr_01a154ad35808fafb0295307"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/enrollments/{id}/submit": {
      "post": {
        "summary": "Submit a draft",
        "description": "The draft is checked again and handed to Payerworks.",
        "operationId": "postV1EnrollmentsByIdSubmit",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Enrollment"
                },
                "example": {
                  "object": "enrollment",
                  "id": "enr_01a154ad3580afd6446277eb",
                  "mode": "test",
                  "provider": {
                    "id": "prv_01a154ad35802482aa01ccf0",
                    "name": "Sample Family Clinic WAITS",
                    "npi": "1234567893",
                    "tax_id_last_four": "6789"
                  },
                  "payer": {
                    "id": "PWSANDBOX",
                    "name": "PAYERWORKS SANDBOX PAYER",
                    "sandbox": true
                  },
                  "transaction": "remittances",
                  "x12": "835",
                  "status": "payerworks_action_required",
                  "status_words": "Waiting on Payerworks. Payerworks is not yet registered to exchange 835 files with PAYERWORKS SANDBOX PAYER, so nothing has been sent to the payer. Your request waits here, and you can change or cancel it until it is sent.",
                  "waiting_on": "payerworks",
                  "reason_code": "route_not_open",
                  "route": {
                    "open": true,
                    "sandbox": true,
                    "words": "The sandbox payer answers every enrollment in the sandbox. Nothing is sent anywhere."
                  },
                  "primary_contact": {
                    "organization_name": "Sample Family Clinic LLC",
                    "first_name": null,
                    "last_name": null,
                    "email": "enrollment@sampleclinic.example",
                    "phone": "8015550100",
                    "phone_extension": null,
                    "address": {
                      "line1": "100 Main St",
                      "line2": null,
                      "city": "Salt Lake City",
                      "state": "UT",
                      "zip": "84101"
                    }
                  },
                  "notify_email": "dev@sampleclinic.example",
                  "requested_effective_date": null,
                  "era_aggregation": null,
                  "ptan": null,
                  "note": "",
                  "tasks": [],
                  "documents": [],
                  "notes": [],
                  "rejection": null,
                  "payer_reference": null,
                  "history": [
                    {
                      "sequence": 1,
                      "at": "2026-10-19T15:00:00.000Z",
                      "from": null,
                      "to": "draft",
                      "by": "you",
                      "reason_code": null
                    },
                    {
                      "sequence": 2,
                      "at": "2026-10-19T15:00:00.000Z",
                      "from": "draft",
                      "to": "payerworks_action_required",
                      "by": "you",
                      "reason_code": "route_not_open"
                    }
                  ],
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "updated_at": "2026-10-19T15:00:00.000Z",
                  "submitted_at": "2026-10-19T15:00:00.000Z",
                  "status_changed_at": "2026-10-19T15:00:00.000Z",
                  "sent_to_payer_at": null,
                  "live_at": null,
                  "ended_at": null,
                  "cancel_requested_at": null,
                  "requirements_url": "/v1/enrollment-requirements/PWSANDBOX?transaction=remittances",
                  "warnings": []
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "enr_01a154ad3580afd6446277eb"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/enrollments/{id}/cancel": {
      "post": {
        "summary": "Cancel an enrollment",
        "description": "In any open status. Before it is sent to a payer it is canceled at once; once it is with a payer, or live, the answer is 202 and Payerworks withdraws it.",
        "operationId": "postV1EnrollmentsByIdCancel",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Enrollment"
                },
                "example": {
                  "object": "enrollment",
                  "id": "enr_01a154ad35808fafb0295307",
                  "mode": "test",
                  "provider": {
                    "id": "prv_01a154ad358043763d71b95c",
                    "name": "Sample Family Clinic TASKS",
                    "npi": "1234567893",
                    "tax_id_last_four": "6789"
                  },
                  "payer": {
                    "id": "PWSANDBOX",
                    "name": "PAYERWORKS SANDBOX PAYER",
                    "sandbox": true
                  },
                  "transaction": "remittances",
                  "x12": "835",
                  "status": "canceled",
                  "status_words": "Canceled. Nothing more happens to this request.",
                  "waiting_on": null,
                  "reason_code": null,
                  "route": {
                    "open": true,
                    "sandbox": true,
                    "words": "The sandbox payer answers every enrollment in the sandbox. Nothing is sent anywhere."
                  },
                  "primary_contact": {
                    "organization_name": "Sample Family Clinic LLC",
                    "first_name": null,
                    "last_name": null,
                    "email": "enrollment@sampleclinic.example",
                    "phone": "8015550100",
                    "phone_extension": null,
                    "address": {
                      "line1": "100 Main St",
                      "line2": null,
                      "city": "Salt Lake City",
                      "state": "UT",
                      "zip": "84101"
                    }
                  },
                  "notify_email": "dev@sampleclinic.example",
                  "requested_effective_date": null,
                  "era_aggregation": null,
                  "ptan": null,
                  "note": "",
                  "tasks": [
                    {
                      "id": "tsk_01a154ad35808fafb0295307_01",
                      "rank": 0,
                      "responsible": "provider",
                      "title": "Give the sandbox payer’s packet number",
                      "instructions": "Sandbox: the payer emailed a packet number when the provider finished its form. Enter it here.",
                      "fields": [
                        {
                          "key": "packet_id",
                          "label": "Packet number",
                          "type": "text",
                          "format": "identifier",
                          "required": true,
                          "description": ""
                        }
                      ],
                      "links": [],
                      "template_document_id": null,
                      "values": [],
                      "complete": false,
                      "completed_at": null,
                      "created_at": "2026-10-19T15:00:00.000Z"
                    },
                    {
                      "id": "tsk_01a154ad35808fafb0295307_02",
                      "rank": 1,
                      "responsible": "provider",
                      "title": "Finish the sandbox payer’s steps",
                      "instructions": "Sandbox: these steps happen on the payer’s own site. Mark this task complete, with no values, once they are done.",
                      "fields": [],
                      "links": [],
                      "template_document_id": null,
                      "values": [],
                      "complete": false,
                      "completed_at": null,
                      "created_at": "2026-10-19T15:00:00.000Z"
                    }
                  ],
                  "documents": [],
                  "notes": [],
                  "rejection": null,
                  "payer_reference": null,
                  "history": [
                    {
                      "sequence": 1,
                      "at": "2026-10-19T15:00:00.000Z",
                      "from": null,
                      "to": "payerworks_action_required",
                      "by": "you",
                      "reason_code": "preparing"
                    },
                    {
                      "sequence": 3,
                      "at": "2026-10-19T15:00:00.000Z",
                      "from": "payerworks_action_required",
                      "to": "provider_action_required",
                      "by": "sandbox",
                      "reason_code": null
                    },
                    {
                      "sequence": 5,
                      "at": "2026-10-19T15:00:00.000Z",
                      "from": "provider_action_required",
                      "to": "canceled",
                      "by": "you",
                      "reason_code": null
                    }
                  ],
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "updated_at": "2026-10-19T15:00:00.000Z",
                  "submitted_at": "2026-10-19T15:00:00.000Z",
                  "status_changed_at": "2026-10-19T15:00:00.000Z",
                  "sent_to_payer_at": null,
                  "live_at": null,
                  "ended_at": "2026-10-19T15:00:00.000Z",
                  "cancel_requested_at": null,
                  "requirements_url": "/v1/enrollment-requirements/PWSANDBOX?transaction=remittances"
                }
              }
            }
          },
          "202": {
            "description": "Asked: the request is with the payer or live, so cancel_requested_at is set and Payerworks withdraws it.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Enrollment"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "enr_01a154ad35808fafb0295307"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelBody"
              },
              "example": {
                "reason": "Filed by mistake."
              }
            }
          }
        }
      }
    },
    "/v1/tasks/{id}": {
      "post": {
        "summary": "Answer a task",
        "description": "Save a task’s values, text or an uploaded document, and finish it with complete: true, in rank order. A task held up by an earlier one is refused naming that task, its rank and who holds it, Payerworks included. complete: false reopens a task finished by mistake while nothing has gone to a payer.",
        "operationId": "postV1TasksById",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TaskAnswer"
                },
                "example": {
                  "task": {
                    "id": "tsk_01a154ad35808fafb0295307_01",
                    "rank": 0,
                    "responsible": "provider",
                    "title": "Give the sandbox payer’s packet number",
                    "instructions": "Sandbox: the payer emailed a packet number when the provider finished its form. Enter it here.",
                    "fields": [
                      {
                        "key": "packet_id",
                        "label": "Packet number",
                        "type": "text",
                        "format": "identifier",
                        "required": true,
                        "description": ""
                      }
                    ],
                    "links": [],
                    "template_document_id": null,
                    "values": [
                      {
                        "key": "packet_id",
                        "text": "PKT-0001"
                      }
                    ],
                    "complete": true,
                    "completed_at": "2026-10-19T15:00:00.000Z",
                    "created_at": "2026-10-19T15:00:00.000Z"
                  },
                  "enrollment": {
                    "object": "enrollment",
                    "id": "enr_01a154ad35808fafb0295307",
                    "mode": "test",
                    "provider": {
                      "id": "prv_01a154ad358043763d71b95c",
                      "name": "Sample Family Clinic TASKS",
                      "npi": "1234567893",
                      "tax_id_last_four": "6789"
                    },
                    "payer": {
                      "id": "PWSANDBOX",
                      "name": "PAYERWORKS SANDBOX PAYER",
                      "sandbox": true
                    },
                    "transaction": "remittances",
                    "x12": "835",
                    "status": "provider_action_required",
                    "status_words": "Waiting on the provider: 1 step below needs the provider. Finish it, in rank order after any step before it.",
                    "waiting_on": "provider",
                    "reason_code": null,
                    "route": {
                      "open": true,
                      "sandbox": true,
                      "words": "The sandbox payer answers every enrollment in the sandbox. Nothing is sent anywhere."
                    },
                    "primary_contact": {
                      "organization_name": "Sample Family Clinic LLC",
                      "first_name": null,
                      "last_name": null,
                      "email": "enrollment@sampleclinic.example",
                      "phone": "8015550100",
                      "phone_extension": null,
                      "address": {
                        "line1": "100 Main St",
                        "line2": null,
                        "city": "Salt Lake City",
                        "state": "UT",
                        "zip": "84101"
                      }
                    },
                    "notify_email": "dev@sampleclinic.example",
                    "requested_effective_date": null,
                    "era_aggregation": null,
                    "ptan": null,
                    "note": "",
                    "tasks": [
                      {
                        "id": "tsk_01a154ad35808fafb0295307_01",
                        "rank": 0,
                        "responsible": "provider",
                        "title": "Give the sandbox payer’s packet number",
                        "instructions": "Sandbox: the payer emailed a packet number when the provider finished its form. Enter it here.",
                        "fields": [
                          {
                            "key": "packet_id",
                            "label": "Packet number",
                            "type": "text",
                            "format": "identifier",
                            "required": true,
                            "description": ""
                          }
                        ],
                        "links": [],
                        "template_document_id": null,
                        "values": [
                          {
                            "key": "packet_id",
                            "text": "PKT-0001"
                          }
                        ],
                        "complete": true,
                        "completed_at": "2026-10-19T15:00:00.000Z",
                        "created_at": "2026-10-19T15:00:00.000Z"
                      },
                      {
                        "id": "tsk_01a154ad35808fafb0295307_02",
                        "rank": 1,
                        "responsible": "provider",
                        "title": "Finish the sandbox payer’s steps",
                        "instructions": "Sandbox: these steps happen on the payer’s own site. Mark this task complete, with no values, once they are done.",
                        "fields": [],
                        "links": [],
                        "template_document_id": null,
                        "values": [],
                        "complete": false,
                        "completed_at": null,
                        "created_at": "2026-10-19T15:00:00.000Z"
                      }
                    ],
                    "documents": [],
                    "notes": [],
                    "rejection": null,
                    "payer_reference": null,
                    "history": [
                      {
                        "sequence": 1,
                        "at": "2026-10-19T15:00:00.000Z",
                        "from": null,
                        "to": "payerworks_action_required",
                        "by": "you",
                        "reason_code": "preparing"
                      },
                      {
                        "sequence": 3,
                        "at": "2026-10-19T15:00:00.000Z",
                        "from": "payerworks_action_required",
                        "to": "provider_action_required",
                        "by": "sandbox",
                        "reason_code": null
                      }
                    ],
                    "created_at": "2026-10-19T15:00:00.000Z",
                    "updated_at": "2026-10-19T15:00:00.000Z",
                    "submitted_at": "2026-10-19T15:00:00.000Z",
                    "status_changed_at": "2026-10-19T15:00:00.000Z",
                    "sent_to_payer_at": null,
                    "live_at": null,
                    "ended_at": null,
                    "cancel_requested_at": null,
                    "requirements_url": "/v1/enrollment-requirements/PWSANDBOX?transaction=remittances"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "tsk_01a154ad35808fafb0295307_01"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TaskBody"
              },
              "example": {
                "values": [
                  {
                    "key": "packet_id",
                    "text": "PKT-0001"
                  }
                ],
                "complete": true
              }
            }
          }
        }
      }
    },
    "/v1/enrollments/{id}/documents": {
      "post": {
        "summary": "Upload a PDF for a task",
        "description": "A signed upload address for one PDF of up to 10 MB, good for 15 minutes. Post the file there, then confirm it, or finish the task with its document_id, which confirms it too.",
        "operationId": "postV1EnrollmentsByIdDocuments",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "201": {
            "description": "Made.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentUpload"
                },
                "example": {
                  "document": {
                    "id": "doc_01a154ad358059512fd26707_e8039f84",
                    "task_id": "tsk_01a154ad358059512fd26707_01",
                    "field_key": "signed_form",
                    "filename": "signed-form.pdf",
                    "status": "pending",
                    "size": null,
                    "content_type": "application/pdf",
                    "source": "you",
                    "created_at": "2026-10-19T15:00:00.000Z",
                    "uploaded_at": null
                  },
                  "upload": {
                    "url": "https://uploads.example.com/",
                    "method": "POST",
                    "fields": {
                      "key": "pending/pwk_0123456789abcdef/enr_01a154ad358059512fd26707/doc_01a154ad358059512fd26707_e8039f84.pdf",
                      "Content-Type": "application/pdf"
                    },
                    "expires_at": "2026-10-19T15:15:00.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "enr_01a154ad358059512fd26707"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DocumentRequestBody"
              },
              "example": {
                "task_id": "tsk_01a154ad358059512fd26707_01",
                "field_key": "signed_form",
                "filename": "signed-form.pdf"
              }
            }
          }
        }
      }
    },
    "/v1/documents/{id}/confirm": {
      "post": {
        "summary": "Confirm an upload",
        "description": "Checks that the file arrived and is a PDF of up to 10 MB. One that is not is deleted, and the document is marked failed.",
        "operationId": "postV1DocumentsByIdConfirm",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Document"
                },
                "example": {
                  "id": "doc_01a154ad358059512fd26707_e8039f84",
                  "task_id": "tsk_01a154ad358059512fd26707_01",
                  "field_key": "signed_form",
                  "filename": "signed-form.pdf",
                  "status": "uploaded",
                  "size": 48213,
                  "content_type": "application/pdf",
                  "source": "you",
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "uploaded_at": "2026-10-19T15:00:00.000Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "doc_01a154ad358059512fd26707_e8039f84"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/documents/{id}": {
      "get": {
        "summary": "Download a document",
        "description": "A signed download address, good for 15 minutes, for a PDF you uploaded or a form Payerworks attached to a task.",
        "operationId": "getV1DocumentsById",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocumentDownload"
                },
                "example": {
                  "document": {
                    "id": "doc_01a154ad358059512fd26707_e8039f84",
                    "task_id": "tsk_01a154ad358059512fd26707_01",
                    "field_key": "signed_form",
                    "filename": "signed-form.pdf",
                    "status": "uploaded",
                    "size": 48213,
                    "content_type": "application/pdf",
                    "source": "you",
                    "created_at": "2026-10-19T15:00:00.000Z",
                    "uploaded_at": "2026-10-19T15:00:00.000Z"
                  },
                  "download": {
                    "url": "https://downloads.example.com/signed-form.pdf",
                    "expires_at": "2026-10-19T15:15:00.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "doc_01a154ad358059512fd26707_e8039f84"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      },
      "delete": {
        "summary": "Delete a document",
        "description": "Refused while a finished task names it: reopen the task first. Deleting again answers the same.",
        "operationId": "deleteV1DocumentsById",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Deleted"
                },
                "example": {
                  "deleted": true,
                  "id": "doc_01a154ad358059512fd26707_e8039f84"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "doc_01a154ad358059512fd26707_e8039f84"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/enrollment-requirements": {
      "get": {
        "summary": "Payers with published steps",
        "description": "Every payer Payerworks holds published enrollment steps for, the four Medicare DME MACs and CMS’s HETS, and the sandbox payer: per transaction, who files, the fields needed and each step, with its source and the day it was read.",
        "operationId": "getV1EnrollmentRequirements",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RequirementsIndex"
                },
                "example": {
                  "object": "list",
                  "data": [
                    {
                      "payer": {
                        "id": "16013",
                        "name": "Medicare DME MAC Jurisdiction A",
                        "sandbox": false
                      },
                      "transactions": [
                        {
                          "transaction": "eligibility",
                          "x12": "270/271",
                          "applies": false
                        },
                        {
                          "transaction": "claim_status",
                          "x12": "276/277",
                          "applies": true
                        },
                        {
                          "transaction": "professional_claims",
                          "x12": "837P",
                          "applies": true
                        },
                        {
                          "transaction": "remittances",
                          "x12": "835",
                          "applies": true
                        }
                      ]
                    },
                    {
                      "payer": {
                        "id": "17013",
                        "name": "Medicare DME MAC Jurisdiction B",
                        "sandbox": false
                      },
                      "transactions": [
                        {
                          "transaction": "eligibility",
                          "x12": "270/271",
                          "applies": false
                        },
                        {
                          "transaction": "claim_status",
                          "x12": "276/277",
                          "applies": true
                        },
                        {
                          "transaction": "professional_claims",
                          "x12": "837P",
                          "applies": true
                        },
                        {
                          "transaction": "remittances",
                          "x12": "835",
                          "applies": true
                        }
                      ]
                    },
                    {
                      "payer": {
                        "id": "18003",
                        "name": "Medicare DME MAC Jurisdiction C",
                        "sandbox": false
                      },
                      "transactions": [
                        {
                          "transaction": "eligibility",
                          "x12": "270/271",
                          "applies": false
                        },
                        {
                          "transaction": "claim_status",
                          "x12": "276/277",
                          "applies": true
                        },
                        {
                          "transaction": "professional_claims",
                          "x12": "837P",
                          "applies": true
                        },
                        {
                          "transaction": "remittances",
                          "x12": "835",
                          "applies": true
                        }
                      ]
                    },
                    {
                      "payer": {
                        "id": "19003",
                        "name": "Medicare DME MAC Jurisdiction D",
                        "sandbox": false
                      },
                      "transactions": [
                        {
                          "transaction": "eligibility",
                          "x12": "270/271",
                          "applies": false
                        },
                        {
                          "transaction": "claim_status",
                          "x12": "276/277",
                          "applies": true
                        },
                        {
                          "transaction": "professional_claims",
                          "x12": "837P",
                          "applies": true
                        },
                        {
                          "transaction": "remittances",
                          "x12": "835",
                          "applies": true
                        }
                      ]
                    },
                    {
                      "payer": {
                        "id": "CMS",
                        "name": "CMS HETS (Medicare eligibility)",
                        "sandbox": false
                      },
                      "transactions": [
                        {
                          "transaction": "eligibility",
                          "x12": "270/271",
                          "applies": true
                        },
                        {
                          "transaction": "claim_status",
                          "x12": "276/277",
                          "applies": false
                        },
                        {
                          "transaction": "professional_claims",
                          "x12": "837P",
                          "applies": false
                        },
                        {
                          "transaction": "remittances",
                          "x12": "835",
                          "applies": false
                        }
                      ]
                    },
                    {
                      "payer": {
                        "id": "PWSANDBOX",
                        "name": "PAYERWORKS SANDBOX PAYER",
                        "sandbox": true
                      },
                      "transactions": [
                        {
                          "transaction": "eligibility",
                          "x12": "270/271",
                          "applies": true
                        },
                        {
                          "transaction": "claim_status",
                          "x12": "276/277",
                          "applies": true
                        },
                        {
                          "transaction": "professional_claims",
                          "x12": "837P",
                          "applies": true
                        },
                        {
                          "transaction": "remittances",
                          "x12": "835",
                          "applies": true
                        }
                      ]
                    }
                  ],
                  "checked_on": "2026-10-19",
                  "scope": "The payers Payerworks holds published enrollment steps for, and the sandbox payer. Every other payer id answers published: false with no steps; that never means nothing is required."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/v1/enrollment-requirements/{payer_id}": {
      "get": {
        "summary": "What a payer asks",
        "description": "For any payer id, per transaction: whether Payerworks’ route is open, who files, the fields needed and each published step with its source. A payer Payerworks holds nothing for answers published: false, never not required. Add ?transaction= for one.",
        "operationId": "getV1EnrollmentRequirementsByPayerId",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnrollmentRequirements"
                },
                "example": {
                  "object": "enrollment_requirements",
                  "payer": {
                    "id": "19003",
                    "name": "Medicare DME MAC Jurisdiction D",
                    "sandbox": false
                  },
                  "published": true,
                  "checked_on": "2026-10-19",
                  "transactions": [
                    {
                      "transaction": "eligibility",
                      "x12": "270/271",
                      "applies": false,
                      "ask": {
                        "payer_id": "CMS",
                        "words": "Traditional Medicare eligibility is asked of CMS’s HETS, not a DME MAC. File eligibility with payer CMS.",
                        "source": {
                          "url": "https://www.cms.gov/data-research/cms-information-technology/hipaa-eligibility-transaction-system-hets/hets-electronic-data-interchange-edi-enrollment",
                          "label": "CMS: HETS EDI Enrollment (page last modified 10/13/2026)",
                          "checked_on": "2026-10-19"
                        }
                      }
                    },
                    {
                      "transaction": "claim_status",
                      "x12": "276/277",
                      "applies": true,
                      "route": {
                        "open": false,
                        "waiting_on": "payerworks",
                        "words": "Payerworks is not yet a CEDI trading partner, so it cannot exchange 276/277 files with any DME MAC. A request for this waits at payerworks_action_required and nothing is sent."
                      },
                      "where": {
                        "name": "CEDI, the front end for all four DME MACs",
                        "url": "https://cedi.wellpointfederal.com/enrollment"
                      },
                      "who_files": "provider",
                      "fields_required": [
                        "ptan"
                      ],
                      "steps": [
                        {
                          "key": "npi_active_in_pecos",
                          "who": "provider",
                          "words": "The provider’s NPI is active in PECOS, Medicare’s enrollment system. CEDI checks it before it signs the provider up for EDI, and denies the EDI agreement when it cannot find it.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.1",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "edi_agreement",
                          "who": "provider",
                          "words": "Every provider that exchanges files with Medicare, directly or through a clearinghouse, signs the EDI enrollment agreement before CEDI accepts its claims or sends it any file. For the DME MACs that agreement is CEDI’s online packet.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.2",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "online_only",
                          "who": "provider",
                          "words": "The CEDI packet is filled in and submitted online, not faxed, and one packet is processed the same way for all four DME MAC jurisdictions.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/298616/DME_CEDI_FAQ.pdf/5b891dee-4847-d113-e04d-ba5130fb36ae",
                            "label": "CEDI Frequently Asked Questions (last revision 03/19/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "ptan",
                          "who": "provider",
                          "words": "The packet lists the supplier’s NPI with its PTAN, the 10-digit DME supplier number the national supplier enrollment contractor assigned. Up to 25 NPI and PTAN pairs fit one packet, all under the same PECOS name.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "npi_ptan_crosswalk",
                          "who": "provider",
                          "words": "A new PTAN is enrolled with CEDI and linked to its NPI on the NPI crosswalk, or its claims are rejected. An NPPES update can take up to 10 days to match.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/298616/DME_CEDI_FAQ.pdf/5b891dee-4847-d113-e04d-ba5130fb36ae",
                            "label": "CEDI Frequently Asked Questions (last revision 03/19/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "legal_name_pecos",
                          "who": "provider",
                          "words": "The supplier’s name on the packet is its legal business name exactly as PECOS holds it, punctuation included.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "own_contact",
                          "who": "provider",
                          "words": "The contact on the packet is the supplier’s own, never the clearinghouse’s or a billing service’s. CEDI names this as the top reason it returns a packet.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/298616/DME_CEDI_FAQ.pdf/5b891dee-4847-d113-e04d-ba5130fb36ae",
                            "label": "CEDI Frequently Asked Questions (last revision 03/19/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "signer",
                          "who": "provider",
                          "words": "The supplier’s authorized or delegated official signs, with the full name exactly as PECOS lists it, and no initials or nicknames. A clearinghouse may not sign the packet or submit it for the supplier.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "clearinghouse_trading_partner_id",
                          "who": "provider",
                          "words": "To have a clearinghouse send and receive for it, the supplier chooses to allow a clearinghouse on the packet and enters that clearinghouse’s Trading Partner ID: a letter A to D, then 08, then six digits. Payerworks holds no Trading Partner ID, so this step cannot name Payerworks today.",
                          "payerworks_value": null,
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "clearinghouse_has_edi_number",
                          "who": "payer",
                          "words": "Before CEDI accepts a provider’s request to work through a clearinghouse, it checks that the provider’s EDI agreement is on file and that the clearinghouse already holds its own EDI number. Payerworks holds none, so CEDI could not accept a request naming Payerworks today.",
                          "payerworks_value": null,
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.2",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "clearinghouse_agreement",
                          "who": "provider",
                          "words": "A provider that exchanges files through a clearinghouse keeps an agreement signed by that clearinghouse, binding it to Medicare’s security and privacy rules. The provider keeps it; it is not sent to Medicare.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.1",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "own_edi_login",
                          "who": "provider",
                          "words": "The provider never gives its own EDI number and password to a clearinghouse; a clearinghouse uses its own.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.1",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "change_notice",
                          "who": "provider",
                          "words": "The provider tells CEDI in writing, in advance, when it changes clearinghouse, and the day it stops using one.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.2",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "packet_id",
                          "who": "provider",
                          "words": "Submitting the packet shows a Packet ID and emails it to the address on the packet. The Packet ID, or the NPI, PTAN and submission date, looks up the packet’s status on CEDI’s Enrollment Status Tool.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "operator_name",
                          "who": "payer",
                          "words": "National Government Services has run CEDI under the name Wellpoint Federal since 04/01/2026; suppliers did not need to enroll again.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/d/cedi/cedi_wellpoint_transition_faq",
                            "label": "CEDI transition Frequently Asked Questions (03/24/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "claim_status_on_packet",
                          "who": "provider",
                          "words": "The supplier chooses the claim status transaction (276 and 277) on the same CEDI packet. It is exchanged through CEDI, never through CEDI’s online claims portal.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/d/cedi/transaction_options",
                            "label": "Available Transaction Options for CEDI (last revision 03/09/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "csi_is_not_the_276",
                          "who": "payer",
                          "words": "Claim Status Inquiry, a direct look into a DME MAC’s own system, is a different service that the DME MAC sets up, not CEDI; it is not the 276.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/298616/DME_CEDI_FAQ.pdf/5b891dee-4847-d113-e04d-ba5130fb36ae",
                            "label": "CEDI Frequently Asked Questions (last revision 03/19/2026)",
                            "checked_on": "2026-10-19"
                          }
                        }
                      ],
                      "timing": {
                        "words": "CEDI processes a new enrollment request within 5 business days of receipt, and a large request may take longer. A rejected packet is emailed with its reasons, and a new packet is needed.",
                        "source": {
                          "url": "https://cedi.wellpointfederal.com/documents/20124/298616/DME_CEDI_FAQ.pdf/5b891dee-4847-d113-e04d-ba5130fb36ae",
                          "label": "CEDI Frequently Asked Questions (last revision 03/19/2026)",
                          "checked_on": "2026-10-19"
                        }
                      }
                    },
                    {
                      "transaction": "professional_claims",
                      "x12": "837P",
                      "applies": true,
                      "route": {
                        "open": false,
                        "waiting_on": "payerworks",
                        "words": "Payerworks is not yet a CEDI trading partner, so it cannot exchange 837P files with any DME MAC. A request for this waits at payerworks_action_required and nothing is sent."
                      },
                      "where": {
                        "name": "CEDI, the front end for all four DME MACs",
                        "url": "https://cedi.wellpointfederal.com/enrollment"
                      },
                      "who_files": "provider",
                      "fields_required": [
                        "ptan"
                      ],
                      "steps": [
                        {
                          "key": "npi_active_in_pecos",
                          "who": "provider",
                          "words": "The provider’s NPI is active in PECOS, Medicare’s enrollment system. CEDI checks it before it signs the provider up for EDI, and denies the EDI agreement when it cannot find it.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.1",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "edi_agreement",
                          "who": "provider",
                          "words": "Every provider that exchanges files with Medicare, directly or through a clearinghouse, signs the EDI enrollment agreement before CEDI accepts its claims or sends it any file. For the DME MACs that agreement is CEDI’s online packet.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.2",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "online_only",
                          "who": "provider",
                          "words": "The CEDI packet is filled in and submitted online, not faxed, and one packet is processed the same way for all four DME MAC jurisdictions.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/298616/DME_CEDI_FAQ.pdf/5b891dee-4847-d113-e04d-ba5130fb36ae",
                            "label": "CEDI Frequently Asked Questions (last revision 03/19/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "ptan",
                          "who": "provider",
                          "words": "The packet lists the supplier’s NPI with its PTAN, the 10-digit DME supplier number the national supplier enrollment contractor assigned. Up to 25 NPI and PTAN pairs fit one packet, all under the same PECOS name.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "npi_ptan_crosswalk",
                          "who": "provider",
                          "words": "A new PTAN is enrolled with CEDI and linked to its NPI on the NPI crosswalk, or its claims are rejected. An NPPES update can take up to 10 days to match.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/298616/DME_CEDI_FAQ.pdf/5b891dee-4847-d113-e04d-ba5130fb36ae",
                            "label": "CEDI Frequently Asked Questions (last revision 03/19/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "legal_name_pecos",
                          "who": "provider",
                          "words": "The supplier’s name on the packet is its legal business name exactly as PECOS holds it, punctuation included.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "own_contact",
                          "who": "provider",
                          "words": "The contact on the packet is the supplier’s own, never the clearinghouse’s or a billing service’s. CEDI names this as the top reason it returns a packet.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/298616/DME_CEDI_FAQ.pdf/5b891dee-4847-d113-e04d-ba5130fb36ae",
                            "label": "CEDI Frequently Asked Questions (last revision 03/19/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "signer",
                          "who": "provider",
                          "words": "The supplier’s authorized or delegated official signs, with the full name exactly as PECOS lists it, and no initials or nicknames. A clearinghouse may not sign the packet or submit it for the supplier.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "clearinghouse_trading_partner_id",
                          "who": "provider",
                          "words": "To have a clearinghouse send and receive for it, the supplier chooses to allow a clearinghouse on the packet and enters that clearinghouse’s Trading Partner ID: a letter A to D, then 08, then six digits. Payerworks holds no Trading Partner ID, so this step cannot name Payerworks today.",
                          "payerworks_value": null,
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "clearinghouse_has_edi_number",
                          "who": "payer",
                          "words": "Before CEDI accepts a provider’s request to work through a clearinghouse, it checks that the provider’s EDI agreement is on file and that the clearinghouse already holds its own EDI number. Payerworks holds none, so CEDI could not accept a request naming Payerworks today.",
                          "payerworks_value": null,
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.2",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "clearinghouse_agreement",
                          "who": "provider",
                          "words": "A provider that exchanges files through a clearinghouse keeps an agreement signed by that clearinghouse, binding it to Medicare’s security and privacy rules. The provider keeps it; it is not sent to Medicare.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.1",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "own_edi_login",
                          "who": "provider",
                          "words": "The provider never gives its own EDI number and password to a clearinghouse; a clearinghouse uses its own.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.1",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "change_notice",
                          "who": "provider",
                          "words": "The provider tells CEDI in writing, in advance, when it changes clearinghouse, and the day it stops using one.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.2",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "packet_id",
                          "who": "provider",
                          "words": "Submitting the packet shows a Packet ID and emails it to the address on the packet. The Packet ID, or the NPI, PTAN and submission date, looks up the packet’s status on CEDI’s Enrollment Status Tool.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "operator_name",
                          "who": "payer",
                          "words": "National Government Services has run CEDI under the name Wellpoint Federal since 04/01/2026; suppliers did not need to enroll again.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/d/cedi/cedi_wellpoint_transition_faq",
                            "label": "CEDI transition Frequently Asked Questions (03/24/2026)",
                            "checked_on": "2026-10-19"
                          }
                        }
                      ],
                      "timing": {
                        "words": "CEDI processes a new enrollment request within 5 business days of receipt, and a large request may take longer. A rejected packet is emailed with its reasons, and a new packet is needed.",
                        "source": {
                          "url": "https://cedi.wellpointfederal.com/documents/20124/298616/DME_CEDI_FAQ.pdf/5b891dee-4847-d113-e04d-ba5130fb36ae",
                          "label": "CEDI Frequently Asked Questions (last revision 03/19/2026)",
                          "checked_on": "2026-10-19"
                        }
                      }
                    },
                    {
                      "transaction": "remittances",
                      "x12": "835",
                      "applies": true,
                      "route": {
                        "open": false,
                        "waiting_on": "payerworks",
                        "words": "Payerworks is not yet a CEDI trading partner, so it cannot exchange 835 files with any DME MAC. A request for this waits at payerworks_action_required and nothing is sent."
                      },
                      "where": {
                        "name": "CEDI, the front end for all four DME MACs",
                        "url": "https://cedi.wellpointfederal.com/enrollment"
                      },
                      "who_files": "provider",
                      "fields_required": [
                        "ptan"
                      ],
                      "steps": [
                        {
                          "key": "npi_active_in_pecos",
                          "who": "provider",
                          "words": "The provider’s NPI is active in PECOS, Medicare’s enrollment system. CEDI checks it before it signs the provider up for EDI, and denies the EDI agreement when it cannot find it.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.1",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "edi_agreement",
                          "who": "provider",
                          "words": "Every provider that exchanges files with Medicare, directly or through a clearinghouse, signs the EDI enrollment agreement before CEDI accepts its claims or sends it any file. For the DME MACs that agreement is CEDI’s online packet.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.2",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "online_only",
                          "who": "provider",
                          "words": "The CEDI packet is filled in and submitted online, not faxed, and one packet is processed the same way for all four DME MAC jurisdictions.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/298616/DME_CEDI_FAQ.pdf/5b891dee-4847-d113-e04d-ba5130fb36ae",
                            "label": "CEDI Frequently Asked Questions (last revision 03/19/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "ptan",
                          "who": "provider",
                          "words": "The packet lists the supplier’s NPI with its PTAN, the 10-digit DME supplier number the national supplier enrollment contractor assigned. Up to 25 NPI and PTAN pairs fit one packet, all under the same PECOS name.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "npi_ptan_crosswalk",
                          "who": "provider",
                          "words": "A new PTAN is enrolled with CEDI and linked to its NPI on the NPI crosswalk, or its claims are rejected. An NPPES update can take up to 10 days to match.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/298616/DME_CEDI_FAQ.pdf/5b891dee-4847-d113-e04d-ba5130fb36ae",
                            "label": "CEDI Frequently Asked Questions (last revision 03/19/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "legal_name_pecos",
                          "who": "provider",
                          "words": "The supplier’s name on the packet is its legal business name exactly as PECOS holds it, punctuation included.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "own_contact",
                          "who": "provider",
                          "words": "The contact on the packet is the supplier’s own, never the clearinghouse’s or a billing service’s. CEDI names this as the top reason it returns a packet.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/298616/DME_CEDI_FAQ.pdf/5b891dee-4847-d113-e04d-ba5130fb36ae",
                            "label": "CEDI Frequently Asked Questions (last revision 03/19/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "signer",
                          "who": "provider",
                          "words": "The supplier’s authorized or delegated official signs, with the full name exactly as PECOS lists it, and no initials or nicknames. A clearinghouse may not sign the packet or submit it for the supplier.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "clearinghouse_trading_partner_id",
                          "who": "provider",
                          "words": "To have a clearinghouse send and receive for it, the supplier chooses to allow a clearinghouse on the packet and enters that clearinghouse’s Trading Partner ID: a letter A to D, then 08, then six digits. Payerworks holds no Trading Partner ID, so this step cannot name Payerworks today.",
                          "payerworks_value": null,
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "clearinghouse_has_edi_number",
                          "who": "payer",
                          "words": "Before CEDI accepts a provider’s request to work through a clearinghouse, it checks that the provider’s EDI agreement is on file and that the clearinghouse already holds its own EDI number. Payerworks holds none, so CEDI could not accept a request naming Payerworks today.",
                          "payerworks_value": null,
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.2",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "clearinghouse_agreement",
                          "who": "provider",
                          "words": "A provider that exchanges files through a clearinghouse keeps an agreement signed by that clearinghouse, binding it to Medicare’s security and privacy rules. The provider keeps it; it is not sent to Medicare.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.1",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "own_edi_login",
                          "who": "provider",
                          "words": "The provider never gives its own EDI number and password to a clearinghouse; a clearinghouse uses its own.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.1",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "change_notice",
                          "who": "provider",
                          "words": "The provider tells CEDI in writing, in advance, when it changes clearinghouse, and the day it stops using one.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.2",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "packet_id",
                          "who": "provider",
                          "words": "Submitting the packet shows a Packet ID and emails it to the address on the packet. The Packet ID, or the NPI, PTAN and submission date, looks up the packet’s status on CEDI’s Enrollment Status Tool.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "operator_name",
                          "who": "payer",
                          "words": "National Government Services has run CEDI under the name Wellpoint Federal since 04/01/2026; suppliers did not need to enroll again.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/d/cedi/cedi_wellpoint_transition_faq",
                            "label": "CEDI transition Frequently Asked Questions (03/24/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "era_agreement",
                          "who": "provider",
                          "words": "A provider that receives remittance files, directly or through a clearinghouse, signs an ERA enrollment agreement before any are sent. On the CEDI packet this is asked when the remittance transaction is chosen and no CEDI ERA form is on file.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.4",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "one_receiver",
                          "who": "payer",
                          "words": "Medicare sends remittance files to the provider or to one receiver the provider names, never to both.",
                          "source": {
                            "url": "https://www.cms.gov/regulations-and-guidance/guidance/manuals/downloads/clm104c24.pdf",
                            "label": "CMS Medicare Claims Processing Manual (Pub. 100-04), chapter 24, section 30.3",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "era_aggregation",
                          "who": "provider",
                          "words": "The supplier chooses whether remittances are grouped by tax id or by NPI. The choice must match the supplier’s preference for EFT payments.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "era_effective_date",
                          "who": "provider",
                          "words": "The supplier picks the day remittances become electronic only, within 45 days of submitting the packet. Paper and electronic remittances both arrive until then.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "no_return_to_paper",
                          "who": "provider",
                          "words": "Once remittance files are set up, the supplier cannot go back to paper remittances.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/35776/GuidedEnrollmentInstructionalGuide.pdf/00616f55-f2d8-7772-8c9d-70d1fcca1167",
                            "label": "CEDI Guided Enrollment Process (last revision 03/13/2026)",
                            "checked_on": "2026-10-19"
                          }
                        },
                        {
                          "key": "eft_is_separate",
                          "who": "provider",
                          "words": "EFT is set up with the DME MAC, not on the CEDI packet. Payerworks does not enroll a provider for EFT.",
                          "source": {
                            "url": "https://cedi.wellpointfederal.com/documents/20124/298616/DME_CEDI_FAQ.pdf/5b891dee-4847-d113-e04d-ba5130fb36ae",
                            "label": "CEDI Frequently Asked Questions (last revision 03/19/2026)",
                            "checked_on": "2026-10-19"
                          }
                        }
                      ],
                      "timing": {
                        "words": "CEDI processes a new enrollment request within 5 business days of receipt, and a large request may take longer. A rejected packet is emailed with its reasons, and a new packet is needed.",
                        "source": {
                          "url": "https://cedi.wellpointfederal.com/documents/20124/298616/DME_CEDI_FAQ.pdf/5b891dee-4847-d113-e04d-ba5130fb36ae",
                          "label": "CEDI Frequently Asked Questions (last revision 03/19/2026)",
                          "checked_on": "2026-10-19"
                        }
                      },
                      "schema_note": {
                        "words": "What a Payerworks remittance request asks stays inside the CAQH CORE maximum ERA enrollment data set (Phase III rule 382): the provider’s name, tax id, NPI and contact, how remittances are grouped, and whether it is new, a change or a cancel.",
                        "source": {
                          "url": "https://www.caqh.org/hubfs/drupal/core/phase-iii/Phase_III.382.ERA_Enrollment_Data_Rule.pdf",
                          "label": "CAQH CORE Phase III 382 ERA Enrollment Data Rule, version 3.0.0",
                          "checked_on": "2026-10-19"
                        }
                      }
                    }
                  ],
                  "words": "These are the payer’s own published steps, read on 10/19/2026. Payerworks is not registered with this payer."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "payer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "19003"
          },
          {
            "name": "transaction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "eligibility",
                "claim_status",
                "professional_claims",
                "remittances"
              ]
            },
            "description": "Only this transaction."
          }
        ]
      }
    },
    "/v1/sandbox/enrollments/{id}/advance": {
      "post": {
        "summary": "Advance a sandbox enrollment",
        "description": "The sandbox payer’s next move on a test request, with the events it raised. A test key only; the last word of the provider’s name picks the scenario.",
        "operationId": "postV1SandboxEnrollmentsByIdAdvance",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AdvanceAnswer"
                },
                "example": {
                  "enrollment": {
                    "object": "enrollment",
                    "id": "enr_01a154ad35802c85a436872c",
                    "mode": "test",
                    "provider": {
                      "id": "prv_01a154ad35807d5d51823b6e",
                      "name": "Sample Family Clinic SLOW",
                      "npi": "1234567893",
                      "tax_id_last_four": "6789"
                    },
                    "payer": {
                      "id": "PWSANDBOX",
                      "name": "PAYERWORKS SANDBOX PAYER",
                      "sandbox": true
                    },
                    "transaction": "remittances",
                    "x12": "835",
                    "status": "live",
                    "status_words": "Sandbox: live with the sandbox payer. It is invented, so no files flow.",
                    "waiting_on": null,
                    "reason_code": null,
                    "route": {
                      "open": true,
                      "sandbox": true,
                      "words": "The sandbox payer answers every enrollment in the sandbox. Nothing is sent anywhere."
                    },
                    "primary_contact": {
                      "organization_name": "Sample Family Clinic LLC",
                      "first_name": null,
                      "last_name": null,
                      "email": "enrollment@sampleclinic.example",
                      "phone": "8015550100",
                      "phone_extension": null,
                      "address": {
                        "line1": "100 Main St",
                        "line2": null,
                        "city": "Salt Lake City",
                        "state": "UT",
                        "zip": "84101"
                      }
                    },
                    "notify_email": "dev@sampleclinic.example",
                    "requested_effective_date": null,
                    "era_aggregation": null,
                    "ptan": null,
                    "note": "",
                    "tasks": [],
                    "documents": [],
                    "notes": [],
                    "rejection": null,
                    "payer_reference": "PWSENR3814935860",
                    "history": [
                      {
                        "sequence": 1,
                        "at": "2026-10-19T15:00:00.000Z",
                        "from": null,
                        "to": "payerworks_action_required",
                        "by": "you",
                        "reason_code": "preparing"
                      },
                      {
                        "sequence": 2,
                        "at": "2026-10-19T15:00:00.000Z",
                        "from": "payerworks_action_required",
                        "to": "with_payer",
                        "by": "sandbox",
                        "reason_code": null
                      },
                      {
                        "sequence": 3,
                        "at": "2026-10-19T15:00:00.000Z",
                        "from": "with_payer",
                        "to": "live",
                        "by": "sandbox",
                        "reason_code": null
                      }
                    ],
                    "created_at": "2026-10-19T15:00:00.000Z",
                    "updated_at": "2026-10-19T15:00:00.000Z",
                    "submitted_at": "2026-10-19T15:00:00.000Z",
                    "status_changed_at": "2026-10-19T15:00:00.000Z",
                    "sent_to_payer_at": "2026-10-19T15:00:00.000Z",
                    "live_at": "2026-10-19T15:00:00.000Z",
                    "ended_at": null,
                    "cancel_requested_at": null,
                    "requirements_url": "/v1/enrollment-requirements/PWSANDBOX?transaction=remittances"
                  },
                  "moved": {
                    "from": "with_payer",
                    "to": "live"
                  },
                  "events": [
                    {
                      "id": "evt_bd653cd8c0654191bf653ffe",
                      "type": "enrollment.live"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "enr_01a154ad35802c85a436872c"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/enrollments/import/check": {
      "post": {
        "summary": "Check an enrollment import",
        "description": "Send { csv } with the template’s header and up to 100 rows, one enrollment request a row. Each row is checked exactly as POST /v1/providers and POST /v1/enrollments check their bodies, each problem named by its column, and said as ready, invalid or duplicate (a request that already stands, or an earlier row asking the same). With a live key, each NPI is looked up in the NPI registry. Nothing is saved.",
        "operationId": "postV1EnrollmentsImportCheck",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportCheckAnswer"
                },
                "example": {
                  "object": "enrollment_import_check",
                  "saved": false,
                  "rows": 3,
                  "results": {
                    "ready": 2,
                    "invalid": 1,
                    "duplicate": 0
                  },
                  "data": [
                    {
                      "row": 1,
                      "line": 2,
                      "provider": {
                        "id": null,
                        "exists": false
                      },
                      "enrollment": null,
                      "problems": [],
                      "warnings": [],
                      "npi_registry": {
                        "checked": false,
                        "npi": "1234567893",
                        "reason": "test_key",
                        "words": "A test key's NPIs are invented, so they are not looked up in the NPI registry. A live key's are."
                      },
                      "result": "ready"
                    },
                    {
                      "row": 2,
                      "line": 3,
                      "provider": {
                        "id": null,
                        "exists": false
                      },
                      "enrollment": null,
                      "problems": [],
                      "warnings": [],
                      "npi_registry": {
                        "checked": false,
                        "npi": "1234567893",
                        "reason": "test_key",
                        "words": "A test key's NPIs are invented, so they are not looked up in the NPI registry. A live key's are."
                      },
                      "result": "ready"
                    },
                    {
                      "row": 3,
                      "line": 4,
                      "provider": null,
                      "enrollment": null,
                      "problems": [
                        {
                          "code": "invalid_npi",
                          "field": "npi",
                          "message": "npi is the provider’s 10-digit billing NPI, with a valid check digit.",
                          "column": "npi"
                        },
                        {
                          "code": "invalid_zip",
                          "field": "primary_contact.address.zip",
                          "message": "primary_contact.address.zip is 5 digits, or 9 with one hyphen allowed.",
                          "column": "contact_zip"
                        }
                      ],
                      "warnings": [],
                      "npi_registry": null,
                      "result": "invalid"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportBody"
              },
              "example": {
                "csv": "provider_name,npi,tax_id,tax_id_type,payer_id,payer_name,transaction,contact_organization_name,contact_first_name,contact_last_name,contact_email,contact_phone,contact_phone_extension,contact_address_line1,contact_address_line2,contact_city,contact_state,contact_zip,notify_email,requested_effective_date,era_aggregation,ptan,note,submit\r\nSample Family Clinic,1234567893,12-3456789,,PWSANDBOX,,remittances,SAMPLE FAMILY CLINIC LLC,,,enrollment@example.com,5555550100,,100 MAIN STREET,,SPRINGFIELD,IL,62701,dev@example.com,,,,,\r\nSample Family Clinic,1234567893,12-3456789,,PWSANDBOX,,eligibility,SAMPLE FAMILY CLINIC LLC,,,enrollment@example.com,5555550100,,100 MAIN STREET,,SPRINGFIELD,IL,62701,dev@example.com,,,,,true\r\nSample Family Clinic,1234567890,12-3456789,,PWSANDBOX,,remittances,SAMPLE FAMILY CLINIC LLC,,,enrollment@example.com,5555550100,,100 MAIN STREET,,SPRINGFIELD,IL,6270,dev@example.com,,,,,"
              }
            }
          }
        }
      }
    },
    "/v1/enrollments/import": {
      "post": {
        "summary": "Import enrollment requests",
        "description": "The same file, each valid row made into one request, and its provider when your key has none with that NPI and tax id. A provider you already have is used as it is, never changed. Each row answers created, invalid, duplicate, refused or not_run; rows not started in time are not_run from not_run_from_row, so send those again. A row is submitted only when its submit cell says true.",
        "operationId": "postV1EnrollmentsImport",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImportAnswer"
                },
                "example": {
                  "object": "enrollment_import",
                  "saved": true,
                  "rows": 3,
                  "results": {
                    "created": 2,
                    "invalid": 1,
                    "duplicate": 0,
                    "refused": 0,
                    "not_run": 0
                  },
                  "data": [
                    {
                      "row": 1,
                      "line": 2,
                      "provider": {
                        "id": "prv_01a15aba4882eabbf1056c4e",
                        "created": true
                      },
                      "enrollment": {
                        "id": "enr_01a15aba4882c925e2480746",
                        "status": "draft",
                        "waiting_on": "you"
                      },
                      "problems": [],
                      "warnings": [],
                      "npi_registry": {
                        "checked": false,
                        "npi": "1234567893",
                        "reason": "test_key",
                        "words": "A test key's NPIs are invented, so they are not looked up in the NPI registry. A live key's are."
                      },
                      "result": "created"
                    },
                    {
                      "row": 2,
                      "line": 3,
                      "provider": {
                        "id": "prv_01a15aba4882eabbf1056c4e",
                        "created": false
                      },
                      "enrollment": {
                        "id": "enr_01a15aba488250af02bb4634",
                        "status": "live",
                        "waiting_on": null
                      },
                      "problems": [],
                      "warnings": [],
                      "npi_registry": {
                        "checked": false,
                        "npi": "1234567893",
                        "reason": "test_key",
                        "words": "A test key's NPIs are invented, so they are not looked up in the NPI registry. A live key's are."
                      },
                      "result": "created"
                    },
                    {
                      "row": 3,
                      "line": 4,
                      "provider": null,
                      "enrollment": null,
                      "problems": [
                        {
                          "code": "invalid_npi",
                          "field": "npi",
                          "message": "npi is the provider’s 10-digit billing NPI, with a valid check digit.",
                          "column": "npi"
                        },
                        {
                          "code": "invalid_zip",
                          "field": "primary_contact.address.zip",
                          "message": "primary_contact.address.zip is 5 digits, or 9 with one hyphen allowed.",
                          "column": "contact_zip"
                        }
                      ],
                      "warnings": [],
                      "npi_registry": null,
                      "result": "invalid"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportBody"
              },
              "example": {
                "csv": "provider_name,npi,tax_id,tax_id_type,payer_id,payer_name,transaction,contact_organization_name,contact_first_name,contact_last_name,contact_email,contact_phone,contact_phone_extension,contact_address_line1,contact_address_line2,contact_city,contact_state,contact_zip,notify_email,requested_effective_date,era_aggregation,ptan,note,submit\r\nSample Family Clinic,1234567893,12-3456789,,PWSANDBOX,,remittances,SAMPLE FAMILY CLINIC LLC,,,enrollment@example.com,5555550100,,100 MAIN STREET,,SPRINGFIELD,IL,62701,dev@example.com,,,,,\r\nSample Family Clinic,1234567893,12-3456789,,PWSANDBOX,,eligibility,SAMPLE FAMILY CLINIC LLC,,,enrollment@example.com,5555550100,,100 MAIN STREET,,SPRINGFIELD,IL,62701,dev@example.com,,,,,true\r\nSample Family Clinic,1234567890,12-3456789,,PWSANDBOX,,remittances,SAMPLE FAMILY CLINIC LLC,,,enrollment@example.com,5555550100,,100 MAIN STREET,,SPRINGFIELD,IL,6270,dev@example.com,,,,,"
              }
            }
          }
        }
      }
    },
    "/v1/enrollments/export": {
      "get": {
        "summary": "Export your enrollments",
        "description": "Every request matching the list’s filters, as CSV text in the answer, up to 5,000 rows: status, whose turn, provider, payer, transaction and the dates. No contact, note or full tax id. A cell a spreadsheet would run as a formula starts with an apostrophe. It takes no limit or starting_after.",
        "operationId": "getV1EnrollmentsExport",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExportAnswer"
                },
                "example": {
                  "object": "enrollment_export",
                  "content_type": "text/csv",
                  "filename": "payerworks-enrollments-2026-10-20.csv",
                  "row_count": 1,
                  "columns": [
                    "id",
                    "status",
                    "waiting_on",
                    "reason_code",
                    "provider_id",
                    "provider_name",
                    "npi",
                    "tax_id_last_four",
                    "payer_id",
                    "payer_name",
                    "transaction",
                    "x12",
                    "notify_email",
                    "requested_effective_date",
                    "era_aggregation",
                    "ptan",
                    "open_tasks",
                    "payer_reference",
                    "created_at",
                    "updated_at",
                    "submitted_at",
                    "status_changed_at",
                    "sent_to_payer_at",
                    "live_at",
                    "ended_at"
                  ],
                  "csv": "id,status,waiting_on,reason_code,provider_id,provider_name,npi,tax_id_last_four,payer_id,payer_name,transaction,x12,notify_email,requested_effective_date,era_aggregation,ptan,open_tasks,payer_reference,created_at,updated_at,submitted_at,status_changed_at,sent_to_payer_at,live_at,ended_at\r\nenr_01a15aba488250af02bb4634,live,,,prv_01a15aba4882eabbf1056c4e,Sample Family Clinic,1234567893,6789,PWSANDBOX,PAYERWORKS SANDBOX PAYER,eligibility,270/271,dev@example.com,,,,0,PWSENR0624105702,2026-10-20T19:12:00.130Z,2026-10-20T19:12:00.130Z,2026-10-20T19:12:00.130Z,2026-10-20T19:12:00.130Z,2026-10-20T19:12:00.130Z,2026-10-20T19:12:00.130Z,\r\n"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "One or more statuses, separated by commas: draft, payerworks_action_required, provider_action_required, with_payer, live, rejected, canceled, ended."
          },
          {
            "name": "transaction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "eligibility",
                "claim_status",
                "professional_claims",
                "remittances"
              ]
            }
          },
          {
            "name": "payer_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "provider_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "npi",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^\\d{10}$"
            }
          },
          {
            "name": "waiting_on",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "you",
                "provider",
                "payerworks",
                "payer"
              ]
            },
            "description": "Only requests that are this party’s turn."
          },
          {
            "name": "created_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A day (YYYY-MM-DD, its 00:00 UTC) or an instant; inclusive."
          },
          {
            "name": "created_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A day (YYYY-MM-DD, its 00:00 UTC) or an instant; exclusive."
          },
          {
            "name": "updated_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A day (YYYY-MM-DD, its 00:00 UTC) or an instant; inclusive."
          },
          {
            "name": "updated_before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A day (YYYY-MM-DD, its 00:00 UTC) or an instant; exclusive."
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/enrollments/durations": {
      "get": {
        "summary": "How long your requests took",
        "description": "By payer and transaction, how long your own requests spent waiting on Payerworks, on the provider and with the payer, and from submitted to live: how many finished, and once at least five did, the median and the middle half in hours. Fewer than five says not enough history. From your key’s own history only: Payerworks has no other figures.",
        "operationId": "getV1EnrollmentsDurations",
        "tags": [
          "Providers and enrollment"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DurationsAnswer"
                },
                "example": {
                  "object": "enrollment_durations",
                  "basis": "This key's own requests, from their own history: no other key's requests, no figure from anywhere else and no model. A payer's time is shown only once this key has enough finished stays with it.",
                  "floor": 5,
                  "as_of": "2026-10-20T19:12:00.138Z",
                  "statuses": [
                    "payerworks_action_required",
                    "provider_action_required",
                    "with_payer"
                  ],
                  "data": [
                    {
                      "payer": {
                        "id": "PWSANDBOX",
                        "name": "PAYERWORKS SANDBOX PAYER"
                      },
                      "transaction": "eligibility",
                      "requests": 1,
                      "submitted_to_live": {
                        "n": 1,
                        "open": 0,
                        "enough": false,
                        "median_hours": null,
                        "p25_hours": null,
                        "p75_hours": null,
                        "words": "Not enough history: 1 finished stay from submitted to live on this key, and 5 are needed before a figure is given."
                      },
                      "in_status": {
                        "payerworks_action_required": {
                          "n": 1,
                          "open": 0,
                          "enough": false,
                          "median_hours": null,
                          "p25_hours": null,
                          "p75_hours": null,
                          "words": "Not enough history: 1 finished stay in payerworks_action_required on this key, and 5 are needed before a figure is given."
                        },
                        "provider_action_required": {
                          "n": 0,
                          "open": 0,
                          "enough": false,
                          "median_hours": null,
                          "p25_hours": null,
                          "p75_hours": null,
                          "words": "Not enough history: 0 finished stays in provider_action_required on this key, and 5 are needed before a figure is given."
                        },
                        "with_payer": {
                          "n": 1,
                          "open": 0,
                          "enough": false,
                          "median_hours": null,
                          "p25_hours": null,
                          "p75_hours": null,
                          "words": "Not enough history: 1 finished stay in with_payer on this key, and 5 are needed before a figure is given."
                        }
                      }
                    },
                    {
                      "payer": {
                        "id": "PWSANDBOX",
                        "name": "PAYERWORKS SANDBOX PAYER"
                      },
                      "transaction": "remittances",
                      "requests": 1,
                      "submitted_to_live": {
                        "n": 0,
                        "open": 0,
                        "enough": false,
                        "median_hours": null,
                        "p25_hours": null,
                        "p75_hours": null,
                        "words": "Not enough history: 0 finished stays from submitted to live on this key, and 5 are needed before a figure is given."
                      },
                      "in_status": {
                        "payerworks_action_required": {
                          "n": 0,
                          "open": 0,
                          "enough": false,
                          "median_hours": null,
                          "p25_hours": null,
                          "p75_hours": null,
                          "words": "Not enough history: 0 finished stays in payerworks_action_required on this key, and 5 are needed before a figure is given."
                        },
                        "provider_action_required": {
                          "n": 0,
                          "open": 0,
                          "enough": false,
                          "median_hours": null,
                          "p25_hours": null,
                          "p75_hours": null,
                          "words": "Not enough history: 0 finished stays in provider_action_required on this key, and 5 are needed before a figure is given."
                        },
                        "with_payer": {
                          "n": 0,
                          "open": 0,
                          "enough": false,
                          "median_hours": null,
                          "p25_hours": null,
                          "p75_hours": null,
                          "words": "Not enough history: 0 finished stays in with_payer on this key, and 5 are needed before a figure is given."
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "payer_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "transaction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "eligibility",
                "claim_status",
                "professional_claims",
                "remittances"
              ]
            }
          },
          {
            "name": "provider_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/payers": {
      "get": {
        "summary": "Search the payer directory",
        "description": "Payers and plan programs from public federal files (Medicare Advantage and Part D contracts, Medicaid managed care plans, insurers’ loss ratio filings, employer plans’ Form 5500 carriers) and the Medicare contractors; not a list Payerworks can send to; a payer ID only where the payer publishes it, with the page and the day it was read. Search with q by name, a misspelling, a payer ID, a NAIC code or a CMS contract ID (a state named in q is read as state=); narrow with state and type; page with limit (up to 100) and starting_after. Every row says connection none, and an all-digit payer ID under five digits is warned about: leading zeros are part of it.",
        "operationId": "getV1Payers",
        "tags": [
          "Payer directory"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayerList"
                },
                "example": {
                  "object": "list",
                  "scope": "Payers and plan programs from public federal files; not a list of payers Payerworks can send to; payer IDs only where the payer publishes one.",
                  "payer_ids_are": "A payer ID is shown only where the payer or its Medicare contractor publishes it, with the page and the day it was read. Clearinghouses can route the same payer under other IDs, and Payerworks is connected to no payer yet.",
                  "built_on": "2026-10-19",
                  "query": {
                    "q": "18003",
                    "state": null,
                    "type": null
                  },
                  "total": 1,
                  "data": [
                    {
                      "id": "pwd_fe5efb2967c8dc5d",
                      "object": "payer_directory_row",
                      "kind": "plan_program",
                      "name": "Medicare DME MAC Jurisdiction C (CGS Administrators)",
                      "aliases": [
                        "DME MAC C",
                        "DME MAC Jurisdiction C",
                        "JC DME"
                      ],
                      "program": "medicare_dme",
                      "organization_id": "pwd_deeb1d92abd324d6",
                      "organization_name": "CGS Administrators",
                      "parent": "Medicare fee-for-service (Original Medicare)",
                      "states": [
                        "AL",
                        "AR",
                        "CO",
                        "FL",
                        "GA",
                        "LA",
                        "MS",
                        "NM",
                        "NC",
                        "OK",
                        "PR",
                        "SC",
                        "TN",
                        "TX",
                        "VA",
                        "WV"
                      ],
                      "nationwide": false,
                      "area_stated": true,
                      "payer_id": "18003",
                      "payer_id_words": null,
                      "published_payer_ids": [
                        {
                          "payer_id": "18003",
                          "for": "Medicare DME claims, Jurisdiction C",
                          "transactions": [
                            "claims"
                          ],
                          "claim_type": "professional",
                          "source": {
                            "url": "https://www.cgsmedicare.com/jc/claims/edi.html",
                            "label": "CGS JC DME: electronic claims",
                            "read_on": "2026-10-19"
                          }
                        }
                      ],
                      "naic_codes": [],
                      "cms_contract_ids": [],
                      "hios_issuer_ids": [],
                      "connection": "none",
                      "transmits": false,
                      "match": {
                        "by": "payer_id",
                        "exact": true,
                        "payer_id": "18003"
                      }
                    }
                  ],
                  "has_more": false,
                  "next_cursor": null,
                  "warnings": [],
                  "connection": "none",
                  "transmits": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "description": "A name, a misspelling, a payer ID, a NAIC code, a CMS contract ID or a directory row id. A state named in it (“texas medicaid”, “medicare part b TX”) is read as state= when none is sent and the whole text names no row. Left out: every row, in order.",
            "example": "18003"
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^[A-Z]{2}$"
            },
            "description": "Two letters: only rows serving that state, each with payer_ids_for_state and state_match. A row whose area is not stated is kept only by its legal entity’s state, or as a payer’s own page row, and says which."
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "commercial_insurer",
                "group_health_carrier",
                "group_dental_carrier",
                "medicare_advantage",
                "medicare_cost_plan",
                "medicare_part_d",
                "pace",
                "medicaid_managed_care",
                "medicaid_pccm",
                "medicaid_dental",
                "medicaid_behavioral_health",
                "medicaid_long_term_care",
                "medicaid_transportation",
                "medicaid_limited_benefit",
                "medicare_fee_for_service",
                "medicare_contractor",
                "medicare_dme",
                "tricare",
                "payer"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            }
          },
          {
            "name": "starting_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^pwd_[0-9a-f]{16}$"
            },
            "description": "The next_cursor of the page before, in the same search."
          }
        ]
      }
    },
    "/v1/payers/{id}": {
      "get": {
        "summary": "One directory row",
        "description": "One row in full by its directory id (pwd_ and 16 hex): its names, where its sources say it serves (or Not stated), programs, the payer IDs it publishes with their sources, and the files it came from. A payer ID sent here is refused 400 not_a_directory_row_id and pointed to the search, never answered as not found.",
        "operationId": "getV1PayersById",
        "tags": [
          "Payer directory"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayerDirectoryRow"
                },
                "example": {
                  "id": "pwd_fe5efb2967c8dc5d",
                  "object": "payer_directory_row",
                  "kind": "plan_program",
                  "name": "Medicare DME MAC Jurisdiction C (CGS Administrators)",
                  "aliases": [
                    "DME MAC C",
                    "DME MAC Jurisdiction C",
                    "JC DME"
                  ],
                  "program": "medicare_dme",
                  "organization_id": "pwd_deeb1d92abd324d6",
                  "organization_name": "CGS Administrators",
                  "parent": "Medicare fee-for-service (Original Medicare)",
                  "states": [
                    "AL",
                    "AR",
                    "CO",
                    "FL",
                    "GA",
                    "LA",
                    "MS",
                    "NM",
                    "NC",
                    "OK",
                    "PR",
                    "SC",
                    "TN",
                    "TX",
                    "VA",
                    "WV"
                  ],
                  "nationwide": false,
                  "area_stated": true,
                  "payer_id": "18003",
                  "payer_id_words": null,
                  "published_payer_ids": [
                    {
                      "payer_id": "18003",
                      "for": "Medicare DME claims, Jurisdiction C",
                      "transactions": [
                        "claims"
                      ],
                      "claim_type": "professional",
                      "source": {
                        "url": "https://www.cgsmedicare.com/jc/claims/edi.html",
                        "label": "CGS JC DME: electronic claims",
                        "read_on": "2026-10-19"
                      }
                    }
                  ],
                  "naic_codes": [],
                  "cms_contract_ids": [],
                  "hios_issuer_ids": [],
                  "connection": "none",
                  "transmits": false,
                  "naic_group_codes": [],
                  "dme_jurisdiction": "C",
                  "claims_mailing_address": null,
                  "medicare": "fee_for_service",
                  "medicaid": null,
                  "possibly_same_as": [],
                  "possibly_same_as_words": null,
                  "sources": [
                    "payer_pages"
                  ],
                  "children": [],
                  "scope": "Payers and plan programs from public federal files; not a list of payers Payerworks can send to; payer IDs only where the payer publishes one.",
                  "payer_ids_are": "A payer ID is shown only where the payer or its Medicare contractor publishes it, with the page and the day it was read. Clearinghouses can route the same payer under other IDs, and Payerworks is connected to no payer yet.",
                  "built_on": "2026-10-19",
                  "source_files": [
                    {
                      "key": "payer_pages"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "pwd_fe5efb2967c8dc5d"
          }
        ]
      }
    },
    "/v1/payers/from-card": {
      "post": {
        "summary": "Look up a payer from a card photo",
        "description": "A photo of an insurance card’s front (and back, if you have it), read twice by a model for the payer’s name, the member ID and its shape, the group number and the plan type the card itself states, and the payer looked up in the Payerworks payer directory. A match means the directory holds published facts about that payer, never that a claim can be sent to it; an electronic payer ID printed on the card is shown only where the payer publishes it. Off until Payerworks turns it on; test keys and invented cards only for now, at most 100 reads a UTC day for an account’s keys together; a call refused for the route being off, a live key or no file is not counted. A read has 25 seconds; past them the answer is 504 model_read_timed_out: send one page, or a crop of the part you need. Nothing is kept.",
        "operationId": "postV1PayersFromCard",
        "tags": [
          "Payer directory"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardLookup"
                },
                "example": {
                  "object": "card_lookup",
                  "needs_review": true,
                  "words": "Read from a photo of an insurance card by a model, and matched by name against the Payerworks payer directory. A match says the directory holds published facts about that payer, never that a claim can be sent to it.",
                  "confidence_words": "confidence is the reader's own estimate from 0 to 1, not a measured accuracy.",
                  "region_words": "region is where the reader placed the value: page 1 is the front photo, 2 the back; a box as fractions of that photo from its top left. It is approximate.",
                  "files": [
                    {
                      "field": "front_base64",
                      "media_type": "image/png",
                      "pages": 1
                    }
                  ],
                  "payer_name": {
                    "value": "Aetna",
                    "confidence": 0.97,
                    "region": {
                      "page": 1,
                      "box": [
                        0.1,
                        0.2,
                        0.15,
                        0.02
                      ]
                    }
                  },
                  "plan_name": {
                    "value": null,
                    "confidence": null,
                    "region": null,
                    "not_printed": true
                  },
                  "member_id": {
                    "value": "W123456789",
                    "confidence": 0.97,
                    "region": {
                      "page": 1,
                      "box": [
                        0.1,
                        0.2,
                        0.15,
                        0.02
                      ]
                    },
                    "reads": "agreed",
                    "other_readings": [],
                    "shape": {
                      "length": 10,
                      "pattern": "A999999999",
                      "letters": 1,
                      "digits": 9,
                      "leading_letters": "W",
                      "mbi_format": false,
                      "words": "It does not have the form of a Medicare Beneficiary Identifier."
                    }
                  },
                  "group_number": {
                    "value": "0123456",
                    "confidence": 0.97,
                    "region": {
                      "page": 1,
                      "box": [
                        0.1,
                        0.2,
                        0.15,
                        0.02
                      ]
                    }
                  },
                  "plan_type": {
                    "stated": "ppo",
                    "words": {
                      "value": "PPO",
                      "confidence": 0.97,
                      "region": {
                        "page": 1,
                        "box": [
                          0.1,
                          0.2,
                          0.15,
                          0.02
                        ]
                      }
                    }
                  },
                  "printed_payer_id": {
                    "printed": true,
                    "published": true,
                    "value": "60054",
                    "words": "The card prints this electronic payer ID, and a directory row lists it as an ID the payer publishes (the row says where and when it was read)."
                  },
                  "directory": {
                    "available": true,
                    "matched": true,
                    "matches": [
                      {
                        "id": "pwd_c28e50f685f059ec",
                        "name": "Aetna",
                        "kind": "organization",
                        "states": [],
                        "nationwide": false,
                        "payer_id": null,
                        "payer_id_words": "This payer publishes more than one claims payer ID; each is listed with what it is for.",
                        "published_payer_ids": [
                          {
                            "payer_id": "60054",
                            "for": "Commercial and Medicare plan claims and encounters",
                            "transactions": [
                              "claims"
                            ],
                            "source": {
                              "url": "https://www.aetna.com/document-library/healthcare-professionals/assets/documents/eligibility-benefits-claims-information.pdf",
                              "label": "Aetna: where to go for eligibility, benefits and claims",
                              "read_on": "2026-10-19"
                            }
                          },
                          {
                            "payer_id": "60055",
                            "for": "Bulk encounter files (Aetna asks to be contacted first)",
                            "transactions": [
                              "encounters"
                            ],
                            "source": {
                              "url": "https://www.aetna.com/document-library/healthcare-professionals/assets/documents/eligibility-benefits-claims-information.pdf",
                              "label": "Aetna: where to go for eligibility, benefits and claims",
                              "read_on": "2026-10-19"
                            }
                          },
                          {
                            "payer_id": "57604",
                            "for": "Aetna Voluntary plan claims (60054 is also listed)",
                            "transactions": [
                              "claims"
                            ],
                            "source": {
                              "url": "https://www.aetna.com/document-library/healthcare-professionals/assets/documents/eligibility-benefits-claims-information.pdf",
                              "label": "Aetna: where to go for eligibility, benefits and claims",
                              "read_on": "2026-10-19"
                            }
                          },
                          {
                            "payer_id": "25133",
                            "for": "Coventry medical plan claims",
                            "transactions": [
                              "claims"
                            ],
                            "source": {
                              "url": "https://www.aetna.com/document-library/healthcare-professionals/assets/documents/eligibility-benefits-claims-information.pdf",
                              "label": "Aetna: where to go for eligibility, benefits and claims",
                              "read_on": "2026-10-19"
                            }
                          },
                          {
                            "payer_id": "74289",
                            "for": "MHNet claims",
                            "transactions": [
                              "claims"
                            ],
                            "source": {
                              "url": "https://www.aetna.com/document-library/healthcare-professionals/assets/documents/eligibility-benefits-claims-information.pdf",
                              "label": "Aetna: where to go for eligibility, benefits and claims",
                              "read_on": "2026-10-19"
                            }
                          },
                          {
                            "payer_id": "18014",
                            "for": "Dental claims, Medicare",
                            "transactions": [
                              "claims"
                            ],
                            "claim_type": "dental",
                            "source": {
                              "url": "https://www.aetna.com/document-library/healthcare-professionals/assets/documents/eligibility-benefits-claims-information.pdf",
                              "label": "Aetna: where to go for eligibility, benefits and claims",
                              "read_on": "2026-10-19"
                            }
                          },
                          {
                            "payer_id": "68246",
                            "for": "Dental encounters",
                            "transactions": [
                              "encounters"
                            ],
                            "claim_type": "dental",
                            "source": {
                              "url": "https://www.aetna.com/document-library/healthcare-professionals/assets/documents/eligibility-benefits-claims-information.pdf",
                              "label": "Aetna: where to go for eligibility, benefits and claims",
                              "read_on": "2026-10-19"
                            }
                          },
                          {
                            "payer_id": "00002",
                            "for": "Eligibility and benefits inquiries for commercial and Medicare plans",
                            "transactions": [
                              "270"
                            ],
                            "source": {
                              "url": "https://www.aetna.com/document-library/healthcare-professionals/assets/documents/eligibility-benefits-claims-information.pdf",
                              "label": "Aetna: where to go for eligibility, benefits and claims",
                              "read_on": "2026-10-19"
                            }
                          }
                        ],
                        "match": {
                          "by": "payer_id",
                          "exact": true,
                          "payer_id": "60054"
                        },
                        "connection": "none",
                        "transmits": false
                      },
                      {
                        "id": "pwd_65862b816a773b41",
                        "name": "Aetna",
                        "kind": "organization",
                        "states": [
                          "OH"
                        ],
                        "nationwide": false,
                        "payer_id": null,
                        "payer_id_words": "No payer ID published by the payer that Payerworks has read.",
                        "published_payer_ids": [],
                        "match": {
                          "by": "name",
                          "exact": true
                        },
                        "connection": "none",
                        "transmits": false
                      },
                      {
                        "id": "pwd_5bc25b980b5712a2",
                        "name": "Aetna Health Inc. (a Georgia corporation)",
                        "kind": "organization",
                        "states": [
                          "GA"
                        ],
                        "nationwide": false,
                        "payer_id": null,
                        "payer_id_words": "No payer ID published by the payer that Payerworks has read.",
                        "published_payer_ids": [],
                        "match": {
                          "by": "alias",
                          "exact": true
                        },
                        "connection": "none",
                        "transmits": false
                      },
                      {
                        "id": "pwd_7041a3256d1b4b17",
                        "name": "Aetna Health Inc. (a Pennsylvania corporation)",
                        "kind": "organization",
                        "states": [
                          "AZ",
                          "CO",
                          "DC",
                          "DE",
                          "IL",
                          "IN",
                          "KS",
                          "KY",
                          "MA",
                          "MD",
                          "MO",
                          "NC",
                          "NV",
                          "OH",
                          "OK",
                          "PA",
                          "SC",
                          "TN",
                          "VA",
                          "WV"
                        ],
                        "nationwide": false,
                        "payer_id": null,
                        "payer_id_words": "No payer ID published by the payer that Payerworks has read.",
                        "published_payer_ids": [],
                        "match": {
                          "by": "alias",
                          "exact": true
                        },
                        "connection": "none",
                        "transmits": false
                      },
                      {
                        "id": "pwd_b3502bac47a53246",
                        "name": "Aetna Life Insurance Company",
                        "kind": "organization",
                        "states": [
                          "AK",
                          "AL",
                          "AR",
                          "AZ",
                          "CA",
                          "CO",
                          "CT",
                          "DC",
                          "DE",
                          "FL",
                          "GA",
                          "IA",
                          "ID",
                          "IL",
                          "IN",
                          "KS",
                          "KY",
                          "LA",
                          "MA",
                          "MD",
                          "ME",
                          "MI",
                          "MN",
                          "MO",
                          "MS",
                          "MT",
                          "NC",
                          "NE",
                          "NH",
                          "NJ",
                          "NV",
                          "NY",
                          "OH",
                          "OK",
                          "OR",
                          "PA",
                          "RI",
                          "SC",
                          "SD",
                          "TN",
                          "TX",
                          "UT",
                          "VA",
                          "WA",
                          "WI",
                          "WV",
                          "WY"
                        ],
                        "nationwide": false,
                        "payer_id": null,
                        "payer_id_words": "No payer ID published by the payer that Payerworks has read.",
                        "published_payer_ids": [],
                        "match": {
                          "by": "alias",
                          "exact": true
                        },
                        "connection": "none",
                        "transmits": false
                      }
                    ],
                    "words": "Matched in the Payerworks directory: the directory holds published facts about a payer by this name. It is not a list of payers Payerworks can send to, and it does not say a claim can be sent.",
                    "scope": "Payers and plan programs from public federal files; not a list of payers Payerworks can send to; payer IDs only where the payer publishes one.",
                    "payer_ids_are": "A payer ID is shown only where the payer or its Medicare contractor publishes it, with the page and the day it was read. Clearinghouses can route the same payer under other IDs, and Payerworks is connected to no payer yet."
                  },
                  "warnings": [],
                  "mode": "test",
                  "stored": false,
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CardImageBody"
              },
              "example": {
                "front_base64": "iVBORw0KGgoAAAANSUhEUgAAAEAAAAAoCAAAAABrpaM1AAAAJElEQVR4nGOYSSFgGDVg1IBRA0YNGDVg1IBRA0YNGDVgOBoAAFl9+kzmtZbEAAAAAElFTkSuQmCC"
              }
            }
          }
        }
      }
    },
    "/v1/codes/carc/{code}": {
      "get": {
        "summary": "An adjustment reason code",
        "description": "A claim adjustment reason code in words, with its category, sent bare (45) or with its group (CO-45). A remark code sent here is named as one.",
        "operationId": "getV1CodesCarcByCode",
        "tags": [
          "Codes in words"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CarcAnswer"
                },
                "example": {
                  "code": "16",
                  "label": "Claim lacks information or has a submission/billing error",
                  "category": "Missing Information",
                  "known": true,
                  "label_source": "paraphrase",
                  "stopped_on": null,
                  "group": {
                    "code": "CO",
                    "known": true,
                    "name": "Contractual obligation",
                    "words": "An adjustment your agreement with the payer, or a regulation, requires. It is generally a write-off for you and is not billed to the patient.",
                    "patient_billable": false
                  },
                  "source": {
                    "list": "X12 claim adjustment reason codes",
                    "url": "https://x12.org/codes/claim-adjustment-reason-codes",
                    "read_on": "10/19/2026"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "CO-16"
          }
        ]
      }
    },
    "/v1/codes/group/{code}": {
      "get": {
        "summary": "An adjustment group code",
        "description": "A claim adjustment group code (CO, PR, OA, PI or CR) in words, and whether the patient may be billed an amount under it.",
        "operationId": "getV1CodesGroupByCode",
        "tags": [
          "Codes in words"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupCodeAnswer"
                },
                "example": {
                  "code": "PR",
                  "known": true,
                  "name": "Patient responsibility",
                  "words": "An amount that may be billed to the patient, such as the deductible, coinsurance or copay.",
                  "patient_billable": true,
                  "patient_billable_words": "The patient may be billed this amount.",
                  "label_source": "paraphrase",
                  "source": {
                    "list": "X12 claim adjustment group codes",
                    "url": "https://x12.org/codes/claim-adjustment-group-codes",
                    "read_on": "10/19/2026"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "PR"
          }
        ]
      }
    },
    "/v1/codes/claim-status/{category}": {
      "get": {
        "summary": "A claim status category",
        "description": "A claim status category code in words, read both ways: on a claim acknowledgment (277CA), whether it means accepted, rejected or denied, and in a claim status answer, the state the explainer gives it.",
        "operationId": "getV1CodesClaimStatusByCategory",
        "tags": [
          "Codes in words"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClaimStatusCategoryAnswer"
                },
                "example": {
                  "category": "P3",
                  "words": "pending for provider information",
                  "verdict": "A",
                  "known": true,
                  "acknowledgment_verdict": {
                    "verdict": "A",
                    "words": "Not a refusal: read on a claim acknowledgment (277CA), the claim was received, accepted, pended or finalized without a denial."
                  },
                  "status_answer": {
                    "state": "info_requested",
                    "meaning": "Pending for provider information."
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "category",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "P3"
          }
        ]
      }
    },
    "/v1/codes/claim-status-code/{code}": {
      "get": {
        "summary": "A claim status code",
        "description": "A claim status code in words, and whether it names an entity.",
        "operationId": "getV1CodesClaimStatusCodeByCode",
        "tags": [
          "Codes in words"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClaimStatusCodeAnswer"
                },
                "example": {
                  "code": "297",
                  "words": "medical notes or a report",
                  "names_an_entity": false,
                  "known": true,
                  "label_source": "paraphrase"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "297"
          }
        ]
      }
    },
    "/v1/codes/service-type/{code}": {
      "get": {
        "summary": "A service type code",
        "description": "A service type code in words: its 005010 meaning where Payerworks has verified it, and the meaning later X12 versions gave a code they reassigned.",
        "operationId": "getV1CodesServiceTypeByCode",
        "tags": [
          "Codes in words"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceTypeAnswer"
                },
                "example": {
                  "code": "98",
                  "words": "physician visit, office",
                  "known": true,
                  "verified_in_005010": true,
                  "later_words": "prescription drug",
                  "label_source": "paraphrase"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "98"
          }
        ]
      }
    },
    "/v1/codes/aaa/{code}": {
      "get": {
        "summary": "A reject reason code",
        "description": "A reject reason from a 271 (its AAA segment) in words, whether asking again can help, and the request fields to correct. Add ?loop=2100D for a dependent.",
        "operationId": "getV1CodesAaaByCode",
        "tags": [
          "Codes in words"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AaaAnswer"
                },
                "example": {
                  "code": "72",
                  "words": "the subscriber’s member ID is missing or not valid",
                  "known": true,
                  "retryable": false,
                  "fix_field": "subscriber.memberId",
                  "fix_fields": [
                    "subscriber.memberId"
                  ],
                  "loop": "",
                  "label_source": "paraphrase"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "72"
          },
          {
            "name": "loop",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^2[01]\\d0[A-D]$"
            },
            "description": "The loop the reason was returned in, such as 2100C or 2100D (a dependent)."
          }
        ]
      }
    },
    "/v1/sandbox/claims": {
      "post": {
        "summary": "Run the sandbox payer",
        "description": "Your claims written as an 837P and answered by the sandbox payer in the same call: a 999 for the file, a 277CA for each claim and an 835 for each claim it adjudicated, every file explained, and claims[] with each claim’s warnings, its repairs and the checks that could not run. Any key may call it, every file is a test file, and nothing reaches a payer. How the member ID ends decides the answer. A member ID ending in RFAI is held for a document: a 277 request for additional information follows. Send the same claims again with the solicited 275 (attachments_275, at most five) and the claim is paid.",
        "operationId": "postV1SandboxClaims",
        "tags": [
          "Sandbox payers"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxClaimsAnswer"
                },
                "example": {
                  "usage": "T",
                  "transmitted": false,
                  "control": {
                    "interchange": "000000001",
                    "group": "1",
                    "sets": [
                      "0001",
                      "0002"
                    ]
                  },
                  "files": {
                    "claims_837p": "ISA*00*          *00*          *ZZ*SAMPLEBILLER   *ZZ*PWSANDBOX      *261019*1500*^*00501*000000001*0*T*:~GS*HC*SAMPLEBILLER*PWSANDBOX*20261019*1500*1*X*005010X222A1~ST*837*0001*005010X222A1~BHT*0019*00*PW-SBX-PAID*20261019*1500*CH~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Health Plan*****46*PWSANDBOX~HL*1**20*1~PRV*BI*PXC*1223S0112X~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W123456789~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19600214*F~NM1*PR*2*Sample Health Plan*****PI*99999~CLM*PW-SBX-PAID*2900***11:B:1*Y*A*Y*Y~HI*ABK:G4733~LX*1~SV1*HC:E0486:KX*2900*UN*1***1~DTP*472*D8*20261001~SE*24*0001~ST*837*0002*005010X222A1~BHT*0019*00*PW-SBX-REJ*20261019*1500*CH~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Health Plan*****46*PWSANDBOX~HL*1**20*1~PRV*BI*PXC*1223S0112X~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W12345REJ~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19600214*F~NM1*PR*2*Sample Health Plan*****PI*99999~CLM*PW-SBX-REJ*2900***11:B:1*Y*A*Y*Y~HI*ABK:G4733~LX*1~SV1*HC:E0486:KX*2900*UN*1***1~DTP*472*D8*20261001~SE*24*0002~GE*2*1~IEA*1*000000001~",
                    "acknowledgment_999": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000001*0*T*:~GS*FA*PWSANDBOX*SAMPLEBILLER*20261019*1500*1*X*005010X231A1~ST*999*0001*005010X231A1~AK1*HC*1*005010X222A1~AK2*837*0001*005010X222A1~IK5*A~AK2*837*0002*005010X222A1~IK5*A~AK9*A*2*2*2~SE*8*0001~GE*1*1~IEA*1*000000001~",
                    "claim_acknowledgment_277ca": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000002*0*T*:~GS*HN*PWSANDBOX*SAMPLEBILLER*20261019*1500*2*X*005010X214~ST*277*0001*005010X214~BHT*0085*08*PWSANDBOX2*20261019*1500*TH~HL*1**20*1~NM1*PR*2*PAYERWORKS SANDBOX PAYER*****PI*PWSANDBOX~TRN*1*PWSANDBOX2~DTP*050*D8*20261019~DTP*009*D8*20261019~HL*2*1*21*1~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~TRN*2*000000001~STC*A1:19:PR*20261019*WQ*5800~QTY*90*1~QTY*AA*1~AMT*YU*2900~AMT*YY*2900~HL*3*2*19*1~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~TRN*1*0~HL*4*3*PT~NM1*QC*1*Patient*Sample****MI*W123456789~TRN*2*PW-SBX-PAID~STC*A2:20*20261019*WQ*2900~REF*1K*PWS2292711347~DTP*472*D8*20261001~HL*5*3*PT~NM1*QC*1*Patient*Sample****MI*W12345REJ~TRN*2*PW-SBX-REJ~STC*A7:164:IL*20261019*U*2900~DTP*472*D8*20261001~SE*30*0001~GE*1*2~IEA*1*000000002~",
                    "remittance_835": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000003*0*T*:~GS*HP*PWSANDBOX*SAMPLEBILLER*20261019*1500*3*X*005010X221A1~ST*835*0001~BPR*I*1392*C*CHK************20261019~TRN*1*PWSANDBOX-000000003-1*1PWSANDBOX~DTM*405*20261019~N1*PR*PAYERWORKS SANDBOX PAYER*XV*PWSANDBOX~REF*2U*PWSANDBOX~N1*PE*Sample Sleep Dentistry*XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*TJ*123456789~LX*1~CLP*PW-SBX-PAID*1*2900*1392*348*CI*PWS2292711347*11*1~NM1*QC*1*Patient*Sample****MI*W123456789~SVC*HC:E0486:KX*2900*1392**1~DTM*472*20261001~CAS*CO*45*1160~CAS*PR*2*348~AMT*B6*1740~SE*19*0001~GE*1*3~IEA*1*000000003~"
                  },
                  "outcomes": [
                    {
                      "reference": "PW-SBX-PAID",
                      "outcome": "paid",
                      "charge": 2900,
                      "allowed": 1740,
                      "paid": 1392,
                      "patient_responsibility": 348,
                      "payer_claim_number": "PWS2292711347"
                    },
                    {
                      "reference": "PW-SBX-REJ",
                      "outcome": "rejected",
                      "charge": 2900,
                      "allowed": null,
                      "paid": null,
                      "patient_responsibility": null,
                      "payer_claim_number": ""
                    }
                  ],
                  "claims": [
                    {
                      "reference": "PW-SBX-PAID",
                      "warnings": [],
                      "repairs": [],
                      "not_checked": []
                    },
                    {
                      "reference": "PW-SBX-REJ",
                      "warnings": [],
                      "repairs": [],
                      "not_checked": []
                    }
                  ],
                  "explained": {
                    "acknowledgment_999": {
                      "kind": "999",
                      "groups": [
                        {
                          "control_number": "1",
                          "verdict": "A",
                          "verdict_words": "Accepted",
                          "received": 2,
                          "accepted": 2,
                          "transaction_sets": [
                            {
                              "control_number": "0001",
                              "verdict": "A",
                              "verdict_words": "Accepted",
                              "fixes": []
                            },
                            {
                              "control_number": "0002",
                              "verdict": "A",
                              "verdict_words": "Accepted",
                              "fixes": []
                            }
                          ]
                        }
                      ]
                    },
                    "claim_acknowledgment_277ca": {
                      "kind": "277CA",
                      "batch": {
                        "trace": "000000001",
                        "statuses": [
                          {
                            "category": "A1",
                            "code": "19",
                            "entity": "PR",
                            "date": "20261019",
                            "action": "WQ",
                            "amount": "5800"
                          }
                        ],
                        "accepted": 1,
                        "rejected": 1
                      },
                      "claims": [
                        {
                          "reference": "PW-SBX-PAID",
                          "payer_claim_number": "PWS2292711347",
                          "verdict": "A",
                          "fixes": [
                            {
                              "category": "A2",
                              "code": "20",
                              "entity": "",
                              "verdict": "A",
                              "where": "",
                              "sentence": "The claim was accepted into the payer's adjudication system: accepted for processing (STC A2:20). Nothing to fix."
                            }
                          ]
                        },
                        {
                          "reference": "PW-SBX-REJ",
                          "payer_claim_number": "",
                          "verdict": "R",
                          "fixes": [
                            {
                              "category": "A7",
                              "code": "164",
                              "entity": "IL",
                              "verdict": "R",
                              "where": "the subscriber in your claim data",
                              "sentence": "The claim was rejected for invalid information: the subscriber's contract or member number is missing or invalid (STC A7:164:IL). Fix it on the subscriber in your claim data, then send the claim again."
                            }
                          ]
                        }
                      ]
                    },
                    "remittance": {
                      "check": {
                        "number": "PWSANDBOX-000000003-1",
                        "date": "20261019",
                        "amount": "1392",
                        "method_flag": "C",
                        "payer": "PAYERWORKS SANDBOX PAYER",
                        "payee_ids": {
                          "npis": [
                            "1234567893"
                          ],
                          "tins": [
                            "123456789"
                          ]
                        }
                      },
                      "checks": [
                        {
                          "number": "PWSANDBOX-000000003-1",
                          "date": "20261019",
                          "amount": "1392",
                          "method_flag": "C",
                          "payer": "PAYERWORKS SANDBOX PAYER",
                          "payee_ids": {
                            "npis": [
                              "1234567893"
                            ],
                            "tins": [
                              "123456789"
                            ]
                          },
                          "references": [
                            "PW-SBX-PAID"
                          ],
                          "balance": {
                            "stated": 1392,
                            "claims_net": 1392,
                            "provider_adjustments_net": 0,
                            "variance": 0,
                            "ties": true,
                            "words": "The claims, less the provider-level adjustments, add up to the check."
                          },
                          "provider_adjustments": []
                        }
                      ],
                      "claims": [
                        {
                          "reference": "PW-SBX-PAID",
                          "payer_claim_number": "PWS2292711347",
                          "status_code": "1",
                          "status": "processed as primary",
                          "service_date": "20261001",
                          "billed": 2900,
                          "paid": 1392,
                          "allowed": 1740,
                          "patient_responsibility": 348,
                          "amounts": {
                            "billed": 2900,
                            "paid": 1392,
                            "allowed": 1740,
                            "allowed_basis": "stated",
                            "patient_responsibility": 348,
                            "patient_basis": "stated",
                            "adjustment": 1160,
                            "adjustment_basis": "stated",
                            "write_off": 1160,
                            "below_allowed": 0,
                            "not_paid": 0,
                            "shortfall": 0
                          },
                          "adjustments": [
                            {
                              "group": "CO",
                              "code": "45",
                              "amount": 1160,
                              "label": "Charge exceeds the fee schedule / contracted amount",
                              "category": "Underpayment",
                              "known": true,
                              "label_source": "paraphrase",
                              "patient_billable": false
                            }
                          ],
                          "patient_adjustments": [
                            {
                              "group": "PR",
                              "code": "2",
                              "amount": 348,
                              "label": "Coinsurance amount",
                              "category": "Other",
                              "known": true,
                              "label_source": "paraphrase",
                              "patient_billable": true
                            }
                          ],
                          "remark_codes": [],
                          "primary_reason": null,
                          "crossover_carrier": "",
                          "service_lines": [
                            {
                              "procedure_code": "E0486",
                              "modifiers": [
                                "KX"
                              ],
                              "billed": 2900,
                              "paid": 1392,
                              "allowed": 1740
                            }
                          ],
                          "check_number": "PWSANDBOX-000000003-1",
                          "index": 0,
                          "claim_filing_indicator": "CI",
                          "verdict": "paid",
                          "verdict_words": "Paid: the payer paid $1,392.00, the patient owes $348.00 (patient responsibility), and $1,160.00 is a contractual adjustment.",
                          "remarks": [],
                          "claim_adjustments": [],
                          "lines": [
                            {
                              "index": 0,
                              "procedure_code": "E0486",
                              "procedure_qualifier": "HC",
                              "modifiers": [
                                "KX"
                              ],
                              "billed": 2900,
                              "paid": 1392,
                              "allowed": 1740,
                              "units_paid": 1,
                              "service_date": "2026-10-01",
                              "service_date_end": null,
                              "line_control_number": "",
                              "adjustments": [
                                {
                                  "group": "CO",
                                  "code": "45",
                                  "amount": 1160,
                                  "line": 0
                                },
                                {
                                  "group": "PR",
                                  "code": "2",
                                  "amount": 348,
                                  "line": 0
                                }
                              ],
                              "remarks": []
                            }
                          ]
                        }
                      ],
                      "provider_adjustments": [],
                      "groups": {
                        "CO": {
                          "name": "Contractual obligation",
                          "patient_billable": false,
                          "words": "An adjustment your agreement with the payer, or a regulation, requires. It is generally a write-off for you and is not billed to the patient."
                        },
                        "OA": {
                          "name": "Other adjustment",
                          "patient_billable": "depends",
                          "words": "Used when no other group applies, such as the effect of an earlier payer's payment. Whether the patient may be billed depends on the reason code beside it and on your agreement with the plan."
                        },
                        "PI": {
                          "name": "Payer-initiated reduction",
                          "patient_billable": false,
                          "words": "A reduction the payer made itself. It is not a patient responsibility amount, so it is not billed to the patient."
                        },
                        "PR": {
                          "name": "Patient responsibility",
                          "patient_billable": true,
                          "words": "An amount that may be billed to the patient, such as the deductible, coinsurance or copay."
                        }
                      }
                    }
                  },
                  "events": [
                    {
                      "id": "evt_cc264f7536a9315a0c6fe09f",
                      "type": "sandbox.file.acknowledged"
                    },
                    {
                      "id": "evt_e38518c4523f2dcd24e34de2",
                      "type": "sandbox.claim.acknowledged"
                    },
                    {
                      "id": "evt_81a14dbb4324916233fdea4d",
                      "type": "sandbox.claim.acknowledged"
                    },
                    {
                      "id": "evt_515ec4850bb2c9960c145567",
                      "type": "sandbox.remittance.received"
                    }
                  ],
                  "webhook": {
                    "configured": false,
                    "queued": 0
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ClaimsBody"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "sender_id": {
                        "type": "string",
                        "description": "Your submitter id, 2 to 15 letters, digits or spaces. Left out: SUBMITTER.",
                        "minLength": 2,
                        "maxLength": 15,
                        "pattern": "^[A-Za-z0-9 ]{2,15}$"
                      },
                      "receiver_id": {
                        "type": "string",
                        "description": "2 to 15 letters, digits or spaces. Left out: PWSANDBOX.",
                        "minLength": 2,
                        "maxLength": 15,
                        "pattern": "^[A-Za-z0-9 ]{2,15}$"
                      },
                      "control_number": {
                        "type": "integer",
                        "description": "Left out: 1.",
                        "minimum": 1,
                        "maximum": 999999999
                      },
                      "usage": {
                        "type": "string",
                        "description": "The sandbox answers test interchanges only.",
                        "enum": [
                          "T"
                        ]
                      },
                      "attachments_275": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "description": "A solicited 275, envelope included."
                        },
                        "description": "At most 5: sent with the same claims, a complete one answers the request and the claim is paid.",
                        "maxItems": 5
                      }
                    }
                  }
                ]
              },
              "example": {
                "sender_id": "SAMPLEBILLER",
                "claims": [
                  {
                    "tradingPartnerServiceId": "99999",
                    "submitter": {
                      "organizationName": "Sample Sleep Dentistry",
                      "contactInformation": {
                        "name": "Billing Office",
                        "phoneNumber": "5555550100"
                      }
                    },
                    "receiver": {
                      "organizationName": "Sample Health Plan"
                    },
                    "billing": {
                      "npi": "1234567893",
                      "employerId": "123456789",
                      "organizationName": "Sample Sleep Dentistry",
                      "taxonomyCode": "1223S0112X",
                      "address": {
                        "address1": "100 Main Street",
                        "city": "Springfield",
                        "state": "IL",
                        "postalCode": "627011234"
                      }
                    },
                    "subscriber": {
                      "memberId": "W123456789",
                      "paymentResponsibilityLevelCode": "P",
                      "firstName": "Sample",
                      "lastName": "Patient",
                      "gender": "F",
                      "dateOfBirth": "19600214",
                      "address": {
                        "address1": "9 Elm Street",
                        "city": "Springfield",
                        "state": "IL",
                        "postalCode": "62701"
                      }
                    },
                    "claimInformation": {
                      "claimFilingCode": "CI",
                      "patientControlNumber": "PW-SBX-PAID",
                      "claimChargeAmount": "2900.00",
                      "placeOfServiceCode": "11",
                      "claimFrequencyCode": "1",
                      "signatureIndicator": "Y",
                      "planParticipationCode": "A",
                      "benefitsAssignmentCertificationIndicator": "Y",
                      "releaseInformationCode": "Y",
                      "healthCareCodeInformation": [
                        {
                          "diagnosisTypeCode": "ABK",
                          "diagnosisCode": "G4733"
                        }
                      ],
                      "serviceLines": [
                        {
                          "serviceDate": "20261001",
                          "professionalService": {
                            "procedureIdentifier": "HC",
                            "procedureCode": "E0486",
                            "procedureModifiers": [
                              "KX"
                            ],
                            "lineItemChargeAmount": "2900.00",
                            "measurementUnit": "UN",
                            "serviceUnitCount": "1",
                            "compositeDiagnosisCodePointers": {
                              "diagnosisCodePointers": [
                                "1"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  },
                  {
                    "tradingPartnerServiceId": "99999",
                    "submitter": {
                      "organizationName": "Sample Sleep Dentistry",
                      "contactInformation": {
                        "name": "Billing Office",
                        "phoneNumber": "5555550100"
                      }
                    },
                    "receiver": {
                      "organizationName": "Sample Health Plan"
                    },
                    "billing": {
                      "npi": "1234567893",
                      "employerId": "123456789",
                      "organizationName": "Sample Sleep Dentistry",
                      "taxonomyCode": "1223S0112X",
                      "address": {
                        "address1": "100 Main Street",
                        "city": "Springfield",
                        "state": "IL",
                        "postalCode": "627011234"
                      }
                    },
                    "subscriber": {
                      "memberId": "W12345REJ",
                      "paymentResponsibilityLevelCode": "P",
                      "firstName": "Sample",
                      "lastName": "Patient",
                      "gender": "F",
                      "dateOfBirth": "19600214",
                      "address": {
                        "address1": "9 Elm Street",
                        "city": "Springfield",
                        "state": "IL",
                        "postalCode": "62701"
                      }
                    },
                    "claimInformation": {
                      "claimFilingCode": "CI",
                      "patientControlNumber": "PW-SBX-REJ",
                      "claimChargeAmount": "2900.00",
                      "placeOfServiceCode": "11",
                      "claimFrequencyCode": "1",
                      "signatureIndicator": "Y",
                      "planParticipationCode": "A",
                      "benefitsAssignmentCertificationIndicator": "Y",
                      "releaseInformationCode": "Y",
                      "healthCareCodeInformation": [
                        {
                          "diagnosisTypeCode": "ABK",
                          "diagnosisCode": "G4733"
                        }
                      ],
                      "serviceLines": [
                        {
                          "serviceDate": "20261001",
                          "professionalService": {
                            "procedureIdentifier": "HC",
                            "procedureCode": "E0486",
                            "procedureModifiers": [
                              "KX"
                            ],
                            "lineItemChargeAmount": "2900.00",
                            "measurementUnit": "UN",
                            "serviceUnitCount": "1",
                            "compositeDiagnosisCodePointers": {
                              "diagnosisCodePointers": [
                                "1"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/v1/sandbox/claims/837i": {
      "post": {
        "summary": "Run the sandbox payer on an 837I",
        "description": "Your institutional claims checked as POST /v1/claims/837i checks them, written as an 837I and answered by the same sandbox payer as the professional claims, by the same rules: how the member ID ends decides the answer, and the paid amounts and payer claim numbers are made the same way. The answer is a 999 for the file, a 277CA for each claim and an 835 for each claim it adjudicated, and explain_with names the routes that explain them. A member ID ending in RFAI is held for a document, as on POST /v1/sandbox/claims: send the same claims again with the solicited 275 in attachments_275 and the claim is paid. Any key may call it, every file is a test file, nothing is posted to your webhook, and nothing reaches a payer.",
        "operationId": "postV1SandboxClaims837i",
        "tags": [
          "Sandbox payers"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxClaimFileAnswer"
                },
                "example": {
                  "kind": "837I",
                  "version": "005010X223A2",
                  "usage": "T",
                  "transmitted": false,
                  "control": {
                    "interchange": "000000001",
                    "group": "1",
                    "sets": [
                      "0001"
                    ]
                  },
                  "files": {
                    "claims_837i": "ISA*00*          *00*          *ZZ*SAMPLEBILLER   *ZZ*PWSANDBOX      *261019*1500*^*00501*000000001*0*T*:~GS*HC*SAMPLEBILLER*PWSANDBOX*20261019*1500*1*X*005010X223A2~ST*837*0001*005010X223A2~BHT*0019*00*PW-3001*20261019*1500*CH~NM1*41*2*Sample Community Hospital*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Health Plan*****46*PWSANDBOX~HL*1**20*1~PRV*BI*PXC*282N00000X~NM1*85*2*Sample Community Hospital*****XX*1234567893~N3*200 Hospital Drive~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*GRP1******CI~NM1*IL*1*Patient*Sample****MI*W123456789~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19700101*F~NM1*PR*2*Sample Health Plan*****PI*99999~CLM*PW-3001*1500.50***11:A:1**A*Y*Y~DTP*096*TM*1400~DTP*434*RD8*20261001-20261003~DTP*435*DT*202610010800~CL1*1*7*01~HI*ABK:J189:::::::Y~HI*ABJ:R05~HI*ABF:E119:::::::Y~NM1*71*1*Doctor*Sample****XX*1245319599~PRV*AT*PXC*207R00000X~LX*1~SV2*0120**1000*DA*2~DTP*472*RD8*20261001-20261002~REF*6R*L1~LX*2~SV2*0300*HC:80053*500.50*UN*1~DTP*472*D8*20261001~REF*6R*L2~SE*37*0001~GE*1*1~IEA*1*000000001~",
                    "acknowledgment_999": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000001*0*T*:~GS*FA*PWSANDBOX*SAMPLEBILLER*20261019*1500*1*X*005010X231A1~ST*999*0001*005010X231A1~AK1*HC*1*005010X223A2~AK2*837*0001*005010X223A2~IK5*A~AK9*A*1*1*1~SE*6*0001~GE*1*1~IEA*1*000000001~",
                    "claim_acknowledgment_277ca": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000002*0*T*:~GS*HN*PWSANDBOX*SAMPLEBILLER*20261019*1500*2*X*005010X214~ST*277*0001*005010X214~BHT*0085*08*PWSANDBOX2*20261019*1500*TH~HL*1**20*1~NM1*PR*2*PAYERWORKS SANDBOX PAYER*****PI*PWSANDBOX~TRN*1*PWSANDBOX2~DTP*050*D8*20261019~DTP*009*D8*20261019~HL*2*1*21*1~NM1*41*2*Sample Community Hospital*****46*SAMPLEBILLER~TRN*2*000000001~STC*A1:19:PR*20261019*WQ*1500.5~QTY*90*1~AMT*YU*1500.5~HL*3*2*19*1~NM1*85*2*Sample Community Hospital*****XX*1234567893~TRN*1*0~HL*4*3*PT~NM1*QC*1*Patient*Sample****MI*W123456789~TRN*2*PW-3001~STC*A2:20*20261019*WQ*1500.5~REF*1K*PWS1424823247~DTP*472*D8*20261001~SE*23*0001~GE*1*2~IEA*1*000000002~",
                    "remittance_835": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000003*0*T*:~GS*HP*PWSANDBOX*SAMPLEBILLER*20261019*1500*3*X*005010X221A1~ST*835*0001~BPR*I*720.24*C*CHK************20261019~TRN*1*PWSANDBOX-000000003-1*1PWSANDBOX~DTM*405*20261019~N1*PR*PAYERWORKS SANDBOX PAYER*XV*PWSANDBOX~REF*2U*PWSANDBOX~N1*PE*Sample Community Hospital*XX*1234567893~N3*200 Hospital Drive~N4*Springfield*IL*627011234~REF*TJ*123456789~LX*1~CLP*PW-3001*1*1500.5*720.24*180.06*CI*PWS1424823247*11*1~NM1*QC*1*Patient*Sample****MI*W123456789~SVC*NU:0120*1000*480**2~DTM*472*20261001~CAS*CO*45*400~CAS*PR*2*120~REF*6R*L1~AMT*B6*600~SVC*HC:80053*500.5*240.24*0300*1~DTM*472*20261001~CAS*CO*45*200.2~CAS*PR*2*60.06~REF*6R*L2~AMT*B6*300.3~SE*26*0001~GE*1*3~IEA*1*000000003~"
                  },
                  "outcomes": [
                    {
                      "reference": "PW-3001",
                      "outcome": "paid",
                      "charge": 1500.5,
                      "allowed": 900.3,
                      "paid": 720.24,
                      "patient_responsibility": 180.06,
                      "payer_claim_number": "PWS1424823247"
                    }
                  ],
                  "claims": [
                    {
                      "reference": "PW-3001",
                      "warnings": []
                    }
                  ],
                  "explain_with": {
                    "acknowledgments": "POST /v1/acknowledgments/explain",
                    "remittance": "POST /v1/remittances/explain"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "type": "object",
                    "description": "One claim as claim, or a list as claims.",
                    "properties": {
                      "claim": {
                        "$ref": "#/components/schemas/InstitutionalClaim"
                      },
                      "claims": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/InstitutionalClaim"
                        },
                        "description": "At most 100.",
                        "maxItems": 100
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "sender_id": {
                        "type": "string",
                        "description": "Your submitter id, 2 to 15 letters, digits or spaces. Left out: SUBMITTER.",
                        "minLength": 2,
                        "maxLength": 15,
                        "pattern": "^[A-Za-z0-9 ]{2,15}$"
                      },
                      "receiver_id": {
                        "type": "string",
                        "description": "2 to 15 letters, digits or spaces. Left out: PWSANDBOX.",
                        "minLength": 2,
                        "maxLength": 15,
                        "pattern": "^[A-Za-z0-9 ]{2,15}$"
                      },
                      "control_number": {
                        "type": "integer",
                        "description": "Left out: 1.",
                        "minimum": 1,
                        "maximum": 999999999
                      },
                      "usage": {
                        "type": "string",
                        "description": "The sandbox answers test interchanges only.",
                        "enum": [
                          "T"
                        ]
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "attachments_275": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "description": "A solicited 275, envelope included."
                        },
                        "description": "At most 5: sent with the same claims, a complete one answers the request and the claim is paid.",
                        "maxItems": 5
                      }
                    }
                  }
                ]
              },
              "example": {
                "sender_id": "SAMPLEBILLER",
                "claim": {
                  "tradingPartnerServiceId": "99999",
                  "submitter": {
                    "organizationName": "Sample Community Hospital",
                    "contactInformation": {
                      "name": "Billing Office",
                      "phoneNumber": "5555550100"
                    }
                  },
                  "receiver": {
                    "organizationName": "Sample Health Plan"
                  },
                  "billing": {
                    "organizationName": "Sample Community Hospital",
                    "npi": "1234567893",
                    "employerId": "123456789",
                    "taxonomyCode": "282N00000X",
                    "address": {
                      "address1": "200 Hospital Drive",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "627011234"
                    }
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "firstName": "Sample",
                    "lastName": "Patient",
                    "dateOfBirth": "19700101",
                    "gender": "F",
                    "groupNumber": "GRP1",
                    "address": {
                      "address1": "9 Elm Street",
                      "city": "Springfield",
                      "state": "IL",
                      "postalCode": "62701"
                    }
                  },
                  "attending": {
                    "lastName": "Doctor",
                    "firstName": "Sample",
                    "npi": "1245319599",
                    "taxonomyCode": "207R00000X"
                  },
                  "claimInformation": {
                    "patientControlNumber": "PW-3001",
                    "claimChargeAmount": "1500.50",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "1",
                    "claimFilingCode": "CI",
                    "claimDateInformation": {
                      "statementBeginDate": "20261001",
                      "statementEndDate": "20261003",
                      "admissionDateAndHour": "202610010800",
                      "dischargeHour": "1400"
                    },
                    "claimCodeInformation": {
                      "admissionTypeCode": "1",
                      "admissionSourceCode": "7",
                      "patientStatusCode": "01"
                    },
                    "principalDiagnosis": {
                      "qualifierCode": "ABK",
                      "principalDiagnosisCode": "J18.9",
                      "presentOnAdmissionIndicator": "Y"
                    },
                    "admittingDiagnosis": {
                      "qualifierCode": "ABJ",
                      "admittingDiagnosisCode": "R05"
                    },
                    "otherDiagnosisInformationList": [
                      [
                        {
                          "qualifierCode": "ABF",
                          "otherDiagnosisCode": "E119",
                          "presentOnAdmissionIndicator": "Y"
                        }
                      ]
                    ],
                    "serviceLines": [
                      {
                        "institutionalService": {
                          "serviceLineRevenueCode": "0120",
                          "lineItemChargeAmount": "1000",
                          "measurementUnit": "DA",
                          "serviceUnitCount": "2"
                        },
                        "serviceDate": "20261001",
                        "serviceDateEnd": "20261002",
                        "lineItemControlNumber": "L1"
                      },
                      {
                        "institutionalService": {
                          "serviceLineRevenueCode": "0300",
                          "procedureIdentifier": "HC",
                          "procedureCode": "80053",
                          "lineItemChargeAmount": "500.50",
                          "serviceUnitCount": "1"
                        },
                        "serviceDate": "20261001",
                        "lineItemControlNumber": "L2"
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/sandbox/claims/837d": {
      "post": {
        "summary": "Run the sandbox payer on an 837D",
        "description": "Your dental claims and predeterminations, checked as POST /v1/claims/837d checks them and answered by the same sandbox payer, by the same member ID endings, with a 999, a 277CA and an 835. A predetermination is answered as one: CLP02 25, nothing paid, each line’s would-be payment as an OA 101 adjustment, and the estimate in the outcome. A member ID ending in RFAI is held for a document: send the same claims again with the solicited 275 in attachments_275 and the claim is paid. Any key may call it, every file is a test file, nothing is posted to your webhook, and nothing reaches a payer.",
        "operationId": "postV1SandboxClaims837d",
        "tags": [
          "Sandbox payers"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxClaimFileAnswer"
                },
                "example": {
                  "kind": "837D",
                  "version": "005010X224A2",
                  "usage": "T",
                  "transmitted": false,
                  "control": {
                    "interchange": "000000001",
                    "group": "1",
                    "sets": [
                      "0001",
                      "0002"
                    ]
                  },
                  "files": {
                    "claims_837d": "ISA*00*          *00*          *ZZ*SAMPLEBILLER   *ZZ*PWSANDBOX      *261019*1500*^*00501*000000001*0*T*:~GS*HC*SAMPLEBILLER*PWSANDBOX*20261019*1500*1*X*005010X224A2~ST*837*0001*005010X224A2~BHT*0019*00*PW-4001*20261019*1500*CH~NM1*41*2*Sample Dental*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Dental Plan*****46*PWSANDBOX~HL*1**20*1~PRV*BI*PXC*1223G0001X~NM1*85*2*Sample Dental*****XX*1234567893~N3*3 Oak Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W123456789~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19800202*F~NM1*PR*2*Sample Dental Plan*****PI*99999~CLM*PW-4001*385***11:B:1*Y*A*Y*Y~DTP*472*D8*20261005~HI*ABK:K0252~NM1*82*1*Dentist*Sample****XX*1245319599~PRV*PE*PXC*1223G0001X~LX*1~SV3*AD:D2392*210****1*****1~TOO*JP*30*M:O~REF*6R*DL1~LX*2~SV3*AD:D2740*175***I******1~TOO*JP*19~REF*6R*DL2~SE*32*0001~ST*837*0002*005010X224A2~BHT*0019*00*PW-4002*20261019*1500*CH~NM1*41*2*Sample Dental*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Dental Plan*****46*PWSANDBOX~HL*1**20*1~PRV*BI*PXC*1223G0001X~NM1*85*2*Sample Dental*****XX*1234567893~N3*3 Oak Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W123456789~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19800202*F~NM1*PR*2*Sample Dental Plan*****PI*99999~CLM*PW-4002*385***11:B:1*Y*A*Y*Y**********PB~HI*ABK:K0252~NM1*82*1*Dentist*Sample****XX*1245319599~PRV*PE*PXC*1223G0001X~LX*1~SV3*AD:D2392*210****1*****1~TOO*JP*30*M:O~REF*6R*DL1~LX*2~SV3*AD:D2740*175***I******1~TOO*JP*19~REF*6R*DL2~SE*31*0002~GE*2*1~IEA*1*000000001~",
                    "acknowledgment_999": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000001*0*T*:~GS*FA*PWSANDBOX*SAMPLEBILLER*20261019*1500*1*X*005010X231A1~ST*999*0001*005010X231A1~AK1*HC*1*005010X224A2~AK2*837*0001*005010X224A2~IK5*A~AK2*837*0002*005010X224A2~IK5*A~AK9*A*2*2*2~SE*8*0001~GE*1*1~IEA*1*000000001~",
                    "claim_acknowledgment_277ca": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000002*0*T*:~GS*HN*PWSANDBOX*SAMPLEBILLER*20261019*1500*2*X*005010X214~ST*277*0001*005010X214~BHT*0085*08*PWSANDBOX2*20261019*1500*TH~HL*1**20*1~NM1*PR*2*PAYERWORKS SANDBOX PAYER*****PI*PWSANDBOX~TRN*1*PWSANDBOX2~DTP*050*D8*20261019~DTP*009*D8*20261019~HL*2*1*21*1~NM1*41*2*Sample Dental*****46*SAMPLEBILLER~TRN*2*000000001~STC*A1:19:PR*20261019*WQ*770~QTY*90*2~AMT*YU*770~HL*3*2*19*1~NM1*85*2*Sample Dental*****XX*1234567893~TRN*1*0~HL*4*3*PT~NM1*QC*1*Patient*Sample****MI*W123456789~TRN*2*PW-4001~STC*A2:20*20261019*WQ*385~REF*1K*PWS3214346392~DTP*472*D8*20261005~HL*5*3*PT~NM1*QC*1*Patient*Sample****MI*W123456789~TRN*2*PW-4002~STC*A2:20*20261019*WQ*385~REF*1K*PWS3264679249~DTP*472*D8*20261019~SE*29*0001~GE*1*2~IEA*1*000000002~",
                    "remittance_835": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1500*^*00501*000000003*0*T*:~GS*HP*PWSANDBOX*SAMPLEBILLER*20261019*1500*3*X*005010X221A1~ST*835*0001~BPR*I*184.8*C*CHK************20261019~TRN*1*PWSANDBOX-000000003-1*1PWSANDBOX~DTM*405*20261019~N1*PR*PAYERWORKS SANDBOX PAYER*XV*PWSANDBOX~REF*2U*PWSANDBOX~N1*PE*Sample Dental*XX*1234567893~N3*3 Oak Street~N4*Springfield*IL*627011234~REF*TJ*123456789~LX*1~CLP*PW-4001*1*385*184.8*46.2*CI*PWS3214346392*11*1~NM1*QC*1*Patient*Sample****MI*W123456789~SVC*AD:D2392*210*100.8**1~DTM*472*20261005~CAS*CO*45*84~CAS*PR*2*25.2~REF*6R*DL1~AMT*B6*126~SVC*AD:D2740*175*84**1~DTM*472*20261005~CAS*CO*45*70~CAS*PR*2*21~REF*6R*DL2~AMT*B6*105~CLP*PW-4002*25*385*0*46.2*CI*PWS3264679249*11*1~NM1*QC*1*Patient*Sample****MI*W123456789~SVC*AD:D2392*210*0**1~CAS*CO*45*84~CAS*PR*2*25.2~CAS*OA*101*100.8~REF*6R*DL1~AMT*B6*126~SVC*AD:D2740*175*0**1~CAS*CO*45*70~CAS*PR*2*21~CAS*OA*101*84~REF*6R*DL2~AMT*B6*105~SE*40*0001~GE*1*3~IEA*1*000000003~"
                  },
                  "outcomes": [
                    {
                      "reference": "PW-4001",
                      "outcome": "paid",
                      "charge": 385,
                      "allowed": 231,
                      "paid": 184.8,
                      "patient_responsibility": 46.2,
                      "payer_claim_number": "PWS3214346392"
                    },
                    {
                      "reference": "PW-4002",
                      "outcome": "paid",
                      "charge": 385,
                      "allowed": 231,
                      "paid": 0,
                      "patient_responsibility": 46.2,
                      "payer_claim_number": "PWS3264679249",
                      "predetermination": true,
                      "estimated_payment": 184.8
                    }
                  ],
                  "claims": [
                    {
                      "reference": "PW-4001",
                      "warnings": []
                    },
                    {
                      "reference": "PW-4002",
                      "warnings": []
                    }
                  ],
                  "explain_with": {
                    "acknowledgments": "POST /v1/acknowledgments/explain",
                    "remittance": "POST /v1/remittances/explain"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "type": "object",
                    "description": "One claim as claim, or a list as claims.",
                    "properties": {
                      "claim": {
                        "$ref": "#/components/schemas/DentalClaim"
                      },
                      "claims": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/DentalClaim"
                        },
                        "description": "At most 100.",
                        "maxItems": 100
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "sender_id": {
                        "type": "string",
                        "description": "Your submitter id, 2 to 15 letters, digits or spaces. Left out: SUBMITTER.",
                        "minLength": 2,
                        "maxLength": 15,
                        "pattern": "^[A-Za-z0-9 ]{2,15}$"
                      },
                      "receiver_id": {
                        "type": "string",
                        "description": "2 to 15 letters, digits or spaces. Left out: PWSANDBOX.",
                        "minLength": 2,
                        "maxLength": 15,
                        "pattern": "^[A-Za-z0-9 ]{2,15}$"
                      },
                      "control_number": {
                        "type": "integer",
                        "description": "Left out: 1.",
                        "minimum": 1,
                        "maximum": 999999999
                      },
                      "usage": {
                        "type": "string",
                        "description": "The sandbox answers test interchanges only.",
                        "enum": [
                          "T"
                        ]
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "attachments_275": {
                        "type": "array",
                        "items": {
                          "type": "string",
                          "description": "A solicited 275, envelope included."
                        },
                        "description": "At most 5: sent with the same claims, a complete one answers the request and the claim is paid.",
                        "maxItems": 5
                      }
                    }
                  }
                ]
              },
              "example": {
                "sender_id": "SAMPLEBILLER",
                "claims": [
                  {
                    "tradingPartnerServiceId": "99999",
                    "submitter": {
                      "organizationName": "Sample Dental",
                      "contactInformation": {
                        "name": "Billing Office",
                        "phoneNumber": "5555550100"
                      }
                    },
                    "receiver": {
                      "organizationName": "Sample Dental Plan"
                    },
                    "billing": {
                      "organizationName": "Sample Dental",
                      "npi": "1234567893",
                      "employerId": "123456789",
                      "taxonomyCode": "1223G0001X",
                      "address": {
                        "address1": "3 Oak Street",
                        "city": "Springfield",
                        "state": "IL",
                        "postalCode": "627011234"
                      }
                    },
                    "subscriber": {
                      "memberId": "W123456789",
                      "firstName": "Sample",
                      "lastName": "Patient",
                      "dateOfBirth": "19800202",
                      "gender": "F",
                      "address": {
                        "address1": "9 Elm Street",
                        "city": "Springfield",
                        "state": "IL",
                        "postalCode": "62701"
                      }
                    },
                    "rendering": {
                      "lastName": "Dentist",
                      "firstName": "Sample",
                      "npi": "1245319599",
                      "taxonomyCode": "1223G0001X"
                    },
                    "claimInformation": {
                      "patientControlNumber": "PW-4001",
                      "claimChargeAmount": "385",
                      "placeOfServiceCode": "11",
                      "claimFrequencyCode": "1",
                      "claimFilingCode": "CI",
                      "claimDateInformation": {
                        "serviceDate": "20261005"
                      },
                      "healthCareCodeInformation": [
                        {
                          "diagnosisTypeCode": "ABK",
                          "diagnosisCode": "K02.52"
                        }
                      ],
                      "serviceLines": [
                        {
                          "dentalService": {
                            "procedureCode": "D2392",
                            "lineItemChargeAmount": "210",
                            "procedureCount": 1,
                            "compositeDiagnosisCodePointers": {
                              "diagnosisCodePointers": [
                                "1"
                              ]
                            }
                          },
                          "teethInformation": [
                            {
                              "toothCode": "30",
                              "toothSurfaceCodes": [
                                "M",
                                "O"
                              ]
                            }
                          ],
                          "providerControlNumber": "DL1"
                        },
                        {
                          "dentalService": {
                            "procedureCode": "D2740",
                            "lineItemChargeAmount": "175",
                            "prosthesisCrownOrInlayCode": "I",
                            "compositeDiagnosisCodePointers": {
                              "diagnosisCodePointers": [
                                "1"
                              ]
                            }
                          },
                          "teethInformation": [
                            {
                              "toothCode": "19"
                            }
                          ],
                          "providerControlNumber": "DL2"
                        }
                      ]
                    }
                  },
                  {
                    "tradingPartnerServiceId": "99999",
                    "submitter": {
                      "organizationName": "Sample Dental",
                      "contactInformation": {
                        "name": "Billing Office",
                        "phoneNumber": "5555550100"
                      }
                    },
                    "receiver": {
                      "organizationName": "Sample Dental Plan"
                    },
                    "billing": {
                      "organizationName": "Sample Dental",
                      "npi": "1234567893",
                      "employerId": "123456789",
                      "taxonomyCode": "1223G0001X",
                      "address": {
                        "address1": "3 Oak Street",
                        "city": "Springfield",
                        "state": "IL",
                        "postalCode": "627011234"
                      }
                    },
                    "subscriber": {
                      "memberId": "W123456789",
                      "firstName": "Sample",
                      "lastName": "Patient",
                      "dateOfBirth": "19800202",
                      "gender": "F",
                      "address": {
                        "address1": "9 Elm Street",
                        "city": "Springfield",
                        "state": "IL",
                        "postalCode": "62701"
                      }
                    },
                    "rendering": {
                      "lastName": "Dentist",
                      "firstName": "Sample",
                      "npi": "1245319599",
                      "taxonomyCode": "1223G0001X"
                    },
                    "claimInformation": {
                      "patientControlNumber": "PW-4002",
                      "claimChargeAmount": "385",
                      "placeOfServiceCode": "11",
                      "claimFrequencyCode": "1",
                      "claimFilingCode": "CI",
                      "healthCareCodeInformation": [
                        {
                          "diagnosisTypeCode": "ABK",
                          "diagnosisCode": "K02.52"
                        }
                      ],
                      "serviceLines": [
                        {
                          "dentalService": {
                            "procedureCode": "D2392",
                            "lineItemChargeAmount": "210",
                            "procedureCount": 1,
                            "compositeDiagnosisCodePointers": {
                              "diagnosisCodePointers": [
                                "1"
                              ]
                            }
                          },
                          "teethInformation": [
                            {
                              "toothCode": "30",
                              "toothSurfaceCodes": [
                                "M",
                                "O"
                              ]
                            }
                          ],
                          "providerControlNumber": "DL1"
                        },
                        {
                          "dentalService": {
                            "procedureCode": "D2740",
                            "lineItemChargeAmount": "175",
                            "prosthesisCrownOrInlayCode": "I",
                            "compositeDiagnosisCodePointers": {
                              "diagnosisCodePointers": [
                                "1"
                              ]
                            }
                          },
                          "teethInformation": [
                            {
                              "toothCode": "19"
                            }
                          ],
                          "providerControlNumber": "DL2"
                        }
                      ],
                      "predeterminationOfBenefits": true
                    }
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/v1/sandbox/eligibility": {
      "post": {
        "summary": "Run the eligibility sandbox",
        "description": "Your eligibility questions written as a 270 and answered by the sandbox payer with a 271 in the same call, every answer explained. Any key may call it, every file is a test file, and how the member ID ends decides the answer.",
        "operationId": "postV1SandboxEligibility",
        "tags": [
          "Sandbox payers"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EligibilitySandboxAnswer"
                },
                "example": {
                  "usage": "T",
                  "transmitted": false,
                  "control": {
                    "interchange_270": "000000001",
                    "interchange_271": "000000002",
                    "sets": [
                      "0001"
                    ]
                  },
                  "files": {
                    "eligibility_270": "ISA*00*          *00*          *ZZ*SUBMITTER      *ZZ*PWSANDBOX      *261019*1500*^*00501*000000001*0*T*:~GS*HS*SUBMITTER*PWSANDBOX*20261019*1500*1*X*005010X279A1~ST*270*0001*005010X279A1~BHT*0022*13*ELIG-0001*20261019*1500~HL*1**20*1~NM1*PR*2*SAMPLE HEALTH PLAN*****PI*99999~HL*2*1*21*1~NM1*1P*2*SAMPLE FAMILY MEDICINE*****XX*1234567893~HL*3*2*22*0~TRN*1*ELIG-0001*9SUBMITTER~NM1*IL*1*PATIENT*SAMPLE****MI*W123456789~DMG*D8*19800214*F~DTP*291*D8*20261020~EQ*30~SE*13*0001~GE*1*1~IEA*1*000000001~",
                    "eligibility_271": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SUBMITTER      *261019*1500*^*00501*000000002*0*T*:~GS*HB*PWSANDBOX*SUBMITTER*20261019*1500*2*X*005010X279A1~ST*271*0001*005010X279A1~BHT*0022*11*ELIG-0001*20261019*1500~HL*1**20*1~NM1*PR*2*PAYERWORKS SANDBOX PAYER*****PI*PWSANDBOX~HL*2*1*21*1~NM1*1P*2*SAMPLE FAMILY MEDICINE*****XX*1234567893~HL*3*2*22*0~TRN*2*ELIG-0001*9SUBMITTER~NM1*IL*1*PATIENT*SAMPLE****MI*W123456789~REF*6P*PWG44444*SANDBOX GROUP~DMG*D8*19800214*F~DTP*346*D8*20260101~DTP*347*D8*20261231~EB*1*IND*30*PR*SANDBOX PPO PLAN~EB*C*IND*30***23*2500*****Y~EB*C*IND*30***29*1750*****Y~EB*G*IND*30***23*5000*****Y~EB*G*IND*30***29*4250*****Y~EB*C*FAM*30***23*5000*****Y~EB*C*FAM*30***29*4250*****Y~EB*G*FAM*30***23*10000*****Y~EB*G*FAM*30***29*9250*****Y~EB*A*IND*30*****.2****Y~EB*C*IND*30***23*5000*****N~EB*C*IND*30***29*5000*****N~EB*G*IND*30***23*10000*****N~EB*G*IND*30***29*10000*****N~EB*C*FAM*30***23*10000*****N~EB*C*FAM*30***29*10000*****N~EB*G*FAM*30***23*20000*****N~EB*G*FAM*30***29*20000*****N~EB*A*IND*30*****.4****N~SE*33*0001~GE*1*2~IEA*1*000000002~"
                  },
                  "outcomes": [
                    {
                      "index": 0,
                      "trace": "ELIG-0001",
                      "outcome": "active",
                      "trigger": ""
                    }
                  ],
                  "requests": [
                    {
                      "index": 0,
                      "trace": "ELIG-0001",
                      "warnings": []
                    }
                  ],
                  "explained": [
                    {
                      "index": 0,
                      "trace": "ELIG-0001",
                      "member": "subscriber",
                      "who": {
                        "first_name": "SAMPLE",
                        "last_name": "PATIENT",
                        "member_id": "W123456789",
                        "date_of_birth": "1980-02-14",
                        "relationship": "18"
                      },
                      "payer": {
                        "name": "PAYERWORKS SANDBOX PAYER",
                        "id": "PWSANDBOX"
                      },
                      "coverage": {
                        "state": "active",
                        "words": "The payer says the coverage is active.",
                        "active_on_date": "yes",
                        "by_insurance_type": null
                      },
                      "plan": {
                        "name": "SANDBOX PPO PLAN",
                        "group_number": "PWG44444",
                        "group_name": "SANDBOX GROUP",
                        "plan_number": "",
                        "begins": "2026-01-01",
                        "ends": "2026-12-31",
                        "eligibility_begins": "",
                        "eligibility_ends": "",
                        "insurance_type": {
                          "code": "PR",
                          "words": "preferred provider organization (PPO)"
                        }
                      },
                      "services": [],
                      "plan_level": {
                        "in_network": {
                          "individual": {
                            "deductible": {
                              "total": 2500,
                              "remaining": 1750,
                              "met": 750,
                              "period": "calendar year",
                              "begins": "",
                              "ends": "",
                              "status": null
                            },
                            "out_of_pocket": {
                              "total": 5000,
                              "remaining": 4250,
                              "met": 750,
                              "period": "calendar year",
                              "begins": "",
                              "ends": "",
                              "status": null
                            }
                          },
                          "family": {
                            "deductible": {
                              "total": 5000,
                              "remaining": 4250,
                              "met": 750,
                              "period": "calendar year",
                              "begins": "",
                              "ends": "",
                              "status": null
                            },
                            "out_of_pocket": {
                              "total": 10000,
                              "remaining": 9250,
                              "met": 750,
                              "period": "calendar year",
                              "begins": "",
                              "ends": "",
                              "status": null
                            }
                          },
                          "coinsurance_percent": 20,
                          "copay": null,
                          "not_covered": null,
                          "prior_auth_required": null
                        },
                        "out_of_network": {
                          "individual": {
                            "deductible": {
                              "total": 5000,
                              "remaining": 5000,
                              "met": 0,
                              "period": "calendar year",
                              "begins": "",
                              "ends": "",
                              "status": null
                            },
                            "out_of_pocket": {
                              "total": 10000,
                              "remaining": 10000,
                              "met": 0,
                              "period": "calendar year",
                              "begins": "",
                              "ends": "",
                              "status": null
                            }
                          },
                          "family": {
                            "deductible": {
                              "total": 10000,
                              "remaining": 10000,
                              "met": 0,
                              "period": "calendar year",
                              "begins": "",
                              "ends": "",
                              "status": null
                            },
                            "out_of_pocket": {
                              "total": 20000,
                              "remaining": 20000,
                              "met": 0,
                              "period": "calendar year",
                              "begins": "",
                              "ends": "",
                              "status": null
                            }
                          },
                          "coinsurance_percent": 40,
                          "copay": null,
                          "not_covered": null,
                          "prior_auth_required": null
                        },
                        "network_not_stated": null,
                        "figures_source": {
                          "deductible": "plan_lines",
                          "out_of_pocket": "plan_lines"
                        },
                        "stated_on": {
                          "deductible": [],
                          "out_of_pocket": []
                        },
                        "prior_auth_required": null,
                        "not_covered": null,
                        "limitations": [],
                        "messages": []
                      },
                      "procedures": [],
                      "other_payers": [],
                      "refusal": null,
                      "notes": [
                        "A remaining amount is what was left on the day the payer answered.",
                        "In network and out of network are the plan’s benefit tiers as the payer stated them (EB12): what the plan pays at each tier. A 271 does not say whether this provider participates with the plan."
                      ]
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "type": "object",
                    "properties": {
                      "request": {
                        "$ref": "#/components/schemas/EligibilityRequest"
                      },
                      "requests": {
                        "type": "array",
                        "items": {
                          "$ref": "#/components/schemas/EligibilityRequest"
                        },
                        "description": "At most 100.",
                        "maxItems": 100
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "sender_id": {
                        "type": "string",
                        "description": "2 to 15 letters, digits or spaces. Left out: SUBMITTER.",
                        "minLength": 2,
                        "maxLength": 15,
                        "pattern": "^[A-Za-z0-9 ]{2,15}$"
                      },
                      "receiver_id": {
                        "type": "string",
                        "description": "2 to 15 letters, digits or spaces. Left out: PWSANDBOX.",
                        "minLength": 2,
                        "maxLength": 15,
                        "pattern": "^[A-Za-z0-9 ]{2,15}$"
                      },
                      "control_number": {
                        "type": "integer",
                        "description": "Left out: 1."
                      },
                      "usage": {
                        "type": "string",
                        "enum": [
                          "T"
                        ]
                      }
                    }
                  }
                ]
              },
              "example": {
                "request": {
                  "tradingPartnerServiceId": "99999",
                  "tradingPartnerName": "SAMPLE HEALTH PLAN",
                  "provider": {
                    "organizationName": "SAMPLE FAMILY MEDICINE",
                    "npi": "1234567893"
                  },
                  "subscriber": {
                    "memberId": "W123456789",
                    "firstName": "SAMPLE",
                    "lastName": "PATIENT",
                    "dateOfBirth": "19800214",
                    "gender": "F"
                  },
                  "encounter": {
                    "dateOfService": "20261020",
                    "serviceTypeCodes": [
                      "30"
                    ]
                  },
                  "controlNumber": "ELIG-0001"
                }
              }
            }
          }
        }
      }
    },
    "/v1/sandbox/claim-status": {
      "post": {
        "summary": "Run the claim status sandbox",
        "description": "Your claim status questions, as JSON or a 276, answered by the sandbox payer with a 277 in the same call and explained. It agrees with the claims sandbox: the same payer claim number and, for each claim, the same paid amount. How the member ID ends decides the answer.",
        "operationId": "postV1SandboxClaimStatus",
        "tags": [
          "Sandbox payers"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClaimStatusSandboxAnswer"
                },
                "example": {
                  "usage": "T",
                  "transmitted": false,
                  "control": {
                    "inquiry": "000000001",
                    "answer": "000000002"
                  },
                  "files": {
                    "claim_status_inquiry_276": "ISA*00*          *00*          *ZZ*SUBMITTER      *ZZ*PWSANDBOX      *261019*1500*^*00501*000000001*0*T*:~GS*HR*SUBMITTER*PWSANDBOX*20261019*1500*1*X*005010X212~ST*276*0001*005010X212~BHT*0010*13*STATUS-0001*20261019*1500~HL*1**20*1~NM1*PR*2*99999*****PI*99999~HL*2*1*21*1~NM1*41*2*SAMPLE FAMILY MEDICINE*****46*SUBMITTER~HL*3*2*19*1~NM1*1P*2*SAMPLE FAMILY MEDICINE*****XX*1234567893~HL*4*3*22*0~DMG*D8*19800214~NM1*IL*1*PATIENT*SAMPLE****MI*W12345INFO~TRN*1*STATUS-0001~REF*EJ*PW-2001~AMT*T3*215~DTP*472*RD8*20261001-20261001~SE*16*0001~GE*1*1~IEA*1*000000001~",
                    "claim_status_277": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SUBMITTER      *261019*1500*^*00501*000000002*0*T*:~GS*HN*PWSANDBOX*SUBMITTER*20261019*1500*2*X*005010X212~ST*277*0001*005010X212~BHT*0010*08*STATUS-0001*20261019*1500*DG~HL*1**20*1~NM1*PR*2*PAYERWORKS SANDBOX PAYER*****PI*PWSANDBOX~HL*2*1*21*1~NM1*41*2*SAMPLE FAMILY MEDICINE*****46*SUBMITTER~HL*3*2*19*1~NM1*1P*2*SAMPLE FAMILY MEDICINE*****XX*1234567893~HL*4*3*22*0~NM1*IL*1*PATIENT*SAMPLE****MI*W12345INFO~TRN*2*STATUS-0001~STC*P3:123:1P*20261019**215*0*****P3:297:1P~REF*1K*PWS0120638906~REF*EJ*PW-2001~DTP*472*RD8*20261001-20261001~SE*16*0001~GE*1*2~IEA*1*000000002~"
                  },
                  "outcomes": [
                    {
                      "trace": "STATUS-0001",
                      "reference": "PW-2001",
                      "rule": "INFO",
                      "outcome": "info_requested",
                      "category": "P3",
                      "status": "123",
                      "entity": "1P",
                      "payer_claim_number": "PWS0120638906",
                      "charge": 215,
                      "paid": 0
                    }
                  ],
                  "explained": {
                    "label_source": "paraphrase",
                    "business_days": "Business days are Monday to Friday. Holidays are not counted, so a payer closed on a holiday may need one day more.",
                    "today": "2026-10-19",
                    "inquiries": [
                      {
                        "trace": "STATUS-0001",
                        "claims": [
                          0
                        ],
                        "answered_by": 0,
                        "state": "info_requested",
                        "meaning": "The claim was pending for provider information: more information was asked of the provider (STC P3:123:1P).",
                        "money": {
                          "coming": "not_yet",
                          "amount": 0,
                          "check_number": "",
                          "check_date": "",
                          "adjudicated_on": "",
                          "why": "Nothing is paid until the payer receives what it asked for."
                        },
                        "next_step": {
                          "action": "send_records",
                          "words": "Send the payer the records it asked for: medical notes or a report. The claim does not move until they arrive."
                        },
                        "ask_again": {
                          "after_business_days": 5,
                          "not_before": "2026-10-26",
                          "never": false,
                          "why": "After what was asked is sent. The usual schedule: 3, 5 and 7 business days apart, then every 10, counted from this answer."
                        },
                        "asks": [
                          {
                            "status_code": "297",
                            "procedure_code": "",
                            "words": "medical notes or a report"
                          }
                        ],
                        "next_inquiries": [],
                        "retry_schedule": null
                      }
                    ],
                    "claims": [
                      {
                        "index": 0,
                        "trace": "STATUS-0001",
                        "payer_claim_number": "PWS0120638906",
                        "clearinghouse_claim_number": "",
                        "patient_control_number": "PW-2001",
                        "service_date": {
                          "from": "2026-10-01",
                          "to": "2026-10-01"
                        },
                        "charge": 215,
                        "status": {
                          "category_code": "P3",
                          "status_code": "123",
                          "entity_code": "1P"
                        },
                        "state": "info_requested",
                        "meaning": "The claim was pending for provider information: more information was asked of the provider (STC P3:123:1P).",
                        "money": {
                          "coming": "not_yet",
                          "amount": 0,
                          "check_number": "",
                          "check_date": "",
                          "adjudicated_on": "",
                          "why": "Nothing is paid until the payer receives what it asked for."
                        },
                        "next_step": {
                          "action": "send_records",
                          "words": "Send the payer the records it asked for: medical notes or a report. The claim does not move until they arrive."
                        },
                        "ask_again": {
                          "after_business_days": 5,
                          "not_before": "2026-10-26",
                          "never": false,
                          "why": "After what was asked is sent. The usual schedule: 3, 5 and 7 business days apart, then every 10, counted from this answer."
                        },
                        "asks": [
                          {
                            "status_code": "297",
                            "procedure_code": "",
                            "words": "medical notes or a report"
                          }
                        ],
                        "next_inquiries": [],
                        "retry_schedule": null,
                        "lines": [],
                        "matches_requested": null,
                        "describes_replaced_claim": false
                      }
                    ],
                    "notices": [],
                    "errors": []
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClaimStatusSandboxBody"
              },
              "example": {
                "inquiry": {
                  "tradingPartnerServiceId": "99999",
                  "providers": [
                    {
                      "providerType": "BillingProvider",
                      "npi": "1234567893",
                      "organizationName": "SAMPLE FAMILY MEDICINE"
                    }
                  ],
                  "subscriber": {
                    "memberId": "W12345INFO",
                    "firstName": "SAMPLE",
                    "lastName": "PATIENT",
                    "dateOfBirth": "19800214"
                  },
                  "encounter": {
                    "trackingNumber": "STATUS-0001",
                    "beginningDateOfService": "20261001",
                    "endDateOfService": "20261001",
                    "submittedAmount": "215.00",
                    "patientControlNumber": "PW-2001"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/sandbox/claims/timeline": {
      "post": {
        "summary": "Run the sandbox over days",
        "description": "The claims sandbox spread over simulated time: the 999 after five minutes, a 277CA saying each claim was received after an hour, the payer’s own 277CA after two days and the 835 after fourteen. Send the claims, a seed, the start and the moment to read as of; send a later moment and the cursor you were given to read what came next. Each event is the exact body a webhook sends, so you can post it to your own handler; Payerworks posts none of them. Add format: report for the 277CAs and 835 in the JSON field names most clearinghouse APIs use. Nothing is stored or sent: the same request gives the same answer.",
        "operationId": "postV1SandboxClaimsTimeline",
        "tags": [
          "Sandbox payers"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxTimelineAnswer"
                },
                "example": {
                  "usage": "T",
                  "transmitted": false,
                  "stored": false,
                  "run_id": "tl_e5d82a7c305b0437",
                  "start": "2026-10-19T09:00:00.000Z",
                  "as_of": "2026-10-21T09:00:00.000Z",
                  "format": "x12",
                  "schedule": [
                    {
                      "stage": "file_acknowledged",
                      "kind": "999",
                      "at": "2026-10-19T09:05:00.000Z",
                      "file": true,
                      "events": 1,
                      "order": 1
                    },
                    {
                      "stage": "claims_received",
                      "kind": "277CA",
                      "at": "2026-10-19T10:00:00.000Z",
                      "file": true,
                      "events": 2,
                      "order": 2
                    },
                    {
                      "stage": "payer_acknowledged",
                      "kind": "277CA",
                      "at": "2026-10-21T09:00:00.000Z",
                      "file": true,
                      "events": 2,
                      "order": 3
                    },
                    {
                      "stage": "remittance",
                      "kind": "835",
                      "at": "2026-11-02T09:00:00.000Z",
                      "file": true,
                      "events": 1,
                      "order": 4
                    }
                  ],
                  "items": [
                    {
                      "sequence": 1,
                      "at": "2026-10-19T09:05:00.000Z",
                      "stage": "file_acknowledged",
                      "file_id": "tl_e5d82a7c305b0437.f1",
                      "event": {
                        "id": "evt_60ed631692398d5d8974da74",
                        "type": "sandbox.file.acknowledged",
                        "created": 1792400700,
                        "mode": "test",
                        "data": {
                          "acknowledgment": "999",
                          "interchange_control_number": "000000001",
                          "group_control_number": "1",
                          "verdict": "A",
                          "verdict_words": "Accepted",
                          "received": 2,
                          "accepted": 2,
                          "transaction_sets": [
                            {
                              "control_number": "0001",
                              "verdict": "A"
                            },
                            {
                              "control_number": "0002",
                              "verdict": "A"
                            }
                          ]
                        }
                      }
                    },
                    {
                      "sequence": 2,
                      "at": "2026-10-19T10:00:00.000Z",
                      "stage": "claims_received",
                      "file_id": "tl_e5d82a7c305b0437.f2",
                      "event": {
                        "id": "evt_5fed61838f3988a48c74df2d",
                        "type": "sandbox.claim.acknowledged",
                        "created": 1792404000,
                        "mode": "test",
                        "data": {
                          "reference": "PW-SBX-PAID",
                          "payer_claim_number": "",
                          "verdict": "A",
                          "fixes": [
                            "The claim was received, not yet accepted for adjudication: the payer acknowledges receipt (STC A1:19:PR). Nothing to fix."
                          ]
                        }
                      }
                    },
                    {
                      "sequence": 3,
                      "at": "2026-10-19T10:00:00.000Z",
                      "stage": "claims_received",
                      "file_id": "tl_e5d82a7c305b0437.f2",
                      "event": {
                        "id": "evt_5eed5ff090398a378b74dd9a",
                        "type": "sandbox.claim.acknowledged",
                        "created": 1792404000,
                        "mode": "test",
                        "data": {
                          "reference": "PW-SBX-REJ",
                          "payer_claim_number": "",
                          "verdict": "A",
                          "fixes": [
                            "The claim was received, not yet accepted for adjudication: the payer acknowledges receipt (STC A1:19:PR). Nothing to fix."
                          ]
                        }
                      }
                    },
                    {
                      "sequence": 4,
                      "at": "2026-10-21T09:00:00.000Z",
                      "stage": "payer_acknowledged",
                      "file_id": "tl_e5d82a7c305b0437.f3",
                      "event": {
                        "id": "evt_65ed6af58d39857e8674d5bb",
                        "type": "sandbox.claim.acknowledged",
                        "created": 1792573200,
                        "mode": "test",
                        "data": {
                          "reference": "PW-SBX-PAID",
                          "payer_claim_number": "PWS2292711347",
                          "verdict": "A",
                          "fixes": [
                            "The claim was accepted into the payer's adjudication system: accepted for processing (STC A2:20). Nothing to fix."
                          ]
                        }
                      }
                    },
                    {
                      "sequence": 5,
                      "at": "2026-10-21T09:00:00.000Z",
                      "stage": "payer_acknowledged",
                      "file_id": "tl_e5d82a7c305b0437.f3",
                      "event": {
                        "id": "evt_64ed69628e3987118574d428",
                        "type": "sandbox.claim.acknowledged",
                        "created": 1792573200,
                        "mode": "test",
                        "data": {
                          "reference": "PW-SBX-REJ",
                          "payer_claim_number": "",
                          "verdict": "R",
                          "fixes": [
                            "The claim was rejected for invalid information: the subscriber's contract or member number is missing or invalid (STC A7:164:IL). Fix it on the subscriber in your claim data, then send the claim again."
                          ]
                        }
                      }
                    }
                  ],
                  "files": [
                    {
                      "id": "tl_e5d82a7c305b0437.f1",
                      "stage": "file_acknowledged",
                      "kind": "999",
                      "at": "2026-10-19T09:05:00.000Z",
                      "x12": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*0905*^*00501*000000001*0*T*:~GS*FA*PWSANDBOX*SAMPLEBILLER*20261019*0905*1*X*005010X231A1~ST*999*0001*005010X231A1~AK1*HC*1*005010X222A1~AK2*837*0001*005010X222A1~IK5*A~AK2*837*0002*005010X222A1~IK5*A~AK9*A*2*2*2~SE*8*0001~GE*1*1~IEA*1*000000001~"
                    },
                    {
                      "id": "tl_e5d82a7c305b0437.f2",
                      "stage": "claims_received",
                      "kind": "277CA",
                      "at": "2026-10-19T10:00:00.000Z",
                      "x12": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261019*1000*^*00501*000000002*0*T*:~GS*HN*PWSANDBOX*SAMPLEBILLER*20261019*1000*2*X*005010X214~ST*277*0001*005010X214~BHT*0085*08*PWSANDBOX2*20261019*1000*TH~HL*1**20*1~NM1*PR*2*PAYERWORKS SANDBOX PAYER*****PI*PWSANDBOX~TRN*1*PWSANDBOX2~DTP*050*D8*20261019~DTP*009*D8*20261019~HL*2*1*21*1~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~TRN*2*000000001~STC*A1:19:PR*20261019*WQ*5800~QTY*90*2~AMT*YU*5800~HL*3*2*19*1~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~TRN*1*0~HL*4*3*PT~NM1*QC*1*Patient*Sample****MI*W123456789~TRN*2*PW-SBX-PAID~STC*A1:19:PR*20261019*WQ*2900~DTP*472*D8*20261001~HL*5*3*PT~NM1*QC*1*Patient*Sample****MI*W12345REJ~TRN*2*PW-SBX-REJ~STC*A1:19:PR*20261019*WQ*2900~DTP*472*D8*20261001~SE*27*0001~GE*1*2~IEA*1*000000002~"
                    },
                    {
                      "id": "tl_e5d82a7c305b0437.f3",
                      "stage": "payer_acknowledged",
                      "kind": "277CA",
                      "at": "2026-10-21T09:00:00.000Z",
                      "x12": "ISA*00*          *00*          *ZZ*PWSANDBOX      *ZZ*SAMPLEBILLER   *261021*0900*^*00501*000000003*0*T*:~GS*HN*PWSANDBOX*SAMPLEBILLER*20261021*0900*3*X*005010X214~ST*277*0001*005010X214~BHT*0085*08*PWSANDBOX2*20261021*0900*TH~HL*1**20*1~NM1*PR*2*PAYERWORKS SANDBOX PAYER*****PI*PWSANDBOX~TRN*1*PWSANDBOX2~DTP*050*D8*20261021~DTP*009*D8*20261021~HL*2*1*21*1~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~TRN*2*000000001~STC*A1:19:PR*20261021*WQ*5800~QTY*90*1~QTY*AA*1~AMT*YU*2900~AMT*YY*2900~HL*3*2*19*1~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~TRN*1*0~HL*4*3*PT~NM1*QC*1*Patient*Sample****MI*W123456789~TRN*2*PW-SBX-PAID~STC*A2:20*20261021*WQ*2900~REF*1K*PWS2292711347~DTP*472*D8*20261001~HL*5*3*PT~NM1*QC*1*Patient*Sample****MI*W12345REJ~TRN*2*PW-SBX-REJ~STC*A7:164:IL*20261021*U*2900~DTP*472*D8*20261001~SE*30*0001~GE*1*3~IEA*1*000000003~"
                    }
                  ],
                  "claims_837p": "ISA*00*          *00*          *ZZ*SAMPLEBILLER   *ZZ*PWSANDBOX      *261019*0900*^*00501*000000001*0*T*:~GS*HC*SAMPLEBILLER*PWSANDBOX*20261019*0900*1*X*005010X222A1~ST*837*0001*005010X222A1~BHT*0019*00*PW-SBX-PAID*20261019*0900*CH~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Health Plan*****46*PWSANDBOX~HL*1**20*1~PRV*BI*PXC*1223S0112X~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W123456789~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19600214*F~NM1*PR*2*Sample Health Plan*****PI*99999~CLM*PW-SBX-PAID*2900***11:B:1*Y*A*Y*Y~HI*ABK:G4733~LX*1~SV1*HC:E0486:KX*2900*UN*1***1~DTP*472*D8*20261001~SE*24*0001~ST*837*0002*005010X222A1~BHT*0019*00*PW-SBX-REJ*20261019*0900*CH~NM1*41*2*Sample Sleep Dentistry*****46*SAMPLEBILLER~PER*IC*Billing Office*TE*5555550100~NM1*40*2*Sample Health Plan*****46*PWSANDBOX~HL*1**20*1~PRV*BI*PXC*1223S0112X~NM1*85*2*Sample Sleep Dentistry*****XX*1234567893~N3*100 Main Street~N4*Springfield*IL*627011234~REF*EI*123456789~HL*2*1*22*0~SBR*P*18*******CI~NM1*IL*1*Patient*Sample****MI*W12345REJ~N3*9 Elm Street~N4*Springfield*IL*62701~DMG*D8*19600214*F~NM1*PR*2*Sample Health Plan*****PI*99999~CLM*PW-SBX-REJ*2900***11:B:1*Y*A*Y*Y~HI*ABK:G4733~LX*1~SV1*HC:E0486:KX*2900*UN*1***1~DTP*472*D8*20261001~SE*24*0002~GE*2*1~IEA*1*000000001~",
                  "control": {
                    "interchange": "000000001",
                    "group": "1",
                    "sets": [
                      "0001",
                      "0002"
                    ]
                  },
                  "claims": [
                    {
                      "reference": "PW-SBX-PAID",
                      "state": "accepted",
                      "payer_claim_number": "PWS2292711347"
                    },
                    {
                      "reference": "PW-SBX-REJ",
                      "state": "rejected",
                      "payer_claim_number": ""
                    }
                  ],
                  "checked": [
                    {
                      "reference": "PW-SBX-PAID",
                      "warnings": [],
                      "repairs": [],
                      "not_checked": []
                    },
                    {
                      "reference": "PW-SBX-REJ",
                      "warnings": [],
                      "repairs": [],
                      "not_checked": []
                    }
                  ],
                  "next_cursor": "tl_e5d82a7c305b0437.5",
                  "has_more": false,
                  "next_event_at": "2026-11-02T09:00:00.000Z",
                  "complete": false,
                  "events_total": 6
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SandboxTimelineBody"
              },
              "example": {
                "sender_id": "SAMPLEBILLER",
                "claims": [
                  {
                    "tradingPartnerServiceId": "99999",
                    "submitter": {
                      "organizationName": "Sample Sleep Dentistry",
                      "contactInformation": {
                        "name": "Billing Office",
                        "phoneNumber": "5555550100"
                      }
                    },
                    "receiver": {
                      "organizationName": "Sample Health Plan"
                    },
                    "billing": {
                      "npi": "1234567893",
                      "employerId": "123456789",
                      "organizationName": "Sample Sleep Dentistry",
                      "taxonomyCode": "1223S0112X",
                      "address": {
                        "address1": "100 Main Street",
                        "city": "Springfield",
                        "state": "IL",
                        "postalCode": "627011234"
                      }
                    },
                    "subscriber": {
                      "memberId": "W123456789",
                      "paymentResponsibilityLevelCode": "P",
                      "firstName": "Sample",
                      "lastName": "Patient",
                      "gender": "F",
                      "dateOfBirth": "19600214",
                      "address": {
                        "address1": "9 Elm Street",
                        "city": "Springfield",
                        "state": "IL",
                        "postalCode": "62701"
                      }
                    },
                    "claimInformation": {
                      "claimFilingCode": "CI",
                      "patientControlNumber": "PW-SBX-PAID",
                      "claimChargeAmount": "2900.00",
                      "placeOfServiceCode": "11",
                      "claimFrequencyCode": "1",
                      "signatureIndicator": "Y",
                      "planParticipationCode": "A",
                      "benefitsAssignmentCertificationIndicator": "Y",
                      "releaseInformationCode": "Y",
                      "healthCareCodeInformation": [
                        {
                          "diagnosisTypeCode": "ABK",
                          "diagnosisCode": "G4733"
                        }
                      ],
                      "serviceLines": [
                        {
                          "serviceDate": "20261001",
                          "professionalService": {
                            "procedureIdentifier": "HC",
                            "procedureCode": "E0486",
                            "procedureModifiers": [
                              "KX"
                            ],
                            "lineItemChargeAmount": "2900.00",
                            "measurementUnit": "UN",
                            "serviceUnitCount": "1",
                            "compositeDiagnosisCodePointers": {
                              "diagnosisCodePointers": [
                                "1"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  },
                  {
                    "tradingPartnerServiceId": "99999",
                    "submitter": {
                      "organizationName": "Sample Sleep Dentistry",
                      "contactInformation": {
                        "name": "Billing Office",
                        "phoneNumber": "5555550100"
                      }
                    },
                    "receiver": {
                      "organizationName": "Sample Health Plan"
                    },
                    "billing": {
                      "npi": "1234567893",
                      "employerId": "123456789",
                      "organizationName": "Sample Sleep Dentistry",
                      "taxonomyCode": "1223S0112X",
                      "address": {
                        "address1": "100 Main Street",
                        "city": "Springfield",
                        "state": "IL",
                        "postalCode": "627011234"
                      }
                    },
                    "subscriber": {
                      "memberId": "W12345REJ",
                      "paymentResponsibilityLevelCode": "P",
                      "firstName": "Sample",
                      "lastName": "Patient",
                      "gender": "F",
                      "dateOfBirth": "19600214",
                      "address": {
                        "address1": "9 Elm Street",
                        "city": "Springfield",
                        "state": "IL",
                        "postalCode": "62701"
                      }
                    },
                    "claimInformation": {
                      "claimFilingCode": "CI",
                      "patientControlNumber": "PW-SBX-REJ",
                      "claimChargeAmount": "2900.00",
                      "placeOfServiceCode": "11",
                      "claimFrequencyCode": "1",
                      "signatureIndicator": "Y",
                      "planParticipationCode": "A",
                      "benefitsAssignmentCertificationIndicator": "Y",
                      "releaseInformationCode": "Y",
                      "healthCareCodeInformation": [
                        {
                          "diagnosisTypeCode": "ABK",
                          "diagnosisCode": "G4733"
                        }
                      ],
                      "serviceLines": [
                        {
                          "serviceDate": "20261001",
                          "professionalService": {
                            "procedureIdentifier": "HC",
                            "procedureCode": "E0486",
                            "procedureModifiers": [
                              "KX"
                            ],
                            "lineItemChargeAmount": "2900.00",
                            "measurementUnit": "UN",
                            "serviceUnitCount": "1",
                            "compositeDiagnosisCodePointers": {
                              "diagnosisCodePointers": [
                                "1"
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                ],
                "seed": "demo-1",
                "start": "2026-10-19T09:00:00Z",
                "as_of": "2026-10-21T09:00:00Z"
              }
            }
          }
        }
      }
    },
    "/v1/account": {
      "get": {
        "summary": "Your account",
        "description": "The key’s account, label, mode and rate, the calls it made on each day of this month (counted by UTC day) and the calls refused before they ran, and its webhook if one is set, with what its last delivery did.",
        "operationId": "getV1Account",
        "tags": [
          "Your keys, your account and your webhook"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Account"
                },
                "example": {
                  "key_id": "pwk_0123456789abcdef",
                  "account": "Sample Billing Co",
                  "label": "Self-serve",
                  "mode": "test",
                  "rpm": 60,
                  "usage": {
                    "month": "2026-10",
                    "days": [
                      {
                        "date": "2026-10-18",
                        "calls": 12,
                        "refused": 0
                      },
                      {
                        "date": "2026-10-19",
                        "calls": 4,
                        "refused": 1
                      }
                    ],
                    "total": 16,
                    "refused": 1
                  },
                  "webhook": {
                    "url": "https://hooks.example.com/payerworks/events",
                    "secret_last_four": "Osk=",
                    "created_at": "2026-10-19T15:00:00.000Z",
                    "previous_secret_expires_at": null,
                    "last_delivery": {
                      "at": "2026-10-19T15:00:00.000Z",
                      "trigger": "sandbox",
                      "first_event_id": "evt_cc264f7536a9315a0c6fe09f",
                      "events": 3,
                      "delivered": 3,
                      "failed": 0,
                      "status": 200,
                      "error": null
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/account/webhook": {
      "put": {
        "summary": "Set your webhook",
        "description": "The https address Payerworks posts your events to. The first answer carries the signing secret, once. Setting the address again keeps the secret; send rotate: true for a new one, and the previous secret keeps signing beside it for overlap_hours (0 to 720, 24 by default).",
        "operationId": "putV1AccountWebhook",
        "tags": [
          "Your keys, your account and your webhook"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookAnswer"
                },
                "example": {
                  "url": "https://hooks.example.com/payerworks/events",
                  "secret": "whsec_bTqF5EiMSt1kZ4Sh577Ya/UQMCWse+eDI5CyF9JdOsk=",
                  "secret_last_four": "Osk=",
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "rotated": false,
                  "previous_secret_expires_at": null
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookBody"
              },
              "example": {
                "url": "https://hooks.example.com/payerworks/events"
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Remove your webhook",
        "description": "No more events are sent. Removing a webhook that is not there is not an error.",
        "operationId": "deleteV1AccountWebhook",
        "tags": [
          "Your keys, your account and your webhook"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookDeleted"
                },
                "example": {
                  "deleted": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/account/webhook/test": {
      "post": {
        "summary": "Send a test event",
        "description": "One ping event queued for your webhook, signed like every other. The answer is 202 with the event’s id; GET /v1/events/{id} says a moment later what your server did with it.",
        "operationId": "postV1AccountWebhookTest",
        "tags": [
          "Your keys, your account and your webhook"
        ],
        "responses": {
          "202": {
            "description": "Queued.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Queued"
                },
                "example": {
                  "queued": true,
                  "event_id": "evt_7cb356efb22e856293c87091"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/account/contact": {
      "get": {
        "summary": "Your notice address",
        "description": "Where Payerworks emails you about this key: when one of its webhook destinations keeps failing, and when one of its enrollment requests moves without your doing it. A test key from this page starts with the address its link was sent to, the only address it may set.",
        "operationId": "getV1AccountContact",
        "tags": [
          "Your keys, your account and your webhook"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactAnswer"
                },
                "example": {
                  "email": "dev@example.com",
                  "updated_at": "2026-10-20T19:12:00.052Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      },
      "put": {
        "summary": "Set your notice address",
        "description": "The address told when a destination has failed for 2 hours, for 24 hours, and when it was disabled after its last attempt, and sent one email for every enrollment request that moved without your doing it inside the same 15 minutes. Send email: null to remove it, and nothing is emailed. Only the address that asked for this account’s test key by email (any key of the account may set it), or null; any other address is refused 403 contact_not_proved. A key issued by Payerworks has its address set by us: write to us.",
        "operationId": "putV1AccountContact",
        "tags": [
          "Your keys, your account and your webhook"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactAnswer"
                },
                "example": {
                  "email": "dev@example.com",
                  "updated_at": "2026-10-20T19:12:00.052Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactBody"
              },
              "example": {
                "email": "dev@example.com"
              }
            }
          }
        }
      }
    },
    "/v1/keys": {
      "get": {
        "summary": "Your account’s keys",
        "description": "Every key of your account in your key’s own mode (a test key lists the test keys, a live key the live ones): its name, mode, last four characters, when it was made, when it expires, when it was last rotated, until when its previous secret is accepted, whether it has expired, when it was revoked, and which one is the key asking, beside the account’s id. A revoked key is listed too. Never a key itself.",
        "operationId": "getV1Keys",
        "tags": [
          "Your keys, your account and your webhook"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountKeyList"
                },
                "example": {
                  "account_id": "pwk_0123456789abcdef01",
                  "data": [
                    {
                      "key_id": "pwk_0123456789abcdef01",
                      "name": "Server",
                      "mode": "test",
                      "last_four": "aaaa",
                      "created_at": "2026-10-19T12:00:00.000Z",
                      "expires_at": null,
                      "expired": false,
                      "revoked_at": null,
                      "rotated_at": null,
                      "previous_secret_accepted_until": null,
                      "current": true
                    },
                    {
                      "key_id": "pwk_153493376889aa3239d7aab0",
                      "name": "CI runner",
                      "mode": "test",
                      "last_four": "khYc",
                      "created_at": "2026-10-20T19:12:00.100Z",
                      "expires_at": "2027-01-18T19:12:00.100Z",
                      "expired": false,
                      "revoked_at": null,
                      "rotated_at": null,
                      "previous_secret_accepted_until": null,
                      "current": false
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      },
      "post": {
        "summary": "Make a key",
        "description": "A named key of your key’s own mode and rate, shown once. expires_in_days (1 to 365) makes it stop on its own. A key never outlives the key that made it: its expiry is the sooner of expires_in_days and the making key’s own, and the making key’s when none is asked. An account holds 3 test keys or 25 live ones that are not revoked. Every key of an account may manage its keys, unless the account’s organization chose members only.",
        "operationId": "postV1Keys",
        "tags": [
          "Your keys, your account and your webhook"
        ],
        "responses": {
          "201": {
            "description": "Made.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountKey"
                },
                "example": {
                  "key_id": "pwk_153493376889aa3239d7aab0",
                  "name": "CI runner",
                  "mode": "test",
                  "last_four": "khYc",
                  "created_at": "2026-10-20T19:12:00.100Z",
                  "expires_at": "2027-01-18T19:12:00.100Z",
                  "expired": false,
                  "revoked_at": null,
                  "rotated_at": null,
                  "previous_secret_accepted_until": null,
                  "current": false,
                  "key": "pw_test_pBP8..."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/KeyBody"
              },
              "example": {
                "name": "CI runner",
                "expires_in_days": 90
              }
            }
          }
        }
      }
    },
    "/v1/keys/{id}": {
      "delete": {
        "summary": "Revoke a key",
        "description": "The key stops working within a minute, and its SFTP user, if it has one, is removed at once. Revoking a key that is already revoked is not an error.",
        "operationId": "deleteV1KeysById",
        "tags": [
          "Your keys, your account and your webhook"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountKey"
                },
                "example": {
                  "key_id": "pwk_153493376889aa3239d7aab0",
                  "name": "CI runner",
                  "mode": "test",
                  "last_four": "6NXM",
                  "created_at": "2026-10-20T19:12:00.100Z",
                  "expires_at": "2027-01-18T19:12:00.100Z",
                  "expired": false,
                  "revoked_at": "2026-10-20T19:12:00.111Z",
                  "rotated_at": "2026-10-20T19:12:00.108Z",
                  "previous_secret_accepted_until": "2026-10-21T19:12:00.108Z",
                  "current": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "pwk_153493376889aa3239d7aab0"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/keys/{id}/rotate": {
      "post": {
        "summary": "Rotate a key",
        "description": "A new secret for the same key id, shown once, so its webhooks, events, usage and enrollments carry on. The old secret is still accepted for overlap_hours, 0 to 720, 24 by default, and stops at once if the key is revoked. Two rotations at once: the first finishes, and the other answers 409 key_rotation_conflict and makes nothing.",
        "operationId": "postV1KeysByIdRotate",
        "tags": [
          "Your keys, your account and your webhook"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountKey"
                },
                "example": {
                  "key_id": "pwk_153493376889aa3239d7aab0",
                  "name": "CI runner",
                  "mode": "test",
                  "last_four": "6NXM",
                  "created_at": "2026-10-20T19:12:00.100Z",
                  "expires_at": "2027-01-18T19:12:00.100Z",
                  "expired": false,
                  "revoked_at": null,
                  "rotated_at": "2026-10-20T19:12:00.108Z",
                  "previous_secret_accepted_until": "2026-10-21T19:12:00.108Z",
                  "current": false,
                  "key": "pw_test_OOHH...",
                  "overlap_hours": 24
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "pwk_153493376889aa3239d7aab0"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RotateBody"
              },
              "example": {
                "overlap_hours": 24
              }
            }
          }
        }
      }
    },
    "/v1/mcp": {
      "post": {
        "summary": "The MCP server, hosted",
        "description": "The same tools as the downloadable MCP server, over MCP’s Streamable HTTP transport (2026-07-28, and the 2025 handshakes), with your key as the bearer. Each tool call is a call to its route under your key. With a live key no tool is called unless the request carries Payerworks-MCP-Allow-Live-Key: 1. Payerworks transmits nothing.",
        "operationId": "postV1Mcp",
        "tags": [
          "Your keys, your account and your webhook"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpAnswer"
                },
                "example": {
                  "jsonrpc": "2.0",
                  "id": 1,
                  "result": {
                    "protocolVersion": "2025-06-18",
                    "capabilities": {
                      "tools": {
                        "listChanged": false
                      },
                      "prompts": {
                        "listChanged": false
                      }
                    },
                    "serverInfo": {
                      "name": "payerworks",
                      "title": "Payerworks",
                      "version": "1.0.0"
                    },
                    "instructions": "Each tool calls one route of the Payerworks API with the key this connection presents. Payerworks validates claims, writes and reads X12 files and explains each answer in plain words. It transmits nothing: no file reaches a payer. post_sandbox_claims also writes to the account: when the key has a webhook set, each run records its events on the account and posts them to that webhook. With a test key (pw_test_), send invented data only, never information about a real patient. With a live key (pw_live_), the model and its provider read the patient data each tool carries, so no tool is called with one unless the request carries Payerworks-MCP-Allow-Live-Key: 1. The prompts carry the troubleshooting playbook: a rejected claim, a status answer that says not found, a remittance, an eligibility answer, a claim's state, the sandbox."
                  }
                }
              }
            }
          },
          "202": {
            "description": "A notification: answered with no body.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpAnswer"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/McpMessage"
              },
              "example": {
                "jsonrpc": "2.0",
                "id": 1,
                "method": "initialize",
                "params": {
                  "protocolVersion": "2025-06-18",
                  "capabilities": {},
                  "clientInfo": {
                    "name": "example-client",
                    "version": "1"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/events": {
      "get": {
        "summary": "List your events",
        "description": "Every webhook event queued for your key that is still kept (each is kept 30 days), newest first, each as it was sent with what delivering it did. Page with limit (up to 100) and starting_after (the next_cursor of the page before, or an event id), and filter with type, delivery_state (none: recorded for your webhook destinations only, with no account webhook set) and created_gte and created_lt.",
        "operationId": "getV1Events",
        "tags": [
          "Events"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventList"
                },
                "example": {
                  "data": [
                    {
                      "id": "evt_4fbc127e84a0331dfb743e10",
                      "type": "sandbox.remittance.received",
                      "created": 1792422000,
                      "mode": "test",
                      "data": {
                        "check_number": "PWSANDBOX-000000003-1",
                        "payment_date": "20261019",
                        "total": 1392,
                        "claims": [
                          {
                            "reference": "PW-SBX-PAID",
                            "payer_claim_number": "PWS2292711347",
                            "status_code": "1",
                            "status": "processed as primary",
                            "paid": 1392
                          }
                        ]
                      },
                      "delivery": {
                        "state": "delivered",
                        "attempts": 1,
                        "last_status": 200,
                        "last_attempt_at": "2026-10-19T15:00:00.000Z",
                        "last_error": null,
                        "delivered_at": "2026-10-19T15:00:00.000Z"
                      }
                    },
                    {
                      "id": "evt_e38518c4523f2dcd24e34de2",
                      "type": "sandbox.claim.acknowledged",
                      "created": 1792422000,
                      "mode": "test",
                      "data": {
                        "reference": "PW-SBX-PAID",
                        "payer_claim_number": "PWS2292711347",
                        "verdict": "A",
                        "fixes": [
                          "The claim was accepted into the payer's adjudication system: accepted for processing (STC A2:20). Nothing to fix."
                        ]
                      },
                      "delivery": {
                        "state": "delivered",
                        "attempts": 1,
                        "last_status": 200,
                        "last_attempt_at": "2026-10-19T15:00:00.000Z",
                        "last_error": null,
                        "delivered_at": "2026-10-19T15:00:00.000Z"
                      }
                    }
                  ],
                  "has_more": true,
                  "next_cursor": "cur_45233137393234313634363138393523303031236576745f376362333536656662323265383536323933633837303931"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            },
            "description": "How many events a page holds, 1 to 100."
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "ping",
                "sandbox.file.acknowledged",
                "sandbox.claim.acknowledged",
                "sandbox.remittance.received",
                "enrollment.updated",
                "enrollment.live",
                "enrollment.rejected",
                "enrollment.canceled",
                "enrollment.ended",
                "enrollment.task.assigned",
                "enrollment.task.completed",
                "enrollment.task.deleted",
                "job.completed",
                "job.failed",
                "submission.file.acknowledged",
                "submission.claim.acknowledged",
                "submission.remittance.received"
              ]
            },
            "description": "Only events of this type."
          },
          {
            "name": "starting_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "The next_cursor of the page before, or the id of one of this key’s events."
          },
          {
            "name": "delivery_state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "pending",
                "delivered",
                "failed",
                "none"
              ]
            },
            "description": "Only events whose delivery says this; none: recorded for your webhook destinations only."
          },
          {
            "name": "created_gte",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Only those made at or after this instant, such as 2026-10-19T14:00:00Z."
          },
          {
            "name": "created_lt",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Only those made before this instant."
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/events/{id}": {
      "get": {
        "summary": "One event",
        "description": "One event by its id, as it was sent, with its delivery: pending, delivered or failed, how many times it was posted, the last status and the last error.",
        "operationId": "getV1EventsById",
        "tags": [
          "Events"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event"
                },
                "example": {
                  "id": "evt_4fbc127e84a0331dfb743e10",
                  "type": "sandbox.remittance.received",
                  "created": 1792422000,
                  "mode": "test",
                  "data": {
                    "check_number": "PWSANDBOX-000000003-1",
                    "payment_date": "20261019",
                    "total": 1392,
                    "claims": [
                      {
                        "reference": "PW-SBX-PAID",
                        "payer_claim_number": "PWS2292711347",
                        "status_code": "1",
                        "status": "processed as primary",
                        "paid": 1392
                      }
                    ]
                  },
                  "delivery": {
                    "state": "delivered",
                    "attempts": 1,
                    "last_status": 200,
                    "last_attempt_at": "2026-10-19T15:00:00.000Z",
                    "last_error": null,
                    "delivered_at": "2026-10-19T15:00:00.000Z"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "evt_4ba3d86a9cb07e1b79f6e144"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/events/{id}/redeliver": {
      "post": {
        "summary": "Send an event again",
        "description": "The event queued once more for the address your webhook has now, signed the same way and with the same id. The answer is 202, and the event’s delivery then says what your server did. It counts against your key’s six deliveries a minute. Send destination_id to send it to that webhook destination instead, as a manual attempt that starts its retries again from the first.",
        "operationId": "postV1EventsByIdRedeliver",
        "tags": [
          "Events"
        ],
        "responses": {
          "202": {
            "description": "Queued.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Queued"
                },
                "example": {
                  "queued": true,
                  "event_id": "evt_4fbc127e84a0331dfb743e10",
                  "destination_id": "wd_4e1687f5d8638cbd"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "evt_4ba3d86a9cb07e1b79f6e144"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RedeliverBody"
              },
              "example": {
                "destination_id": "wd_4e1687f5d8638cbd"
              }
            }
          }
        }
      }
    },
    "/v1/events/{id}/attempts": {
      "get": {
        "summary": "Every attempt for an event",
        "description": "Each post made for one event at your webhook destinations: its number, automatic or manual, the status your server answered and when. destination_id narrows it to one.",
        "operationId": "getV1EventsByIdAttempts",
        "tags": [
          "Events"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventAttempts"
                },
                "example": {
                  "event_id": "evt_298da382d80136d9249cf920",
                  "data": [
                    {
                      "event_id": "evt_298da382d80136d9249cf920",
                      "destination_id": "wd_4e1687f5d8638cbd",
                      "number": 1,
                      "type": "automatic",
                      "delivered": false,
                      "status": 503,
                      "error": "The endpoint answered 503; only a 2xx counts as delivered.",
                      "at": "2026-10-20T19:12:00.093Z"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "evt_298da382d80136d9249cf920"
          },
          {
            "name": "destination_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^wd_[0-9a-f]{16}$"
            },
            "description": "Only the attempts at this destination."
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/webhook-destinations": {
      "get": {
        "summary": "List your webhook destinations",
        "description": "Every destination your key posts events to, besides your account webhook: up to ten, each with its name, address, the event types it takes, whether it is enabled, how many deliveries it takes at once, and the last four characters of its secret.",
        "operationId": "getV1WebhookDestinations",
        "tags": [
          "Events"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookDestinationList"
                },
                "example": {
                  "data": [
                    {
                      "id": "wd_4e1687f5d8638cbd",
                      "name": "Primary",
                      "url": "https://hooks.example.com/payerworks/primary",
                      "event_types": [
                        "sandbox.claim.acknowledged",
                        "sandbox.remittance.received"
                      ],
                      "enabled": true,
                      "concurrency": 2,
                      "secret_last_four": "J+c=",
                      "previous_secret_expires_at": null,
                      "disabled_at": null,
                      "disabled_reason": null,
                      "failing_since": null,
                      "notices": [],
                      "created_at": "2026-10-20T19:12:00.036Z",
                      "updated_at": "2026-10-20T19:12:00.036Z"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      },
      "post": {
        "summary": "Add a webhook destination",
        "description": "A named https address with its own signing secret, shown once in this answer. event_types narrows what it receives (leave it out for every type), enabled turns it off and on, and concurrency (1 to 10, 2 by default) is how many deliveries it takes at once. Only events Payerworks makes are sent. A delivery that fails is tried again 5 minutes, 30 minutes, 2 hours, 8 hours, 24 hours and 48 hours later; after the seventh attempt fails, the destination is disabled.",
        "operationId": "postV1WebhookDestinations",
        "tags": [
          "Events"
        ],
        "responses": {
          "201": {
            "description": "Made.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookDestination"
                },
                "example": {
                  "id": "wd_4e1687f5d8638cbd",
                  "name": "Primary",
                  "url": "https://hooks.example.com/payerworks/primary",
                  "event_types": [
                    "sandbox.claim.acknowledged",
                    "sandbox.remittance.received"
                  ],
                  "enabled": true,
                  "concurrency": 2,
                  "secret_last_four": "J+c=",
                  "previous_secret_expires_at": null,
                  "disabled_at": null,
                  "disabled_reason": null,
                  "failing_since": null,
                  "notices": [],
                  "created_at": "2026-10-20T19:12:00.036Z",
                  "updated_at": "2026-10-20T19:12:00.036Z",
                  "secret": "whsec_Y9WgA88flTmkMq89BiZzDzjILhNojHvXhMpB0Td1J+c="
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookDestinationBody"
              },
              "example": {
                "name": "Primary",
                "url": "https://hooks.example.com/payerworks/primary",
                "event_types": [
                  "sandbox.claim.acknowledged",
                  "sandbox.remittance.received"
                ],
                "concurrency": 2
              }
            }
          }
        }
      }
    },
    "/v1/webhook-destinations/{id}": {
      "get": {
        "summary": "One webhook destination",
        "description": "One destination, with when it started failing and the notices sent about it. Never its secret.",
        "operationId": "getV1WebhookDestinationsById",
        "tags": [
          "Events"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookDestination"
                },
                "example": {
                  "id": "wd_4e1687f5d8638cbd",
                  "name": "Primary",
                  "url": "https://hooks.example.com/payerworks/primary",
                  "event_types": [
                    "sandbox.claim.acknowledged",
                    "sandbox.remittance.received"
                  ],
                  "enabled": true,
                  "concurrency": 2,
                  "secret_last_four": "J+c=",
                  "previous_secret_expires_at": null,
                  "disabled_at": null,
                  "disabled_reason": null,
                  "failing_since": null,
                  "notices": [],
                  "created_at": "2026-10-20T19:12:00.036Z",
                  "updated_at": "2026-10-20T19:12:00.036Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "wd_4e1687f5d8638cbd"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      },
      "put": {
        "summary": "Change a webhook destination",
        "description": "Change any of its fields, turn it on again after it was disabled, or send rotate: true for a new secret (shown once); the old one keeps signing beside it for overlap_hours, 0 to 720, 24 by default.",
        "operationId": "putV1WebhookDestinationsById",
        "tags": [
          "Events"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookDestination"
                },
                "example": {
                  "id": "wd_4e1687f5d8638cbd",
                  "name": "Primary",
                  "url": "https://hooks.example.com/payerworks/primary",
                  "event_types": [
                    "sandbox.claim.acknowledged",
                    "sandbox.remittance.received"
                  ],
                  "enabled": true,
                  "concurrency": 2,
                  "secret_last_four": "nHY=",
                  "previous_secret_expires_at": "2026-10-22T19:12:00.046Z",
                  "disabled_at": null,
                  "disabled_reason": null,
                  "failing_since": null,
                  "notices": [],
                  "created_at": "2026-10-20T19:12:00.036Z",
                  "updated_at": "2026-10-20T19:12:00.046Z",
                  "secret": "whsec_+3n+g2Y/+EkwVwm/9GiroC62uAVWtcbDgxSrcoK2nHY="
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "wd_4e1687f5d8638cbd"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookDestinationUpdateBody"
              },
              "example": {
                "rotate": true,
                "overlap_hours": 48
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Remove a webhook destination",
        "description": "No more events are sent to it, and its retries already scheduled are skipped. Removing one that is not there is not an error.",
        "operationId": "deleteV1WebhookDestinationsById",
        "tags": [
          "Events"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookDestinationDeleted"
                },
                "example": {
                  "id": "wd_4e1687f5d8638cbd",
                  "deleted": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "wd_4e1687f5d8638cbd"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/webhook-destinations/{id}/ping": {
      "post": {
        "summary": "Ping a webhook destination",
        "description": "One signed ping event to this destination alone, whatever event types it takes. The answer is 202 with the event’s id.",
        "operationId": "postV1WebhookDestinationsByIdPing",
        "tags": [
          "Events"
        ],
        "responses": {
          "202": {
            "description": "Queued.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DestinationQueued"
                },
                "example": {
                  "queued": true,
                  "event_id": "evt_9b13ad1f89c0ff82ddbb2bf1",
                  "destination_id": "wd_4e1687f5d8638cbd"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "wd_4e1687f5d8638cbd"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/webhook-destinations/{id}/deliveries": {
      "get": {
        "summary": "What a destination received",
        "description": "Each event’s delivery at this destination, newest first: pending, scheduled (failed, with the next automatic attempt’s time), delivered or failed, how many attempts, the last status and error. Filter with state, created_gte and created_lt; page with limit and starting_after.",
        "operationId": "getV1WebhookDestinationsByIdDeliveries",
        "tags": [
          "Events"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DestinationDeliveryList"
                },
                "example": {
                  "data": [
                    {
                      "event_id": "evt_298da382d80136d9249cf920",
                      "event_type": "sandbox.remittance.received",
                      "destination_id": "wd_4e1687f5d8638cbd",
                      "created_at": "2026-10-20T19:12:00.057Z",
                      "state": "scheduled",
                      "attempts": 1,
                      "next_attempt_at": "2026-10-20T19:17:00.093Z",
                      "last_attempt_at": "2026-10-20T19:12:00.093Z",
                      "last_status": 503,
                      "last_error": "The endpoint answered 503; only a 2xx counts as delivered.",
                      "delivered_at": null
                    },
                    {
                      "event_id": "evt_de844b60d20dade1dfdfdf52",
                      "event_type": "sandbox.claim.acknowledged",
                      "destination_id": "wd_4e1687f5d8638cbd",
                      "created_at": "2026-10-20T19:12:00.057Z",
                      "state": "scheduled",
                      "attempts": 1,
                      "next_attempt_at": "2026-10-20T19:17:00.093Z",
                      "last_attempt_at": "2026-10-20T19:12:00.093Z",
                      "last_status": 503,
                      "last_error": "The endpoint answered 503; only a 2xx counts as delivered.",
                      "delivered_at": null
                    },
                    {
                      "event_id": "evt_9b13ad1f89c0ff82ddbb2bf1",
                      "event_type": "ping",
                      "destination_id": "wd_4e1687f5d8638cbd",
                      "created_at": "2026-10-20T19:12:00.049Z",
                      "state": "delivered",
                      "attempts": 1,
                      "next_attempt_at": null,
                      "last_attempt_at": "2026-10-20T19:12:00.093Z",
                      "last_status": 200,
                      "last_error": null,
                      "delivered_at": "2026-10-20T19:12:00.093Z"
                    }
                  ],
                  "has_more": false,
                  "next_cursor": null
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "wd_4e1687f5d8638cbd"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 10
            }
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "pending",
                "scheduled",
                "delivered",
                "failed"
              ]
            }
          },
          {
            "name": "created_gte",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Only those made at or after this instant, such as 2026-10-19T14:00:00Z."
          },
          {
            "name": "created_lt",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Only those made before this instant."
          },
          {
            "name": "starting_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "The event_id of the last delivery on the page before."
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/sftp": {
      "get": {
        "summary": "Your SFTP user",
        "description": "The host, your user name, your two folders (/inbound and /outbound), your SSH keys by fingerprint, when a 999 is written, and what is kept and for how long. A key with no user answers 404 sftp_user_not_found.",
        "operationId": "getV1Sftp",
        "tags": [
          "SFTP file drop"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SftpUser"
                },
                "example": {
                  "user_name": "pwc-pwk_0123456789abcdef01",
                  "host": "s-0123456789abcdef0.server.transfer.us-east-1.amazonaws.com",
                  "port": 22,
                  "mode": "test",
                  "folders": {
                    "inbound": "/inbound",
                    "outbound": "/outbound"
                  },
                  "receiver": {
                    "qualifier": "ZZ",
                    "id": "PAYERWORKSTEST",
                    "usage_indicator": "T"
                  },
                  "acknowledgment_999": "always",
                  "reads": [
                    "837P",
                    "837I",
                    "837D"
                  ],
                  "max_file_bytes": 2000000,
                  "ssh_keys": [
                    {
                      "id": "key-0a1b2c3d4e5f6a7b1",
                      "algorithm": "ssh-ed25519",
                      "fingerprint": "SHA256:EN9Jp9JJbIabR3Qcsj0tqYdUVi1NxOEfJBNgjLzYedc",
                      "added_at": "2026-10-19T15:00:00.000Z"
                    }
                  ],
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "updated_at": "2026-10-19T15:00:00.000Z",
                  "retention": [
                    "A file you drop in inbound is read once and deleted as soon as its answers are written. A file the lane could not reach is deleted by the bucket 1 day after it arrived; S3 removes an expired file in the day or so after its expiry.",
                    "Each answer (a TA1, a 999 and the report) waits in outbound for 7 days after it was written, then the bucket deletes it; you may delete it sooner. S3 removes an expired file in the day or so after its expiry.",
                    "The bucket keeps no earlier version of a file and is in no backup. Nothing you drop is stored anywhere else, logged or sent on: the lane's own log line names the key, the kind of file and the outcome, never its contents or its name.",
                    "The endpoint's transfer log in CloudWatch records the name of each file you move, so never put a patient's name or any identifier in a file name.",
                    "Nothing is sent to a payer: Payerworks validates and acknowledges the file, and you send the claims on yourself.",
                    "When your key is revoked, its SFTP user is removed at once; when it expires, or when the endpoint could not be reached at the revoke, by the next daily pass, within a day. A file dropped under a revoked or expired key before then is deleted unread, with no answer."
                  ],
                  "transmits": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      },
      "put": {
        "summary": "Make your SFTP user",
        "description": "Makes this key’s SFTP user, or changes when a 999 is written for a file you drop: acknowledgment_999 is always, errors_only (the default: only when a group or a set is not plainly accepted) or never. A test key’s user sends usage indicator T to receiver PAYERWORKSTEST; a live key’s sends P to PAYERWORKS (qualifier ZZ). Payerworks validates and acknowledges what you drop; nothing goes on to a payer.",
        "operationId": "putV1Sftp",
        "tags": [
          "SFTP file drop"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SftpUser"
                },
                "example": {
                  "user_name": "pwc-pwk_0123456789abcdef01",
                  "host": "s-0123456789abcdef0.server.transfer.us-east-1.amazonaws.com",
                  "port": 22,
                  "mode": "test",
                  "folders": {
                    "inbound": "/inbound",
                    "outbound": "/outbound"
                  },
                  "receiver": {
                    "qualifier": "ZZ",
                    "id": "PAYERWORKSTEST",
                    "usage_indicator": "T"
                  },
                  "acknowledgment_999": "always",
                  "reads": [
                    "837P",
                    "837I",
                    "837D"
                  ],
                  "max_file_bytes": 2000000,
                  "ssh_keys": [],
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "updated_at": "2026-10-19T15:00:00.000Z",
                  "retention": [
                    "A file you drop in inbound is read once and deleted as soon as its answers are written. A file the lane could not reach is deleted by the bucket 1 day after it arrived; S3 removes an expired file in the day or so after its expiry.",
                    "Each answer (a TA1, a 999 and the report) waits in outbound for 7 days after it was written, then the bucket deletes it; you may delete it sooner. S3 removes an expired file in the day or so after its expiry.",
                    "The bucket keeps no earlier version of a file and is in no backup. Nothing you drop is stored anywhere else, logged or sent on: the lane's own log line names the key, the kind of file and the outcome, never its contents or its name.",
                    "The endpoint's transfer log in CloudWatch records the name of each file you move, so never put a patient's name or any identifier in a file name.",
                    "Nothing is sent to a payer: Payerworks validates and acknowledges the file, and you send the claims on yourself.",
                    "When your key is revoked, its SFTP user is removed at once; when it expires, or when the endpoint could not be reached at the revoke, by the next daily pass, within a day. A file dropped under a revoked or expired key before then is deleted unread, with no answer."
                  ],
                  "transmits": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SftpBody"
              },
              "example": {
                "acknowledgment_999": "always"
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Remove your SFTP user",
        "description": "The user can no longer sign in. Answers already in /outbound are deleted by the bucket 7 days after each was written.",
        "operationId": "deleteV1Sftp",
        "tags": [
          "SFTP file drop"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SftpDeleted"
                },
                "example": {
                  "deleted": true,
                  "note": "The user can no longer sign in. Answers already in outbound are deleted by the bucket 7 days after each was written.",
                  "retention": [
                    "A file you drop in inbound is read once and deleted as soon as its answers are written. A file the lane could not reach is deleted by the bucket 1 day after it arrived; S3 removes an expired file in the day or so after its expiry.",
                    "Each answer (a TA1, a 999 and the report) waits in outbound for 7 days after it was written, then the bucket deletes it; you may delete it sooner. S3 removes an expired file in the day or so after its expiry.",
                    "The bucket keeps no earlier version of a file and is in no backup. Nothing you drop is stored anywhere else, logged or sent on: the lane's own log line names the key, the kind of file and the outcome, never its contents or its name.",
                    "The endpoint's transfer log in CloudWatch records the name of each file you move, so never put a patient's name or any identifier in a file name.",
                    "Nothing is sent to a payer: Payerworks validates and acknowledges the file, and you send the claims on yourself.",
                    "When your key is revoked, its SFTP user is removed at once; when it expires, or when the endpoint could not be reached at the revoke, by the next daily pass, within a day. A file dropped under a revoked or expired key before then is deleted unread, with no answer."
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/sftp/ssh-keys": {
      "post": {
        "summary": "Add an SSH key",
        "description": "One OpenSSH public key line (ssh-ed25519, ssh-rsa or ecdsa), as your .pub file holds it; at most 10. There are no passwords. A private key is refused and never kept; a key’s comment is dropped.",
        "operationId": "postV1SftpSshKeys",
        "tags": [
          "SFTP file drop"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SshKey"
                },
                "example": {
                  "id": "key-0a1b2c3d4e5f6a7b1",
                  "algorithm": "ssh-ed25519",
                  "fingerprint": "SHA256:EN9Jp9JJbIabR3Qcsj0tqYdUVi1NxOEfJBNgjLzYedc",
                  "added_at": "2026-10-19T15:00:00.000Z"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SshKeyBody"
              },
              "example": {
                "public_key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINXvOd5VaJqJWXfe+7VV3zPAkJmYjT4WyPx9TO5a9G+H dev@example.com"
              }
            }
          }
        }
      }
    },
    "/v1/sftp/ssh-keys/{id}": {
      "delete": {
        "summary": "Remove an SSH key",
        "description": "That key can no longer sign in.",
        "operationId": "deleteV1SftpSshKeysById",
        "tags": [
          "SFTP file drop"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Deleted"
                },
                "example": {
                  "deleted": true,
                  "id": "key-0a1b2c3d4e5f6a7b1"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "key-0a1b2c3d4e5f6a7b1"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/jobs": {
      "post": {
        "summary": "Make a batch job",
        "description": "For more than one call can carry: name the route (route, as POST /v1/claims/validate) and, if every call carries one, the query. You get the job and a signed upload form for its file: { calls: [ ... ] }, each entry exactly the body that route takes in one call, up to 1,000 calls and 50 MB, uploaded within an hour. Each call is answered as the route answers it and held to its limits (2 MB a call; a larger one is answered 413 too_large at its index). A job runs claim validation, 837P writing, remittance, eligibility and claim status explanations, analytics, payment variance and claim tracking. POST /v1/eligibility/270 as a job is different: its file is that route’s own body with up to 7,500 requests, written as one 270. A file whose requests would write more segments than one 270 is read in fails the job job_270_too_many_segments. A job keeps your file until it finishes and its result for 24 hours, which no other route does: use invented data with a test key. Off until Payerworks turns it on; test keys only for now; 50 jobs a UTC day for an account’s keys together. Nothing is sent to a payer.",
        "operationId": "postV1Jobs",
        "tags": [
          "Batch jobs"
        ],
        "responses": {
          "201": {
            "description": "Made.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Job"
                },
                "example": {
                  "id": "job_9e6d21650c98b40f5b5848da",
                  "object": "job",
                  "route": "POST /v1/claims/validate",
                  "query": "",
                  "mode": "test",
                  "status": "awaiting_upload",
                  "status_words": "Waiting for the request file: upload it with the signed form in `upload`. Nothing runs until it lands.",
                  "created_at": "2026-10-20T19:12:00.142Z",
                  "started_at": null,
                  "finished_at": null,
                  "upload": {
                    "method": "POST",
                    "url": "https://pw-jobs-example.s3.us-east-1.amazonaws.com/",
                    "fields": {
                      "key": "requests/pwk_0123456789abcdef01/job_9e6d21650c98b40f5b5848da.json",
                      "Content-Type": "application/json",
                      "x-amz-server-side-encryption": "aws:kms",
                      "x-amz-server-side-encryption-aws-kms-key-id": "arn:aws:kms:us-east-1:111111111111:key/example",
                      "x-amz-algorithm": "AWS4-HMAC-SHA256",
                      "x-amz-credential": "AKIAEXAMPLE/20261020/us-east-1/s3/aws4_request",
                      "x-amz-date": "20261020T191200Z",
                      "policy": "eyJleHBpcmF0aW9uIjoiMjAyNi0xMC0yMFQyMDoxMjowMC4xNDJaIiwiY29uZGl0aW9ucyI6W3siYnVja2V0IjoicHctam9icy1leGFtcGxlIn0seyJrZXkiOiJyZXF1ZXN0cy9wd2tfMDEyMzQ1Njc4OWFiY2RlZjAxL2pvYl85ZTZkMjE2NTBjOThiNDBmNWI1ODQ4ZGEuanNvbiJ9LHsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LHsieC1hbXotc2VydmVyLXNpZGUtZW5jcnlwdGlvbiI6ImF3czprbXMifSx7IngtYW16LXNlcnZlci1zaWRlLWVuY3J5cHRpb24tYXdzLWttcy1rZXktaWQiOiJhcm46YXdzOmttczp1cy1lYXN0LTE6MTExMTExMTExMTExOmtleS9leGFtcGxlIn0seyJ4LWFtei1hbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In0seyJ4LWFtei1jcmVkZW50aWFsIjoiQUtJQUVYQU1QTEUvMjAyNjEwMjAvdXMtZWFzdC0xL3MzL2F3czRfcmVxdWVzdCJ9LHsieC1hbXotZGF0ZSI6IjIwMjYxMDIwVDE5MTIwMFoifSxbImNvbnRlbnQtbGVuZ3RoLXJhbmdlIiwxLDUwMDAwMDAwXV19",
                      "x-amz-signature": "492a2aacfb34613b509d8d879e7e11a35e16289190fffc040a722cebd08ffc59"
                    },
                    "expires_at": "2026-10-20T20:12:00.142Z",
                    "max_bytes": 50000000,
                    "content_type": "application/json",
                    "file_field": "file"
                  },
                  "calls": null,
                  "result": null,
                  "result_kept_until": null,
                  "error": null,
                  "kept": "A job keeps your request file until the job finishes, then deletes it, and keeps the result for 24 hours after the job finishes, fetched by a signed link; after that the job is gone and the files are deleted from storage in the day or so after. Every other route answers and keeps nothing.",
                  "stored": true,
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobBody"
              },
              "example": {
                "route": "POST /v1/claims/validate"
              }
            }
          }
        }
      },
      "get": {
        "summary": "Your batch jobs",
        "description": "This key’s jobs, newest first, at most 100: each one’s route, state and counts. A job whose result’s 24 hours are over is listed as expired, with nothing kept, until its record is removed.",
        "operationId": "getV1Jobs",
        "tags": [
          "Batch jobs"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobList"
                },
                "example": {
                  "data": [
                    {
                      "id": "job_9e6d21650c98b40f5b5848da",
                      "object": "job",
                      "route": "POST /v1/claims/validate",
                      "query": "",
                      "mode": "test",
                      "status": "awaiting_upload",
                      "status_words": "Waiting for the request file: upload it with the signed form in `upload`. Nothing runs until it lands.",
                      "created_at": "2026-10-20T19:12:00.142Z",
                      "started_at": null,
                      "finished_at": null,
                      "upload": null,
                      "calls": null,
                      "result": null,
                      "result_kept_until": null,
                      "error": null,
                      "kept": "A job keeps your request file until the job finishes, then deletes it, and keeps the result for 24 hours after the job finishes, fetched by a signed link; after that the job is gone and the files are deleted from storage in the day or so after. Every other route answers and keeps nothing.",
                      "stored": true,
                      "transmitted": false
                    }
                  ],
                  "kept": "A job keeps your request file until the job finishes, then deletes it, and keeps the result for 24 hours after the job finishes, fetched by a signed link; after that the job is gone and the files are deleted from storage in the day or so after. Every other route answers and keeps nothing."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ]
      }
    },
    "/v1/jobs/{id}": {
      "get": {
        "summary": "One batch job",
        "description": "Its state (awaiting_upload, running, completed, partial, failed, canceled or expired), its calls by status, and once it has finished, a link to its result good for 15 minutes; ask again for a new one. The result is { answers: [ { index, status, body } ] }, each answer what that call would have answered. A job that ran out of time is partial: the answered calls are in the result and not_run_from is the first to send again. A job that failed says why in error. A job.completed or job.failed event reaches your webhook and destinations when it ends. A job whose file arrived but could not be started on our side within an hour fails with job_not_started.",
        "operationId": "getV1JobsById",
        "tags": [
          "Batch jobs"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Job"
                },
                "example": {
                  "id": "job_9e6d21650c98b40f5b5848da",
                  "object": "job",
                  "route": "POST /v1/claims/validate",
                  "query": "",
                  "mode": "test",
                  "status": "awaiting_upload",
                  "status_words": "Waiting for the request file: upload it with the signed form in `upload`. Nothing runs until it lands.",
                  "created_at": "2026-10-20T19:12:00.142Z",
                  "started_at": null,
                  "finished_at": null,
                  "upload": {
                    "method": "POST",
                    "url": "https://pw-jobs-example.s3.us-east-1.amazonaws.com/",
                    "fields": {
                      "key": "requests/pwk_0123456789abcdef01/job_9e6d21650c98b40f5b5848da.json",
                      "Content-Type": "application/json",
                      "x-amz-server-side-encryption": "aws:kms",
                      "x-amz-server-side-encryption-aws-kms-key-id": "arn:aws:kms:us-east-1:111111111111:key/example",
                      "x-amz-algorithm": "AWS4-HMAC-SHA256",
                      "x-amz-credential": "AKIAEXAMPLE/20261020/us-east-1/s3/aws4_request",
                      "x-amz-date": "20261020T191200Z",
                      "policy": "eyJleHBpcmF0aW9uIjoiMjAyNi0xMC0yMFQyMDoxMTo1OS4xNDdaIiwiY29uZGl0aW9ucyI6W3siYnVja2V0IjoicHctam9icy1leGFtcGxlIn0seyJrZXkiOiJyZXF1ZXN0cy9wd2tfMDEyMzQ1Njc4OWFiY2RlZjAxL2pvYl85ZTZkMjE2NTBjOThiNDBmNWI1ODQ4ZGEuanNvbiJ9LHsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9LHsieC1hbXotc2VydmVyLXNpZGUtZW5jcnlwdGlvbiI6ImF3czprbXMifSx7IngtYW16LXNlcnZlci1zaWRlLWVuY3J5cHRpb24tYXdzLWttcy1rZXktaWQiOiJhcm46YXdzOmttczp1cy1lYXN0LTE6MTExMTExMTExMTExOmtleS9leGFtcGxlIn0seyJ4LWFtei1hbGdvcml0aG0iOiJBV1M0LUhNQUMtU0hBMjU2In0seyJ4LWFtei1jcmVkZW50aWFsIjoiQUtJQUVYQU1QTEUvMjAyNjEwMjAvdXMtZWFzdC0xL3MzL2F3czRfcmVxdWVzdCJ9LHsieC1hbXotZGF0ZSI6IjIwMjYxMDIwVDE5MTIwMFoifSxbImNvbnRlbnQtbGVuZ3RoLXJhbmdlIiwxLDUwMDAwMDAwXV19",
                      "x-amz-signature": "2270f9df8728a7b0c33005d9d2100aa75795c1fb302c710b879b83442299f4a6"
                    },
                    "expires_at": "2026-10-20T20:11:59.147Z",
                    "max_bytes": 50000000,
                    "content_type": "application/json",
                    "file_field": "file"
                  },
                  "calls": null,
                  "result": null,
                  "result_kept_until": null,
                  "error": null,
                  "kept": "A job keeps your request file until the job finishes, then deletes it, and keeps the result for 24 hours after the job finishes, fetched by a signed link; after that the job is gone and the files are deleted from storage in the day or so after. Every other route answers and keeps nothing.",
                  "stored": true,
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "job_9e6d21650c98b40f5b5848da"
          }
        ]
      },
      "delete": {
        "summary": "Delete a batch job",
        "description": "Its file, its result and the job itself, now rather than after 24 hours. A running job must be canceled first.",
        "operationId": "deleteV1JobsById",
        "tags": [
          "Batch jobs"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDeleted"
                },
                "example": {
                  "id": "job_9e6d21650c98b40f5b5848da",
                  "deleted": true,
                  "kept": "A job keeps your request file until the job finishes, then deletes it, and keeps the result for 24 hours after the job finishes, fetched by a signed link; after that the job is gone and the files are deleted from storage in the day or so after. Every other route answers and keeps nothing."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "job_9e6d21650c98b40f5b5848da"
          }
        ]
      }
    },
    "/v1/jobs/{id}/cancel": {
      "post": {
        "summary": "Cancel a batch job",
        "description": "Before its file is uploaded, nothing will run. While it runs, it stops between two calls and keeps no result. A finished job cannot be canceled: delete it.",
        "operationId": "postV1JobsByIdCancel",
        "tags": [
          "Batch jobs"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Job"
                },
                "example": {
                  "id": "job_9e6d21650c98b40f5b5848da",
                  "object": "job",
                  "route": "POST /v1/claims/validate",
                  "query": "",
                  "mode": "test",
                  "status": "canceled",
                  "status_words": "Canceled: nothing more runs and no result is kept.",
                  "created_at": "2026-10-20T19:12:00.142Z",
                  "started_at": null,
                  "finished_at": "2026-10-20T19:12:00.150Z",
                  "upload": null,
                  "calls": null,
                  "result": null,
                  "result_kept_until": null,
                  "error": null,
                  "kept": "A job keeps your request file until the job finishes, then deletes it, and keeps the result for 24 hours after the job finishes, fetched by a signed link; after that the job is gone and the files are deleted from storage in the day or so after. Every other route answers and keeps nothing.",
                  "stored": true,
                  "transmitted": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "job_9e6d21650c98b40f5b5848da"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ]
      }
    },
    "/v1/claims/submit": {
      "post": {
        "summary": "Send claims to a payer",
        "description": "Not offered yet: Payerworks is connected to no payer, so this answers 501 submit_not_offered with each gate and whether it is open (sending switched on, a live key, a signed business associate agreement recorded for your account, a trading partner for the payer, and that partner switched on). Nothing is written or sent. Once every gate is open it writes your claims as an 837P exactly as POST /v1/claims/837p does, under the partner’s interchange ids and a control number Payerworks assigns, and hands the file to the partner; transmitted is true only when the partner’s connection accepted the file. Every patientControlNumber begins with your account’s reference prefix, and one already in flight is refused unless it was rejected or the claim is a replacement or a void. The partner’s 999, 277CA and 835 arrive as submission events to the key that sent the file, never to anyone else. Send an Idempotency-Key: a retry under it answers the first answer and sends nothing again.",
        "operationId": "postV1ClaimsSubmit",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmitAnswer"
                },
                "example": {
                  "submission_id": "sub_cedi_1",
                  "partner_id": "cedi",
                  "partner_name": "Sample Gateway",
                  "usage": "P",
                  "interchange_control_number": "000000001",
                  "group_control_number": "1",
                  "claims": [
                    {
                      "reference": "SDX-1001",
                      "transaction_set_control_number": "0001",
                      "warnings": [],
                      "repairs": [
                        {
                          "code": "zip_hyphen_removed",
                          "field": "billing.address.postalCode",
                          "message": "billing.address.postalCode was written as nine digits."
                        },
                        {
                          "code": "phone_punctuation_removed",
                          "field": "billing.contactInformation.phoneNumber",
                          "message": "billing.contactInformation.phoneNumber was written as its ten digits."
                        },
                        {
                          "code": "diagnosis_code_formatted",
                          "field": "claimInformation.healthCareCodeInformation[0].diagnosisCode",
                          "message": "claimInformation.healthCareCodeInformation[0].diagnosisCode was written in capitals with no dot, as the 837P carries it."
                        },
                        {
                          "code": "diagnosis_code_formatted",
                          "field": "claimInformation.healthCareCodeInformation[1].diagnosisCode",
                          "message": "claimInformation.healthCareCodeInformation[1].diagnosisCode was written in capitals with no dot, as the 837P carries it."
                        }
                      ]
                    }
                  ],
                  "transfer_id": "t-0001",
                  "sent_at": "2026-10-20T15:00:00.000Z",
                  "acknowledgments": "The partner's 999, 277CA and 835 are recorded as events for this key: read them on GET /v1/events, and they are sent to this key's webhook and destinations when it has any.",
                  "transmitted": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "501": {
            "description": "Not offered: a gate is closed, and gates names each. Nothing was written or sent. The answer every call gets today.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubmitNotOffered"
                },
                "example": {
                  "error": {
                    "code": "submit_not_offered",
                    "message": "Payerworks does not send this claim yet: `gates` names each gate and whether it is open. Nothing was written or sent; write the 837P with POST /v1/claims/837p and send it on the connection you have.",
                    "gates": [
                      {
                        "gate": "service",
                        "open": false,
                        "sentence": "Sending claims is not switched on for Payerworks yet."
                      },
                      {
                        "gate": "live_key",
                        "open": null,
                        "sentence": "Not checked: a gate before it is closed."
                      },
                      {
                        "gate": "baa",
                        "open": null,
                        "sentence": "Not checked: a gate before it is closed."
                      },
                      {
                        "gate": "partner",
                        "open": null,
                        "sentence": "Not checked: a gate before it is closed."
                      },
                      {
                        "gate": "partner_switch",
                        "open": null,
                        "sentence": "Not checked: a gate before it is closed."
                      }
                    ],
                    "connection": "Payerworks is connected to no payer.",
                    "transmitted": false
                  }
                }
              }
            }
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/IdempotencyKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubmitBody"
              },
              "example": {
                "claim": {
                  "tradingPartnerServiceId": "60054",
                  "receiver": {
                    "organizationName": "SAMPLE HEALTH PLAN"
                  },
                  "submitter": {
                    "organizationName": "Sample Dental",
                    "contactInformation": {
                      "name": "BILLING OFFICE",
                      "email": "billing@sample.test"
                    }
                  },
                  "billing": {
                    "organizationName": "Sample Dental",
                    "npi": "1234567893",
                    "employerId": "12-3456789",
                    "taxonomyCode": "1223S0112X",
                    "address": {
                      "address1": "100 Sample St",
                      "city": "Provo",
                      "state": "UT",
                      "postalCode": "84601-1234"
                    },
                    "contactInformation": {
                      "name": "BILLING OFFICE",
                      "phoneNumber": "(801) 555-0100"
                    }
                  },
                  "subscriber": {
                    "memberId": "TESTMEMBER01",
                    "paymentResponsibilityLevelCode": "P",
                    "firstName": "JANE",
                    "lastName": "DOE",
                    "gender": "F",
                    "dateOfBirth": "1960-02-03",
                    "groupNumber": "GRP100",
                    "address": {
                      "address1": "9 Test Ave",
                      "city": "Provo",
                      "state": "UT",
                      "postalCode": "84601"
                    }
                  },
                  "rendering": {
                    "npi": "1922222223",
                    "firstName": "JOHN",
                    "lastName": "DOE"
                  },
                  "claimInformation": {
                    "claimFilingCode": "CI",
                    "patientControlNumber": "SDX-1001",
                    "claimChargeAmount": "250.00",
                    "placeOfServiceCode": "11",
                    "claimFrequencyCode": "1",
                    "signatureIndicator": "Y",
                    "planParticipationCode": "A",
                    "benefitsAssignmentCertificationIndicator": "Y",
                    "releaseInformationCode": "Y",
                    "healthCareCodeInformation": [
                      {
                        "diagnosisTypeCode": "ABK",
                        "diagnosisCode": "G47.33"
                      },
                      {
                        "diagnosisTypeCode": "ABF",
                        "diagnosisCode": "R06.83"
                      }
                    ],
                    "serviceLines": [
                      {
                        "serviceDate": "2026-10-01",
                        "providerControlNumber": "PW-SELF-1-L1",
                        "professionalService": {
                          "procedureIdentifier": "HC",
                          "procedureCode": "99213",
                          "procedureModifiers": [
                            "25"
                          ],
                          "lineItemChargeAmount": "250.00",
                          "measurementUnit": "UN",
                          "serviceUnitCount": "1",
                          "compositeDiagnosisCodePointers": {
                            "diagnosisCodePointers": [
                              "1",
                              "2"
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/partners": {
      "get": {
        "summary": "Trading partners",
        "description": "The trading partners claims go to through POST /v1/claims/submit today, with the payer ids each takes and the transactions it carries, and one sentence about Payerworks’ connections. Today the list is empty: Payerworks is connected to no payer.",
        "operationId": "getV1Partners",
        "tags": [
          "Claims and files"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Partners"
                },
                "example": {
                  "connection": "Payerworks is connected to no payer.",
                  "partners": []
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/audit-log": {
      "get": {
        "summary": "Your account’s audit log",
        "description": "Every change to this account, newest first: keys made, rotated, revoked or expired; the webhook, destinations and the notice address; providers, enrollment requests, tasks and documents; the SFTP user and its SSH keys; batch jobs; the organization and its members. Each entry says what, when, who (a key, a member, Payerworks, or Payerworks automatically), through which door, the object’s id, and the fields that changed by name only, never a value; a web address by its host. limit 1 to 100 (25), type (an entry type, or its family before the dot), created_gte and created_lt, starting_after. Each entry is kept 365 days, then deleted, and never changed before then. Every key of the account reads the same log.",
        "operationId": "getV1AuditLog",
        "tags": [
          "Your keys, your account and your webhook"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditLog"
                },
                "example": {
                  "object": "list",
                  "data": [
                    {
                      "id": "aud_aeb4acb2fdf610d4bc531306",
                      "type": "webhook_destination.removed",
                      "words": "Webhook destination removed",
                      "at": "2026-10-20T19:12:00.114Z",
                      "actor": {
                        "type": "key",
                        "id": "pwk_0123456789abcdef01"
                      },
                      "door": "api",
                      "object": {
                        "kind": "webhook_destination",
                        "id": "wd_4e1687f5d8638cbd"
                      },
                      "changed": [],
                      "url_host": null,
                      "count": null,
                      "request_id": "req_example_15"
                    },
                    {
                      "id": "aud_a08c0b0cd9c2ce25b9ef59ab",
                      "type": "key.revoked",
                      "words": "API key revoked",
                      "at": "2026-10-20T19:12:00.111Z",
                      "actor": {
                        "type": "key",
                        "id": "pwk_0123456789abcdef01"
                      },
                      "door": "api",
                      "object": {
                        "kind": "key",
                        "id": "pwk_153493376889aa3239d7aab0"
                      },
                      "changed": [],
                      "url_host": null,
                      "count": null,
                      "request_id": "req_example_14"
                    },
                    {
                      "id": "aud_f6cb01a43a1aa3f5a054ce82",
                      "type": "key.rotated",
                      "words": "API key secret rotated",
                      "at": "2026-10-20T19:12:00.108Z",
                      "actor": {
                        "type": "key",
                        "id": "pwk_0123456789abcdef01"
                      },
                      "door": "api",
                      "object": {
                        "kind": "key",
                        "id": "pwk_153493376889aa3239d7aab0"
                      },
                      "changed": [
                        "secret",
                        "overlap_hours"
                      ],
                      "url_host": null,
                      "count": null,
                      "request_id": "req_example_13"
                    }
                  ],
                  "has_more": true,
                  "next_cursor": "acur_412331373932353233353230313038236175645f663663623031613433613161613366356130353463653832",
                  "retention_days": 365
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "How many entries a page holds, 1 to 100."
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "key.created",
                "key.rotated",
                "key.revoked",
                "key.expired",
                "webhook.set",
                "webhook.changed",
                "webhook.removed",
                "webhook_destination.created",
                "webhook_destination.changed",
                "webhook_destination.removed",
                "contact.changed",
                "contact.removed",
                "provider.created",
                "provider.changed",
                "provider.removed",
                "enrollment.created",
                "enrollment.changed",
                "enrollment.submitted",
                "enrollment.withdrawn",
                "enrollment.withdrawal_requested",
                "enrollment.removed",
                "enrollment.status_changed",
                "enrollment.imported",
                "enrollment.note_added",
                "enrollment_task.answered",
                "enrollment_task.added",
                "enrollment_task.superseded",
                "enrollment_task.completed",
                "enrollment_document.requested",
                "enrollment_document.added",
                "enrollment_document.removed",
                "sftp_user.added",
                "sftp_user.changed",
                "sftp_user.removed",
                "sftp_ssh_key.added",
                "sftp_ssh_key.removed",
                "job.created",
                "job.canceled",
                "job.removed",
                "account_baa.recorded",
                "account_baa.withdrawn",
                "org.created",
                "org.updated",
                "member.invited",
                "member.invitation_canceled",
                "member.joined",
                "member.role_changed",
                "member.removed",
                "key",
                "webhook",
                "webhook_destination",
                "contact",
                "provider",
                "enrollment",
                "enrollment_task",
                "enrollment_document",
                "sftp_user",
                "sftp_ssh_key",
                "job",
                "account_baa",
                "org",
                "member"
              ]
            },
            "description": "An entry type (key.created, key.rotated and the rest the docs list), or its family before the dot (key, webhook, webhook_destination and the rest)."
          },
          {
            "name": "created_gte",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Only those made at or after this instant, such as 2026-10-19T14:00:00Z."
          },
          {
            "name": "created_lt",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Only those made before this instant."
          },
          {
            "name": "starting_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^acur_[0-9a-f]+$"
            },
            "description": "The next_cursor of an earlier page of this audit log."
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/audit-log/export": {
      "get": {
        "summary": "Download the audit log",
        "description": "The same entries and filters as a CSV file in the answer (csv, filename, columns), at most 5,000 entries a call; next_cursor names where the rest start. No cell opens as a formula in a spreadsheet.",
        "operationId": "getV1AuditLogExport",
        "tags": [
          "Your keys, your account and your webhook"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditLogExport"
                },
                "example": {
                  "object": "audit_log_export",
                  "content_type": "text/csv",
                  "filename": "payerworks-audit-log-2026-10-20.csv",
                  "row_count": 7,
                  "columns": [
                    "id",
                    "at",
                    "type",
                    "words",
                    "actor_type",
                    "actor_id",
                    "door",
                    "object_kind",
                    "object_id",
                    "changed",
                    "url_host",
                    "count",
                    "request_id"
                  ],
                  "csv": "id,at,type,words,actor_type,actor_id,door,object_kind,object_id,changed,url_host,count,request_id\r\naud_aeb4acb2fdf610d4bc531306,2026-10-20T19:12:00.114Z,webhook_destination.removed,Webhook destination removed,key,pwk_0123456789abcdef01,api,webhook_destination,wd_4e1687f5d8638cbd,,,,req_example_15\r\naud_a08c0b0cd9c2ce25b9ef59ab,2026-10-20T19:12:00.111Z,key.revoked,API key revoked,key,pwk_0123456789abcdef01,api,key,pwk_153493376889aa3239d7aab0,,,,req_example_14\r\naud_f6cb01a43a1aa3f5a054ce82,2026-10-20T19:12:00.108Z,key.rotated,API key secret rotated,key,pwk_0123456789abcdef01,api,key,pwk_153493376889aa3239d7aab0,secret;overlap_hours,,,req_example_13\r\naud_7680deb418193f1677af3542,2026-10-20T19:12:00.100Z,key.created,API key created,key,pwk_0123456789abcdef01,api,key,pwk_153493376889aa3239d7aab0,name;expires_at,,,req_example_11\r\naud_c21345a5e8f5411b80881443,2026-10-20T19:12:00.052Z,contact.changed,Notice contact set,key,pwk_0123456789abcdef01,api,contact,,email,,,req_example_6\r\naud_e66ade5ae74d431b6690740f,2026-10-20T19:12:00.046Z,webhook_destination.changed,Webhook destination changed,key,pwk_0123456789abcdef01,api,webhook_destination,wd_4e1687f5d8638cbd,overlap_hours;secret,,,req_example_4\r\naud_3f7825343f7d5feacacfe50a,2026-10-20T19:12:00.036Z,webhook_destination.created,Webhook destination added,key,pwk_0123456789abcdef01,api,webhook_destination,wd_4e1687f5d8638cbd,name;url;event_types;concurrency;secret,hooks.example.com,,req_example_1\r\n",
                  "has_more": false,
                  "next_cursor": null,
                  "retention_days": 365
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "key.created",
                "key.rotated",
                "key.revoked",
                "key.expired",
                "webhook.set",
                "webhook.changed",
                "webhook.removed",
                "webhook_destination.created",
                "webhook_destination.changed",
                "webhook_destination.removed",
                "contact.changed",
                "contact.removed",
                "provider.created",
                "provider.changed",
                "provider.removed",
                "enrollment.created",
                "enrollment.changed",
                "enrollment.submitted",
                "enrollment.withdrawn",
                "enrollment.withdrawal_requested",
                "enrollment.removed",
                "enrollment.status_changed",
                "enrollment.imported",
                "enrollment.note_added",
                "enrollment_task.answered",
                "enrollment_task.added",
                "enrollment_task.superseded",
                "enrollment_task.completed",
                "enrollment_document.requested",
                "enrollment_document.added",
                "enrollment_document.removed",
                "sftp_user.added",
                "sftp_user.changed",
                "sftp_user.removed",
                "sftp_ssh_key.added",
                "sftp_ssh_key.removed",
                "job.created",
                "job.canceled",
                "job.removed",
                "account_baa.recorded",
                "account_baa.withdrawn",
                "org.created",
                "org.updated",
                "member.invited",
                "member.invitation_canceled",
                "member.joined",
                "member.role_changed",
                "member.removed",
                "key",
                "webhook",
                "webhook_destination",
                "contact",
                "provider",
                "enrollment",
                "enrollment_task",
                "enrollment_document",
                "sftp_user",
                "sftp_ssh_key",
                "job",
                "account_baa",
                "org",
                "member"
              ]
            },
            "description": "An entry type (key.created, key.rotated and the rest the docs list), or its family before the dot (key, webhook, webhook_destination and the rest)."
          },
          {
            "name": "created_gte",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Only those made at or after this instant, such as 2026-10-19T14:00:00Z."
          },
          {
            "name": "created_lt",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Only those made before this instant."
          },
          {
            "name": "starting_after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "pattern": "^acur_[0-9a-f]+$"
            },
            "description": "The next_cursor of an earlier page of this audit log."
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          },
          {
            "$ref": "#/components/parameters/PayerworksKey"
          }
        ]
      }
    },
    "/v1/org/roles": {
      "get": {
        "summary": "The roles",
        "description": "The one role table: every role, every permission and the owner’s rules. Readable with a key or a sign-in.",
        "operationId": "getV1OrgRoles",
        "tags": [
          "Organizations and members"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleTable"
                },
                "example": {
                  "roles": [
                    {
                      "role": "owner",
                      "words": "Everything an admin does, and the owner's own decisions: owners, the organization's settings, and revoking a removed member's keys.",
                      "permissions": [
                        "org.read",
                        "members.read",
                        "keys.read",
                        "webhooks.read",
                        "events.read",
                        "enrollments.read",
                        "sftp.read",
                        "usage.read",
                        "audit.read",
                        "keys.write_test",
                        "webhooks.write_test",
                        "enrollments.write_test",
                        "sftp.write_test",
                        "members.invite",
                        "members.change_role",
                        "members.remove",
                        "keys.write_live",
                        "webhooks.write_live",
                        "enrollments.write_live",
                        "sftp.write_live",
                        "contact.write",
                        "org.update"
                      ]
                    },
                    {
                      "role": "admin",
                      "words": "Manages people (never an owner) and every key, webhook, enrollment and SFTP user, test or live.",
                      "permissions": [
                        "org.read",
                        "members.read",
                        "keys.read",
                        "webhooks.read",
                        "events.read",
                        "enrollments.read",
                        "sftp.read",
                        "usage.read",
                        "audit.read",
                        "keys.write_test",
                        "webhooks.write_test",
                        "enrollments.write_test",
                        "sftp.write_test",
                        "members.invite",
                        "members.change_role",
                        "members.remove",
                        "keys.write_live",
                        "webhooks.write_live",
                        "enrollments.write_live",
                        "sftp.write_live",
                        "contact.write"
                      ]
                    },
                    {
                      "role": "developer",
                      "words": "Builds with test keys: makes and rotates them, sets their webhooks, enrollments and SFTP users; reads everything live.",
                      "permissions": [
                        "org.read",
                        "members.read",
                        "keys.read",
                        "webhooks.read",
                        "events.read",
                        "enrollments.read",
                        "sftp.read",
                        "usage.read",
                        "audit.read",
                        "keys.write_test",
                        "webhooks.write_test",
                        "enrollments.write_test",
                        "sftp.write_test"
                      ]
                    },
                    {
                      "role": "viewer",
                      "words": "Reads everything (never a key itself, never a secret) and changes nothing. A seat for an auditor or a manager.",
                      "permissions": [
                        "org.read",
                        "members.read",
                        "keys.read",
                        "webhooks.read",
                        "events.read",
                        "enrollments.read",
                        "sftp.read",
                        "usage.read",
                        "audit.read"
                      ]
                    }
                  ],
                  "permissions": [
                    {
                      "permission": "org.read",
                      "words": "See the organization, its account and its settings."
                    },
                    {
                      "permission": "org.update",
                      "words": "Rename the organization and choose who manages keys."
                    },
                    {
                      "permission": "members.read",
                      "words": "See the members and the pending invitations."
                    },
                    {
                      "permission": "members.invite",
                      "words": "Invite a person by email, and cancel an invitation."
                    },
                    {
                      "permission": "members.change_role",
                      "words": "Change a member's role."
                    },
                    {
                      "permission": "members.remove",
                      "words": "Remove a member."
                    },
                    {
                      "permission": "keys.read",
                      "words": "List the account's keys (never a key itself)."
                    },
                    {
                      "permission": "keys.write_test",
                      "words": "Make, rotate and revoke test keys."
                    },
                    {
                      "permission": "keys.write_live",
                      "words": "Make, rotate and revoke live keys."
                    },
                    {
                      "permission": "webhooks.read",
                      "words": "See the webhook, the destinations, their deliveries and the notice contact."
                    },
                    {
                      "permission": "webhooks.write_test",
                      "words": "Set, change, test and remove a test key's webhook and destinations, and send an event again."
                    },
                    {
                      "permission": "webhooks.write_live",
                      "words": "Set, change, test and remove a live key's webhook and destinations, and send an event again."
                    },
                    {
                      "permission": "events.read",
                      "words": "List the events and their delivery attempts."
                    },
                    {
                      "permission": "enrollments.read",
                      "words": "See providers, enrollment requests, tasks and documents."
                    },
                    {
                      "permission": "enrollments.write_test",
                      "words": "Create and change a test key's providers, requests, tasks and documents."
                    },
                    {
                      "permission": "enrollments.write_live",
                      "words": "Create, submit and change a live key's providers, requests, tasks and documents."
                    },
                    {
                      "permission": "sftp.read",
                      "words": "See a key's SFTP user."
                    },
                    {
                      "permission": "sftp.write_test",
                      "words": "Add and remove a test key's SFTP user and its SSH keys."
                    },
                    {
                      "permission": "sftp.write_live",
                      "words": "Add and remove a live key's SFTP user and its SSH keys."
                    },
                    {
                      "permission": "contact.write",
                      "words": "Change the address the failing-destination notices go to."
                    },
                    {
                      "permission": "usage.read",
                      "words": "See each key's calls this month to date."
                    },
                    {
                      "permission": "audit.read",
                      "words": "Read the account's audit log."
                    }
                  ],
                  "owner_rules": [
                    "Only an owner invites an owner, makes a member an owner, or changes or removes an owner.",
                    "An organization always keeps at least one owner: the last owner cannot be removed, leave, or be given another role.",
                    "Removing a member never revokes the keys they made or rotated in the console unless an owner says so in that removal (revoke_keys=true): a key whose secret they were shown, made or rotated, is theirs to revoke.",
                    "Only an owner decides whether an API key may still manage the account's keys (key_management)."
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "memberSession": []
          }
        ]
      }
    },
    "/v1/org/memberships": {
      "get": {
        "summary": "Your organizations",
        "description": "The organizations this sign-in belongs to, with its role in each. A sign-in only.",
        "operationId": "getV1OrgMemberships",
        "tags": [
          "Organizations and members"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgMemberships"
                },
                "example": {
                  "data": [
                    {
                      "org_id": "pwo_25323f4c596673808d9aa7b4",
                      "name": "Sample Dental",
                      "role": "owner",
                      "member_id": "pwm_4a5764717e8b98a5"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "memberSession": []
          }
        ]
      }
    },
    "/v1/org": {
      "post": {
        "summary": "Make an organization",
        "description": "Make an organization for an account: name it and give one key of the account (api_key). The key proves the account and is checked and not kept; you become its owner. An account belongs to one organization. A sign-in only.",
        "operationId": "postV1Org",
        "tags": [
          "Organizations and members"
        ],
        "responses": {
          "201": {
            "description": "Made.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                },
                "example": {
                  "org_id": "pwo_25323f4c596673808d9aa7b4",
                  "name": "Sample Dental",
                  "account_id": "pwk_500de6d41a6eacebb6e34d08",
                  "owners": 1,
                  "members": 1,
                  "key_management": "keys_and_members",
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "you": {
                    "member_id": "pwm_4a5764717e8b98a5",
                    "role": "owner",
                    "permissions": [
                      "org.read",
                      "members.read",
                      "keys.read",
                      "webhooks.read",
                      "events.read",
                      "enrollments.read",
                      "sftp.read",
                      "usage.read",
                      "audit.read",
                      "keys.write_test",
                      "webhooks.write_test",
                      "enrollments.write_test",
                      "sftp.write_test",
                      "members.invite",
                      "members.change_role",
                      "members.remove",
                      "keys.write_live",
                      "webhooks.write_live",
                      "enrollments.write_live",
                      "sftp.write_live",
                      "contact.write",
                      "org.update"
                    ]
                  },
                  "kept": "An organization is kept while it exists: its name, its members (each sign-in's email address, name and role) and its pending invitations (an email address and a role, for 7 days). Never a claim, a patient or the body of a call."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "memberSession": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrgCreateBody"
              },
              "example": {
                "name": "Sample Dental",
                "api_key": "pw_test_qk3x..."
              }
            }
          }
        }
      },
      "get": {
        "summary": "Your organization",
        "description": "The organization, with your role and what it lets you do. Name it in the Payerworks-Organization header when your sign-in belongs to several. A sign-in only.",
        "operationId": "getV1Org",
        "tags": [
          "Organizations and members"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                },
                "example": {
                  "org_id": "pwo_25323f4c596673808d9aa7b4",
                  "name": "Sample Dental",
                  "account_id": "pwk_500de6d41a6eacebb6e34d08",
                  "owners": 1,
                  "members": 1,
                  "key_management": "keys_and_members",
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "you": {
                    "member_id": "pwm_4a5764717e8b98a5",
                    "role": "owner",
                    "permissions": [
                      "org.read",
                      "members.read",
                      "keys.read",
                      "webhooks.read",
                      "events.read",
                      "enrollments.read",
                      "sftp.read",
                      "usage.read",
                      "audit.read",
                      "keys.write_test",
                      "webhooks.write_test",
                      "enrollments.write_test",
                      "sftp.write_test",
                      "members.invite",
                      "members.change_role",
                      "members.remove",
                      "keys.write_live",
                      "webhooks.write_live",
                      "enrollments.write_live",
                      "sftp.write_live",
                      "contact.write",
                      "org.update"
                    ]
                  },
                  "kept": "An organization is kept while it exists: its name, its members (each sign-in's email address, name and role) and its pending invitations (an email address and a role, for 7 days). Never a claim, a patient or the body of a call.",
                  "pending_invitations": 0
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          }
        ]
      },
      "put": {
        "summary": "Change your organization",
        "description": "Rename it, or choose who manages the account’s keys (key_management): keys_and_members, the default, where an API key of the account may still make, rotate and revoke its keys, or members_only, where only a signed-in member with the role for it may. An owner’s.",
        "operationId": "putV1Org",
        "tags": [
          "Organizations and members"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                },
                "example": {
                  "org_id": "pwo_25323f4c596673808d9aa7b4",
                  "name": "Sample Dental Group",
                  "account_id": "pwk_500de6d41a6eacebb6e34d08",
                  "owners": 1,
                  "members": 1,
                  "key_management": "keys_and_members",
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "you": {
                    "member_id": "pwm_4a5764717e8b98a5",
                    "role": "owner",
                    "permissions": [
                      "org.read",
                      "members.read",
                      "keys.read",
                      "webhooks.read",
                      "events.read",
                      "enrollments.read",
                      "sftp.read",
                      "usage.read",
                      "audit.read",
                      "keys.write_test",
                      "webhooks.write_test",
                      "enrollments.write_test",
                      "sftp.write_test",
                      "members.invite",
                      "members.change_role",
                      "members.remove",
                      "keys.write_live",
                      "webhooks.write_live",
                      "enrollments.write_live",
                      "sftp.write_live",
                      "contact.write",
                      "org.update"
                    ]
                  },
                  "kept": "An organization is kept while it exists: its name, its members (each sign-in's email address, name and role) and its pending invitations (an email address and a role, for 7 days). Never a claim, a patient or the body of a call."
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrgUpdateBody"
              },
              "example": {
                "name": "Sample Dental Group"
              }
            }
          }
        }
      }
    },
    "/v1/org/members": {
      "get": {
        "summary": "The members",
        "description": "Every member: the email address of the sign-in, the name, the role, when they joined and who invited them. A sign-in only.",
        "operationId": "getV1OrgMembers",
        "tags": [
          "Organizations and members"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgMemberList"
                },
                "example": {
                  "data": [
                    {
                      "member_id": "pwm_4a5764717e8b98a5",
                      "email": "jane.doe@sample-dental.com",
                      "name": "Jane Doe",
                      "role": "owner",
                      "joined_at": "2026-10-19T15:00:00.000Z",
                      "invited_by": null,
                      "updated_at": null,
                      "you": true
                    },
                    {
                      "member_id": "pwm_727f8c99a6b3c0cd",
                      "email": "john.doe@sample-dental.com",
                      "name": "John Doe",
                      "role": "developer",
                      "joined_at": "2026-10-19T15:00:00.000Z",
                      "invited_by": "pwm_4a5764717e8b98a5",
                      "updated_at": null,
                      "you": false
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          }
        ]
      }
    },
    "/v1/org/members/{id}": {
      "put": {
        "summary": "Change a member’s role",
        "description": "A new role: owner, admin, developer or viewer. Only an owner makes, changes or demotes an owner, and the last owner is never demoted.",
        "operationId": "putV1OrgMembersById",
        "tags": [
          "Organizations and members"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgMember"
                },
                "example": {
                  "member_id": "pwm_727f8c99a6b3c0cd",
                  "email": "john.doe@sample-dental.com",
                  "name": "John Doe",
                  "role": "viewer",
                  "joined_at": "2026-10-19T15:00:00.000Z",
                  "invited_by": "pwm_4a5764717e8b98a5",
                  "updated_at": "2026-10-19T15:00:00.000Z",
                  "you": false
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "pwm_727f8c99a6b3c0cd"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrgRoleBody"
              },
              "example": {
                "role": "viewer"
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Remove a member",
        "description": "The member loses access at once. revoke_keys=true, an owner’s choice, also revokes the keys they made or rotated in the console (each one whose secret they were shown); left out, those keys keep working and are listed in the answer. The last owner is never removed, and a member may remove themselves to leave.",
        "operationId": "deleteV1OrgMembersById",
        "tags": [
          "Organizations and members"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgMemberRemoved"
                },
                "example": {
                  "removed": {
                    "member_id": "pwm_727f8c99a6b3c0cd",
                    "email": "john.doe@sample-dental.com",
                    "name": "John Doe",
                    "role": "viewer",
                    "joined_at": "2026-10-19T15:00:00.000Z",
                    "invited_by": "pwm_4a5764717e8b98a5",
                    "updated_at": "2026-10-19T15:00:00.000Z"
                  },
                  "left": false,
                  "keys_made": [],
                  "keys_rotated": [],
                  "keys_revoked": [],
                  "keys_not_revoked": []
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "pwm_727f8c99a6b3c0cd"
          },
          {
            "name": "revoke_keys",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "false"
              ]
            },
            "description": "An owner’s choice: true also revokes the keys the member made or rotated in the console. Left out, they keep working and are listed."
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          }
        ]
      }
    },
    "/v1/org/invitations": {
      "get": {
        "summary": "The invitations waiting",
        "description": "Every invitation not yet accepted or canceled: the address, the role, who invited and until when the link works. A sign-in only.",
        "operationId": "getV1OrgInvitations",
        "tags": [
          "Organizations and members"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgInvitationList"
                },
                "example": {
                  "data": [
                    {
                      "invitation_id": "pwi_03101d2a3744515e",
                      "email": "john.doe@sample-dental.com",
                      "role": "developer",
                      "invited_by": "pwm_4a5764717e8b98a5",
                      "created_at": "2026-10-19T15:00:00.000Z",
                      "expires_at": "2026-10-26T15:00:00.000Z",
                      "expired": false
                    },
                    {
                      "invitation_id": "pwi_4d5a6774818e9ba8",
                      "email": "rick.roe@sample-dental.com",
                      "role": "viewer",
                      "invited_by": "pwm_4a5764717e8b98a5",
                      "created_at": "2026-10-19T15:00:00.000Z",
                      "expires_at": "2026-10-26T15:00:00.000Z",
                      "expired": false
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          }
        ]
      },
      "post": {
        "summary": "Invite a person",
        "description": "Invite a person by email with a role. Payerworks emails a link that works for 7 days, and only for a sign-in at that verified address; the email names neither the organization nor who invited. An organization sends at most 25 invitations a UTC day.",
        "operationId": "postV1OrgInvitations",
        "tags": [
          "Organizations and members"
        ],
        "responses": {
          "201": {
            "description": "Made.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgInvitation"
                },
                "example": {
                  "invitation_id": "pwi_03101d2a3744515e",
                  "email": "john.doe@sample-dental.com",
                  "role": "developer",
                  "invited_by": "pwm_4a5764717e8b98a5",
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "expires_at": "2026-10-26T15:00:00.000Z",
                  "expired": false,
                  "emailed": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrgInviteBody"
              },
              "example": {
                "email": "john.doe@sample-dental.com",
                "role": "developer"
              }
            }
          }
        }
      }
    },
    "/v1/org/invitations/{id}": {
      "delete": {
        "summary": "Cancel an invitation",
        "description": "The link stops working at once.",
        "operationId": "deleteV1OrgInvitationsById",
        "tags": [
          "Organizations and members"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgInvitation"
                },
                "example": {
                  "invitation_id": "pwi_4d5a6774818e9ba8",
                  "email": "rick.roe@sample-dental.com",
                  "role": "viewer",
                  "invited_by": "pwm_4a5764717e8b98a5",
                  "created_at": "2026-10-19T15:00:00.000Z",
                  "expires_at": "2026-10-26T15:00:00.000Z",
                  "expired": false,
                  "canceled": true
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "pwi_4d5a6774818e9ba8"
          },
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          }
        ]
      }
    },
    "/v1/org/join": {
      "post": {
        "summary": "Accept an invitation",
        "description": "Accept an invitation with the token from its link (the part after #join=). The sign-in’s verified email address must be the address the invitation was sent to. A sign-in only.",
        "operationId": "postV1OrgJoin",
        "tags": [
          "Organizations and members"
        ],
        "responses": {
          "201": {
            "description": "Made.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgJoined"
                },
                "example": {
                  "organization": {
                    "org_id": "pwo_25323f4c596673808d9aa7b4",
                    "name": "Sample Dental Group",
                    "account_id": "pwk_500de6d41a6eacebb6e34d08",
                    "owners": 1,
                    "members": 2,
                    "key_management": "keys_and_members",
                    "created_at": "2026-10-19T15:00:00.000Z",
                    "you": {
                      "member_id": "pwm_727f8c99a6b3c0cd",
                      "role": "developer",
                      "permissions": [
                        "org.read",
                        "members.read",
                        "keys.read",
                        "webhooks.read",
                        "events.read",
                        "enrollments.read",
                        "sftp.read",
                        "usage.read",
                        "audit.read",
                        "keys.write_test",
                        "webhooks.write_test",
                        "enrollments.write_test",
                        "sftp.write_test"
                      ]
                    },
                    "kept": "An organization is kept while it exists: its name, its members (each sign-in's email address, name and role) and its pending invitations (an email address and a role, for 7 days). Never a claim, a patient or the body of a call."
                  },
                  "member": {
                    "member_id": "pwm_727f8c99a6b3c0cd",
                    "email": "john.doe@sample-dental.com",
                    "name": "John Doe",
                    "role": "developer",
                    "joined_at": "2026-10-19T15:00:00.000Z",
                    "invited_by": "pwm_4a5764717e8b98a5",
                    "updated_at": null,
                    "you": true
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "409": {
            "$ref": "#/components/responses/Conflict"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "422": {
            "$ref": "#/components/responses/Unprocessable"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "memberSession": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrgJoinBody"
              },
              "example": {
                "token": "3uv4BRIfLDlGU2BteoeUoa67yNXi7_wJFiMwPUpXZHE"
              }
            }
          }
        }
      }
    },
    "/v1/org/keys": {
      "get": {
        "summary": "The account’s keys",
        "description": "Every key of the organization’s account, test and live, as GET /v1/keys lists them, with who made each: a member in the console, or a key. Never a key itself. A sign-in only.",
        "operationId": "getV1OrgKeys",
        "tags": [
          "Organizations and members"
        ],
        "responses": {
          "200": {
            "description": "Answered.",
            "headers": {
              "x-request-id": {
                "$ref": "#/components/headers/x-request-id"
              },
              "x-ratelimit-limit": {
                "$ref": "#/components/headers/x-ratelimit-limit"
              },
              "x-ratelimit-remaining": {
                "$ref": "#/components/headers/x-ratelimit-remaining"
              },
              "x-ratelimit-reset": {
                "$ref": "#/components/headers/x-ratelimit-reset"
              },
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              },
              "idempotent-replayed": {
                "$ref": "#/components/headers/idempotent-replayed"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrgKeyList"
                },
                "example": {
                  "account_id": "pwk_500de6d41a6eacebb6e34d08",
                  "data": [
                    {
                      "key_id": "pwk_500de6d41a6eacebb6e34d08",
                      "name": "Server",
                      "mode": "test",
                      "last_four": "4Lvg",
                      "created_at": "2026-10-19T12:00:00.000Z",
                      "expires_at": null,
                      "expired": false,
                      "revoked_at": null,
                      "rotated_at": null,
                      "previous_secret_accepted_until": null,
                      "current": false,
                      "made_by": {
                        "kind": "key",
                        "id": null
                      }
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "413": {
            "$ref": "#/components/responses/TooLarge"
          },
          "429": {
            "$ref": "#/components/responses/RateLimited"
          },
          "5XX": {
            "$ref": "#/components/responses/ServerError"
          }
        },
        "security": [
          {
            "memberSession": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/PayerworksOrganization"
          }
        ]
      }
    }
  },
  "webhooks": {
    "ping": {
      "post": {
        "summary": "ping",
        "description": "Sent when you ask for a test event, from the console or POST /v1/account/webhook/test. It carries no claim.",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "ping"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_9f1c2b3a4d5e6f708192a3b4",
                "type": "ping",
                "created": 1792422000,
                "mode": "test",
                "data": {
                  "message": "A test event from Payerworks. Your endpoint received it and can check its signature."
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "sandbox.file.acknowledged": {
      "post": {
        "summary": "sandbox.file.acknowledged",
        "description": "The 999 for your file: its verdict, how many transaction sets were received and accepted, and the control numbers of the interchange, the group and each set.",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "sandbox.file.acknowledged"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_cc264f7536a9315a0c6fe09f",
                "type": "sandbox.file.acknowledged",
                "created": 1792422000,
                "mode": "test",
                "data": {
                  "acknowledgment": "999",
                  "interchange_control_number": "000000001",
                  "group_control_number": "1",
                  "verdict": "A",
                  "verdict_words": "Accepted",
                  "received": 1,
                  "accepted": 1,
                  "transaction_sets": [
                    {
                      "control_number": "0001",
                      "verdict": "A"
                    }
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "sandbox.claim.acknowledged": {
      "post": {
        "summary": "sandbox.claim.acknowledged",
        "description": "One for each claim, from the 277CA: your reference, the payer claim number, accepted or rejected, and every fix as a sentence.",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "sandbox.claim.acknowledged"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_e38518c4523f2dcd24e34de2",
                "type": "sandbox.claim.acknowledged",
                "created": 1792422000,
                "mode": "test",
                "data": {
                  "reference": "PW-SBX-PAID",
                  "payer_claim_number": "PWS2292711347",
                  "verdict": "A",
                  "fixes": [
                    "The claim was accepted into the payer's adjudication system: accepted for processing (STC A2:20). Nothing to fix."
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "sandbox.remittance.received": {
      "post": {
        "summary": "sandbox.remittance.received",
        "description": "One for each check in the 835, once the payer adjudicated anything (an 835 pays each billing provider by its own check): the check number, its date and total, and each claim that check paid, with its reference, status and amount paid.",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "sandbox.remittance.received"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_4fbc127e84a0331dfb743e10",
                "type": "sandbox.remittance.received",
                "created": 1792422000,
                "mode": "test",
                "data": {
                  "check_number": "PWSANDBOX-000000003-1",
                  "payment_date": "20261019",
                  "total": 1392,
                  "claims": [
                    {
                      "reference": "PW-SBX-PAID",
                      "payer_claim_number": "PWS2292711347",
                      "status_code": "1",
                      "status": "processed as primary",
                      "paid": 1392
                    }
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "enrollment.updated": {
      "post": {
        "summary": "enrollment.updated",
        "description": "An enrollment request changed: a status change no type below names, or its fields, tasks, documents or notes. It carries the status, the previous status, whose turn it is, the reason, the fields that changed and the sequence.",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "enrollment.updated"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_865a02a3875a0436885a05c9",
                "type": "enrollment.updated",
                "created": 1792422000,
                "mode": "test",
                "data": {
                  "enrollment_id": "enr_01a154ad35808fafb0295307",
                  "provider_id": "prv_01a154ad358043763d71b95c",
                  "payer": {
                    "id": "PWSANDBOX",
                    "sandbox": true
                  },
                  "transaction": "remittances",
                  "status": "payerworks_action_required",
                  "previous_status": null,
                  "waiting_on": "payerworks",
                  "reason_code": "preparing",
                  "changed": [
                    "status",
                    "reason_code",
                    "submitted_at"
                  ],
                  "sequence": 1
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "enrollment.live": {
      "post": {
        "summary": "enrollment.live",
        "description": "The payer confirmed the request: files of this kind may flow. It adds when, and the payer’s reference.",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "enrollment.live"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_bd653cd8c0654191bf653ffe",
                "type": "enrollment.live",
                "created": 1792422000,
                "mode": "test",
                "data": {
                  "enrollment_id": "enr_01a154ad35802c85a436872c",
                  "provider_id": "prv_01a154ad35807d5d51823b6e",
                  "payer": {
                    "id": "PWSANDBOX",
                    "sandbox": true
                  },
                  "transaction": "remittances",
                  "status": "live",
                  "previous_status": "with_payer",
                  "waiting_on": null,
                  "reason_code": null,
                  "changed": [
                    "status",
                    "live_at",
                    "payer_reference"
                  ],
                  "live_at": "2026-10-19T15:00:00.000Z",
                  "payer_reference": "PWSENR3814935860",
                  "sequence": 3
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "enrollment.rejected": {
      "post": {
        "summary": "enrollment.rejected",
        "description": "The request was refused. It adds the rejection: the payer’s words whole, and the remedy.",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "enrollment.rejected"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_3a0cc1643d0cc61d3c0cc48a",
                "type": "enrollment.rejected",
                "created": 1792422000,
                "mode": "test",
                "data": {
                  "enrollment_id": "enr_01a154ad358092e15e6025e1",
                  "provider_id": "prv_01a154ad3580aa83aa18b796",
                  "payer": {
                    "id": "PWSANDBOX",
                    "sandbox": true
                  },
                  "transaction": "remittances",
                  "status": "rejected",
                  "previous_status": "with_payer",
                  "waiting_on": "you",
                  "reason_code": null,
                  "changed": [
                    "status",
                    "rejection",
                    "ended_at"
                  ],
                  "rejection": {
                    "code": "name_mismatch",
                    "words": "Sandbox: the name on the request does not match the name the payer holds for this NPI.",
                    "remedy": "match_legal_name",
                    "remedy_words": "Use the legal name exactly as the NPI registry and the payer hold it, then file a new request."
                  },
                  "sequence": 3
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "enrollment.canceled": {
      "post": {
        "summary": "enrollment.canceled",
        "description": "The request was canceled, or you asked to cancel one that is with the payer or live (cancel_requested says which).",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "enrollment.canceled"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_d9bd160fdabd17a2dbbd1935",
                "type": "enrollment.canceled",
                "created": 1792422000,
                "mode": "test",
                "data": {
                  "enrollment_id": "enr_01a154ad35808fafb0295307",
                  "provider_id": "prv_01a154ad358043763d71b95c",
                  "payer": {
                    "id": "PWSANDBOX",
                    "sandbox": true
                  },
                  "transaction": "remittances",
                  "status": "canceled",
                  "previous_status": "provider_action_required",
                  "waiting_on": null,
                  "reason_code": null,
                  "changed": [
                    "status",
                    "ended_at"
                  ],
                  "cancel_requested": false,
                  "sequence": 5
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "enrollment.ended": {
      "post": {
        "summary": "enrollment.ended",
        "description": "A live route ended: the payer ended it, or a cancel you asked for while it was live went through (in the sandbox, at the next advance).",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "enrollment.ended"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_90e95d898de958d08ee95a63",
                "type": "enrollment.ended",
                "created": 1792422000,
                "mode": "test",
                "data": {
                  "enrollment_id": "enr_01a154ad3580f7821f6b87d7",
                  "provider_id": "prv_01a154ad3580c9e446b7ef6b",
                  "payer": {
                    "id": "PWSANDBOX",
                    "sandbox": true
                  },
                  "transaction": "remittances",
                  "status": "ended",
                  "previous_status": "live",
                  "waiting_on": null,
                  "reason_code": null,
                  "changed": [
                    "status",
                    "ended_at"
                  ],
                  "ended_at": "2026-10-19T15:00:00.000Z",
                  "sequence": 4
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "enrollment.task.assigned": {
      "post": {
        "summary": "enrollment.task.assigned",
        "description": "A task was added: its id, rank, who holds it, its title and its fields.",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "enrollment.task.assigned"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_dff8f02edef8ee9bddf8ed08",
                "type": "enrollment.task.assigned",
                "created": 1792422000,
                "mode": "test",
                "data": {
                  "enrollment_id": "enr_01a154ad35808fafb0295307",
                  "task": {
                    "id": "tsk_01a154ad35808fafb0295307_01",
                    "rank": 0,
                    "responsible": "provider",
                    "title": "Give the sandbox payer’s packet number",
                    "fields": [
                      {
                        "key": "packet_id",
                        "type": "text"
                      }
                    ]
                  },
                  "status": "payerworks_action_required",
                  "sequence": 2
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "enrollment.task.completed": {
      "post": {
        "summary": "enrollment.task.completed",
        "description": "A task was finished, by the provider, or by Payerworks for its own.",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "enrollment.task.completed"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_d9bd160fdabd17a2dbbd1935",
                "type": "enrollment.task.completed",
                "created": 1792422000,
                "mode": "test",
                "data": {
                  "enrollment_id": "enr_01a154ad35808fafb0295307",
                  "task": {
                    "id": "tsk_01a154ad35808fafb0295307_01",
                    "rank": 0,
                    "responsible": "provider"
                  },
                  "status": "provider_action_required",
                  "sequence": 5
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "enrollment.task.deleted": {
      "post": {
        "summary": "enrollment.task.deleted",
        "description": "A task was replaced by another (superseded_by names it).",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "enrollment.task.deleted"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_cd4877f2cc48765fcb4874cc",
                "type": "enrollment.task.deleted",
                "created": 1792422000,
                "mode": "test",
                "data": {
                  "enrollment_id": "enr_01a154ad3580018e68bf8c7b",
                  "task_id": "tsk_01a154ad3580018e68bf8c7b_01",
                  "superseded_by": "tsk_01a154ad3580018e68bf8c7b_03",
                  "sequence": 5
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "job.completed": {
      "post": {
        "summary": "job.completed",
        "description": "A batch job finished, every call answered or, when it ran out of time, partly: its id, route, state and counts, and until when its result is kept. Never the result or a link to it: ask GET /v1/jobs/{id} for the link.",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "job.completed"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_9f1c2b3a4d5e6f708192a3b4",
                "type": "job.completed",
                "created": 1792422000,
                "mode": "test",
                "data": {
                  "message": "A test event from Payerworks. Your endpoint received it and can check its signature."
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "job.failed": {
      "post": {
        "summary": "job.failed",
        "description": "A batch job failed, or was stopped: its id, route, state, counts and the failure’s code. Nothing of the file you uploaded.",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "job.failed"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_9f1c2b3a4d5e6f708192a3b4",
                "type": "job.failed",
                "created": 1792422000,
                "mode": "test",
                "data": {
                  "message": "A test event from Payerworks. Your endpoint received it and can check its signature."
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "submission.file.acknowledged": {
      "post": {
        "summary": "submission.file.acknowledged",
        "description": "The partner’s 999 for a file you sent with POST /v1/claims/submit: accepted, rejected or partial, with each refused claim’s fix in words.",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "submission.file.acknowledged"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_a8b17fbae12b975bd17c7ad2",
                "type": "submission.file.acknowledged",
                "created": 1792422000,
                "mode": "live",
                "data": {
                  "submission_id": "sub_cedi_1",
                  "partner_id": "cedi",
                  "interchange_control_number": "000000001",
                  "group_control_number": "1",
                  "state": "accepted",
                  "verdict": "A",
                  "verdict_words": "Accepted",
                  "claims": [
                    {
                      "reference": "SDX-1001",
                      "transaction_set_control_number": "0001",
                      "state": "accepted",
                      "fixes": []
                    }
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "submission.claim.acknowledged": {
      "post": {
        "summary": "submission.claim.acknowledged",
        "description": "The partner’s 277CA verdict on one claim you sent, with the payer’s claim number when it gives one, and each fix in words.",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "submission.claim.acknowledged"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_d0d665dcc8133a9d0b1fb564",
                "type": "submission.claim.acknowledged",
                "created": 1792422000,
                "mode": "live",
                "data": {
                  "submission_id": "sub_cedi_1",
                  "partner_id": "cedi",
                  "reference": "SDX-1001",
                  "transaction_set_control_number": "0001",
                  "state": "accepted",
                  "payer_claim_number": "",
                  "fixes": []
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    },
    "submission.remittance.received": {
      "post": {
        "summary": "submission.remittance.received",
        "description": "An 835 whose every claim you sent: the check, and each claim’s billed, paid and patient share. An 835 that also pays claims you did not send is held, and reaches no one.",
        "parameters": [
          {
            "name": "webhook-id",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The event’s id (Standard Webhooks). The same on every retry: ignore one you already handled."
          },
          {
            "name": "webhook-timestamp",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "When it was signed, in Unix seconds."
          },
          {
            "name": "webhook-signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "v1, a comma and the base64 HMAC-SHA256 of \"<webhook-id>.<webhook-timestamp>.<raw body>\", keyed with the bytes after whsec_; two, space-separated, while a rotated secret still signs."
          },
          {
            "name": "Payerworks-Signature",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "t=<unix seconds>,v1=<hex HMAC-SHA256 of \"<t>.<raw body>\" keyed with your whole signing secret>"
          },
          {
            "name": "Payerworks-Attempt-Number",
            "in": "header",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "description": "A webhook destination’s post: which attempt this is, 1 for the first."
          },
          {
            "name": "Payerworks-Attempt-Type",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "automatic",
                "manual"
              ]
            },
            "description": "A webhook destination’s post: automatic, or manual (a redelivery you asked for)."
          },
          {
            "name": "Payerworks-Destination-Id",
            "in": "header",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "A webhook destination’s post: the destination’s id."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "id",
                  "type",
                  "created",
                  "mode",
                  "data"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "evt_ and hex. The same each time the same event is sent."
                  },
                  "type": {
                    "type": "string",
                    "const": "submission.remittance.received"
                  },
                  "created": {
                    "type": "integer",
                    "description": "Unix seconds."
                  },
                  "mode": {
                    "type": "string",
                    "description": "The key’s: an enrollment event of a live key is live, and a submission event always is; a ping and the sandbox payer’s events are always test.",
                    "enum": [
                      "test",
                      "live"
                    ]
                  },
                  "data": {
                    "type": "object",
                    "description": "The event’s own facts: for a sandbox event, invented answers, your claim references and your file’s control numbers; for an enrollment event, ids, statuses and words only; for a submission event, your references, the control numbers and the partner’s verdicts and amounts, never a name or a member ID.",
                    "properties": {},
                    "additionalProperties": true
                  }
                }
              },
              "example": {
                "id": "evt_24c8508dc17139eda8fdffb4",
                "type": "submission.remittance.received",
                "created": 1792422000,
                "mode": "live",
                "data": {
                  "partner_id": "cedi",
                  "check": {
                    "number": "EFT0001",
                    "date": "2026-10-21",
                    "amount": 200
                  },
                  "claims": [
                    {
                      "reference": "SDX-1001",
                      "submission_id": "sub_cedi_1",
                      "status_code": "1",
                      "billed": 250,
                      "paid": 200,
                      "patient_responsibility": 50,
                      "payer_claim_number": "PAYCN0"
                    }
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Delivered. Anything else, a redirect included, is not delivered: the account webhook tries it again twice, and a webhook destination on its own schedule, 5 minutes to 48 hours apart, seven attempts in all."
          }
        }
      }
    }
  }
}
