v1

latestOpenAPI 3.0.02026-07-17527114.4 KB
Actions

Push from branch

Sync data from your current git branch to the server.

  • Upload specs (feature.yaml files) and the requirements and metadata defined in them.
  • Upload code references (ACID tags) found in source code, and their file paths.

This endpoint can create or link implementations while syncing specs and refs, but it does not accept feature-state writes or configure implementation settings directly.

Use this when source code or specs have changed on a branch. This endpoint is primarily intended to serve the acai push CLI command.

post/push

Request body

branch_namestring required

Git branch name being pushed (e.g., 'main', 'feature/auth-123')

commit_hashstring required

Full 40-character Git commit SHA that this push represents (e.g., 'abc123def456...')

parent_impl_namestring

Name of a parent implementation for inheritance. When creating a new implementation, it will inherit the parent's baseline and refs (e.g., create 'feature-branch-impl' with parent 'main' to start with main's baseline). Useful for short-lived branches that extend an existing implementation

product_namestring

Optional product name used for refs-only implementation creation or linking

repo_uristring required

repo_uri should be in the format host/owner/repo (e.g. github.com/my-org/my-repo). Supported hosts for deep linking are github.com, gitlab.com, and bitbucket.org. Self-hosted instances may work for tracking but deep links are not guaranteed yet.

target_impl_namestring

Name of the implementation (deployment environment) to associate this branch with. An implementation represents a deployable instance of your product (e.g., 'production', 'staging', 'mobile-app-v2'). For spec-push creation flows, a missing implementation may be auto-created within the product. For refs-only pushes, product_name + target_impl_name must resolve to an existing implementation unless parent_impl_name is also provided to create a new child implementation.

Example request

{
  "branch_name": "main",
  "commit_hash": "abc123def456",
  "repo_uri": "github.com/my-org/my-repo",
  "specs": [
    {
      "feature": {
        "name": "auth-feature",
        "product": "my-app"
      },
      "meta": {
        "last_seen_commit": "abc123def456",
        "path": "features/auth.feature.yaml"
      },
      "requirements": {
        "auth-feature.AUTH.1": {
          "requirement": "Must validate credentials"
        }
      }
    }
  ]
}

Response

Push successful

Example response

{
  "data": {
    "branch_id": "123e4567-e89b-12d3-a456-426614174001",
    "implementation_id": "123e4567-e89b-12d3-a456-426614174000",
    "implementation_name": "production",
    "product_name": "my-app",
    "specs_created": 1,
    "specs_updated": 0,
    "warnings": []
  }
}