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.
Documentation Index
Fetch the complete documentation index at: https://acai.sh/llms.txt
Use this file to discover all available pages before exploring further.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Push request body
Request body for pushing specs and refs
Git branch name being pushed (e.g., 'main', 'feature/auth-123')
Full 40-character Git commit SHA that this push represents (e.g., 'abc123def456...')
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.
2048Name 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
Optional product name used for refs-only implementation creation or linking
Optional code references
{
"data": {
"auth-feature.AUTH.1": [
{
"is_test": false,
"path": "lib/my_app/auth.ex:42"
}
]
},
"override": false
}Optional list of specs to push
100Name 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.
Response
Push successful
Successful push response
Push 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": []
}