---
title: "Create Raised Expert"
method: POST
path: "/api/experts/raise"
tags: ["v2", "experts", "experts", "private"]
---

# Create Raised Expert

`POST /api/experts/raise`

## Request body

- CreateRaisedExpertRequest
  - `name` string, required
  - `role` string, nullable
  - `avatar_url` string, nullable
  - `color` string, nullable
  - `voice_preferences` string, nullable
  - `about` string, nullable
  - `weekly_budget` integer, nullable
  - `attachments` RaiseAttachment[]
    - `kind` 'workflow' | 'skill', required
    - `source` 'marketplace' | 'library', required
    - `id` string, required

## Response `200`

Successful Response

- RaiseResult — Result of raising a blank expert. Attachments are validated before the expert row is created. A later install failure is non-fatal and listed in ``failed_attachments`` so the client can surface partial success.
  - `expert` Expert, required
    - `id` string, required
    - `name` string, required
    - `avatar_url` string, nullable, required
    - `color` string
    - `role` string, required
    - `tagline` string, nullable, required
    - `bio` string, nullable, required
    - `skills` string[], required
    - `identity` string, required
    - `voice_preferences` string, required
    - `voice_samples` VoiceSample[]
      - `label` string, required
      - `text` string, required
    - `boundaries` string, required
    - `protected_soul_rules` string[], required
    - `is_template` boolean, required
    - `source_template_id` string, nullable, required
    - `is_archived` boolean, required
    - `workflows` ExpertWorkflowRef[], required
      - `id` string, required
      - `store_listing_version_id` string, nullable, required
      - `library_agent_id` string, nullable, required
      - `graph_id` string, nullable, required
      - `name` string, nullable, required
      - `description` string, nullable, required
      - `schedule_cron` string, nullable
      - `schedule_id` string, nullable
    - `last_run_at` string, date-time, nullable
    - `last_run_status` string, nullable
    - `weekly_budget` integer, nullable
    - `weekly_spend` integer
    - `schedules_paused_at` string, date-time, nullable
    - `pod_id` string, nullable
  - `failed_attachments` RaiseAttachmentFailure[]
    - `kind` 'workflow' | 'skill', required
    - `source` 'marketplace' | 'library', required
    - `id` string, required
    - `reason` 'unavailable' | 'installation_failed', required

## Other responses

- `401` — Authentication required
- `404` — Attachment not found or unavailable
- `409` — Active expert limit reached
- `422` — Validation Error

## Changes

- **2026-08-18** `7a73da1c44a4` — 2 breaking, 1 warning, 7 info
  - removed the required property `first_job_failure_reason` from the response with the `200` status
  - removed the required property `first_job_installed` from the response with the `200` status
  - removed the request property `first_job_store_listing_version_id`
  - added the new optional request property `about`
  - …6 more
- **2026-08-18** `33733e416a7d` — 1 info
  - added the optional property `expert/pod_id` to the response with the `200` status
- **2026-08-17** `6016b8cd8e05` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/changes/api/experts/raise/post.md)

---

[API](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server.md) · [All operations](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/significant-gravitas/autogpt-agent-server/revisions/5dc375899754/schema)
