Runloop · Schema

Runloop Agent

An Agent represents a registered AI agent entity.

AIAI AgentsCoding AgentsSandboxesDevboxesCode ExecutionEvaluationBenchmarksSWE-BenchMCPSnapshotsmicroVMEnterpriseSOC 2

Properties

Name Type Description
id string The unique identifier of the Agent.
name string The name of the Agent.
version string Optional version identifier for the Agent. For npm/pip sources this is typically a semver string (e.g. '2.0.65'). For git sources it can be a branch or tag. Omitted for object sources or when not prov
create_time_ms integer The creation time of the Agent (Unix timestamp milliseconds).
is_public boolean Whether the Agent is publicly accessible.
source object The source configuration for the Agent.
View JSON Schema on GitHub

JSON Schema

runloop-agent-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/runloop-ai/main/json-schema/runloop-agent-schema.json",
  "title": "Runloop Agent",
  "description": "An Agent represents a registered AI agent entity.",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "id": {
      "type": "string",
      "description": "The unique identifier of the Agent."
    },
    "name": {
      "type": "string",
      "description": "The name of the Agent."
    },
    "version": {
      "type": "string",
      "nullable": true,
      "description": "Optional version identifier for the Agent. For npm/pip sources this is typically a semver string (e.g. '2.0.65'). For git sources it can be a branch or tag. Omitted for object sources or when not provided."
    },
    "create_time_ms": {
      "type": "integer",
      "format": "int64",
      "description": "The creation time of the Agent (Unix timestamp milliseconds)."
    },
    "is_public": {
      "type": "boolean",
      "description": "Whether the Agent is publicly accessible."
    },
    "source": {
      "$ref": "#/$defs/AgentSource",
      "nullable": true,
      "description": "The source configuration for the Agent."
    }
  },
  "required": [
    "id",
    "name",
    "create_time_ms",
    "is_public"
  ],
  "$defs": {
    "NpmSource": {
      "type": "object",
      "additionalProperties": false,
      "description": "NPM-based agent source configuration.",
      "properties": {
        "package_name": {
          "type": "string",
          "description": "NPM package name"
        },
        "registry_url": {
          "type": "string",
          "nullable": true,
          "description": "NPM registry URL"
        },
        "agent_setup": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "nullable": true,
          "description": "Setup commands to run after installation"
        }
      },
      "required": [
        "package_name"
      ]
    },
    "PipSource": {
      "type": "object",
      "additionalProperties": false,
      "description": "Pip-based agent source configuration.",
      "properties": {
        "package_name": {
          "type": "string",
          "description": "Pip package name"
        },
        "registry_url": {
          "type": "string",
          "nullable": true,
          "description": "Pip registry URL"
        },
        "agent_setup": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "nullable": true,
          "description": "Setup commands to run after installation"
        }
      },
      "required": [
        "package_name"
      ]
    },
    "ObjectSource": {
      "type": "object",
      "additionalProperties": false,
      "description": "Object store agent source configuration.",
      "properties": {
        "object_id": {
          "type": "string",
          "description": "Object ID"
        },
        "agent_setup": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "nullable": true,
          "description": "Setup commands to run after unpacking"
        }
      },
      "required": [
        "object_id"
      ]
    },
    "GitSource": {
      "type": "object",
      "additionalProperties": false,
      "description": "Git-based agent source configuration.",
      "properties": {
        "repository": {
          "type": "string",
          "description": "Git repository URL"
        },
        "ref": {
          "type": "string",
          "nullable": true,
          "description": "Optional Git ref (branch/tag/commit), defaults to main/HEAD"
        },
        "agent_setup": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "nullable": true,
          "description": "Setup commands to run after cloning"
        }
      },
      "required": [
        "repository"
      ]
    },
    "AgentSource": {
      "type": "object",
      "additionalProperties": false,
      "description": "Agent source configuration.",
      "properties": {
        "type": {
          "type": "string",
          "description": "Source type: npm, pip, object, or git"
        },
        "npm": {
          "$ref": "#/$defs/NpmSource",
          "nullable": true,
          "description": "NPM source configuration"
        },
        "pip": {
          "$ref": "#/$defs/PipSource",
          "nullable": true,
          "description": "Pip source configuration"
        },
        "object": {
          "$ref": "#/$defs/ObjectSource",
          "nullable": true,
          "description": "Object store source configuration"
        },
        "git": {
          "$ref": "#/$defs/GitSource",
          "nullable": true,
          "description": "Git source configuration"
        }
      },
      "required": [
        "type"
      ]
    }
  }
}