{"items":[{"type":"link","label":"Pioneer Loan Platform API","link":"/apis/public-api","routeSlug":"/apis/public-api"},{"type":"group","label":"Pioneer Public API","link":"/apis/public-api/section/pioneer-public-api","routeSlug":"/apis/public-api/section/pioneer-public-api","items":[{"type":"link","label":"URL Structure","link":"/apis/public-api/section/pioneer-public-api/url-structure","routeSlug":"/apis/public-api/section/pioneer-public-api/url-structure"},{"type":"link","label":"Versioning","link":"/apis/public-api/section/pioneer-public-api/versioning","routeSlug":"/apis/public-api/section/pioneer-public-api/versioning"},{"type":"link","label":"Authentication","link":"/apis/public-api/section/pioneer-public-api/authentication","routeSlug":"/apis/public-api/section/pioneer-public-api/authentication"},{"type":"link","label":"Rate Limiting","link":"/apis/public-api/section/pioneer-public-api/rate-limiting","routeSlug":"/apis/public-api/section/pioneer-public-api/rate-limiting"},{"type":"link","label":"Idempotency","link":"/apis/public-api/section/pioneer-public-api/idempotency","routeSlug":"/apis/public-api/section/pioneer-public-api/idempotency"},{"type":"link","label":"Pagination","link":"/apis/public-api/section/pioneer-public-api/pagination","routeSlug":"/apis/public-api/section/pioneer-public-api/pagination"},{"type":"link","label":"Errors","link":"/apis/public-api/section/pioneer-public-api/errors","routeSlug":"/apis/public-api/section/pioneer-public-api/errors"},{"type":"link","label":"OpenAPI document","link":"/apis/public-api/section/pioneer-public-api/openapi-document","routeSlug":"/apis/public-api/section/pioneer-public-api/openapi-document"},{"type":"link","label":"API clients","link":"/apis/public-api/section/pioneer-public-api/api-clients","routeSlug":"/apis/public-api/section/pioneer-public-api/api-clients"}]},{"type":"group","label":"Loans","link":"/apis/public-api/loans","routeSlug":"/apis/public-api/loans","items":[{"label":"List loans","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/loans/listloans","routeSlug":"/apis/public-api/loans/listloans","metadata":{"seo":{"title":"List loans","description":"Retrieve a paginated list of loans. Supports filtering by status and product ID. Returns loan summary information without sensitive details."}},"httpPath":"/public/v1/loans"},{"label":"List loans ready to board","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/loans/listboardingqueue","routeSlug":"/apis/public-api/loans/listboardingqueue","metadata":{"seo":{"title":"List loans ready to board","description":"Loans a banker released to the core and nobody has boarded yet, oldest first. A loan reaches this queue only once a banker releases it — being funded is not enough on its own. Acknowledge a board with POST /loans/{id}/boarding and the loan leaves the queue, so a scheduled pull only ever returns work that is still outstanding: a board that failed on your side simply stays. Pass boarded=true (optionally with boardedSince) to reconcile instead — the loans already boarded."}},"httpPath":"/public/v1/loans/boarding-queue"},{"label":"Get loan details","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/loans/getloan","routeSlug":"/apis/public-api/loans/getloan","metadata":{"seo":{"title":"Get loan details","description":"Retrieve detailed information about a specific loan by ID. Returns loan terms, amounts, dates, and status without exposing sensitive internal data."}},"httpPath":"/public/v1/loans/{id}"},{"label":"Update a loan","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/loans/updateloan","routeSlug":"/apis/public-api/loans/updateloan","metadata":{"seo":{"title":"Update a loan","description":"Update loan fields. Money is in whole cents (centsAmount: 50000000 is $500,000.00) and rates in basis points (bpsFixedRate: 525 is 5.25%). Only allowlisted fields can be updated — server-managed fields like status and stage are excluded."}},"httpPath":"/public/v1/loans/{id}"},{"label":"Archive a loan","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/loans/deleteloan","routeSlug":"/apis/public-api/loans/deleteloan","metadata":{"seo":{"title":"Archive a loan","description":"Soft-delete a loan by setting its deletion timestamp. The loan will no longer appear in list results but can be restored by Pioneer support."}},"httpPath":"/public/v1/loans/{id}"},{"label":"Get loan summary","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/loans/getloansummary","routeSlug":"/apis/public-api/loans/getloansummary","metadata":{"seo":{"title":"Get loan summary","description":"Retrieve a summary of a loan including key metrics like total amount, monthly payment, term, and activity status (open tasks, message activity). hasMessages reflects non-internal (customer/broker-visible) conversation only — internal banker threads are never exposed."}},"httpPath":"/public/v1/loans/{id}/summary"},{"label":"Get loan entities","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/loans/getloanentities","routeSlug":"/apis/public-api/loans/getloanentities","metadata":{"seo":{"title":"Get loan entities","description":"Retrieve businesses and people associated with a loan. Returns entity names, types, and roles. Sensitive data like full SSN/EIN is excluded (only last 4 digits shown)."}},"httpPath":"/public/v1/loans/{id}/entities"},{"label":"Search loans","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/loans/searchloans","routeSlug":"/apis/public-api/loans/searchloans","metadata":{"seo":{"title":"Search loans","description":"Advanced loan search with complex filtering capabilities. Supports multiple status filters, date ranges, amount ranges (in whole cents), and custom sorting. Use this endpoint when you need more control than the basic list endpoint."}},"httpPath":"/public/v1/loans/search"},{"label":"Get loan status","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/loans/getloanstatus","routeSlug":"/apis/public-api/loans/getloanstatus","metadata":{"seo":{"title":"Get loan status","description":"Get a loan's current status and stage."}},"httpPath":"/public/v1/loans/{id}/status"},{"label":"Get loan status timeline","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/loans/getloantimeline","routeSlug":"/apis/public-api/loans/getloantimeline","metadata":{"seo":{"title":"Get loan status timeline","description":"Get the loan's status-transition history (most recent first), sourced from the audit log."}},"httpPath":"/public/v1/loans/{id}/timeline"},{"label":"Get a loan's boarding state","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/loans/getloanboarding","routeSlug":"/apis/public-api/loans/getloanboarding","metadata":{"seo":{"title":"Get a loan's boarding state","description":"Whether a banker released the loan to the core, who released it and when, and whether the core has acknowledged the board."}},"httpPath":"/public/v1/loans/{id}/boarding"},{"label":"Acknowledge a board","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/loans/acknowledgeloanboarding","routeSlug":"/apis/public-api/loans/acknowledgeloanboarding","metadata":{"seo":{"title":"Acknowledge a board","description":"Record that the core boarded the loan. The loan leaves the boarding queue and the event is audited. Only a loan a banker released can be acknowledged — a loan that never reached the queue returns 400. Safe to repeat: a second call returns the boarding that already stands rather than overwriting it, so a retry after a lost response cannot rewrite when the core boarded the loan. Send coreRecordNumber to store the core’s own identifier for the loan on the Pioneer record."}},"httpPath":"/public/v1/loans/{id}/boarding"}]},{"type":"group","label":"Tasks","link":"/apis/public-api/tasks","routeSlug":"/apis/public-api/tasks","items":[{"label":"List loan tasks","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/tasks/listloantasks","routeSlug":"/apis/public-api/tasks/listloantasks","metadata":{"seo":{"title":"List loan tasks","description":"List the workflow tasks (submit / pre-approve / approve / re-submit steps) for a loan, with open/completed status. Read-only: tasks are completed automatically by the loan workflow/decision engine when the corresponding action occurs, not via a direct API write."}},"httpPath":"/public/v1/loans/{id}/tasks"}]},{"type":"group","label":"Decisions","link":"/apis/public-api/decisions","routeSlug":"/apis/public-api/decisions","items":[{"label":"List underwriting decisions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/decisions/listloandecisions","routeSlug":"/apis/public-api/decisions/listloandecisions","metadata":{"seo":{"title":"List underwriting decisions","description":"List the per-product underwriting decisions for a loan. Returns the verdict (approved/declined) and, for declines, the reason. Raw rule internals and applicant data are never exposed."}},"httpPath":"/public/v1/loans/{id}/decisions"}]},{"type":"group","label":"Disbursements","link":"/apis/public-api/disbursements","routeSlug":"/apis/public-api/disbursements","items":[{"label":"List loan disbursements","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/disbursements/listloandisbursements","routeSlug":"/apis/public-api/disbursements/listloandisbursements","metadata":{"seo":{"title":"List loan disbursements","description":"Retrieve the disbursements recorded against a loan, including amounts (in whole cents), recipients, payment methods, and status."}},"httpPath":"/public/v1/loans/{id}/disbursements"},{"label":"Create a disbursement","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/disbursements/createdisbursement","routeSlug":"/apis/public-api/disbursements/createdisbursement","metadata":{"seo":{"title":"Create a disbursement","description":"Create a disbursement on a loan. centsAmount is in whole cents — 50000000 is $500,000.00."}},"httpPath":"/public/v1/loans/{id}/disbursements"},{"label":"List GL accounts","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/disbursements/listglaccounts","routeSlug":"/apis/public-api/disbursements/listglaccounts","metadata":{"seo":{"title":"List GL accounts","description":"List the organization’s general-ledger accounts. Returns active accounts by default."}},"httpPath":"/public/v1/gl-accounts"},{"label":"Update a disbursement","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/disbursements/updatedisbursement","routeSlug":"/apis/public-api/disbursements/updatedisbursement","metadata":{"seo":{"title":"Update a disbursement","description":"Update an existing disbursement on a loan. Only the fields provided in the request body are changed; centsAmount is in whole cents."}},"httpPath":"/public/v1/loans/{loanId}/disbursements/{id}"}]},{"type":"group","label":"Collateral","link":"/apis/public-api/collateral","routeSlug":"/apis/public-api/collateral","items":[{"label":"List loan collateral","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/collateral/listloancollateral","routeSlug":"/apis/public-api/collateral/listloancollateral","metadata":{"seo":{"title":"List loan collateral","description":"Retrieve the collateral items securing a loan, including descriptions, values (in whole cents), advance rate (in basis points), and types."}},"httpPath":"/public/v1/loans/{id}/collateral"},{"label":"Add collateral to a loan","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/collateral/createcollateral","routeSlug":"/apis/public-api/collateral/createcollateral","metadata":{"seo":{"title":"Add collateral to a loan","description":"Add collateral to a loan. Money is in whole cents and bpsAdvanceRate is in basis points (8500 = 85%)."}},"httpPath":"/public/v1/loans/{id}/collateral"},{"label":"Update collateral","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/collateral/updatecollateral","routeSlug":"/apis/public-api/collateral/updatecollateral","metadata":{"seo":{"title":"Update collateral","description":"Update collateral. Money is in whole cents and bpsAdvanceRate is in basis points (8500 = 85%)."}},"httpPath":"/public/v1/loans/{loanId}/collateral/{id}"}]},{"type":"group","label":"Debt","link":"/apis/public-api/debt","routeSlug":"/apis/public-api/debt","items":[{"label":"List loan debt schedule","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/debt/listloandebt","routeSlug":"/apis/public-api/debt/listloandebt","metadata":{"seo":{"title":"List loan debt schedule","description":"List a loan's debt schedule (read-only). Debt records are synced from the loan's components/underwriting data and are not editable row-by-row via the API; money is in whole cents and bpsInterestRate is in basis points."}},"httpPath":"/public/v1/loans/{id}/debt"}]},{"type":"group","label":"Entities","link":"/apis/public-api/entities","routeSlug":"/apis/public-api/entities","items":[{"label":"Get a business","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/entities/getbusiness","routeSlug":"/apis/public-api/entities/getbusiness","metadata":{"seo":{"title":"Get a business","description":"Retrieve full details for a business, including its addresses. The EIN is returned masked (einLast4) unless the API key also holds the read:businesses:ein scope, in which case the full value is returned in ein. A null ein with a non-null einLast4 means the key lacks that scope; both null means no EIN is on record."}},"httpPath":"/public/v1/businesses/{id}"},{"label":"Get a person","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/entities/getperson","routeSlug":"/apis/public-api/entities/getperson","metadata":{"seo":{"title":"Get a person","description":"Retrieve full details for a person, including their addresses. The SSN is returned masked (ssnLast4) unless the API key also holds the read:people:ssn scope, in which case the full value is returned in ssn."}},"httpPath":"/public/v1/people/{id}"},{"label":"Create a business on a loan","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/entities/createloanbusiness","routeSlug":"/apis/public-api/entities/createloanbusiness","metadata":{"seo":{"title":"Create a business on a loan","description":"Create a business and attach it to the loan with the given role (e.g. \"borrower\", \"guarantor\"). Accepts a full EIN; only the last 4 digits are ever returned."}},"httpPath":"/public/v1/loans/{id}/businesses"},{"label":"Update a business on a loan","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/entities/updateloanbusiness","routeSlug":"/apis/public-api/entities/updateloanbusiness","metadata":{"seo":{"title":"Update a business on a loan","description":"Update the details of a business associated with a loan. Only the fields provided in the request body are changed."}},"httpPath":"/public/v1/loans/{loanId}/businesses/{id}"},{"label":"Create a person on a loan","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/entities/createloanperson","routeSlug":"/apis/public-api/entities/createloanperson","metadata":{"seo":{"title":"Create a person on a loan","description":"Create a person and attach them to the loan with the given role. Accepts a full SSN; only the last 4 digits are ever returned."}},"httpPath":"/public/v1/loans/{id}/people"},{"label":"Update a person on a loan","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/entities/updateloanperson","routeSlug":"/apis/public-api/entities/updateloanperson","metadata":{"seo":{"title":"Update a person on a loan","description":"Update the details of a person associated with a loan. Only the fields provided in the request body are changed."}},"httpPath":"/public/v1/loans/{loanId}/people/{id}"}]},{"type":"group","label":"Documents","link":"/apis/public-api/documents","routeSlug":"/apis/public-api/documents","items":[{"label":"List loan documents","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/documents/listloandocuments","routeSlug":"/apis/public-api/documents/listloandocuments","metadata":{"seo":{"title":"List loan documents","description":"Retrieve every document on a loan: files uploaded against a document requirement (the rows on the loan's Documents tab, whether the requirement targets the loan, a person, or a business) plus loan-level artifacts the platform generates, such as term sheets and adverse-action notices. Each entry carries the requirement it satisfies — including its review status and its id, which is what you pass as requirementID when uploading. requirement is null for generated artifacts. Use the download endpoint to get a presigned URL for the file itself."}},"httpPath":"/public/v1/loans/{id}/documents"},{"label":"Upload a document","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/documents/uploaddocument","routeSlug":"/apis/public-api/documents/uploaddocument","metadata":{"seo":{"title":"Upload a document","description":"Step 1 of 2. Creates the document record and returns a presigned upload URL; PUT the file content to that URL, then call POST /documents/{id}/confirm — the confirm step is what verifies the bytes landed and attaches the file to its requirement. A document that is never confirmed stays invisible to the bank."}},"httpPath":"/public/v1/loans/{id}/documents"},{"label":"Get document download URL","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/documents/getdocumentdownloadurl","routeSlug":"/apis/public-api/documents/getdocumentdownloadurl","metadata":{"seo":{"title":"Get document download URL","description":"Get a presigned download URL for a document. The URL is valid for 5 minutes. Use this URL to download the actual document file directly."}},"httpPath":"/public/v1/documents/{id}/download"},{"label":"Confirm a document upload","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/documents/confirmdocumentupload","routeSlug":"/apis/public-api/documents/confirmdocumentupload","metadata":{"seo":{"title":"Confirm a document upload","description":"Step 2 of 2. Call after PUTting the file content to the presigned URL. Verifies the blob actually arrived (and is within the size cap) and, for a requirement-backed upload, attaches it to that requirement so it appears on the banker's Documents tab as PENDING review."}},"httpPath":"/public/v1/documents/{id}/confirm"},{"label":"Update document metadata","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/documents/updatedocument","routeSlug":"/apis/public-api/documents/updatedocument","metadata":{"seo":{"title":"Update document metadata","description":"Update document metadata. Currently only the document name can be updated."}},"httpPath":"/public/v1/documents/{id}"},{"label":"Delete a document","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/documents/deletedocument","routeSlug":"/apis/public-api/documents/deletedocument","metadata":{"seo":{"title":"Delete a document","description":"Soft-delete a document by setting its deletion timestamp. The document will no longer appear in list results. If it satisfied a requirement it is also detached from it, and any requirement period left with no remaining file returns to AWAITING_UPLOAD."}},"httpPath":"/public/v1/documents/{id}"}]},{"type":"group","label":"Products","link":"/apis/public-api/products","routeSlug":"/apis/public-api/products","items":[{"label":"List products","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/products/listproducts","routeSlug":"/apis/public-api/products/listproducts","metadata":{"seo":{"title":"List products","description":"Retrieve a list of available loan products. Returns product details including name, description, terms, and rate types."}},"httpPath":"/public/v1/products"},{"label":"Get product details","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/products/getproduct","routeSlug":"/apis/public-api/products/getproduct","metadata":{"seo":{"title":"Get product details","description":"Retrieve detailed information about a specific loan product by ID. Returns product name, description, terms, amortization period, rate type, and payment frequency."}},"httpPath":"/public/v1/products/{id}"}]},{"type":"group","label":"Webhooks","link":"/apis/public-api/webhooks","routeSlug":"/apis/public-api/webhooks","items":[{"label":"Register a webhook endpoint","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/webhooks/createwebhookendpoint","routeSlug":"/apis/public-api/webhooks/createwebhookendpoint","metadata":{"seo":{"title":"Register a webhook endpoint","description":"Register an HTTPS endpoint to receive event deliveries. The signing secret is returned ONCE in this response and never again — store it securely. Private/loopback URLs are rejected."}},"httpPath":"/public/v1/webhook-endpoints"},{"label":"List webhook endpoints","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/webhooks/listwebhookendpoints","routeSlug":"/apis/public-api/webhooks/listwebhookendpoints","metadata":{"seo":{"title":"List webhook endpoints","description":"List your organization's webhook endpoints. The signing secret is never returned."}},"httpPath":"/public/v1/webhook-endpoints"},{"label":"Get a webhook endpoint","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/webhooks/getwebhookendpoint","routeSlug":"/apis/public-api/webhooks/getwebhookendpoint","metadata":{"seo":{"title":"Get a webhook endpoint","description":"Retrieve a single webhook endpoint by ID, including its target URL, subscribed event types, and status."}},"httpPath":"/public/v1/webhook-endpoints/{id}"},{"label":"Update a webhook endpoint","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/webhooks/updatewebhookendpoint","routeSlug":"/apis/public-api/webhooks/updatewebhookendpoint","metadata":{"seo":{"title":"Update a webhook endpoint","description":"Update a webhook endpoint — change its target URL, subscribed event types, or status. Only the fields provided in the request body are changed."}},"httpPath":"/public/v1/webhook-endpoints/{id}"},{"label":"Delete a webhook endpoint","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/webhooks/deletewebhookendpoint","routeSlug":"/apis/public-api/webhooks/deletewebhookendpoint","metadata":{"seo":{"title":"Delete a webhook endpoint","description":"Soft-delete (disable) a webhook endpoint. Delivery history is retained."}},"httpPath":"/public/v1/webhook-endpoints/{id}"},{"label":"Rotate a webhook signing secret","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/webhooks/rotatewebhooksecret","routeSlug":"/apis/public-api/webhooks/rotatewebhooksecret","metadata":{"seo":{"title":"Rotate a webhook signing secret","description":"Generate a new signing secret. It is returned ONCE in this response and never again."}},"httpPath":"/public/v1/webhook-endpoints/{id}/rotate-secret"},{"label":"Send a test event","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/webhooks/testwebhookendpoint","routeSlug":"/apis/public-api/webhooks/testwebhookendpoint","metadata":{"seo":{"title":"Send a test event","description":"Synchronously deliver a test.ping event to the endpoint and return the result. Does not count toward auto-disable, and is intentionally NOT idempotency-keyed (safe to repeat)."}},"httpPath":"/public/v1/webhook-endpoints/{id}/test"},{"label":"List delivery attempts for an endpoint","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/webhooks/listwebhookdeliveries","routeSlug":"/apis/public-api/webhooks/listwebhookdeliveries","metadata":{"seo":{"title":"List delivery attempts for an endpoint","description":"Retrieve recent delivery attempts for a webhook endpoint, including status, response codes, and timestamps, to help debug your integration."}},"httpPath":"/public/v1/webhook-endpoints/{id}/deliveries"},{"label":"List supported webhook event types","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/webhooks/listwebhookeventtypes","routeSlug":"/apis/public-api/webhooks/listwebhookeventtypes","metadata":{"seo":{"title":"List supported webhook event types","description":"List the webhook event types you can subscribe an endpoint to, with a short description of each."}},"httpPath":"/public/v1/webhook-events"}]},{"type":"group","label":"Messages","link":"/apis/public-api/messages","routeSlug":"/apis/public-api/messages","items":[{"label":"List loan messages","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/apis/public-api/messages/listloanmessages","routeSlug":"/apis/public-api/messages/listloanmessages","metadata":{"seo":{"title":"List loan messages","description":"Retrieve messages posted on a loan across its customer/broker-visible chatrooms. Internal banker-only threads are never returned."}},"httpPath":"/public/v1/loans/{id}/messages"}]}]}