Skip to main content
POST
/
api
/
v0
/
machines
/
templates
Create a machine template
curl --request POST \
  --url https://api.factory.ai/api/v0/machines/templates \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "repoUrl": "<string>",
  "templateName": "<string>",
  "environmentVariables": [
    {
      "key": "<string>",
      "value": "<string>"
    }
  ],
  "setupScript": "<string>"
}
'
{
  "templateId": "<string>",
  "repoUrl": "<string>",
  "templateName": "<string>",
  "defaultBranch": "<string>",
  "createdBy": "<string>",
  "createdAt": 123,
  "buildStatus": {
    "status": "building",
    "failureReason": "setup_script_error",
    "buildStartedAt": 123,
    "builtAt": 123,
    "logs": "<string>"
  },
  "lastUpdatedAt": 123,
  "environmentVariables": [
    {
      "key": "<string>",
      "value": "<string>"
    }
  ],
  "userEnvironmentVariablesByUser": [
    {
      "key": "<string>",
      "value": "<string>"
    }
  ],
  "setupScript": "<string>"
}

Authorizations

Authorization
string
header
required

Factory API key or JWT token for authentication

Body

application/json
repoUrl
string<uri>
required

Repository URL to clone

templateName
string
required

Human-readable template name

Required string length: 1 - 100
environmentVariables
object[]

Environment variables to set in the machine

setupScript
string

Setup script to run after cloning

Maximum string length: 10000

Response

Response for status 201

templateId
string
required

Template ID

repoUrl
required

Repository URL

templateName
string
required

Human-readable template name

defaultBranch
string
required

Default branch name

createdBy
string
required

User ID of creator

createdAt
integer

Creation timestamp (ms)

buildStatus
object

Build status

lastUpdatedAt
integer | null

Last update timestamp (ms)

environmentVariables
object[]

Shared environment variables

userEnvironmentVariablesByUser
object[]

User-specific environment variables

setupScript
string

Setup script to run after cloning