---
title: "Run approved Git preparation actions for project import onboarding"
method: POST
path: "/api/v1/imports/prepare-git"
tags: ["import"]
---

# Run approved Git preparation actions for project import onboarding

`POST /api/v1/imports/prepare-git`

## Request body

- GitPreparationInput
  - `approvedActions` string[]
  - `githubRepository` GitHubRepositoryPreparation
    - `name` string
    - `owner` string
    - `private` boolean, nullable
  - `importKind` 'project' | 'workspace', required
  - `initialCommitMessage` string
  - `path` string, required
  - `remoteUrl` string
  - `repositories` GitRepositoryPreparationInput[]
    - `approvedActions` string[], required
    - `githubRepository` GitHubRepositoryPreparation
      - `name` string
      - `owner` string
      - `private` boolean, nullable
    - `initialCommitMessage` string
    - `remoteUrl` string
    - `repoPath` string, required
  - `stepwise` boolean

## Response `200`

OK

- GitPreparationResult
  - `events` GitPreparationEvent[], required
    - `action` 'git_init' | 'git_commit' | 'create_remote_repository' | 'set_remote', required
    - `error` string
    - `message` string
    - `repoPath` string, required
    - `state` 'pending' | 'running' | 'success' | 'error', required
  - `validation` ImportValidationResult, required
    - `blockingErrors` string[], required
    - `childRepos` RepoGitStatus[]
      - `blockingErrors` string[], required
      - `hasCommit` boolean, required
      - `hasOrigin` boolean, required
      - `isEmptyFolder` boolean, required
      - `isRepo` boolean, required
      - `needsGitInit` boolean, required
      - `repoPath` string, required
      - `requiredActions` string[], required
    - `importKind` string, required
    - `isValid` boolean, required
    - `nextStep` 'error' | 'choose_import_kind' | 'prepare_git' | 'continue', required
    - `root` RepoGitStatus, required
      - `blockingErrors` string[], required
      - `hasCommit` boolean, required
      - `hasOrigin` boolean, required
      - `isEmptyFolder` boolean, required
      - `isRepo` boolean, required
      - `needsGitInit` boolean, required
      - `repoPath` string, required
      - `requiredActions` string[], required
    - `warning` string

## Other responses

- `400` — Bad Request
- `501` — Not Implemented

## Changes

- **2026-09-08** `460522f9c5fd` — 2 info
  - added the new optional request property `githubRepository/private`
  - added the new optional request property `repositories/items/githubRepository/private`
- **2026-09-08** `4c503296acc3` — 1 warning, 2 info
  - added the new `create_remote_repository` enum value to the `events/items/action` response property for the response status `200`
  - added the new optional request property `githubRepository`
  - added the new optional request property `repositories/items/githubRepository`
- **2026-09-08** `d845c1687d74` — 1 info
  - added the new optional request property `stepwise`
- **2026-09-03** `dab1f04f5348` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/composiohq/apis/agent-orchestrator-http-daemon/changes/api/v1/imports/prepare-git/post.md)

---

[API](https://skmtc.dev/composiohq/apis/agent-orchestrator-http-daemon.md) · [All operations](https://skmtc.dev/composiohq/apis/agent-orchestrator-http-daemon/llms.txt) · [OpenAPI document](https://skmtc.dev/composiohq/apis/agent-orchestrator-http-daemon/revisions/cfaec3fcda51?raw)
