Documentation
Documentation

Overview

Spore docs

Start here

Getting startedInstall the CLIAuthentication and keys

Build

Search and filtersSegments and the loopEnrichment lifecycle

Recipes

Recipe: search to a live SegmentRecipe: enrich without a segmentRecipe: land your own research

Connect

Events

Account

Credits and billing

Reference

Conventions
API reference
Export the organization's Operation calls POSTPage the organization's Operation calls GETExport the organization's recorded acts POSTPage the organization's recorded acts GETCancel an enrichment launch POSTRead a vocabulary: tools, filters, knowledge, or NACE GETPublish a staged Commons Generation POSTRestore the retained previous Commons Generation POSTPage the organization's Companies GETCorrect a Company's Core under Spore-If-Match PATCHDelete a Company DELETERead everything you know about one Company GETRead Legal entity data for Companies you hold POSTFind Legal entities in the Commons POSTFold one Company into another POSTMint Companies from your own data, or attach rows to Companies you hold POSTPromote a declared current Fact into Company Core POSTRead one Company GETMeasure requested fields over a set of Companies POSTRun a native enrichment POSTPoll an enrichment GETFollow the organization's durable events stream GETPage a Job's frozen target list GETCreate an API key and reveal its secret once POSTRevoke an organization API key POSTList per-item enrichment outcomes GETDeclare a namespace and its fields before recording into them POSTDelete a declaration while nothing stands on it DELETERead your Catalog GETRecord what you observed about a Company or concluded about a Segment POSTUnlock every Legal entity a search matched POSTSearch the Commons: count, analytics, and a minted sample POSTPage a Segment's members, with the exact count GETName a live filter over your Companies POSTDelete a Segment DELETERead what you have concluded about one Segment GETRename a Segment, or change what it means, under Spore-If-Match PATCHRead a Segment's name and filter GETPage the organization's Segments GETPage the organization's credit ledger GETRead the balance and this key's spend bounds GET
API reference

Page the organization's recorded acts

The organization's durable chronology, newest first: Job and Run lifecycle, Exports, key policy changes, governance changes and balance movements, each with the actor that performed it and the ids it was about. This is the same log the console renders and the same rows an agent can page; opaque cursors preserve stable pagination under concurrent writes. Filter by an exact recorded kind; an unrecognised kind is refused with 422 and the message names the recorded vocabulary. Organization-scoped. Free.

GET
/api/v1/audit/events

The organization's durable chronology, newest first: Job and Run lifecycle, Exports, key policy changes, governance changes and balance movements, each with the actor that performed it and the ids it was about. This is the same log the console renders and the same rows an agent can page; opaque cursors preserve stable pagination under concurrent writes. Filter by an exact recorded kind; an unrecognised kind is refused with 422 and the message names the recorded vocabulary. Organization-scoped.

Free.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

cursor?string

Opaque continuation token from the previous page's nextCursor. Omit for the first page.

limit?integer

Rows per page. Values above 100 are clamped, not rejected.

Range1 <= value <= 100
Default50
kind?string

Return only acts recorded under this exact kind, e.g. key.policy_changed. Unrecognised kinds are refused with 422 rather than answered with an empty page.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/audit/events"
{  "events": [    {      "id": "string",      "at": "2019-08-24T14:15:22Z",      "kind": "string",      "actor": {        "kind": "member",        "userId": "string",        "name": "string"      },      "subject": {        "jobId": "string",        "runId": "string",        "segmentId": "string",        "companyId": "string",        "apiKeyId": "string",        "exportId": "string",        "transactionId": "string"      },      "amount": {        "credits": 0,        "balanceAfter": 0      },      "detail": {        "of": "limits",        "before": {          "overrides": {            "requestsPerMinute": -9007199254740991,            "maxConcurrentRuns": -9007199254740991,            "maxAdmittedJobs": -9007199254740991          },          "effective": {            "requestsPerMinute": -9007199254740991,            "maxConcurrentRuns": -9007199254740991,            "maxAdmittedJobs": -9007199254740991          },          "admissionPaused": true        },        "after": {          "overrides": {            "requestsPerMinute": -9007199254740991,            "maxConcurrentRuns": -9007199254740991,            "maxAdmittedJobs": -9007199254740991          },          "effective": {            "requestsPerMinute": -9007199254740991,            "maxConcurrentRuns": -9007199254740991,            "maxAdmittedJobs": -9007199254740991          },          "admissionPaused": true        }      }    }  ],  "nextCursor": "string",  "recordedKinds": [    "string"  ]}

Export the organization's recorded acts POST

Export the kind-filtered chronology or the whole act Collection using explicit allowlisted fields; a field outside the allowlist is refused with 422. Small exports return inline bytes; larger exports return a durable artifact receipt whose rows are frozen at request time. Free.

Cancel an enrichment launch POST

Requests cancellation of a native launch. Refunds are decided by the canonical terminal transition, not by this operation. Free.