export_opportunities

Remaining read arguments go in query parameters. The answer is the same JSON envelope as the command; the exported text is its content field.

get/v1/library/opportunities/export

Request

  • Base URL: https://app.agentlinkops.com
  • URL: https://app.agentlinkops.com/v1/library/opportunities/export
  • Auth: one of:
    • HTTP bearer
    • HTTP bearer

Query parameters

nichestring

Niche id from the library niche table, for example us-probate. Omit to read every niche.

opportunityType'directory' | 'resource_page' | 'listicle_or_review' | 'guest_post_program' | 'link_insertion' | 'ai_citation_source'

How a link would be earned on the surface: one of the six library opportunity types.

status'held' | 'published' | 'withdrawn'

Record status: held, published or withdrawn. Records are never deleted, so withdrawn records remain readable with their reason.

routeState'verified' | 'partial' | 'unverified'

Route verification state: verified (route page read and states the route), partial (renders client-side) or unverified (could not be read).

freshness'fresh' | 'aging' | 'stale'

Age of the last verification against the fixed 90-day window: fresh (under 60 days), aging (60 to 90 days) or stale (over 90 days or never verified). Computed at read time.

sourceClass'owned_corpus' | 'directory_inventory' | 'cc_host_graph_seed' | 'consented_project_lane' | 'owned_submission'

Provenance source class, which decides redistribution rights per class, never per row.

updatedSincestring date-time

ISO 8601 timestamp; only records whose dates.updated_at is at or after this instant are returned.

format'jsonl' | 'csv' required

jsonl returns one JSON record per line; csv returns the same records flattened to the documented column order.

limitinteger

Maximum records in this export call, 1 to 1000; defaults to 500. Continue with the returned cursor for the rest.

browseboolean

Server-sorted authorized saved rows; omit for legacy paging.

sortstring

Allowlisted saved-field identifier.

order'asc' | 'desc'

Sort direction; stable ID ties, nulls last.

qstring

Literal search of supported saved fields.

table_filtersstring

JSON-encoded array of up to 12 filters. Each filter has column (1 to 80 characters), operator (contains, is, is_not or empty), and value (at most 500 characters).

cursorstring

Opaque list cursor; omit initially.

Headers

X-Workspace-IDstring

Required when using a Clerk human session. With an API key, omit this header or supply its bound workspace.

Response

Remaining read arguments go in query parameters. The answer is the same JSON envelope as the command; the exported text is its content field.

schema_version1 required
read_atstring required

UTC timestamp the read used for freshness.

absence_claim'not_supported' required

not_supported: missing dataset rows cannot prove link absence.

whole_web_coveragefalse required

False: these results do not measure the whole web.

absence_notestring required

Plain statement that a surface missing from this result was not read; it is never evidence that no opportunity exists.

format'jsonl' | 'csv' required
orderingstring required

Recorded page ordering. Legacy reads use update time then record ID; browse reads name their allowlisted column and direction.

limitnumber required
columnsstring[] nullable required

CSV column order by dotted record path; null for jsonl. List-valued fields are one JSON cell each.

rowsnumber required

Records in this export call, bounded by limit; continue with next_cursor.

contentstring required

The exported text: one JSON record per line for jsonl, or header plus one row per record for csv.

has_moreboolean required

True when another page is available.

next_cursorstring nullable required

Opaque continuation for the same listing; null means no further page.

fields_notestring required

Statement that the export carries exactly the fields the read returns for the same filters.

Changes

No recorded changes to this operation across all 1 revision of this API.