Expiring Registry Document Links: Keep the Filing Evidence Your Loan File Needs

September 11, 2026
September 11, 2026
14 Minutes Read
Secretary of State APIblog main image

Executive Summary: Expiring registry document links are a routine part of automated Secretary of State retrieval, and treating a working URL as permanent storage is a common mistake in loan file assembly. This article lays out why the download link is only a delivery mechanism, not a record of custody, and walks through a retrieval, storage, and later-readback workflow that keeps the underlying filing evidence usable after the link stops working. It includes a worked example, a decision table, and a reviewer worksheet built around Entity B and Borrower A.

Why Do Document Links Expire in the First Place?

What Is Cobalt's Documented Expiration Window?

Cobalt's help documentation states that document URLs returned through the API are time-limited: links carry a short default validity window that can be extended on request[1]. Treat that as documented behavior to confirm for your own account configuration, not as a retention guarantee. The practical point is broader than any specific window: a generated download link tied to a documents array entry in a search response is designed to expire, and the underlying business record does not expire when the link does. The record still exists at the state; only the convenient pointer to a cached copy goes stale.

Why Does a Timed Link Change How You Build a Loan File?

A loan file that stores only a URL, rather than the retrieved content, is vulnerable to a straightforward failure mode: someone opens the file six weeks after underwriting to answer an examiner question, clicks the link, and gets an error. At that point the reviewer has no filing evidence, only a memory that a filing existed. This is not a hypothetical edge case unique to Cobalt. New York's Division of Corporations states that plain or certified copies of any filed document can be requested from the state directly[2], which confirms that the authoritative record sits with the filing office, not with any single access mechanism a vendor happens to expose. The operational implication is to treat the link as a retrieval convenience and the retrieved file, once downloaded and stored with its search context, as the actual loan file artifact. A workable policy is to download and archive any document referenced in a documents.url field at or near the time of retrieval, rather than relying on the link surviving until a later audit.

A recommended operating principle: treat every generated document link as a one-time delivery event, and let your own storage, not the vendor's link, be the system of record for anything retained in the loan file.

How Should a Reviewer Actually Capture the Evidence?

What Three Alternatives Exist Besides Automated Retrieval?

Before considering any vendor bridge, it helps to separate the approaches available to a compliance operations team. First, direct authority lookup: a reviewer can go to the Secretary of State's own search database and pull the record directly, as New York's Corporation and Business Entity Search Database covers corporations, limited liability companies, limited partnerships and assumed-name filings[3], and the Department describes that online search as intended for status inquiries of entities already on file[4]. Second, borrower-supplied documents: many lenders ask the applicant to furnish a current certificate of status or filed articles directly, shifting the burden of proof onto the borrower rather than the reviewer. New York, for example, issues a Certificate of Status only on written request and lists what that request must contain, so a borrower-supplied certificate can be checked against the state's own process[4]. Third, internal review of prior file history: if the entity was verified previously, the file may already contain a saved document from an earlier pull, even if that document predates the current application. Each of these has tradeoffs. Direct lookup requires a reviewer to know the correct jurisdiction and entity identifier, which is not always obvious for a foreign-qualified entity. Borrower-supplied documents can be stale or altered and still need independent confirmation against the state source. Internal history may be out of date relative to the current transaction.

Where Does an API-Based Retrieval Bridge Fit In?

An API-based retrieval, such as Cobalt's secretaryOfStateSearch endpoint, sits alongside these alternatives rather than replacing them. The endpoint accepts a searchQuery, sosId, or person-name parameters together with a required state parameter, and returns a documents array with name, url, date, and comment fields when the underlying state page exposes document links[5]. Some state lookups take longer than 30 seconds, in which case the API returns a retryId for asynchronous completion, or the caller can supply a callbackUrl to receive the finished response once ready[5]. This matters for document retention because a reviewer working through a retryId workflow needs to remember that the eventual document link, once received, is subject to the same expiration window as a synchronous response. The bridge only shortens the retrieval step; it does not change the retention obligation that follows.

