Data dictionary
Every field and parameter you send to the partner API or receive from it, with its type and the class of data it carries, generated from the contract the API runs on. The reference describes each operation that sends or returns them.
Data classes
Each field and parameter carries the most sensitive class of data it can hold, the document's x-data-class. A field marked — holds a schema or a list whose own fields carry theirs.
- public
- A value with no meaning outside the API: a status name, a label, a count, an object type, or a timestamp of a public event.
- institution_confidential
- The institution's own business records with SecondAppraisal: its references, record ids, program terms, prices and fees, statements and aggregate reports.
- borrower_personal
- Facts about one borrower or member: their name, vehicle and VIN, insurance carrier and claim number, loss state and date, and the amounts of their loss, loan and settlement.
- borrower_contact
- How to reach one borrower or member: an email address or a phone number.
- credential
- A value that grants access by itself, such as a member's activation link.
Parameters you send
Every path and query parameter, by the operation that takes it.
| Parameter | Operation | Type | Data class | Description |
|---|---|---|---|---|
| status | GET /api/gap/v1/referrals | array of string | public | Comma-separated statuses, e.g. invited,activated. Case-insensitive. ?status= is no filter; a value naming no status (,, or only spaces) is refused. A status matches the status a referral is shown with: reporting_withdrawn lists the referrals whose borrower withdrew permission to report their progress, and any other status leaves them out. |
| external_ref | GET /api/gap/v1/referrals | string | institution_confidential | Exact match on the external_ref you sent, trimmed. ?external_ref= is no filter; only spaces is refused. Deprecated: the reference travels in the URL, where the systems it passes through can record it. It still filters; retrieve a referral by the id its create returned instead. |
| limit | GET /api/gap/v1/referrals | integer | public | Page size, 1 to 100, written in digits. A blank value means the default. |
| starting_after | GET /api/gap/v1/referrals | string | institution_confidential | Cursor: the previous page's next_cursor (its last referral's id, or with updated_after an opaque u1. cursor). ?starting_after= is the first page; only spaces is refused. |
| updated_after | GET /api/gap/v1/referrals | string (date-time) | public | Only the referrals changed after this time (ISO 8601 with its offset, such as 2026-10-01T00:00:00Z, from 0001-01-01T00:00:00Z through 9999-12-31T23:59:59.999Z), oldest change first; a referral that changes again before you reach it moves to a later page. A referral whose borrower withdraws permission to report its progress is listed once more, at reporting_withdrawn_at, and never again. A change is listed about a minute after it happens. Every page, the last and an empty one too, returns an opaque u1. next_cursor: to poll, keep the latest one and send it as starting_after with the same updated_after, never a time from your own clock, which misses the changes made in the minute before each poll. A cursor works only for the institution and mode it was issued to; if one is refused (400 invalid_cursor), start again from your updated_after without it. ?updated_after= is no filter; only spaces is refused. Spaces around the time are ignored. |
| id | GET /api/gap/v1/referrals/{id} | string | institution_confidential | The referral's id. |
| id | PATCH /api/gap/v1/referrals/{id} | string | institution_confidential | The referral's id. |
| id | POST /api/gap/v1/referrals/{id}/simulate | string | institution_confidential | The referral's id. |
| id | POST /api/gap/v1/referrals/{id}/attest | string | institution_confidential | The referral's id. |
| from | GET /api/gap/v1/analytics | string (date) | public | Referrals created on or after this date (UTC), YYYY-MM-DD. ?from= is no bound. Spaces around it are ignored. |
| to | GET /api/gap/v1/analytics | string (date) | public | Referrals created before this date (UTC), YYYY-MM-DD: the bound is exclusive. Must be after from. ?to= is no bound. Spaces around it are ignored. |
| vin | GET /api/gap/v1/plans/enrollments | string | borrower_personal | Only this VIN: 17 characters; case, spaces, dashes and dots are ignored. The check digit is not checked. ?vin= is no filter. Deprecated: the VIN travels in the URL, where the systems it passes through can record it. It still filters; retrieve an enrollment by the id its create returned instead. |
| status | GET /api/gap/v1/plans/enrollments | string | public | Only this status, case-insensitive. ?status= is no filter. |
| cursor | GET /api/gap/v1/plans/enrollments | string | institution_confidential | The previous page's next_cursor. ?cursor= is the first page; only spaces is refused. |
| limit | GET /api/gap/v1/plans/enrollments | integer | public | Page size, 1 to 200, written in digits. A blank value means the default. |
| id | GET /api/gap/v1/plans/enrollments/{id} | string | institution_confidential | The enrollment's id. |
| id | PATCH /api/gap/v1/plans/enrollments/{id} | string | institution_confidential | The enrollment's id. |
| id | POST /api/gap/v1/plans/roster-sync/sessions/{id}/chunks | string | institution_confidential | The roster session's id. |
| id | POST /api/gap/v1/plans/roster-sync/sessions/{id}/commit | string | institution_confidential | The roster session's id. |
| id | POST /api/gap/v1/plans/roster-sync/sessions/{id}/abort | string | institution_confidential | The roster session's id. |
| id | GET /api/gap/v1/plans/roster-sync/sessions/{id} | string | institution_confidential | The roster session's id. |
| cursor | GET /api/gap/v1/plans/loss-notices | string | institution_confidential | The previous page's next_cursor. ?cursor= is the first page; only spaces is refused. |
| limit | GET /api/gap/v1/plans/loss-notices | integer | public | Page size, 1 to 200, written in digits. A blank value means the default. |
| cursor | GET /api/gap/v1/plans/redemptions | string | institution_confidential | The previous page's next_cursor. ?cursor= is the first page; only spaces is refused. |
| limit | GET /api/gap/v1/plans/redemptions | integer | public | Page size, 1 to 200, written in digits. A blank value means the default. |
| id | GET /api/gap/v1/plans/statements/{id}/lines | string | institution_confidential | The statement's id, as the statement list gives it. |
| limit | GET /api/gap/v1/plans/statements/{id}/lines | integer | public | Page size, 1 to 1000, written in digits. A blank value means the default. |
| starting_after | GET /api/gap/v1/plans/statements/{id}/lines | string | institution_confidential | The previous page's next_cursor, an opaque position in this statement's lines; the page starts after it. Anything else is a 400. ?starting_after= is the first page; only spaces is refused. |
| limit | GET /api/gap/v1/events | integer | public | Page size, 1 to 100, written in digits. A blank value means the default. |
| starting_after | GET /api/gap/v1/events | string | institution_confidential | The previous page's next_cursor: an opaque position, the last event this feed listed to you; the page starts after it. Never an event's id, not even one a webhook delivered: an event can reach the feed after a newer one's webhook has gone out, so a position taken from a webhook would skip it. A cursor works only for the institution and mode it was issued to; anything else is 400 invalid_cursor. ?starting_after= is the first page; only spaces is refused. |
| oas | GET /api/gap/v1/openapi | string | public | 3.0 serves the derived OpenAPI 3.0.3 copy, for tooling that predates 3.1. |
| oas | GET /api/gap/v1/openapi.json | string | public | 3.0 serves the derived OpenAPI 3.0.3 copy, for tooling that predates 3.1. |
| id | POST /api/gap/v1/credentials/{id}/verify | string | institution_confidential | The signed credential's id: the keyid its signatures name. |
| id | GET /api/gap/v1/referrals/{id}/review-record | string | institution_confidential | The referral's id. |
| version | GET /api/gap/v1/referrals/{id}/review-record | integer | public | The version to read, 1 for the record's first, written in digits. Leave it out, or blank, for the latest the record can show. |
| limit | GET /api/gap/v1/audit | integer | public | Page size, 1 to 100, written in digits. A blank value means the default. |
| starting_after | GET /api/gap/v1/audit | string | institution_confidential | The previous page's next_cursor, an opaque position; the page starts after it. Anything else is 400 invalid_cursor. Send the same from and to with it. ?starting_after= is the first page; only spaces is refused. |
| from | GET /api/gap/v1/audit | string (date-time) | public | Entries at or after this time (ISO 8601 with its offset, such as 2026-10-01T00:00:00Z). ?from= is no bound. Spaces around it are ignored. |
| to | GET /api/gap/v1/audit | string (date-time) | public | Entries before this time (ISO 8601 with its offset): the bound is exclusive. Must be after from. ?to= is no bound. Spaces around it are ignored. |
Fields you send
The request bodies, and every schema they include.
DisclosureInput
Fields (5)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| confirmed | true | institution_confidential | Required | Must be true. |
| channel | string | institution_confidential | Required | How the script was delivered.One of: phone, in_person, email, video, other |
| attestor_name | string | institution_confidential | Required | The name of the person on your staff who delivered the script. |
| delivered_on | string (date) or null | institution_confidential | Optional | The date the script was delivered; omit for today. At most a day ahead (a timezone ahead of UTC) and no more than 90 days old. Spaces around it are ignored. |
| script_version | string or null | institution_confidential | Optional | The disclosure script version your staff delivered, as the script names it. The referral is stamped with it; omit it to attest the script in effect on the delivery day (today, when delivered_on is left out). An older version we published, from 1.3 on, is accepted and stamped as delivered, and our caller catches the borrower up on what changed. Every institution moves to a new version together, on the date its 30-day notice names. Versions 1.0, 1.1 and 1.2 are no longer accepted, and neither is a version we never published or one whose date hadn't come on the day your staff delivered it: each is refused with 409 script_version_stale (a row-level error on bulk). |
DisclosurePreviewInput
Fields (1)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| program | ReferralProgramInputReferralProgramInput or null | institution_confidential | Optional | The program terms you'll send on create. Omit it, or send null, for your program's defaults. |
PlanEnrollmentBulkInput
Fields (1)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| enrollments | PlanEnrollmentBulkRowarray of PlanEnrollmentBulkRow | borrower_contact | Required | 1 to 500 vehicles. Each row is validated and enrolled on its own. |
PlanEnrollmentBulkRow
Fields (7)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| vin | string | borrower_personal | Required | The 17-character VIN, case-insensitive. Checked before anything is enrolled: 17 characters, no I, O or Q, and a valid check digit (422 vin_invalid, or a field error). |
| external_ref | string or null | institution_confidential | Optional | Your own opaque reference, such as a case or file ID from your system; echoed in responses and webhooks. Never a loan, account or policy number (a credit union member number is an account number). |
| garaged_state | string or null | borrower_personal | Optional | The two-letter state where the vehicle is garaged, case-insensitive. Required to enroll: a row without it is refused with 422 state_required, and a state where SecondAppraisal can't act as the appraiser with 422 state_blocked. |
| member | PlanMemberInputPlanMemberInput or null | borrower_contact | Optional | |
| vehicle | PlanVehicleInputPlanVehicleInput or null | borrower_personal | Optional | |
| consent_mode | string or null | institution_confidential | Optional | Case-insensitive.One of: invitation, warm_handoff |
| idempotency_key | string or null | institution_confidential | Optional | Replays this row like the single endpoint's Idempotency-Key header. A row without one is keyed <header>:<index> when the call sends an Idempotency-Key header. |
PlanEnrollmentCancelInput
Fields (1)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| cancel | true | public | Required | Cancels the enrollment: at once for a partner-billed row, at period end for a direct-collect row with a subscription. |
PlanEnrollmentEditInput
Fields (4)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| external_ref | string or null | institution_confidential | Optional | Your own opaque reference, such as a case or file ID from your system; echoed in responses and webhooks. Never a loan, account or policy number (a credit union member number is an account number). |
| member | PlanMemberInputPlanMemberInput or null | borrower_contact | Optional | Null is the same as leaving member out. |
| cancel | false or null | public | Optional | false or null is the same as leaving cancel out. To cancel, send { "cancel": true } on its own. |
| new_vin | null | public | Optional | Null is the same as leaving new_vin out. To swap the vehicle, send the new VIN. |
PlanEnrollmentInput
Fields (6)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| vin | string | borrower_personal | Required | The 17-character VIN, case-insensitive. Checked before anything is enrolled: 17 characters, no I, O or Q, and a valid check digit (422 vin_invalid, or a field error). |
| external_ref | string or null | institution_confidential | Optional | Your own opaque reference, such as a case or file ID from your system; echoed in responses and webhooks. Never a loan, account or policy number (a credit union member number is an account number). |
| garaged_state | string or null | borrower_personal | Optional | The two-letter state where the vehicle is garaged, case-insensitive. Required to enroll: a row without it is refused with 422 state_required, and a state where SecondAppraisal can't act as the appraiser with 422 state_blocked. |
| member | PlanMemberInputPlanMemberInput or null | borrower_contact | Optional | |
| vehicle | PlanVehicleInputPlanVehicleInput or null | borrower_personal | Optional | |
| consent_mode | string or null | institution_confidential | Optional | Case-insensitive.One of: invitation, warm_handoff |
PlanEnrollmentPatchInput
One of PlanEnrollmentCancelInput, PlanEnrollmentSwapInput, PlanEnrollmentEditInput.
PlanEnrollmentSwapInput
Fields (7)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| new_vin | string | borrower_personal | Required | The 17-character VIN, case-insensitive. Checked before anything is enrolled: 17 characters, no I, O or Q, and a valid check digit (422 vin_invalid, or a field error). The member moves to this vehicle, which is eligible from the time of the change; a loss on it dated before the change isn't included. |
| external_ref | string or null | institution_confidential | Optional | Your own opaque reference, such as a case or file ID from your system; echoed in responses and webhooks. Never a loan, account or policy number (a credit union member number is an account number). |
| garaged_state | string or null | borrower_personal | Optional | The two-letter state where the vehicle is garaged, case-insensitive. Required to enroll: a row without it is refused with 422 state_required, and a state where SecondAppraisal can't act as the appraiser with 422 state_blocked. |
| member | PlanMemberInputPlanMemberInput or null | borrower_contact | Optional | |
| vehicle | PlanVehicleInputPlanVehicleInput or null | borrower_personal | Optional | |
| consent_mode | string or null | institution_confidential | Optional | Case-insensitive.One of: invitation, warm_handoff |
| cancel | false or null | public | Optional | false or null is the same as leaving cancel out. To cancel, send { "cancel": true } on its own. |
PlanLossNoticeInput
Fields (4)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| vin | string | borrower_personal | Required | The member vehicle's VIN, case-insensitive. |
| date_of_loss | string (date) or null | borrower_personal | Optional | YYYY-MM-DD; at most a day ahead (a timezone ahead of UTC). Null, or leaving it out, records no date. Spaces around it are ignored. |
| claim_number | string or null | borrower_personal | Optional | |
| carrier | string or null | borrower_personal | Optional | The member's insurer. |
PlanMemberInput
Fields (4)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| first_name | string or null | borrower_personal | Optional | |
| last_name | string or null | borrower_personal | Optional | |
string or null | borrower_contact | Optional | An email address of at most 254 characters, with no spaces, a single @, and a domain with a dot that has text on each side (example.com). Spaces around it are ignored. Stored in lowercase. | |
| phone | string or null | borrower_contact | Optional |
PlanRosterSessionChunkInput
Fields (2)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| chunk_index | integer | public | Required | The chunk's number: 0 for the first, then 1, 2 and so on, at most 1999. Re-sending a chunk with its number and the same body is a replay; another body under a number already received, or a number past the next one, is a 409 roster_chunk_conflict. |
| enrollments | PlanEnrollmentInputarray of PlanEnrollmentInput | borrower_contact | Required | 1 to 500 vehicles of your roster, in the shape roster sync takes. Any malformed row refuses the whole chunk (400 with rejected) and stores none of it. |
PlanRosterSessionCommitInput
Fields (1)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| confirm_cancel_count | integer | public | Optional | Only when a roster would cancel more than 25 of your live enrollments in this key's mode and more than 20% of them: the exact number it cancels, the cancel_count the 409 roster_cancel_unconfirmed reported. Any other number is refused the same way, and nothing is changed. |
PlanRosterSyncInput
Fields (2)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| enrollments | PlanEnrollmentInputarray of PlanEnrollmentInput | borrower_contact | Required | Your full roster, at most 500 vehicles. An empty array cancels every live enrollment. |
| confirm_cancel_count | integer | public | Optional | Only when a roster would cancel more than 25 of your live enrollments in this key's mode and more than 20% of them: the exact number it cancels, the cancel_count the 409 roster_cancel_unconfirmed reported. Any other number is refused the same way, and nothing is changed. |
PlanVehicleInput
Fields (4)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| year | integer or null | borrower_personal | Optional | |
| make | string or null | borrower_personal | Optional | |
| model | string or null | borrower_personal | Optional | |
| trim | string or null | borrower_personal | Optional |
ReferralBulkInput
Fields (1)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| referrals | ReferralBulkRowarray of ReferralBulkRow | borrower_contact | Required | 1 to 500 referrals. Each row is validated and created on its own. |
ReferralBulkRow
Fields (29)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| borrower_first_name | string | borrower_personal | Required | |
| borrower_last_name | string | borrower_personal | Required | |
| borrower_email | string or null | borrower_contact | Optional | An email address of at most 254 characters, with no spaces, a single @, and a domain with a dot that has text before it and at least two characters after it (example.com). Spaces around it are ignored. Stored in lowercase. At least one of borrower_email and borrower_phone is required. An invitation referral (the default consent_mode) needs an email while text invitations are off for its loss state: one without it is refused with 422 email_required_sms_disabled. A warm-handoff referral may be created phone-only, but its attestation under script 1.7 needs this address: the script's last question asks the borrower to confirm the address SecondAppraisal will email. |
| borrower_phone | string or null | borrower_contact | Optional | A 10-digit US number; punctuation and a leading 1 are tolerated, and it is stored as 10 digits. An attestation under script 1.6, which asked about this number, still needs it. |
| consent_mode | string or null | institution_confidential | Optional | invitation (the default): we send the borrower a co-branded activation link. warm_handoff: your staff delivered the disclosure script and the borrower agreed to be contacted; send the attestation as disclosure. Case-insensitive.One of: invitation, warm_handoff |
| vin | string or null | borrower_personal | Optional | 11 to 17 letters and digits, never I, O or Q. Case-insensitive; stored in uppercase. |
| vehicle_year | integer or null | borrower_personal | Optional | A model year from 1950 to two years after the current year. |
| vehicle_make | string or null | borrower_personal | Optional | |
| vehicle_model | string or null | borrower_personal | Optional | |
| primary_carrier | string or null | borrower_personal | Optional | The borrower's insurer. |
| claim_number | string or null | borrower_personal | Optional | The borrower's claim number with that insurer. |
| loss_state | string or null | borrower_personal | Optional | The two-letter state of the loss, case-insensitive (tx is TX). |
| garaged_state | string or null | borrower_personal | Optional | The two-letter USPS code of the state where the vehicle is garaged (a state or DC), case-insensitive. We judge this state when it is sent, else loss_state: a referral for a state we don't serve may be refused with 422 state_not_served. |
| date_of_loss | string (date) or null | borrower_personal | Optional | The date of the loss; at most a day ahead (a timezone ahead of UTC). Spaces around it are ignored. |
| initial_offer_cents | integer or null | borrower_personal | Optional | The insurer's initial ACV offer, in cents. |
| loan_payoff_cents | integer or null | borrower_personal | Optional | The outstanding loan payoff, in cents. It drives your exposure figures and stays editable after activation. |
| deductible_cents | integer or null | borrower_personal | Optional | Deprecated, and ignored from version 1.4.0: we no longer ask for the borrower's deductible. A value sent is accepted and discarded; it isn't stored and doesn't change a deductible on file. Leave it out: a later version removes it.Deprecated. |
| deficiency_coverage | string or null | borrower_personal | Optional | Who covers the borrower's deficiency, what the loan payoff leaves after the insurer pays: none; this_institution, your own GAP; other, someone else's GAP; or unknown. Omit it, or send null, if you didn't ask. Case-insensitive. When your own GAP covers the borrower (deficiency_coverage: this_institution), you pay our whole consultation fee for that referral, whatever your program's mode. We charge it once, when the amount of loss is determined (an award or a confirmed settlement), and the borrower pays none of it. Other costs, such as photo dispatch or a share of an umpire's fee, follow your program's rules for them.One of: none, this_institution, other, unknown |
| external_ref | string or null | institution_confidential | Optional | Your own opaque reference, such as a case or file ID from your system; echoed in responses and webhooks. Never a loan, account or policy number (a credit union member number is an account number). |
| program | ReferralProgramInputReferralProgramInput or null | institution_confidential | Optional | Per-referral program terms. Omit, or send null, to use your program defaults. |
| disclosure | DisclosureInputDisclosureInput or null | institution_confidential | Optional | Warm-handoff attestation, only with consent_mode: "warm_handoff". With it the referral is created ready for our outreach; without it the referral waits for your attestation. |
| claim_against | string or null | borrower_personal | Optional | Whose insurer is handling the claim: own (the borrower's own insurer), other_driver (another driver's insurer), or unknown. Case-insensitive. Leave it out when you don't know.One of: own, other_driver, unknown |
| cause_of_loss | string or null | borrower_personal | Optional | The cause of the loss, if you know it. weather is hail, wind or a storm; a flood is flood. Case-insensitive.One of: collision, theft, fire, flood, weather, vandalism, animal, other |
| trigger | string or null | institution_confidential | Optional | What led you to refer: payoff_request (an insurer asked you for the loan payoff), loss_notice (a notice of loss), gap_claim (the borrower filed a GAP claim), borrower_request (the borrower asked), or other. Case-insensitive.One of: payoff_request, loss_notice, gap_claim, borrower_request, other |
| payoff_requested_at | string or null | institution_confidential | Optional | When the insurer asked you for the loan payoff: a date (2026-06-16, read as midnight UTC) or an ISO 8601 timestamp with its UTC offset (2026-06-16T15:04:00-06:00). At most a day ahead. |
| payoff_request_channel | string or null | institution_confidential | Optional | How that payoff request reached you. web_portal is your own online portal; electronic_service is a third-party payoff or letter-of-guarantee service the insurer used. Case-insensitive.One of: phone, fax, email, mail, web_portal, electronic_service, other |
| client_name | string or null | institution_confidential | Optional | For a GAP administrator: the lender or dealer whose borrower this is. At most 120 characters. |
| requirement_basis | RequirementBasisInputRequirementBasisInput or null | borrower_personal | Optional | Send it only when the borrower's contract lets you require the review. It is recorded and checked against your program's bases; messages to the borrower still ask rather than require. |
| idempotency_key | string or null | institution_confidential | Optional | Makes this row safe to retry: a row with a key already used by your institution, in this key's mode, returns the original referral with idempotent_replay: true. A string of at most 255 characters; a longer key is refused, never cut. A live key can't send one that starts with test: (the row fails with idempotency_key_mode_conflict). |
ReferralCancelInput
Fields (1)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| action | "cancel" | public | Required | Cancels the referral. Allowed only before the borrower activates (409 after). |
ReferralCreateInput
Fields (28)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| borrower_first_name | string | borrower_personal | Required | |
| borrower_last_name | string | borrower_personal | Required | |
| borrower_email | string or null | borrower_contact | Optional | An email address of at most 254 characters, with no spaces, a single @, and a domain with a dot that has text before it and at least two characters after it (example.com). Spaces around it are ignored. Stored in lowercase. At least one of borrower_email and borrower_phone is required. An invitation referral (the default consent_mode) needs an email while text invitations are off for its loss state: one without it is refused with 422 email_required_sms_disabled. A warm-handoff referral may be created phone-only, but its attestation under script 1.7 needs this address: the script's last question asks the borrower to confirm the address SecondAppraisal will email. |
| borrower_phone | string or null | borrower_contact | Optional | A 10-digit US number; punctuation and a leading 1 are tolerated, and it is stored as 10 digits. An attestation under script 1.6, which asked about this number, still needs it. |
| consent_mode | string or null | institution_confidential | Optional | invitation (the default): we send the borrower a co-branded activation link. warm_handoff: your staff delivered the disclosure script and the borrower agreed to be contacted; send the attestation as disclosure. Case-insensitive.One of: invitation, warm_handoff |
| vin | string or null | borrower_personal | Optional | 11 to 17 letters and digits, never I, O or Q. Case-insensitive; stored in uppercase. |
| vehicle_year | integer or null | borrower_personal | Optional | A model year from 1950 to two years after the current year. |
| vehicle_make | string or null | borrower_personal | Optional | |
| vehicle_model | string or null | borrower_personal | Optional | |
| primary_carrier | string or null | borrower_personal | Optional | The borrower's insurer. |
| claim_number | string or null | borrower_personal | Optional | The borrower's claim number with that insurer. |
| loss_state | string or null | borrower_personal | Optional | The two-letter state of the loss, case-insensitive (tx is TX). |
| garaged_state | string or null | borrower_personal | Optional | The two-letter USPS code of the state where the vehicle is garaged (a state or DC), case-insensitive. We judge this state when it is sent, else loss_state: a referral for a state we don't serve may be refused with 422 state_not_served. |
| date_of_loss | string (date) or null | borrower_personal | Optional | The date of the loss; at most a day ahead (a timezone ahead of UTC). Spaces around it are ignored. |
| initial_offer_cents | integer or null | borrower_personal | Optional | The insurer's initial ACV offer, in cents. |
| loan_payoff_cents | integer or null | borrower_personal | Optional | The outstanding loan payoff, in cents. It drives your exposure figures and stays editable after activation. |
| deductible_cents | integer or null | borrower_personal | Optional | Deprecated, and ignored from version 1.4.0: we no longer ask for the borrower's deductible. A value sent is accepted and discarded; it isn't stored and doesn't change a deductible on file. Leave it out: a later version removes it.Deprecated. |
| deficiency_coverage | string or null | borrower_personal | Optional | Who covers the borrower's deficiency, what the loan payoff leaves after the insurer pays: none; this_institution, your own GAP; other, someone else's GAP; or unknown. Omit it, or send null, if you didn't ask. Case-insensitive. When your own GAP covers the borrower (deficiency_coverage: this_institution), you pay our whole consultation fee for that referral, whatever your program's mode. We charge it once, when the amount of loss is determined (an award or a confirmed settlement), and the borrower pays none of it. Other costs, such as photo dispatch or a share of an umpire's fee, follow your program's rules for them.One of: none, this_institution, other, unknown |
| external_ref | string or null | institution_confidential | Optional | Your own opaque reference, such as a case or file ID from your system; echoed in responses and webhooks. Never a loan, account or policy number (a credit union member number is an account number). |
| program | ReferralProgramInputReferralProgramInput or null | institution_confidential | Optional | Per-referral program terms. Omit, or send null, to use your program defaults. |
| disclosure | DisclosureInputDisclosureInput or null | institution_confidential | Optional | Warm-handoff attestation, only with consent_mode: "warm_handoff". With it the referral is created ready for our outreach; without it the referral waits for your attestation. |
| claim_against | string or null | borrower_personal | Optional | Whose insurer is handling the claim: own (the borrower's own insurer), other_driver (another driver's insurer), or unknown. Case-insensitive. Leave it out when you don't know.One of: own, other_driver, unknown |
| cause_of_loss | string or null | borrower_personal | Optional | The cause of the loss, if you know it. weather is hail, wind or a storm; a flood is flood. Case-insensitive.One of: collision, theft, fire, flood, weather, vandalism, animal, other |
| trigger | string or null | institution_confidential | Optional | What led you to refer: payoff_request (an insurer asked you for the loan payoff), loss_notice (a notice of loss), gap_claim (the borrower filed a GAP claim), borrower_request (the borrower asked), or other. Case-insensitive.One of: payoff_request, loss_notice, gap_claim, borrower_request, other |
| payoff_requested_at | string or null | institution_confidential | Optional | When the insurer asked you for the loan payoff: a date (2026-06-16, read as midnight UTC) or an ISO 8601 timestamp with its UTC offset (2026-06-16T15:04:00-06:00). At most a day ahead. |
| payoff_request_channel | string or null | institution_confidential | Optional | How that payoff request reached you. web_portal is your own online portal; electronic_service is a third-party payoff or letter-of-guarantee service the insurer used. Case-insensitive.One of: phone, fax, email, mail, web_portal, electronic_service, other |
| client_name | string or null | institution_confidential | Optional | For a GAP administrator: the lender or dealer whose borrower this is. At most 120 characters. |
| requirement_basis | RequirementBasisInputRequirementBasisInput or null | borrower_personal | Optional | Send it only when the borrower's contract lets you require the review. It is recorded and checked against your program's bases; messages to the borrower still ask rather than require. |
ReferralPatchInput
One of ReferralCancelInput, ReferralUpdateInput.
ReferralProgramEditInput
Fields (3)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| mode | string | institution_confidential | Optional | Who pays for the appraisal. Case-insensitive. Matched as sent: a value with spaces around it is refused.One of: provider_paid, split_pay, customer_paid |
| subsidy_type | string or null | institution_confidential | Optional | Split-pay only: how subsidy_value reads. Case-insensitive. Matched as sent: a value with spaces around it is refused.One of: percent, fixed_cents |
| subsidy_value | integer or null | institution_confidential | Optional | Split-pay only: the percent of the fee you cover (1 to 100), or the cents you cover, per subsidy_type, at most 2,147,483,647. A split-pay referral needs both subsidy_type and a positive subsidy_value. |
ReferralProgramInput
Fields (3)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| mode | string | institution_confidential | Optional | Who pays for the appraisal. Case-insensitive.One of: provider_paid, split_pay, customer_paid |
| subsidy_type | string or null | institution_confidential | Optional | Split-pay only: how subsidy_value reads. Case-insensitive.One of: percent, fixed_cents |
| subsidy_value | integer or null | institution_confidential | Optional | Split-pay only: the percent of the fee you cover (1 to 100), or the cents you cover, per subsidy_type, at most 2,147,483,647. A split-pay referral needs both subsidy_type and a positive subsidy_value. |
ReferralSimulateInput
Fields (4)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| to | string | public | Required | The status to move the sandbox referral to; a step off its lifecycle is a 409 invalid_transition.One of: invited, activated, in_progress, settled, closed, declined, unreachable, expired |
| outcome | object | borrower_personal | Optional | With to: "settled" only, and required there: the figures to settle with. The uplift and the exposure figures are computed from them as for a live settlement. |
| outcome.appraised_value_cents | integer | borrower_personal | Optional | |
| outcome.final_settlement_cents | integer | borrower_personal | Required |
ReferralUpdateInput
Fields (25)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| loan_payoff_cents | integer or null | borrower_personal | Optional | Editable until we clear the referral's borrower details under the Data Handling and Retention Schedule (409 referral_details_cleared after). Null or "" clears it. |
| deductible_cents | integer or null | borrower_personal | Optional | Deprecated, and ignored from version 1.4.0: we no longer ask for the borrower's deductible. A value sent is accepted and discarded; it isn't stored and doesn't change a deductible on file. Leave it out: a later version removes it.Deprecated. |
| borrower_first_name | string | borrower_personal | Optional | At most 80 characters, as on create. It can't be cleared. |
| borrower_last_name | string | borrower_personal | Optional | At most 80 characters, as on create. It can't be cleared. |
| borrower_email | string or null | borrower_contact | Optional | An email address of at most 254 characters, with no spaces, a single @, and a domain with a dot that has text before it and at least two characters after it (example.com). Spaces around it are ignored. Stored in lowercase. At least one of borrower_email and borrower_phone is required. An invitation referral (the default consent_mode) needs an email while text invitations are off for its loss state: one without it is refused with 422 email_required_sms_disabled. A warm-handoff referral may be created phone-only, but its attestation under script 1.7 needs this address: the script's last question asks the borrower to confirm the address SecondAppraisal will email. |
| borrower_phone | string or null | borrower_contact | Optional | A 10-digit US number; punctuation and a leading 1 are tolerated, and it is stored as 10 digits. An attestation under script 1.6, which asked about this number, still needs it. |
| vin | string or null | borrower_personal | Optional | 11 to 17 letters and digits, never I, O or Q. Case-insensitive; stored in uppercase. |
| vehicle_year | integer or null | borrower_personal | Optional | A model year from 1950 to two years after the current year. |
| vehicle_make | string or null | borrower_personal | Optional | |
| vehicle_model | string or null | borrower_personal | Optional | |
| primary_carrier | string or null | borrower_personal | Optional | |
| claim_number | string or null | borrower_personal | Optional | |
| loss_state | string or null | borrower_personal | Optional | The two-letter state of the loss, case-insensitive (tx is TX). |
| garaged_state | string or null | borrower_personal | Optional | The two-letter USPS code of the state where the vehicle is garaged (a state or DC), case-insensitive. We judge this state when it is sent, else loss_state: a referral for a state we don't serve may be refused with 422 state_not_served. Editable until the borrower activates; null or "" clears it. |
| external_ref | string or null | institution_confidential | Optional | Your own opaque reference, such as a case or file ID from your system; echoed in responses and webhooks. Never a loan, account or policy number (a credit union member number is an account number). |
| initial_offer_cents | integer or null | borrower_personal | Optional | The insurer's initial ACV offer, in cents. |
| program | ReferralProgramEditInputReferralProgramEditInput or null | institution_confidential | Optional | New program terms. Locked once the borrower activates under them (409 economics_locked); switching into provider-paid or split-pay needs a billing method (403 billing_required). Null is the same as leaving program out: the terms stay as they are. |
| claim_against | string or null | borrower_personal | Optional | Whose insurer is handling the claim: own (the borrower's own insurer), other_driver (another driver's insurer), or unknown. Case-insensitive. Leave it out when you don't know. Editable until the borrower activates; null or "" clears it.One of: own, other_driver, unknown |
| cause_of_loss | string or null | borrower_personal | Optional | The cause of the loss, if you know it. weather is hail, wind or a storm; a flood is flood. Case-insensitive. Editable until the borrower activates; null or "" clears it.One of: collision, theft, fire, flood, weather, vandalism, animal, other |
| trigger | string or null | institution_confidential | Optional | What led you to refer: payoff_request (an insurer asked you for the loan payoff), loss_notice (a notice of loss), gap_claim (the borrower filed a GAP claim), borrower_request (the borrower asked), or other. Case-insensitive. Editable until the borrower activates; null or "" clears it.One of: payoff_request, loss_notice, gap_claim, borrower_request, other |
| payoff_requested_at | string or null | institution_confidential | Optional | When the insurer asked you for the loan payoff: a date (2026-06-16, read as midnight UTC) or an ISO 8601 timestamp with its UTC offset (2026-06-16T15:04:00-06:00). At most a day ahead. Editable until the borrower activates; null or "" clears it. |
| payoff_request_channel | string or null | institution_confidential | Optional | How that payoff request reached you. web_portal is your own online portal; electronic_service is a third-party payoff or letter-of-guarantee service the insurer used. Case-insensitive. Editable until the borrower activates; null or "" clears it.One of: phone, fax, email, mail, web_portal, electronic_service, other |
| client_name | string or null | institution_confidential | Optional | For a GAP administrator: the lender or dealer whose borrower this is. At most 120 characters. Editable until the borrower activates; null or "" clears it. |
| requirement_basis | RequirementBasisInputRequirementBasisInput or null | borrower_personal | Optional | Send it only when the borrower's contract lets you require the review. It is recorded and checked against your program's bases; messages to the borrower still ask rather than require. Editable until the borrower activates; null or "" clears it. |
| action | null | public | Optional | Null is the same as leaving action out. To cancel, send { "action": "cancel" } on its own. |
RequirementBasisInput
Fields (10)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| basis_kind | string | institution_confidential | Required | contract: a provision in the borrower's own contract. carrier: a GAP insurance policy's form, filed in the state, which needs filed_form_ref. Case-insensitive.One of: contract, carrier |
| contract_form_id | string | institution_confidential | Required | The contract form's identifier, as the form names itself. 1 to 64 characters: letters, digits, spaces and . , _ - / ( ) # &. Spaces around it are ignored. |
| contract_form_version | string | institution_confidential | Required | The form's version or edition: 1 to 64 characters, in the same characters as contract_form_id. Spaces around it are ignored. |
| contract_date | string (date) | borrower_personal | Required | The date of the borrower's contract (YYYY-MM-DD); at most a day ahead. Spaces around it are ignored. |
| product_type | string | institution_confidential | Required | The product the contract is: a GAP waiver or GAP insurance. Case-insensitive. A loan without GAP can't be a requirement basis: loan_without_gap, which versions before 1.4.0 listed, is refused, whichever version a client was built on.One of: gap_waiver, gap_insurance |
| state | string | borrower_personal | Required | The two-letter USPS code of the state whose law the contract follows (a state or DC), case-insensitive. |
| a2_acknowledged | boolean | borrower_personal | Required | Whether the borrower acknowledged the signing disclosure in its own box (the program paper's Appendix A-2). |
| adopts_x5 | boolean | institution_confidential | Required | Whether the contract adopts X.5 (no delay; no charges). |
| adopts_x6 | boolean | institution_confidential | Required | Whether the contract adopts X.6 (no worse off). |
| filed_form_ref | string or null | institution_confidential | Optional | A carrier basis's filed form: its filing reference, as an identifier of at most 64 letters, digits, dots, hyphens and underscores. Never a URL. Spaces around it are ignored. |
ReviewStatusLookupInput
Fields (3)
| Field | Type | Data class | Required | Description |
|---|---|---|---|---|
| vin | string or null | borrower_personal | Optional | The vehicle's VIN: 11 to 17 letters and digits, never I, O or Q. Case-insensitive. |
| claim_number | string or null | borrower_personal | Optional | The borrower's claim number with their insurer, as you sent it on the referral. |
| external_ref | string or null | institution_confidential | Optional | Your own reference for the referral, as you sent it. |
Fields you receive
The responses, the members a refusal may add, and the webhook payloads.
AnalyticsReport
Fields (48)
| Field | Type | Data class | Notes |
|---|---|---|---|
| object | "gap.analytics" | public | |
| filters | object | — | |
| filters.from | string (date-time) or null | public | |
| filters.to | string (date-time) or null | public | |
| funnel | object | — | |
| funnel.submitted | integer | institution_confidential | |
| funnel.awaiting_activation | integer | institution_confidential | |
| funnel.active | integer | institution_confidential | |
| funnel.settled | integer | institution_confidential | |
| funnel.declined | integer | institution_confidential | |
| funnel.unreachable | integer | institution_confidential | |
| funnel.expired | integer | institution_confidential | |
| funnel.cancelled | integer | institution_confidential | |
| funnel.reporting_withdrawn | integer | institution_confidential | |
| funnel.activation_rate | number or null | institution_confidential | |
| outcomes | object | — | |
| outcomes.settled_referrals | integer | institution_confidential | |
| outcomes.total_uplift_cents | integer | borrower_personal | |
| outcomes.avg_uplift_cents | integer or null | borrower_personal | |
| outcomes.total_exposure_before_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| outcomes.total_exposure_after_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| outcomes.total_exposure_reduction_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| outcomes.avg_exposure_reduction_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| spend | object | — | |
| spend.fees_paid_cents | integer | institution_confidential | |
| spend.fees_pending_cents | integer | institution_confidential | |
| spend.roi_multiple | number or null | borrower_personal | Null for a key without referrals.contact:read. |
| spend.net_savings_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| spend.fees_on_settled_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| by_market | array of object | — | |
| by_market[].key | string | institution_confidential | |
| by_market[].referrals | integer | institution_confidential | |
| by_market[].settled | integer | institution_confidential | |
| by_market[].uplift_cents | integer | borrower_personal | |
| by_market[].exposure_reduction_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| by_carrier | array of object | — | |
| by_carrier[].key | string | institution_confidential | |
| by_carrier[].referrals | integer | institution_confidential | |
| by_carrier[].settled | integer | institution_confidential | |
| by_carrier[].uplift_cents | integer | borrower_personal | |
| by_carrier[].exposure_reduction_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| time_series | array of object | — | |
| time_series[].month | string | public | |
| time_series[].submitted | integer | institution_confidential | |
| time_series[].activated | integer | institution_confidential | |
| time_series[].settled | integer | institution_confidential | |
| time_series[].uplift_cents | integer | borrower_personal | |
| time_series[].exposure_reduction_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
ApiKeyIntrospection
Fields (12)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | institution_confidential | |
| object | "gap.api_key" | public | |
| prefix | string | institution_confidential | |
| mode | string | public | |
| format | string | public | |
| auth_method | string | public | |
| permissions | array of string | institution_confidential | |
| expires_at | string (date-time) or null | institution_confidential | |
| institution | object | — | |
| institution.id | string | institution_confidential | |
| institution.status | string | public | |
| allowed_cidr_count | integer | institution_confidential |
AuditLogEntry
Fields (15)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | institution_confidential | |
| object | "gap.audit_entry" | public | |
| occurred_at | string (date-time) | institution_confidential | |
| channel | string | public | |
| outcome | string | public | |
| actor | object | — | |
| actor.type | string | public | |
| actor.label | string | institution_confidential | |
| actor.api_key_prefix | string or null | institution_confidential | |
| operation | string | institution_confidential | |
| resource_type | string or null | institution_confidential | |
| resource_id | string or null | institution_confidential | |
| status | integer or null | public | |
| ip | string or null | institution_confidential | |
| occurrences | integer | public |
AuditLogPage
Fields (4)
| Field | Type | Data class | Notes |
|---|---|---|---|
| object | "list" | public | |
| data | AuditLogEntryarray of AuditLogEntry | — | |
| has_more | boolean | public | |
| next_cursor | string or null | institution_confidential |
BulkRowAcknowledgementError
Fields (6)
| Field | Type | Data class | Notes |
|---|---|---|---|
| field | string | public | |
| message | string | public | |
| code | string | public | |
| state | string | borrower_personal | |
| basis | string | public | |
| launch_states | array of string | institution_confidential |
BulkRowError
Fields (7)
| Field | Type | Data class | Notes |
|---|---|---|---|
| field | string | public | |
| message | string | public | |
| code | string | public | |
| existing_referral_id | string | institution_confidential | |
| state | string | borrower_personal | |
| basis | string | public | |
| launch_states | array of string | institution_confidential |
CredentialActivation
Fields (5)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | institution_confidential | |
| object | "gap.signed_credential" | public | |
| mode | string | public | |
| alg | string | public | |
| activated_at | string (date-time) | institution_confidential |
DisclosurePreview
Fields (5)
| Field | Type | Data class | Notes |
|---|---|---|---|
| object | "gap.disclosure_preview" | public | |
| script_version | string | public | |
| script_text | string | institution_confidential | |
| required_points | array of string | public | |
| attestation_label | string | public |
EventFeedPage
Fields (4)
| Field | Type | Data class | Notes |
|---|---|---|---|
| object | "list" | public | |
| data | ThinEventarray of ThinEvent | — | |
| has_more | boolean | public | |
| next_cursor | string | institution_confidential |
FieldError
Fields (4)
| Field | Type | Data class | Notes |
|---|---|---|---|
| field | string | public | |
| code | string | public | |
| message | string | public | |
| pointer | string | public |
OpenApiDocument
Fields (4)
| Field | Type | Data class | Notes |
|---|---|---|---|
| openapi | string | public | |
| info | object | — | |
| info.title | string | public | |
| info.version | string | public |
PlanEnrollment
Fields (25)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | institution_confidential | |
| vin | string | borrower_personal | |
| status | string | public | |
| billing_mode | string | institution_confidential | |
| external_ref | string or null | institution_confidential | |
| vehicle | object | — | |
| vehicle.year | integer or null | borrower_personal | |
| vehicle.make | string or null | borrower_personal | |
| vehicle.model | string or null | borrower_personal | |
| vehicle.garaged_state | string or null | borrower_personal | |
| member | object | — | |
| member.first_name | string or null | borrower_personal | |
| member.last_name | string or null | borrower_personal | |
| member.email | string or null | borrower_contact | Null for a key without referrals.contact:read. |
| member_price_cents | integer | institution_confidential | |
| wholesale_cents | integer or null | institution_confidential | |
| started_at | string (date-time) or null | institution_confidential | |
| eligible_from | string (date-time) or null | institution_confidential | |
| current_period_end | string (date-time) or null | institution_confidential | |
| cancel_at_period_end | boolean | institution_confidential | |
| cancelled_at | string (date-time) or null | institution_confidential | |
| activation_url | string or null | credential | Null for a key without members:activation-link. |
| activation_expires_at | string (date-time) or null | institution_confidential | |
| test | boolean | public | |
| created_at | string (date-time) | institution_confidential |
PlanEnrollmentBulkResult
Fields (16)
| Field | Type | Data class | Notes |
|---|---|---|---|
| received | integer | public | |
| created | integer | public | |
| results | array of object | — | |
| results[].index | integer | public | |
| results[].vin | string | borrower_personal | |
| results[].ok | boolean | public | |
| results[].id | string | institution_confidential | |
| results[].status | string | public | |
| results[].idempotent_replay | boolean | public | |
| results[].code | string | public | |
| results[].message | string | public | |
| results[].field_errors | array of object | — | |
| results[].field_errors[].field | string | public | |
| results[].field_errors[].message | string | public | |
| results[].field_errors[].code | string | public | |
| results[].field_errors[].pointer | string | public |
PlanEnrollmentCreateResult
Every field of PlanEnrollment, and:
Fields (1)
| Field | Type | Data class | Notes |
|---|---|---|---|
| idempotent_replay | boolean | public |
PlanEnrollmentList
Fields (2)
| Field | Type | Data class | Notes |
|---|---|---|---|
| data | PlanEnrollmentarray of PlanEnrollment | — | |
| next_cursor | string or null | institution_confidential |
PlanEnrollmentSwapResult
Every field of PlanEnrollment, and:
Fields (1)
| Field | Type | Data class | Notes |
|---|---|---|---|
| swapped_from | string | institution_confidential |
PlanLossNotice
Fields (10)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | institution_confidential | |
| enrollment_id | string | institution_confidential | |
| vin | string | borrower_personal | |
| date_of_loss | string (date) or null | borrower_personal | |
| reported_at | string (date-time) | institution_confidential | |
| source | string | public | |
| eligibility_status | string | public | |
| denied_reason | string or null | public | |
| denied_message | string or null | public | |
| reported_again_at | array of string (date-time) | institution_confidential |
PlanLossNoticeList
Fields (2)
| Field | Type | Data class | Notes |
|---|---|---|---|
| data | PlanLossNoticearray of PlanLossNotice | — | |
| next_cursor | string or null | institution_confidential |
PlanLossNoticeResult
Fields (4)
| Field | Type | Data class | Notes |
|---|---|---|---|
| enrollment_id | string | institution_confidential | |
| status | string | public | |
| eligible_from | string (date-time) or null | institution_confidential | |
| recorded | true | public |
PlanRedemption
Fields (14)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | institution_confidential | |
| enrollment_id | string | institution_confidential | |
| external_ref | string or null | institution_confidential | |
| referral_id | string or null | institution_confidential | |
| vin | string | borrower_personal | |
| status | string | public | |
| date_of_loss | string (date-time) or null | borrower_personal | |
| value_cents | integer | institution_confidential | |
| initial_offer_cents | integer or null | borrower_personal | |
| final_settlement_cents | integer or null | borrower_personal | |
| uplift_cents | integer or null | borrower_personal | |
| settled_at | string (date-time) or null | institution_confidential | |
| created_at | string (date-time) | institution_confidential | |
| reporting_withdrawn_at | string (date-time) or null | institution_confidential |
PlanRedemptionList
Fields (2)
| Field | Type | Data class | Notes |
|---|---|---|---|
| data | PlanRedemptionarray of PlanRedemption | — | |
| next_cursor | string or null | institution_confidential |
PlanRosterRejection
Fields (7)
| Field | Type | Data class | Notes |
|---|---|---|---|
| index | integer | public | |
| vin | string | borrower_personal | |
| field_errors | array of object | — | |
| field_errors[].field | string | public | |
| field_errors[].message | string | public | |
| field_errors[].code | string | public | |
| field_errors[].pointer | string | public |
PlanRosterSession
Fields (14)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | institution_confidential | |
| status | string | public | |
| test | boolean | public | |
| expires_at | string (date-time) | public | |
| created_at | string (date-time) | public | |
| received | integer | public | |
| chunks | integer | public | |
| committed_at | string (date-time) or null | public | |
| result | object or null | — | |
| result.received | integer | public | |
| result.enrolled | integer | public | |
| result.already_live | integer | public | |
| result.refused | integer | public | |
| result.cancelled | integer | public |
PlanRosterSessionChunkResult
Fields (5)
| Field | Type | Data class | Notes |
|---|---|---|---|
| session_id | string | institution_confidential | |
| chunk_index | integer | public | |
| rows | integer | public | |
| received | integer | public | |
| replayed | boolean | public |
PlanRosterSessionCommitResult
Fields (9)
| Field | Type | Data class | Notes |
|---|---|---|---|
| session | PlanRosterSession | — | |
| received | integer | public | |
| enrolled | array of string | borrower_personal | |
| already_live | array of string | borrower_personal | |
| refused | array of object | — | |
| refused[].vin | string | borrower_personal | |
| refused[].code | string | public | |
| refused[].message | string | public | |
| cancelled | array of string | borrower_personal |
PlanRosterSyncResult
Fields (8)
| Field | Type | Data class | Notes |
|---|---|---|---|
| received | integer | public | |
| enrolled | array of string | borrower_personal | |
| already_live | array of string | borrower_personal | |
| refused | array of object | — | |
| refused[].vin | string | borrower_personal | |
| refused[].code | string | public | |
| refused[].message | string | public | |
| cancelled | array of string | borrower_personal |
PlanStatement
Fields (19)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | institution_confidential | |
| period_start | string (date) | institution_confidential | |
| period_end | string (date) | institution_confidential | |
| status | string | public | |
| vehicle_months | number | institution_confidential | |
| active_vehicles_end | integer | institution_confidential | |
| redemption_count | integer | institution_confidential | |
| wholesale_cents | integer | institution_confidential | |
| collected_cents | integer | institution_confidential | |
| rev_share_cents | integer | institution_confidential | |
| subsidy_cents | integer | institution_confidential | |
| net_cents | integer | institution_confidential | |
| direction | string | institution_confidential | |
| charge_id | string or null | institution_confidential | |
| transfer_id | string or null | institution_confidential | |
| lines | array of object or null | institution_confidential | |
| line_count | integer | institution_confidential | |
| issued_at | string (date-time) | institution_confidential | |
| settled_at | string (date-time) or null | institution_confidential |
PlanStatementLine
Fields (16)
| Field | Type | Data class | Notes |
|---|---|---|---|
| enrollment_id | string | institution_confidential | |
| vin | string or null | borrower_personal | |
| external_ref | string or null | institution_confidential | |
| billing_mode | string | institution_confidential | |
| tlas_mode | string or null | institution_confidential | |
| line_kind | string or null | institution_confidential | |
| days_live | number or null | institution_confidential | |
| vehicle_months | number | institution_confidential | |
| rate_cents | integer | institution_confidential | |
| member_price_cents | integer | institution_confidential | |
| amount_cents | integer or null | institution_confidential | |
| collected_cents | integer or null | institution_confidential | |
| rev_share_cents | integer or null | institution_confidential | |
| subsidy_cents | integer or null | institution_confidential | |
| rev_share_held_cents | integer or null | institution_confidential | |
| rev_share_not_earned_cents | integer or null | institution_confidential |
PlanStatementLineList
Fields (3)
| Field | Type | Data class | Notes |
|---|---|---|---|
| data | PlanStatementLinearray of PlanStatementLine | — | |
| has_more | boolean | public | |
| next_cursor | string or null | institution_confidential |
PlanStatementList
Fields (1)
| Field | Type | Data class | Notes |
|---|---|---|---|
| data | PlanStatementarray of PlanStatement | — |
Problem
Fields (9)
| Field | Type | Data class | Notes |
|---|---|---|---|
| error | string | public | |
| code | string | public | |
| type | string | public | |
| title | string | public | |
| status | integer | public | |
| detail | string | public | |
| instance | string | public | |
| request_id | string | public | |
| field_errors | FieldErrorarray of FieldError | public |
ProgramReport
Fields (2)
| Field | Type | Data class | Notes |
|---|---|---|---|
| object | "gap.program_report" | public | |
| quarters | ProgramReportQuarterarray of ProgramReportQuarter | — |
ProgramReportQuarter
Fields (27)
| Field | Type | Data class | Notes |
|---|---|---|---|
| quarter | string | public | |
| from | string (date-time) | public | |
| to | string (date-time) | public | |
| referrals | integer | institution_confidential | |
| reached | integer | institution_confidential | |
| contacted | integer | institution_confidential | |
| median_hours_to_first_contact | number or null | institution_confidential | |
| activated | integer | institution_confidential | |
| decided | integer | institution_confidential | |
| activation_rate | number or null | institution_confidential | |
| median_days_to_activation | number or null | institution_confidential | |
| reviews_completed | integer or null | institution_confidential | |
| verdicts_delivered | integer or null | institution_confidential | |
| undervaluation_found | integer or null | institution_confidential | |
| appraisals_invoked | integer or null | institution_confidential | |
| settled | integer | institution_confidential | |
| settled_dated | integer | institution_confidential | |
| median_days_to_settlement | number or null | institution_confidential | |
| median_days_notice_to_settlement | number or null | institution_confidential | |
| uplift_cents | integer | borrower_personal | |
| settled_with_uplift | integer | institution_confidential | |
| average_uplift_cents | integer or null | borrower_personal | |
| exposure_reduction_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| reporting_withdrawn | integer | institution_confidential | |
| released | integer | institution_confidential | |
| settled_before_contact | integer | institution_confidential | |
| membership_charges_cents | integer | institution_confidential |
Referral
Fields (47)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | institution_confidential | |
| object | "gap.referral" | public | |
| status | string | public | |
| status_label | string | public | |
| status_tone | string | public | |
| status_note | string or null | institution_confidential | |
| external_ref | string or null | institution_confidential | |
| borrower | object | — | |
| borrower.first_name | string | borrower_personal | |
| borrower.last_name | string | borrower_personal | |
| borrower.email | string or null | borrower_contact | Null for a key without referrals.contact:read. |
| borrower.phone | string or null | borrower_contact | Null for a key without referrals.contact:read. |
| vehicle | object | — | |
| vehicle.vin | string or null | borrower_personal | |
| vehicle.year | integer or null | borrower_personal | |
| vehicle.make | string or null | borrower_personal | |
| vehicle.model | string or null | borrower_personal | |
| claim | object | — | |
| claim.carrier | string or null | borrower_personal | |
| claim.claim_number | string or null | borrower_personal | |
| claim.loss_state | string or null | borrower_personal | |
| claim.date_of_loss | string (date-time) or null | borrower_personal | |
| claim.initial_offer_cents | integer or null | borrower_personal | |
| liability | object | — | |
| liability.loan_payoff_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| liability.deductible_cents | integer or null | borrower_personal | Deprecated. |
| deficiency_coverage | string or null | borrower_personal | |
| program | object | — | |
| program.mode | string | institution_confidential | |
| program.subsidy_type | string or null | institution_confidential | |
| program.subsidy_value | integer or null | institution_confidential | |
| program.price_cents | integer | institution_confidential | |
| program.locked | boolean or null | institution_confidential | |
| consent | object | — | |
| consent.mode | string | institution_confidential | |
| consent.disclosure_confirmed_at | string (date-time) or null | institution_confidential | |
| consent.disclosure_channel | string or null | institution_confidential | |
| consent.disclosure_attestor_name | string or null | institution_confidential | Null for a key without referrals.contact:read. |
| submitted_via | string | public | |
| created_at | string (date-time) | institution_confidential | |
| invited_at | string (date-time) or null | institution_confidential | |
| invitation_expires_at | string (date-time) or null | institution_confidential | |
| activated_at | string (date-time) or null | institution_confidential | |
| appointed_at | string (date-time) or null | institution_confidential | |
| settled_at | string (date-time) or null | institution_confidential | |
| closed_at | string (date-time) or null | institution_confidential | |
| reporting_withdrawn_at | string (date-time) or null | institution_confidential |
ReferralAcknowledgement
Fields (3)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | institution_confidential | |
| object | "gap.referral" | public | |
| status | string | public |
ReferralBulkAcknowledgement
Fields (9)
| Field | Type | Data class | Notes |
|---|---|---|---|
| object | "bulk_result" | public | |
| created | integer | public | |
| failed | integer | public | |
| results | array of object | — | |
| results[].index | integer | public | |
| results[].ok | boolean | public | |
| results[].referral | ReferralAcknowledgement | — | |
| results[].idempotent_replay | boolean | public | |
| results[].errors | BulkRowAcknowledgementErrorarray of BulkRowAcknowledgementError | — |
ReferralBulkResult
Fields (9)
| Field | Type | Data class | Notes |
|---|---|---|---|
| object | "bulk_result" | public | |
| created | integer | public | |
| failed | integer | public | |
| results | array of object | — | |
| results[].index | integer | public | |
| results[].ok | boolean | public | |
| results[].referral | Referral | — | |
| results[].idempotent_replay | boolean | public | |
| results[].errors | BulkRowErrorarray of BulkRowError | — |
ReferralCreateAcknowledgement
Every field of ReferralAcknowledgement, and:
Fields (1)
| Field | Type | Data class | Notes |
|---|---|---|---|
| idempotent_replay | boolean | public |
ReferralCreateResult
Every field of Referral, and:
Fields (1)
| Field | Type | Data class | Notes |
|---|---|---|---|
| idempotent_replay | boolean | public |
ReferralDetail
Every field of Referral, and:
Fields (30)
| Field | Type | Data class | Notes |
|---|---|---|---|
| consultation_number | string or null | institution_confidential | |
| days_in_appraisal | integer or null | institution_confidential | |
| timeline | object or null | — | |
| timeline.current_milestone | string or null | public | |
| timeline.terminal | object or null | — | |
| timeline.terminal.status | string | public | |
| timeline.terminal.label | string | public | |
| timeline.terminal.detail | string | public | |
| timeline.phases | array of object | — | |
| timeline.phases[].key | string | public | |
| timeline.phases[].label | string | public | |
| timeline.phases[].state | string | public | |
| timeline.phases[].milestones | TimelineMilestonearray of TimelineMilestone | — | |
| financial | object or null | — | |
| financial.initial_offer_cents | integer or null | borrower_personal | |
| financial.current_best_offer_cents | integer or null | borrower_personal | |
| financial.appraised_value_cents | integer or null | borrower_personal | |
| financial.final_settlement_cents | integer or null | borrower_personal | |
| financial.loan_payoff_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| financial.deductible_cents | integer or null | borrower_personal | Deprecated. |
| financial.fees_paid_cents | integer or null | institution_confidential | |
| financial.gross_uplift_cents | integer or null | borrower_personal | |
| financial.exposure_before_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| financial.exposure_after_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| financial.exposure_reduction_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| financial.net_savings_cents | integer or null | borrower_personal | Null for a key without referrals.contact:read. |
| financial.roi_multiple | number or null | borrower_personal | Null for a key without referrals.contact:read. |
| financial.figures_are_final | boolean | public | |
| financial.savings_statement | string or null | borrower_personal | Null for a key without referrals.contact:read. |
| financial.payoff_missing | boolean | public |
ReferralList
Fields (4)
| Field | Type | Data class | Notes |
|---|---|---|---|
| object | "list" | public | |
| data | Referralarray of Referral | — | |
| has_more | boolean | public | |
| next_cursor | string or null | institution_confidential |
ReviewRecord
Fields (9)
| Field | Type | Data class | Notes |
|---|---|---|---|
| object | "gap.review_record" | public | |
| id | string | institution_confidential | |
| referral_id | string | institution_confidential | |
| version | integer | public | |
| hash | string | institution_confidential | |
| status | string | public | |
| created_at | string (date-time) | institution_confidential | |
| redacted | boolean | public | |
| bundle | ReviewRecordBundle or WithdrawnReviewRecordBundleReviewRecordBundle or WithdrawnReviewRecordBundle or null | borrower_personal |
ReviewRecordBundle
Fields (75)
| Field | Type | Data class | Notes |
|---|---|---|---|
| schema | "review-record.v1" | public | |
| referral_id | string | institution_confidential | |
| status | string | public | |
| review_completed_at | string (date-time) or null | institution_confidential | |
| verdict | object | — | |
| verdict.recommendation | string or null | public | |
| verdict.delivered_at | string (date-time) or null | institution_confidential | |
| verdict.tier | string or null | public | |
| verdict.decline_reason | string or null | public | |
| verdict.research_only | boolean | public | |
| verdict.research_delivered_at | string (date-time) or null | institution_confidential | |
| verdict.full_fac_required_at | string (date-time) or null | institution_confidential | |
| verdict.full_fac_completed_at | string (date-time) or null | institution_confidential | |
| verdict.re_review_requested_at | string (date-time) or null | institution_confidential | |
| materiality | object | — | |
| materiality.rule | string | public | |
| materiality.we_can_help | boolean or null | borrower_personal | |
| materiality.second_review_pending | boolean | public | |
| window | object | — | |
| window.valuation_received_at | string (date-time) or null | institution_confidential | |
| window.ends_at | string (date-time) or null | institution_confidential | |
| release | object | — | |
| release.released_at | string (date-time) or null | institution_confidential | |
| release.notice_sent_at | string (date-time) or null | institution_confidential | |
| outreach | object | — | |
| outreach.consent_mode | string | institution_confidential | |
| outreach.invited_at | string (date-time) or null | institution_confidential | |
| outreach.disclosure_confirmed_at | string (date-time) or null | institution_confidential | |
| outreach.first_contact_at | string (date-time) or null | institution_confidential | |
| outreach.contact_attempts | integer | institution_confidential | |
| outreach.last_contact_attempt_at | string (date-time) or null | institution_confidential | |
| outreach.reached_at | string (date-time) or null | institution_confidential | |
| outreach.activated_at | string (date-time) or null | institution_confidential | |
| outreach.contact_stopped_at | string (date-time) or null | institution_confidential | Deprecated. |
| refusal | object | — | |
| refusal.recorded_at | string (date-time) or null | institution_confidential | |
| refusal.scope | string or null | public | |
| refusal.method | string or null | public | |
| refusal.text_version | string or null | public | |
| reviewed_elsewhere_at | string (date-time) or null | institution_confidential | |
| appraisal_right | object | — | |
| appraisal_right.claim_against | string or null | borrower_personal | |
| appraisal_right.clause_invoked_at | string (date-time) or null | institution_confidential | |
| appraisal_right.clause_invoked_via | string or null | public | |
| costs | object | — | |
| costs.engagement | object or null | institution_confidential | Null for a key without reporting:read. |
| costs.engagement.basis | string | institution_confidential | |
| costs.engagement.payer | string | institution_confidential | |
| costs.engagement.list_cents | integer | institution_confidential | |
| costs.engagement.institution_cents | integer | institution_confidential | |
| costs.engagement.borrower_cents | integer | institution_confidential | |
| costs.institution_charges | array of object or null | institution_confidential | Null for a key without reporting:read. |
| costs.institution_charges[].kind | string | institution_confidential | |
| costs.institution_charges[].status | string | institution_confidential | |
| costs.institution_charges[].amount_cents | integer | institution_confidential | |
| costs.institution_charges[].count | integer | institution_confidential | |
| requirement | object | — | |
| requirement.mode | string | institution_confidential | |
| requirement.basis_attested | boolean | institution_confidential | |
| requirement.basis_validated_at | string (date-time) or null | institution_confidential | |
| outcome | object | — | |
| outcome.settled_at | string (date-time) or null | institution_confidential | |
| outcome.closed_at | string (date-time) or null | institution_confidential | |
| outcome.close_reason | string or null | public | |
| copy_versions | object | — | |
| copy_versions.disclosure_script | string or null | public | |
| copy_versions.refusal_text | string or null | public | |
| final_acceptance | object | — | |
| final_acceptance.accepted_at | string (date-time) | institution_confidential | |
| final_acceptance.reported_by | string or null | public | |
| final_acceptance.basis | string or null | public | |
| external_review | object | — | |
| external_review.stage | string | public | |
| external_review.stage_at | string (date-time) | institution_confidential | |
| external_review.reimbursement_attested_at | string (date-time) or null | institution_confidential |
ReviewRecordReference
Fields (5)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | institution_confidential | |
| version | integer | public | |
| hash | string | institution_confidential | |
| status | string | public | |
| created_at | string (date-time) | institution_confidential |
ReviewStatus
Fields (6)
| Field | Type | Data class | Notes |
|---|---|---|---|
| object | "gap.review_status" | public | |
| referral | object | — | |
| referral.id | string | institution_confidential | |
| referral.external_ref | string or null | institution_confidential | |
| record | ReviewRecordReferenceReviewRecordReference or null | institution_confidential | |
| close_reason | string or null | public |
ReviewStatusList
Fields (3)
| Field | Type | Data class | Notes |
|---|---|---|---|
| object | "list" | public | |
| data | ReviewStatusarray of ReviewStatus | — | |
| has_more | boolean | public |
SignatureCheckResult
Fields (12)
| Field | Type | Data class | Notes |
|---|---|---|---|
| object | "gap.signature_check" | public | |
| verified | boolean | public | |
| signature_base | string | institution_confidential | |
| code | string | public | |
| checks | object | — | |
| checks.profile | string | public | |
| checks.window | string | public | |
| checks.host | string | public | |
| checks.signature | string | public | |
| checks.content_digest | string | public | |
| checks.expiry | string | public | |
| checks.environment | string | public |
ThinEvent
Fields (9)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | public | |
| object | "event" | public | |
| type | string | public | |
| api_version | "1.1" | public | |
| created_at | string (date-time) | public | |
| livemode | boolean | public | |
| account | object | — | |
| account.id | string | institution_confidential | |
| data | object | institution_confidential |
TimelineMilestone
Fields (9)
| Field | Type | Data class | Notes |
|---|---|---|---|
| key | string | public | |
| label | string | public | |
| detail | string | public | |
| state | string | public | |
| at | string (date-time) or null | institution_confidential | |
| waiting_on | string or null | public | |
| waiting_label | string or null | public | |
| delayed | boolean | public | |
| note | string or null | institution_confidential |
WebhookEvent
Fields (6)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | public | |
| object | "event" | public | |
| type | string | public | |
| created_at | string (date-time) | public | |
| livemode | boolean | public | |
| data | object | borrower_contact |
WebhookReferral
Fields (44)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | institution_confidential | |
| object | "gap.referral" | public | |
| status | string | public | |
| status_label | string | public | |
| status_tone | string | public | |
| status_note | string or null | institution_confidential | |
| external_ref | string or null | institution_confidential | |
| borrower | object | — | |
| borrower.first_name | string | borrower_personal | |
| borrower.last_name | string | borrower_personal | |
| borrower.email | string or null | borrower_contact | |
| borrower.phone | string or null | borrower_contact | |
| vehicle | object | — | |
| vehicle.vin | string or null | borrower_personal | |
| vehicle.year | integer or null | borrower_personal | |
| vehicle.make | string or null | borrower_personal | |
| vehicle.model | string or null | borrower_personal | |
| claim | object | — | |
| claim.carrier | string or null | borrower_personal | |
| claim.claim_number | string or null | borrower_personal | |
| claim.loss_state | string or null | borrower_personal | |
| claim.date_of_loss | string (date-time) or null | borrower_personal | |
| claim.initial_offer_cents | integer or null | borrower_personal | |
| liability | object | — | |
| liability.loan_payoff_cents | integer or null | borrower_personal | |
| liability.deductible_cents | integer or null | borrower_personal | Deprecated. |
| program | object | — | |
| program.mode | string | institution_confidential | |
| program.subsidy_type | string or null | institution_confidential | |
| program.subsidy_value | integer or null | institution_confidential | |
| program.price_cents | integer | institution_confidential | |
| program.locked | boolean or null | institution_confidential | |
| consent | object | — | |
| consent.mode | string | institution_confidential | |
| consent.disclosure_confirmed_at | string (date-time) or null | institution_confidential | |
| consent.disclosure_channel | string or null | institution_confidential | |
| consent.disclosure_attestor_name | string or null | institution_confidential | |
| submitted_via | string | public | |
| created_at | string (date-time) | institution_confidential | |
| invited_at | string (date-time) or null | institution_confidential | |
| invitation_expires_at | string (date-time) or null | institution_confidential | |
| activated_at | string (date-time) or null | institution_confidential | |
| settled_at | string (date-time) or null | institution_confidential | |
| closed_at | string (date-time) or null | institution_confidential |
WebhookReferralActivatedData
Fields (3)
| Field | Type | Data class | Notes |
|---|---|---|---|
| referral | WebhookReferral | — | |
| consultation_number | string or null | institution_confidential | |
| via | string | public |
WebhookReferralData
Fields (1)
| Field | Type | Data class | Notes |
|---|---|---|---|
| referral | WebhookReferral | — |
WebhookReferralInvitedData
Fields (2)
| Field | Type | Data class | Notes |
|---|---|---|---|
| referral | WebhookReferral | — | |
| channel | string | public |
WebhookReviewRecord
Fields (4)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | institution_confidential | |
| version | integer | public | |
| hash | string | institution_confidential | |
| status | string | public |
WebhookReviewRecordData
Fields (5)
| Field | Type | Data class | Notes |
|---|---|---|---|
| referral | object | — | |
| referral.id | string | institution_confidential | |
| referral.external_ref | string or null | institution_confidential | |
| record | WebhookReviewRecord | — | |
| close_reason | string or null | public |
WebhookSettlementData
Fields (10)
| Field | Type | Data class | Notes |
|---|---|---|---|
| referral | WebhookReferral | — | |
| outcome | object | — | |
| outcome.initial_acv_cents | integer or null | borrower_personal | |
| outcome.appraised_value_cents | integer or null | borrower_personal | |
| outcome.final_settlement_cents | integer or null | borrower_personal | |
| outcome.uplift_cents | integer or null | borrower_personal | |
| outcome.exposure_before_cents | integer or null | borrower_personal | |
| outcome.exposure_after_cents | integer or null | borrower_personal | |
| outcome.fees_paid_cents | integer or null | institution_confidential | |
| outcome.settled_at | string (date-time) or null | institution_confidential |
WebhookTestData
Fields (1)
| Field | Type | Data class | Notes |
|---|---|---|---|
| endpoint_id | string | institution_confidential |
WebhookTestEvent
Fields (6)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | public | |
| object | "event" | public | |
| type | "webhook.test" | public | |
| created_at | string (date-time) | public | |
| livemode | boolean | public | |
| data | WebhookTestData | — |
WebhookTestThinEvent
Fields (9)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | public | |
| object | "event" | public | |
| type | "webhook.test" | public | |
| api_version | "1.1" | public | |
| created_at | string (date-time) | public | |
| livemode | boolean | public | |
| account | object | — | |
| account.id | string | institution_confidential | |
| data | WebhookTestData | — |
WebhookVerificationData
Fields (3)
| Field | Type | Data class | Notes |
|---|---|---|---|
| challenge | string | institution_confidential | |
| endpoint_id | string | institution_confidential | |
| expires_at | string (date-time) | public |
WebhookVerificationEvent
Fields (6)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | public | |
| object | "event" | public | |
| type | "webhook.verification" | public | |
| created_at | string (date-time) | public | |
| livemode | boolean | public | |
| data | WebhookVerificationData | — |
WebhookVerificationThinEvent
Fields (9)
| Field | Type | Data class | Notes |
|---|---|---|---|
| id | string | public | |
| object | "event" | public | |
| type | "webhook.verification" | public | |
| api_version | "1.1" | public | |
| created_at | string (date-time) | public | |
| livemode | boolean | public | |
| account | object | — | |
| account.id | string | institution_confidential | |
| data | WebhookVerificationData | — |
WithdrawnReviewRecordBundle
Fields (5)
| Field | Type | Data class | Notes |
|---|---|---|---|
| schema | "review-record.v1" | public | |
| referral_id | string | institution_confidential | |
| status | "REPORTING_WITHDRAWN" | public | |
| close_reason | "REPORTING_WITHDRAWN" | public | |
| reporting_withdrawn_at | string (date-time) | institution_confidential |