API v1
Custom Functions
Custom Functions CRUD

Create Custom Function

Create a new custom function. Provide a name, optional description, and Python source code. The code must define a function called xpander_run_action(...) that will be executed when the function is invoked. After creation, the function is automatically analyzed for safety and input schema extraction. Status will transition from 'analysing' to 'ready' once analysis completes.

post/v1/custom_functions

Request

  • Base URL
    https://api.xpander.ai (the document declares no server; this is the origin it was published from)
  • Auth
    API key in header x-api-key

Request body

namestring required

Human-readable name for the custom function. Used as the display name in the agent's tool list. Examples: 'Calculate Tax', 'Parse CSV Data'.

function_namestring nullable

Optional programmatic function name. If not provided, defaults to 'xpander_run_action'. The source_code must define a function with this name.

descriptionstring nullable

Description of what the function does. This is shown to the LLM when the function is used as an agent tool, so make it clear and action-oriented.

source_codestring required

Python source code for the custom function. Must define a function called xpander_run_action(...) (or the name specified in function_name).

The function receives keyword arguments matching its parameter signature. It should return a dict or string result.

Example:

def xpander_run_action(text: str, max_words: int = 100) -> dict:
    words = text.split()[:max_words]
    return {"word_count": len(words), "truncated_text": " ".join(words)}

The function runs in a secure Python 3.12 sandbox with common libraries available (requests, json, re, datetime, etc.). Do NOT use: file system access, subprocess, os.system, eval/exec, or network access to internal services.

Response

Successful Response

unknown required

Changes

No recorded changes to this operation across all 5 revisions of this API.