Skip to main content

What’s an artifact?

Every scene in a pull story — architecture diagram, sequence diagram, file impact view, code diff, blast-radius map — is saved as a standalone artifact. Each has its own URL, its own download, its own share link. This is useful when you want to reference just the auth-flow diagram in a design doc, or just the migration diff in a code review comment.

Get the artifact URL

Open any pull story, hover an artifact, click the share icon. The link goes to:
https://pullstory.com/a/{owner}/{repo}/{number}/{artifactId}
Artifact share UI

Access via the API

curl https://pullstory.com/api/v1/stories/story_01hq.../artifacts \
  -H "Authorization: Bearer $PULLSTORY_API_KEY"
{
  "data": [
    {
      "id": "artifact_01hq...",
      "type": "diagram",
      "title": "Architecture: Auth flow",
      "url": "https://pullstory.com/a/vercel/next.js/12345/artifact_01hq...",
      "downloads": {
        "svg": "https://pullstory.com/api/v1/artifacts/artifact_01hq.../svg",
        "json": "https://pullstory.com/api/v1/artifacts/artifact_01hq.../json"
      }
    }
  ]
}

Download formats

TypeFormats
diagramSVG
code-diffJSON (with syntax-highlighted tokens), patch
file-impactJSON
callout-cardJSON
blast-radiusSVG
ship-checkJSON

Embed a single artifact

<iframe
  src="https://pullstory.com/a/vercel/next.js/12345/artifact_01hq..."
  width="100%"
  height="480"
  frameborder="0"
/>
Artifact IDs are keyed by (head_sha, scene_index). If a PR gets new commits, the pull story regenerates with new artifact IDs — old IDs keep resolving to the previous version’s artifact, so links shared yesterday still work even after the PR evolves.