Provenance
Core Concepts

Origins

Identify source systems where interactions originate.

Origins identify where an interaction came from — which service, application, or pipeline recorded it.

Creating an origin

POST /api/origins
{
  "title": "Web Application",
  "description": "Main web application",
  "mnemonic": "WEBAPP",
  "icon": "🌐",
  "fontColorHex": "#ffffff",
  "bgColorHex": "#8b5cf6"
}

Fields

FieldRequiredDescription
titleYesHuman-readable name
mnemonicYesShort uppercase code
descriptionNoWhat this origin represents
iconNoEmoji or icon identifier for UI display
fontColorHexNoText color for UI badges
bgColorHexNoBackground color for UI badges

Response

{
  "originId": "i9j0k1l2-m3n4-5678-opqr-stuvwxyz1234",
  "title": "Web Application",
  "description": "Main web application",
  "mnemonic": "WEBAPP",
  "icon": "🌐",
  "fontColorHex": "#ffffff",
  "bgColorHex": "#8b5cf6",
  "createdDate": "2024-01-15T10:00:00.000Z"
}

Filtering

# Filter by origin ID
GET /api/origins?originId=i9j0k1l2-...

API reference

MethodEndpointDescription
GET/api/originsList all (supports originId param)
GET/api/origins/:idGet by ID
POST/api/originsCreate
PUT/api/origins/:idUpdate
DELETE/api/origins/:idDelete

Common origins

MnemonicDescription
WEBAPPWeb application frontend
MOBILEMobile application
APIDirect API calls
CLIProvenance CLI
SDKProvenance SDK
GITHUB_ACTIONSGitHub Actions CI/CD
GITLAB_CIGitLab CI/CD
JENKINSJenkins pipelines
CRONScheduled jobs

Design tips

  • Create one origin per service or deployment pipeline
  • Origins help you answer "where did this interaction come from?" when debugging
  • Use the CLI's default origin config (provenance config set origin MY-SERVICE) so every interaction from that service is automatically tagged