Payload schema
One of 4 shapes:
type: "empty"
type: "github-public-template"
GitHub owner (org or user).
Repository-relative directory copied as the new repo root.
Branch, tag, or commit to copy; the default branch when omitted.
GitHub repository name.
type: "github-private"
The named GitHub connection (App installation) minting tokens.
GitHub owner (org or user).
GitHub repository name.
type: "github-public"
Optional named GitHub connection (App installation) to link after the import — enables webhook ingestion and sync. Omit for a plain public clone (Artifacts clones public repos unauthenticated; link later with linkGithub).
Shallow-import depth; omit to let Cloudflare Artifacts import the full history.
GitHub owner (org or user).
GitHub repository name.
Raw JSON schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"oneOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "empty"
}
},
"required": [
"type"
],
"additionalProperties": false,
"description": "Seed a fresh repo with iterate's starter files."
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "github-public-template"
},
"owner": {
"type": "string",
"minLength": 1,
"description": "GitHub owner (org or user)."
},
"path": {
"description": "Repository-relative directory copied as the new repo root.",
"type": "string",
"minLength": 1
},
"ref": {
"description": "Branch, tag, or commit to copy; the default branch when omitted.",
"type": "string",
"minLength": 1
},
"repo": {
"type": "string",
"minLength": 1,
"description": "GitHub repository name."
}
},
"required": [
"type",
"owner",
"repo"
],
"additionalProperties": false,
"description": "Copy the text files in one public GitHub repository folder into a fresh Artifact."
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "github-private"
},
"connection": {
"type": "string",
"minLength": 1,
"description": "The named GitHub connection (App installation) minting tokens."
},
"owner": {
"type": "string",
"minLength": 1,
"description": "GitHub owner (org or user)."
},
"repo": {
"type": "string",
"minLength": 1,
"description": "GitHub repository name."
}
},
"required": [
"type",
"connection",
"owner",
"repo"
],
"additionalProperties": false,
"description": "Seed an empty Artifact, link the GitHub repository, then pull its default branch through the Worker at depth one."
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "github-public"
},
"connection": {
"description": "Optional named GitHub connection (App installation) to link after the import — enables webhook ingestion and sync. Omit for a plain public clone (Artifacts clones public repos unauthenticated; link later with linkGithub).",
"type": "string",
"minLength": 1
},
"depth": {
"description": "Shallow-import depth; omit to let Cloudflare Artifacts import the full history.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"owner": {
"type": "string",
"minLength": 1,
"description": "GitHub owner (org or user)."
},
"repo": {
"type": "string",
"minLength": 1,
"description": "GitHub repository name."
}
},
"required": [
"type",
"owner",
"repo"
],
"additionalProperties": false,
"description": "Have Cloudflare Artifacts clone the public GitHub repository directly (no transfer through the Worker), then link it when a connection is given."
}
]
}