---
title: "Create a new Agent"
method: POST
path: "/v1/agents"
tags: ["Agents"]
---

# Create a new Agent

`POST /v1/agents`

Creates a new Agent with the specified configuration details.

Please note that some combinations are not compatible, for example, an agentType of 'streaming' cannot have the `enableAutoUpdates` set to true.

## Request body

- CreateAgentRequest
  - `agentType` 'data_productivity_cloud' | 'streaming', required — The type of Agent being created
  - `cloudProvider` 'aws' | 'azure' | 'snowflake' | 'google_cloud' | 'gcp' | 'maia', required — The cloud provider of the Agent to be created. The Cloud Provider must correspond with the chosen Agent Type. Available cloud providers are: - aws - Available for both data_productivity_cloud and streaming Agent Types. - azure - Available for both data_productivity_cloud and streaming Agent Types. - snowflake - Only available for data_productivity_cloud Agent Types. - gcp - Available for both data_productivity_cloud and streaming Agent Types. - google_cloud - Alias for gcp, available for both data_productivity_cloud and streaming Agent Types. - maia - Only available for data_productivity_cloud Agent Types. Creates a Maia-hosted runner managed by Matillion.
  - `deployment` 'fargate' | 'eks' | 'container app' | 'aks' | 'aci' | 'native app' | 'gke' | 'gce' | 'custom_k8s', required — The deployment type of the Agent to be created. The Deployment Type must correspond with the chosen Agent Type and Cloud Provider. Available deployment types are: - fargate - Available for AWS Cloud Provider, for both data_productivity_cloud and streaming Agent Types. - eks - Available for AWS Cloud provider, for both data_productivity_cloud and streaming Agent Types. - container app - Available for Azure Cloud provider, only for data_productivity_cloud Agent Types. - aci - Available for Azure Cloud provider, only for streaming Agent Types. - aks - Available for Azure Cloud provider, for both data_productivity_cloud and streaming Agent Types. - native app - Available for Snowflake Cloud provider, only for data_productivity_cloud Agent Types. - gke - Available for GCP Cloud provider, for both data_productivity_cloud and streaming Agent Types. - gce - Available for GCP Cloud provider, only for streaming Agent Types. - custom_k8s - Only available for Maia cloud provider, only for data_productivity_cloud Agent Types.
  - `description` string — The description to set for the Agent being created
  - `enableAutoUpdates` boolean — Whether the Agent being created is set to automatically update. Note, this is not available for Snowflake Agents or Streaming Agents.
  - `name` string, required — The name to set for the Agent being created
  - `restrictedAccess` boolean — Whether the Agent is restricted to a specific set of projects. If set to true, the Agent will only be applicable to projects it is scoped to have access to. Note, this cannot be set for Streaming Agents.
  - `trackName` 'current' | 'stable' — The version track applied to the Agent being created. This is not required for Streaming Agents. Note, Snowflake Agents can only be on the STABLE track.

## Response `201`

Agent created successfully

- AgentInfo
  - `agentId` string — The ID of the Agent
  - `agentStatus` string — The reported status of the Agent
  - `agentType` string — The type of Agent
  - `cloudProvider` string — The cloud provider the Agent is hosted in
  - `connected` boolean — Whether the Agent is connected
  - `deployment` string — The deployment type of the Agent
  - `description` string — The description set for the Agent
  - `enableAutoUpdates` boolean — Whether the Agent is set to automatically update
  - `name` string — The name of the Agent
  - `pausedUntil` string — The date and time the Agent will be unpaused automatically. Only returned if the Agent is currently paused
  - `restrictedAccess` boolean — Whether the Agent is restricted to a specific set of projects
  - `versionDetails` VersionDetails
    - `agentUpdateAvailable` boolean — Whether an update is available for the agent
    - `agentVersion` string — The reported version of the agent
    - `support` 'SUPPORTED' | 'UNSUPPORTED' — Whether the agent is supported or unsupported
    - `trackName` string — The name of the version track the Agent is on
    - `trackReleaseDate` string — The date the latest version of the version track was released
    - `trackVersion` string — The latest version of the version track the agent is on

## Other responses

- `400` — Invalid request body used
- `403` — Forbidden
- `500` — Unexpected error occurred

---

[API](https://skmtc.net/maia/apis/maia-public-rest-api.md) · [All operations](https://skmtc.net/maia/apis/maia-public-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/maia/maia-public-rest-api/revisions/6239825f68eb/schema)
