Skip to main content
The nunu.ai Public API allows you to programmatically interact with your projects, manage test runs, and upload builds. Use it to integrate nunu.ai into your CI/CD pipelines, build custom tooling, or automate your testing workflows.

Base URL

Requests to the main API are scoped to a project. The base URL includes the ID of the project you are working with:
You can copy the project ID from the project settings page or from the project URL in the dashboard. The artifacts and knowledge endpoints are the exception: they are served by the bouncer service at https://bouncer.nunu.ai and do not use this base URL. See their sections below for details.
Requests without the /project/{projectId} prefix (for example https://nunu.ai/api/v1/runs) keep working for existing integrations that use project API keys. The project is inferred from the key. New integrations should use the project scoped form shown here. Organization API keys only work with the project scoped form.

Available Endpoints

Runs

Start tests, monitor progress, retrieve results, and access bug reports

Builds

Upload and manage builds in nunu.ai’s cloud storage

Artifacts

List and download recordings, logs, and deliverables produced by a run

Knowledge

Read knowledge files attached to your project, agents, and test cases

Runs Endpoints

Builds Endpoints

Artifacts Endpoints

Served by the bouncer service at https://bouncer.nunu.ai (not nunu.ai/api/v1). Authenticated with the same X-Api-Key header.

Knowledge Endpoints

Served by the bouncer service at https://bouncer.nunu.ai (not nunu.ai/api/v1). Authenticated with the same X-Api-Key header.

Authentication

All API requests require authentication via an API key. Include your API key in the X-Api-Key header:
Get your API keys from Project Admin → API Keys in the nunu.ai dashboard. Organization admins can also create organization API keys under Org Admin → API Keys; these keys work across all projects of the organization. Each key requires specific permissions based on the endpoints you want to access.

Learn more about authentication

API key management, permissions, and security best practices

Permissions

API keys are scoped to specific permissions. Use only the permissions you need:

Response Format

All responses are returned as JSON. Successful responses typically include:
Error responses follow this format:

HTTP Status Codes

Rate Limits

The API uses rate limiting to ensure fair usage. If you exceed the rate limit, you’ll receive a 429 Too Many Requests response. Implement exponential backoff when retrying requests.

SDKs and Tools

While you can use the API directly, we recommend using our official tools for common use cases:

CLI Tool

Upload builds from any environment

GitHub Action

Integrate with GitHub Actions