Agents are the core AI personalities in your workspace. Each agent has a name, description, time zone, optional voice provider keys, and one or more avatars. Use these endpoints to manage agents and their avatar images.
Returns the agents accessible to the authenticated user. Use the optional workspace_id filter to scope results to a single workspace.
Parameter Type Required Description workspace_idinteger No Filter agents to a specific workspace.
"description" : " Trend analysis agent " ,
"primary_avatar_url" : " https://cdn.gen.pro/avatars/42/thumbnail.webp " ,
"organization" : " My Company " ,
"time_zone" : " America/New_York " ,
"tiktok_integration" : false ,
"tiktok_social_account" : false ,
"default_user_voice" : null
curl https://api.gen.pro/v1/agents \
-H " X-API-Key: your-api-key "
curl " https://api.gen.pro/v1/agents?workspace_id=10 " \
-H " X-API-Key: your-api-key "
Status Error code Description 401unauthorizedMissing or invalid API key.
Creates a new agent. If organization_id is provided, the agent is created within that workspace (requires manage_agents permission). Otherwise, it is created as a personal agent.
Parameter Type Required Description agent[name]string Yes Agent name. Must be unique within the workspace. agent[description]string No A short description of the agent’s purpose. agent[time_zone]string No IANA time zone identifier (e.g. America/New_York). agent[eleven_lab_api_key]string No ElevenLabs API key for voice synthesis. Validated on submission. agent[hume_ai_api_key]string No Hume AI API key for emotional voice. Validated on submission. agent[agent_avatars_attributes]array No Array of avatar objects with file (image upload) or degod_avatar_id. organization_idinteger No Workspace to create the agent in.
"name" : " ProductReviewer " ,
"description" : " Reviews trending products " ,
"time_zone" : " America/Los_Angeles " ,
"primary_avatar_id" : null ,
"primary_avatar_url" : null ,
"default_user_voice" : null
curl -X POST https://api.gen.pro/v1/agents \
-H " X-API-Key: your-api-key " \
-H " Content-Type: application/json " \
"name": "ProductReviewer",
"description": "Reviews trending products",
"time_zone": "America/Los_Angeles"
Status Error code Description 401unauthorizedMissing or invalid API key. 422agent_creation_failedValidation failed (e.g. duplicate name in workspace). 422organization_not_foundThe specified organization_id does not exist or you lack access. 422invalid_api_keyThe provided ElevenLabs or Hume AI API key is invalid.
Returns a single agent by ID. Includes full detail such as organization ID, primary avatar, and voice configuration.
Parameter Type Required Description idstring Yes The agent ID (path parameter). with_organization_uuidboolean No If true, includes the workspace UUID in the response.
"description" : " Trend analysis agent " ,
"time_zone" : " America/New_York " ,
"primary_avatar_id" : 101 ,
"primary_avatar_url" : " https://cdn.gen.pro/avatars/42/thumbnail.webp " ,
"agent_setup_project_id" : 500 ,
"provider" : " eleven_labs " ,
"url" : " https://api.elevenlabs.io/v1/previews/voice_abc123.mp3 "
curl https://api.gen.pro/v1/agents/42 \
-H " X-API-Key: your-api-key "
Status Error code Description 401unauthorizedMissing or invalid API key. 403permission_deniedYou do not have access to this agent. 422agent_not_foundNo agent exists with the given ID.
Updates an existing agent’s name, description, time zone, voice keys, avatar, or default voice. Requires editor role or higher in the workspace.
Parameter Type Required Description idstring Yes The agent ID (path parameter). agent[name]string No Updated agent name. agent[description]string No Updated description. agent[time_zone]string No IANA time zone identifier. agent[eleven_lab_api_key]string No ElevenLabs API key. Validated on submission. agent[hume_ai_api_key]string No Hume AI API key. Validated on submission. agent[agent_avatars_attributes]array No Array of avatar objects. Providing this resets the primary avatar. Each object accepts degod_avatar_id, file (image upload), and is_primary (boolean). agent[default_user_voice_attributes]object No Set the default voice. Requires source (eleven_labs, hume_ai, or user_voice_resource) and voice_id.
"description" : " Updated trend agent " ,
"time_zone" : " Europe/London " ,
"primary_avatar_id" : 101 ,
"primary_avatar_url" : " https://cdn.gen.pro/avatars/42/thumbnail.webp " ,
"voice_id" : " voice_abc123 "
curl -X PATCH https://api.gen.pro/v1/agents/42 \
-H " X-API-Key: your-api-key " \
-H " Content-Type: application/json " \
"description": "Updated trend agent",
"time_zone": "Europe/London"
Status Error code Description 401unauthorizedMissing or invalid API key. 403permission_deniedYou do not have access to this agent. 404user_voice_resource_not_foundThe specified voice_id for a user_voice_resource source does not exist on this agent. 422agent_not_foundNo agent exists with the given ID. 422validation_errorOne or more fields failed validation. 422agent_update_failedAn unexpected error occurred during update. 422invalid_api_keyThe provided ElevenLabs or Hume AI API key is invalid. 422voice_id_requiredvoice_id is required when source is present in default_user_voice_attributes.
Soft-deletes an agent. Requires owner or manager role, or being the agent’s creator.
Parameter Type Required Description idstring Yes The agent ID (path parameter).
Returns 200 OK with an empty body on success.
curl -X DELETE https://api.gen.pro/v1/agents/42 \
-H " X-API-Key: your-api-key "
Status Error code Description 401unauthorizedMissing or invalid API key. 403forbiddenYou do not have permission to delete this agent.
Returns the avatar images for an agent, ordered with the primary avatar first. Supports cursor-based pagination (20 per page).
GET /v1/agents/:agent_id/avatars
Parameter Type Required Description agent_idstring Yes The agent ID (path parameter). cursorinteger No Return avatars with an ID greater than this value (for pagination).
"url" : " https://cdn.gen.pro/avatars/101/original.webp " ,
"thumbnail_url" : " https://cdn.gen.pro/avatars/101/thumbnail.webp " ,
"url" : " https://cdn.gen.pro/avatars/102/original.webp " ,
"thumbnail_url" : " https://cdn.gen.pro/avatars/102/thumbnail.webp " ,
curl https://api.gen.pro/v1/agents/42/avatars \
-H " X-API-Key: your-api-key "
curl " https://api.gen.pro/v1/agents/42/avatars?cursor=101 " \
-H " X-API-Key: your-api-key "
Status Error code Description 401unauthorizedMissing or invalid API key. 404agent_not_foundThe specified agent does not exist.
Uploads one or more avatar images for an agent. Accepts image files (JPEG, PNG, or WebP) or DeGod avatar IDs.
POST /v1/agents/:agent_id/avatars
Parameter Type Required Description agent_idstring Yes The agent ID (path parameter). agent_avatars_attributesarray Yes Array of avatar objects. Each object accepts file (multipart image upload) or degod_avatar_id (integer).
Returns 200 OK with an empty body on success.
curl -X POST https://api.gen.pro/v1/agents/42/avatars \
-H " X-API-Key: your-api-key " \
-F " agent_avatars_attributes[][file]=@avatar.png "
Status Error code Description 401unauthorizedMissing or invalid API key. 404agent_not_foundThe specified agent does not exist. 422avatar_creation_failedImage validation failed (wrong format or missing file).
Sets an avatar as the agent’s primary avatar. All other avatars for the agent are marked as non-primary.
PATCH /v1/agents/:agent_id/avatars/:id
Parameter Type Required Description agent_idstring Yes The agent ID (path parameter). idinteger Yes The avatar ID (path parameter).
Returns 200 OK with an empty body on success.
curl -X PATCH https://api.gen.pro/v1/agents/42/avatars/101 \
-H " X-API-Key: your-api-key "
Status Error code Description 401unauthorizedMissing or invalid API key. 404agent_not_foundThe specified agent does not exist. 422avatar_update_failedThe avatar could not be found or updated.
Removes one or more avatars from an agent. If the deleted avatar was primary, the next available avatar is automatically promoted to primary.
DELETE /v1/agents/:agent_id/avatars/:id
Parameter Type Required Description agent_idstring Yes The agent ID (path parameter). idstring Yes The DeGod avatar ID to delete. To delete multiple, pass IDs separated by underscores (e.g. 7_8_9).
Returns 200 OK with an empty body on success.
curl -X DELETE https://api.gen.pro/v1/agents/42/avatars/7 \
-H " X-API-Key: your-api-key "
# Delete multiple avatars
curl -X DELETE https://api.gen.pro/v1/agents/42/avatars/7_8_9 \
-H " X-API-Key: your-api-key "
Status Error code Description 401unauthorizedMissing or invalid API key. 404agent_not_foundThe specified agent does not exist.