Skip to content

HTTP API

Pick HTTP API when your AI system is reachable at a URL and isn’t built on Flowise or n8n — a LangChain app, your own service, any framework with an HTTP endpoint. Mibo calls your endpoint for active tests and accepts traces back via either OTLP or the Your API canonical shape.

  1. Add your endpoint

    Follow Add an Agent and choose Other agent to create an HTTP API Agent.

  2. Enter the endpoint URL

    Paste the URL where your system receives inputs. This is the address Mibo will send test messages to.

  3. Choose the request method

    Select how inputs should be sent, usually POST. If you’re not sure, POST is the right choice for most systems.

  4. Set up authentication (if needed)

    If your system requires credentials, choose the type:

    • Bearer Token: enter the token value only. Mibo adds the Bearer prefix and sends it in the Authorization header with each request.
    • Custom Headers: name-value pairs for more complex authentication setups.
    • None: your system is open and doesn’t require authentication.
  5. Configure the message template

    This tells Mibo how to format the request body sent to your system. The template uses placeholders that get replaced with real values each time a test runs:

    Placeholder Replaced with
    {user_message} The test case’s input text
    {VARIABLE_NAME} The value of VARIABLE_NAME from the test case’s context
    {request_id} (Optional) The trace ID for this execution

    The default template is { "input": "{user_message}" }. If your system expects a different structure, customize it here. The saved template must include the {user_message} placeholder, even when your test cases use request_body. Mibo checks this when you save the Agent configuration.

    Example: if your template is:

    {
    "question": "{user_message}",
    "userId": "{USER_ID}"
    }

    And your test case has this context:

    { "USER_ID": "usr-123" }

    Then Mibo sends this request body when the test runs:

    {
    "question": "What is the capital of France?",
    "userId": "usr-123"
    }

    See context variables to learn how to define variables in your test cases.

  6. Configure response parsing

    Tell Mibo where to find the text reply in the response. Use dot notation to navigate into the JSON structure:

    API response Path Result
    {"text": "Hello"} text Hello
    {"data": {"message": "Hello"}} data.message Hello
    {"choices": [{"message": {"content": "Hello"}}]} choices.0.message.content Hello

    For arrays, use the index number (0 for the first element). Both choices.0.text and choices[0].text work.

    If you leave it empty, Mibo auto-detects by looking for common keys: text, message, content, output, answer, response.

  7. Test your connection

    Follow Test your connection to verify and save the configuration.

Traces capture what happened inside your system during a test: which tools it called, what data it used, and the steps it took to build a response. For an HTTP API Agent, trace collection is optional. Mibo can evaluate the response without an execution trace.

The Trace Collection settings offer Response only, Inline, and Push. Response only is the default. Choose Inline or Push when your assertions need execution details such as node or tool calls. For passive testing setup, see Passive testing.

Mibo evaluates the response body without requiring trace data. Use this mode for a first response check before you instrument your system. Node and tool-call assertions need Inline or Push trace data.

Your system includes the canonical trace alongside its answer. Set Trace Data Path to the location of an object containing { spans: [...] }. Mibo extracts those spans and uses them as the trace.

Use this mode when your system already builds canonical spans in its response.

Your system POSTs the canonical trace to Mibo’s ingestion endpoint while or after it handles the test input. Mibo waits up to Max Wait for the trace to arrive before completing the evaluation.

This uses the Your API trace format.

Response only Inline Push (Your API)
How data arrives Mibo parses the response and creates a synthetic span Trace data is embedded in the API response under the configured Trace Data Path Your system POSTs canonical spans to /public/traces
Extra config None Trace Data Path Max Wait and Poll Interval

When creating tests with the Test Architect, you can upload a JSON document describing your endpoint’s behavior to help the AI generate more accurate tests. This could be an OpenAPI spec, a sample request/response pair, or any JSON that describes your endpoint’s structure.

Attach the JSON file in the Test Architect chat, or paste its contents directly. For accepted inputs and size limits, see Creating tests through conversation.

  • “Connection failed”: check that the URL is correct and your system is running. Make sure there are no typos in the address.
  • “Authentication error”: verify your token or headers. The most common issue is a missing or expired key.
  • “Empty response”: the response parsing path might be wrong. Check what field name your endpoint uses for its text reply.
  • “Timeout”: your system is taking too long to respond. Check if it’s under heavy load or if the endpoint is correct.