Skip to Content
The Makinari API repo now includes an MCP Server — connect your AI models directly. View on GitHub →
REST APIInstancesOverview

Instance Management

Endpoints

List Instances

GET /api/instances

Retrieves a list of remote instances, optionally filtered by site or status.

Query Parameters:

  • site_id (string, UUID, optional): Filter by site ID.
  • status (string, optional): Filter by instance status (e.g., ‘running’, ‘stopped’).
  • limit (number, optional): Number of results to return (default: 50).
  • offset (number, optional): Number of results to skip (default: 0).

Create Instance

POST /api/instances

Creates a new remote instance record.

Request Body:

  • site_id (string, UUID, required): The ID of the site.
  • user_id (string, UUID, required): The ID of the user creating the instance.
  • name (string, required): Name for the instance.
  • instance_type (string, optional): Instance type (ubuntu, browser, windows. default: browser).
  • status (string, optional): Instance status.
  • agent_id (string, UUID, optional): The ID of the agent assigned to this instance.
  • configuration (object, optional): Configuration settings.
  • environment_variables (object, optional): Environment variables.

Get Instance

GET /api/instances/[id]

Retrieves the details of a specific remote instance.

Path Parameters:

  • id (string, UUID, required): The ID of the instance to retrieve.

Update Instance

PUT /api/instances/[id]

Updates the details of a specific remote instance.

Path Parameters:

  • id (string, UUID, required): The ID of the instance to update.

Request Body:

  • Any of the instance fields to update (e.g., status, name, configuration).

Delete Instance

DELETE /api/instances/[id]

Deletes a specific remote instance from the database.

Path Parameters:

  • id (string, UUID, required): The ID of the instance to delete.

Get Instance Logs

GET /api/instances/[id]/logs

Retrieves logs associated with a specific remote instance.

Path Parameters:

  • id (string, UUID, required): The ID of the instance.

Query Parameters:

  • log_type (string, optional): Filter by log type (e.g., ‘error’, ‘system’, ‘agent_action’).
  • level (string, optional): Filter by log level (e.g., ‘info’, ‘warn’, ‘error’).
  • limit (number, optional): Number of results to return (default: 50).
  • offset (number, optional): Number of results to skip (default: 0).

Create Instance Log

POST /api/instances/[id]/logs

Creates a new log entry for a specific instance.

Path Parameters:

  • id (string, UUID, required): The ID of the instance.

Request Body:

  • log_type (string, required): The type of the log.
  • level (string, optional): The log level.
  • message (string, required): The log message.
  • details (object, optional): Additional JSON details.

Get Instance Plans

GET /api/instances/[id]/plans

Retrieves plans associated with a specific remote instance.

Path Parameters:

  • id (string, UUID, required): The ID of the instance.

Query Parameters:

  • status (string, optional): Filter by plan status (e.g., ‘pending’, ‘in_progress’, ‘completed’).
  • plan_type (string, optional): Filter by plan type (e.g., ‘objective’, ‘task’).
  • limit (number, optional): Number of results to return (default: 50).
  • offset (number, optional): Number of results to skip (default: 0).

Create Instance Plan

POST /api/instances/[id]/plans

Creates a new plan entry for a specific instance.

Path Parameters:

  • id (string, UUID, required): The ID of the instance.

Request Body:

  • title (string, required): Plan title.
  • description (string, optional): Plan description.
  • plan_type (string, required): Type of plan.
  • status (string, optional): Plan status.
  • priority (number, optional): Priority.
  • instructions (string, optional): Detailed instructions.
Last updated on