How Do You Design a Retrieval-to-Storage Workflow?

What Are the Concrete Steps From Search to Archived File?

A workable sequence for compliance operations looks like this, applied consistently regardless of which state is being searched: run the search, inspect the results array for the matched entity and the documents array for any available filings, download each document referenced by its url field promptly, and store the downloaded file alongside the search metadata that identifies what was searched and when. The documents array can contain multiple entries, each with its own date and comment, so a single search may surface several distinct filings, such as an original formation document and a later amendment[5]. Treating each entry as a separate artifact to capture, rather than assuming one document represents the entire filing history, avoids gaps in the archived file.

Why Does the Actual Name Searched Matter for Later Readback?

A related but distinct discipline is tracking the actual name used in the search, separate from the raw client input. Cobalt's documentation recommends keeping a column for the validated legal name actually used, for example copied directly from the state site, because it improves reproducibility, lets a team re-run a search consistently, and makes it easier to quantify the lift from normalization[6]. This detail becomes important specifically because links expire: if the original document is lost and must be re-pulled, the reviewer needs the exact query that produced the original match, not an approximation of the borrower's stated legal name. A proposed control is to store, at minimum, three data points together whenever a document is archived: the exact search input, the matched sosId or entity identifier, and the retrieval date. This trio lets a compliance team reconstruct provenance even after the original download link has expired, and even if the archived file itself is later questioned during an exam.

What Does a Worked Example of Expiring Link Handling Look Like?

How Does Entity B's File Play Out From Search to Archive?

Consider an illustrative scenario: application-example-1 involves Borrower A applying for working capital financing on behalf of Entity B, a limited liability company. The underwriting analyst runs a search using searchQuery=Entity B and state=ny. The response returns a matched result with a documents array containing two entries: one dated at formation with a comment indicating "Articles of Organization," and a second dated eighteen months later with a comment indicating "Certificate of Amendment." Each entry includes its own url field pointing to a generated download link[5]. Per Cobalt's documented expiration behavior, both links are valid for a limited window unless an extension was requested[1]. The analyst downloads both files the same day, stores them in the loan file folder for Entity B, and logs the exact searchQuery string, the sosId returned, and the retrieval timestamp in a separate review record.

What Happens If the Reviewer Waits Instead of Archiving Immediately?

Now contrast that with a delayed-archive scenario. A second analyst, reviewing a different file for the same borrower relationship, notes the document links in the response but does not download the files, planning to do so "later in the week" once the credit memo is finalized. More than a week passes. When the analyst returns to archive the documents, both links no longer resolve; the short default validity window described in Cobalt's help documentation has passed without an extension request[1]. The underlying entity record still exists at the New York Division of Corporations, and the analyst can still request copies directly from the state[2], but that now requires a written request process with its own processing time and fee, rather than a same-day download. The loan file is delayed, not lost, but the delay was avoidable. This contrast illustrates the central governing idea: the link is a delivery mechanism, and the archived file, not the URL, is what belongs in the loan file.

What Belongs in a Decision Table for Link Handling?

How Should a Team Route Different Link and Document Outcomes?

The table below is a proposed decision aid for compliance operations staff handling document links returned from a search. It is not a Cobalt feature; it is a customer-owned routing reference intended to sit alongside existing underwriting procedures.

Observed ConditionRecommended ActionOwner
documents array present, links unopenedDownload and store all files same-day; log search inputsReviewing analyst
Link opened but download deferred past retention windowRequest extension if within policy, or re-run search before expiryReviewing analyst
Link already expired, document still neededRequest certified or plain copy directly from filing office[2]Compliance operations
documents array empty for a state known to publish filingsNote absence in file; do not assume document does not existReviewing analyst
Retrieval used retryId or callbackUrl due to asynchronous completionApply same same-day archive rule once final response with documents arrives[5]Reviewing analyst
Multiple documents entries returned (e.g., formation plus amendment)Archive each entry separately with its own date and commentReviewing analyst

