Custom Agents

Onboard Custom Agent

post

Onboard a custom agent from .ncp package (admin-only).

This endpoint is called by ncp onboard command. Unlike SDK deploy, custom agents:

  • Run integrated within platform (no container)

  • Are available to users based on role permissions

  • Go directly to ACTIVE status (admin upload = immediate activation)

Args: file: .ncp package file (tar.gz) update: Optional agent name to update username: Authenticated username from API key db: Database session

Returns: Onboard status and agent information

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Query parameters
updateany ofOptional
stringOptional
or
nullOptional
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Body
filestringRequired
Responses
chevron-right
200

Successful Response

application/json

Response for agent onboarding.

messagestringRequired
agent_idintegerRequired
agent_namestringRequired
statusstring · enumRequired

Status of a custom agent.

Current release uses: ACTIVE, DISABLED Future release adds: PENDING, REJECTED (for UI approval workflow)

Possible values:
post
/api/v1/custom_agents/onboard

List Custom Agents

get

List all custom agents (admin-only).

Args: username: Authenticated username db: Database session

Returns: List of all custom agents

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json

Response for listing custom agents.

totalintegerRequired
get
/api/v1/custom_agents/list

Get Custom Agent

get

Get details of a custom agent (admin-only).

Args: agent_name: Name of the agent username: Authenticated username db: Database session

Returns: Agent details

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Path parameters
agent_namestringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json

Response for agent status/details.

agent_idintegerRequired
namestringRequired
descriptionany ofOptional
stringOptional
or
nullOptional
statusstring · enumRequired

Status of a custom agent.

Current release uses: ACTIVE, DISABLED Future release adds: PENDING, REJECTED (for UI approval workflow)

Possible values:
versionstringRequired
submitted_bystringRequired
created_atany ofOptional
string · date-timeOptional
or
nullOptional
updated_atany ofOptional
string · date-timeOptional
or
nullOptional
error_messageany ofOptional
stringOptional
or
nullOptional
reviewed_byany ofOptional
stringOptional
or
nullOptional
reviewed_atany ofOptional
string · date-timeOptional
or
nullOptional
rejection_reasonany ofOptional
stringOptional
or
nullOptional
feedback_messageany ofOptional
stringOptional
or
nullOptional
get
/api/v1/custom_agents/{agent_name}

Remove Custom Agent

delete

Remove a custom agent (admin-only).

Args: agent_name: Name of the agent username: Authenticated username db: Database session

Returns: Removal confirmation

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Path parameters
agent_namestringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json

Response for agent removal.

messagestringRequired
agent_namestringRequired
delete
/api/v1/custom_agents/{agent_name}

Disable Custom Agent

post

Disable a custom agent (admin-only).

Disabled agents are not loaded into the orchestrator.

Args: agent_name: Name of the agent username: Authenticated username db: Database session

Returns: Updated agent status

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Path parameters
agent_namestringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json

Response for enabling/disabling agent.

messagestringRequired
agent_namestringRequired
statusstring · enumRequired

Status of a custom agent.

Current release uses: ACTIVE, DISABLED Future release adds: PENDING, REJECTED (for UI approval workflow)

Possible values:
post
/api/v1/custom_agents/{agent_name}/disable

Enable Custom Agent

post

Enable a disabled custom agent (admin-only).

Args: agent_name: Name of the agent username: Authenticated username db: Database session

Returns: Updated agent status

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Path parameters
agent_namestringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json

Response for enabling/disabling agent.

messagestringRequired
agent_namestringRequired
statusstring · enumRequired

Status of a custom agent.

Current release uses: ACTIVE, DISABLED Future release adds: PENDING, REJECTED (for UI approval workflow)

Possible values:
post
/api/v1/custom_agents/{agent_name}/enable

Get Custom Agents

get

List all custom agents for Admin (status = 'ACTIVE', 'PENDING', 'REJECTED').

Args: username: Authenticated username db: Database session

Returns: List of all custom agents for admin

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json

Response for listing custom agents for Admin.

totalintegerRequired
get
/api/v1/custom_agents/admin/list

Get Custom Agents By User

get

Get custom agents submitted by the authenticated user.

Args: username: Authenticated username db: Database session

Returns: List of all custom agents for users

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json

Response for listing custom agents.

