Skip to main content

Resource

A resource is the unit the whole of Perpetual is arranged around. Every concept you work with, a detection, a Space, a case, a user, is a resource.

Perpetual has three surfaces you reach it through: the web app, the API, and the MCP server. Underneath all three sits the resource model. A resource represents one application concept and holds its fields. The web app renders resources, the API exposes them, and the MCP server lets an outside agent act on them, but in every case you are working with resources first. The surface is how you reach a resource. The resource is the thing itself.

You do not create a "resource" directly. You create a detection, a table, a role. Each is a resource kind. This page documents what every kind has in common. Each kind's own page documents what is specific to it.

Common fields​

Every resource carries the same envelope of fields, whatever its kind. A kind's own page lists only the fields specific to that kind and links here for these.

FieldTypeDescription
idstringResource ID. Unique and stable for the life of the resource. Each kind uses its own prefix, such as DET_ for a detection or SPC_ for a Space.
namestringThe resource's name, unique within its kind and scope.
versionintegerMonotonic version, incremented on each committed edit.
organizationIdstringThe organization the resource belongs to, prefixed ORG_.
spaceIdstringThe Space the resource belongs to, prefixed SPC_, for the kinds that are Space-scoped.
changesetIdstringThe changeset holding an uncommitted edit to the resource. Null once committed.
deletedbooleantrue when the resource is marked deleted within a changeset. Default false.
createdAttimestampWhen the resource was created.
updatedAttimestampWhen the resource was last modified.
createdByUserIdstringThe user who created the resource, prefixed USR_. Null when the actor was not a user.
updatedByUserIdstringThe user who last edited the resource, prefixed USR_. Null when the actor was not a user.

Not every kind carries every field. An organization and a user are not Space-scoped, so they have no spaceId. A kind that is not versioned through a changeset omits changesetId and deleted. Each kind's page states the fields it actually has.

Resource kinds​

The resource kinds you reach through the Perplexicon, grouped by what they do.

Identity and access

Content

The authored, version-controlled resources you build. See Content for the category and its shared mechanics.

Datasets

The queryable data. See Dataset resources for the category.

Investigation

  • Cases, the container for investigating and responding to signals.
  • Chats, a conversation with the Simba agent.
  • Threat reports, a security artifact the platform produces.

Infrastructure

  • Data plane, the deployed engine that ingests, materializes, and queries datasets.