What Does the Table Deliberately Leave Out?

This table is deliberately narrow. It does not attempt to describe what each state exposes; whether a documents array is populated depends on the underlying state page for that record, so treat an empty array as a prompt to check the state site directly rather than as proof that no filing exists. Cobalt's alternatives documentation makes a related point: without an address in the request, the response is limited to what appears on the immediate search page, so a thin result can reflect the shape of the request rather than the state record[7].

Two rows also depend on decisions only the lender can make. The extension row assumes the team knows whether its own policy permits asking for a longer link window at all, and who is authorized to make that request. The expired-link row assumes someone owns the state request process, including its fee and turnaround, so that a backfill does not stall in a queue with no named owner. We recommend recording both decisions in the same procedure that holds the table, so the routing reference and the ownership rules travel together.

What Should a Reviewer Worksheet Cover Before Filing?

Which Checklist Items Confirm the Archive Is Complete?

The following worksheet is a proposed customer-owned control, not a Cobalt product feature, intended for a reviewer to complete before marking a loan file's entity verification step closed.

• Exact search input recorded. The reviewer has logged the precise searchQuery, sosId, or person-name parameters used, matching Cobalt's guidance to track the actual name searched separately from raw client input for reproducibility[6].

• State and jurisdiction confirmed. The state parameter used matches the entity's formation or foreign-qualification jurisdiction relevant to the loan, not merely the borrower's mailing address.

• All documents entries downloaded. Every item in the documents array, including multiple filings such as amendments, has been saved locally rather than left as an unopened link[5].

• Retrieval timestamp logged. The date and time of the download is recorded alongside the file, distinct from the filingDate or date field returned by the API.

• Alternatives list reviewed if applicable. Where several close matches appeared, the reviewer used the returned alternatives, which Cobalt limits to roughly the top ten candidates, to confirm the correct entity by city, ZIP, or entity type before archiving[7].

• Missing record escalated, not assumed absent. If a record appears on the state site but was not returned by the search, the reviewer has flagged it for reporting rather than concluding the entity has no filing history[8].

How Should This Worksheet Be Stored Alongside the Document?

A workable policy is to save this worksheet as a structured record attached to the loan file, distinct from the archived PDF or document image itself, so a later reviewer can see both what was retrieved and how the retrieval was validated. Below is an illustrative customer-owned review record for application-example-1, shown only as a format example and not as an actual transaction.

{
  "reviewRecordType": "illustrative_customer_owned_review",
  "applicationReference": "application-example-1",
  "borrower": "Borrower A",
  "entity": "Entity B",
  "searchQueryUsed": "Entity B",
  "stateSearched": "ny",
  "sosIdReturned": "EXAMPLE-ID-0000",
  "documentsArchived": [
    {
      "name": "Articles of Organization",
      "retrievalDate": "example-date-1",
      "storageLocation": "internal-loan-file-folder"
    },
    {
      "name": "Certificate of Amendment",
      "retrievalDate": "example-date-1",
      "storageLocation": "internal-loan-file-folder"
    }
  ],
  "reviewerNotes": "All documents downloaded same day as search; original links not retained as system of record."
}

What Is the Objection to Keeping Only the Link?

Why Does "the URL Identifies the Record" Fall Short?

The most common pushback on this workflow is that keeping the URL is sufficient because it identifies the record, and if anyone needs the document later they can simply click through. This reasoning treats the link as equivalent to a stable citation, similar to a permanent government record identifier. It is not. Cobalt's documentation is explicit that these links are time-limited by design, with a default validity window and an extension that can be requested[1]. A locator can survive well past the point where access through it fails; the URL string itself does not stop existing in your database, but the resource it points to becomes unreachable. This is precisely the gap that catches teams unprepared: a field that once worked silently becomes dead weight in the file, and nothing about the stored text signals that failure until someone clicks it during an exam or a file review months later.

What Is the Honest Fallback When a Link Has Already Expired?