totalintegerRequired
get
/api/v1/custom_agents/user/my-agent

Submit Custom Agent

post

Upload a new custom agent.

  • Admin: auto-active, extracted, dependencies installed

  • User: pending approval

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Body
filestringRequired
Responses
chevron-right
200

Successful Response

application/json

Response for agent onboarding.

messagestringRequired
agent_idintegerRequired
agent_namestringRequired
statusstring · enumRequired

Status of a custom agent.

Current release uses: ACTIVE, DISABLED Future release adds: PENDING, REJECTED (for UI approval workflow)

Possible values:
post
/api/v1/custom_agents/user/submit

Update Custom Agent

post

Upload a new version of a custom agent.

Args: agent_id: ID of the agent username: Authenticated username db: Database session

Returns: Response message and status

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Path parameters
agent_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Body
filestringRequired
Responses
chevron-right
200

Successful Response

application/json

Response for agent onboarding.

messagestringRequired
agent_idintegerRequired
agent_namestringRequired
versionstringRequired
statusstring · enumRequired

Status of a custom agent.

Current release uses: ACTIVE, DISABLED Future release adds: PENDING, REJECTED (for UI approval workflow)

Possible values:
post
/api/v1/custom_agents/{agent_id}/version

Approve Custom Agent

post

Approve a custom agent (admin-only). extract to runtime directory

Args: agent_id: ID of the agent username: Authenticated username db: Database session

Returns: Approval confirmation

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Path parameters
agent_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json

Response for enabling/disabling agent.

messagestringRequired
agent_namestringRequired
statusstring · enumRequired

Status of a custom agent.

Current release uses: ACTIVE, DISABLED Future release adds: PENDING, REJECTED (for UI approval workflow)

Possible values:
post
/api/v1/custom_agents/{agent_id}/approve

Decline Custom Agent

post

Decline a custom agent (admin-only).

Args: agent_id: ID of the agent username: Authenticated username db: Database session

Returns: Decline confirmation

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Path parameters
agent_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Body
feedbackstringRequired
Responses
chevron-right
200

Successful Response

application/json

Response for enabling/disabling agent.

messagestringRequired
agent_namestringRequired
statusstring · enumRequired

Status of a custom agent.

Current release uses: ACTIVE, DISABLED Future release adds: PENDING, REJECTED (for UI approval workflow)

Possible values:
post
/api/v1/custom_agents/{agent_id}/decline

Remove Custom Agent

delete

Remove a custom agent.

Args: agent_name: Name of the agent username: Authenticated username db: Database session

Returns: Removal confirmation

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Path parameters
agent_namestringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json

Response for agent removal.

messagestringRequired
agent_namestringRequired
delete
/api/v1/custom_agents/user/{agent_name}

Feedback Custom Agent

post

Submit feedback for a custom agent (admin-only).

Args: agent_id (str): description feedback_request (AgentFeedbackRequest): description username (str, optional): description. Defaults to Depends(verify_api_token). db (Session, optional): description. Defaults to Depends(get_db).

Returns: feedback submit confirm

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Path parameters
agent_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Body
messagestringRequired
feedback_typestringRequired
Responses
chevron-right
200

Successful Response

application/json

Response for agent feedback submission.

messagestringRequired
agent_namestringRequired
post
/api/v1/custom_agents/{agent_id}/feedback

Download Custom Agent

get

Download custom agent package (admin and owner).

Args: agent_id (str): ID of the agent username (str, optional): Authenticated username. Defaults to Depends(verify_api_token). db (Session, optional): Database session. Defaults to Depends(get_db).

Returns: FileResponse: The .ncp package file for download

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Path parameters
agent_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json

Response for agent package download.

messagestringRequired
agent_namestringRequired
get
/api/v1/custom_agents/{agent_id}/download

Can Submit Custom Agent

get

Check if the user can submit a new agent.

Args: username (str, optional): The username of the authenticated user. Defaults to Depends(verify_api_token). db (Session, optional): The database session. Defaults to Depends(get_db).

Returns: CustomAgentSubmitResponse: The response indicating if the user have the permission to submit a new agent.

Authorizations
AuthorizationstringRequired

Enter your JWT token (without 'Bearer ' prefix)

Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json

Response for agent submission.

submitAgentbooleanRequired
get
/api/v1/custom_agents/user/can-submit-agent

Last updated