The honest answer is not that the loan file is unrecoverable, but that recovery now requires a different, slower path. New York's Division of Corporations confirms that copies of filed documents, including certified copies, can be requested through a written process, with plain copies available for a stated fee and certified copies for a higher fee, plus optional expedited processing[2]. This means the underlying filing evidence is never truly gone; the state retains its own custody of the record independent of any vendor's cached link. But a lender who must go through this request process to backfill a loan file has traded a same-day download for a multi-day or multi-week wait, plus a fee, at a point when the file may already be under review. Preserving retrieved content with its observed identity at the time of the original search avoids that gap entirely, and is the more defensible operating posture for a compliance function that expects its files to hold up under later scrutiny.

How Does This Connect to Broader Recordkeeping Practice?

What Role Does Documented Search Scope Play in Retention Decisions?

Retention practice cannot be separated from an honest understanding of what the search actually covered. Cobalt's alternatives list documentation notes that when an address is included in a search, the API retrieves fuller details for alternative candidates, such as entity status, filing number, and date, but when no address is provided, the response returns only what is visible on the immediate search page, meaning names and URLs without deeper expansion[7]. This distinction matters for archiving because a file built from an unexpanded alternative may not include a documents array at all, even though the underlying entity does have filed documents at the state level. A reviewer who does not recognize this scope limitation might conclude, incorrectly, that no document exists to archive, when in fact a more targeted search with an address parameter would have surfaced it.

Why Should Missing Records Be Reported Rather Than Assumed?

A related discipline applies to records visible on a state site that a search does not return at all. Cobalt asks that users notify them right away with the example when a record is found on a Secretary of State site that the API does not return, since coverage accuracy is treated as a priority and reported examples help refine parity with state sources[8]. For a compliance team building an archive discipline, this means a "no documents found" result should be treated as an open question requiring either a direct state check or an escalation report, not a closed conclusion that the entity lacks filing history. Related internal discussion of no-match handling suggests structuring these ambiguous outcomes as classified exceptions with a defined owner and next action, rather than leaving them in an undifferentiated review queue[9], which is useful background reading though not itself proof of current product behavior.

How Should a Lender Evaluate and Adopt This Workflow?

What Should Be Tested Before Relying on Document Retrieval in Production?

Before building this retrieval-to-archive workflow into standard underwriting procedure, a lender should test it against realistic failure conditions rather than a single clean example. This includes checking how the system behaves when a state search takes longer than 30 seconds and returns a retryId instead of an immediate result, since the eventual documents array, once available, is still subject to the same expiration window as a synchronous response[5]. It also includes verifying what happens when a callbackUrl is used for asynchronous delivery, so that whoever monitors the callback endpoint understands they are responsible for triggering the same-day archive step once the payload arrives, not just for logging receipt. Related guidance on evaluating a Secretary of State API more generally recommends structuring a sandbox trial around the cases that go wrong, such as slow states and unfamiliar error bodies, rather than a single well-known clean lookup, so that the evaluation reflects production conditions[10]. This is useful background for procurement discussions but does not substitute for a lender's own documented test plan.

What Should a Compliance Team Decide Internally Before Go-Live?

Internally, a lender should decide, in writing, three things before relying on any automated document retrieval in production: what counts as an acceptable retention window for downloaded filings, who owns the same-day archive step when a search is run outside business hours or through an asynchronous callback, and what the escalation path looks like when a document link has already expired and the file needs to be reconstructed through a direct state request. None of these decisions are things a vendor can make on a lender's behalf, since they depend on the lender's own examination posture and file retention policy. Separate discussion of live versus cached data retrieval notes that most APIs default to live data but allow prioritizing cached results for speed, with tradeoffs in latency depending on the state[11], which is a related consideration but distinct from the archive-timing question addressed here. If your team wants to walk through how a retrieval and archive workflow would apply to your specific states and file types, bring your scenario to the Cobalt Intelligence demo page and discuss it directly against your current loan file retention practice.