Pointy Backend API

v1.0.0
Base URL
/backend

HTTP API served by the Pointy backend. All routes are mounted under the /backend prefix by the reverse proxy.

autocomplete

/autocomplete

POST
/backend/autocomplete

Returns autocomplete suggestions for a field, evaluated against the user repository.

Body

application/json;charset=utf-8
autocompletestringrequired
contextobjectrequired
limitinteger[-9223372036854776000, 9223372036854776000]
querystringrequired
templatestringrequired

Parameters

commitstringquery

Response

200OKArray<string>
400Bad Request

Invalid body or commit

/autocomplete
curl -X POST '/backend/autocomplete' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -d '{
    "autocomplete": "string",
    "context": {},
    "limit": -9223372036854776000,
    "query": "string",
    "template": "string"
  }'
const response = await fetch('/backend/autocomplete', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json;charset=utf-8',
  },
  body: JSON.stringify({
      "autocomplete": "string",
      "context": {},
      "limit": -9223372036854776000,
      "query": "string",
      "template": "string"
    }),
});

const data = await response.json();
import requests

payload = {
  "autocomplete": "string",
  "context": {},
  "limit": -9223372036854776000,
  "query": "string",
  "template": "string"
}

response = requests.post('/backend/autocomplete', json=payload)
data = response.json()
Request Body
{
  "autocomplete": "string",
  "context": {},
  "limit": -9223372036854776000,
  "query": "string",
  "template": "string"
}
200
[
  "string"
]

commit-hash

/commit-hash

GET
/backend/commit-hash

Returns the commit hash the user repository is currently checked out at.

Response

200OKstring
/commit-hash
curl -X GET '/backend/commit-hash'
const response = await fetch('/backend/commit-hash', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/commit-hash')
data = response.json()
200
string

notices

/notices

GET
/backend/notices

Returns evaluation notices (warnings and errors) for a step.

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery
commitstringquery

Response

200OKDynamicJson
400Bad Request

Invalid commit or id

/notices
curl -X GET '/backend/notices'
const response = await fetch('/backend/notices', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/notices')
data = response.json()
200
{}

presets

/presets

GET
/backend/presets

Returns the field presets defined in the user repository.

Parameters

commitstringquery

Response

200OKDynamicJson
400Bad Request

Invalid commit

/presets
curl -X GET '/backend/presets'
const response = await fetch('/backend/presets', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/presets')
data = response.json()
200
{}

project-entities

/project-entities

POST
/backend/project-entities

Assigns a record to a project.

Parameters

project_idinteger[-9223372036854776000, 9223372036854776000]requiredquery
entity_idinteger[-9223372036854776000, 9223372036854776000]requiredquery

Response

200OK
400Bad Request

Invalid entity_id or project_id

/project-entities
curl -X POST '/backend/project-entities'
const response = await fetch('/backend/project-entities', {
  method: 'POST',
});

const data = await response.json();
import requests

response = requests.post('/backend/project-entities')
data = response.json()

/project-entities

DELETE
/backend/project-entities

Removes a record assignment from a project.

Parameters

project_idinteger[-9223372036854776000, 9223372036854776000]requiredquery
entity_idinteger[-9223372036854776000, 9223372036854776000]requiredquery

Response

200OK
400Bad Request

Invalid entity_id or project_id

/project-entities
curl -X DELETE '/backend/project-entities'
const response = await fetch('/backend/project-entities', {
  method: 'DELETE',
});

const data = await response.json();
import requests

response = requests.delete('/backend/project-entities')
data = response.json()

/project-entities/batch

POST
/backend/project-entities/batch

Assigns multiple records to a project in one request.

Body

application/json;charset=utf-8
Array<integer>

Parameters

project_idinteger[-9223372036854776000, 9223372036854776000]requiredquery

Response

200OK
400Bad Request

Invalid body or project_id

/project-entities/batch
curl -X POST '/backend/project-entities/batch' \
  -H 'Content-Type: application/json;charset=utf-8' \
  -d '[
    -9223372036854776000
  ]'
const response = await fetch('/backend/project-entities/batch', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json;charset=utf-8',
  },
  body: JSON.stringify([
      -9223372036854776000
    ]),
});

const data = await response.json();
import requests

payload = [
  -9223372036854776000
]

response = requests.post('/backend/project-entities/batch', json=payload)
data = response.json()
Request Body
[
  -9223372036854776000
]

projects

/projects

GET
/backend/projects

Returns all project records, optionally at a specific user-repo commit.

Parameters

commitstringquery

Response

200OKDynamicJson
400Bad Request

Invalid commit

/projects
curl -X GET '/backend/projects'
const response = await fetch('/backend/projects', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/projects')
data = response.json()
200
{}

/projects

POST
/backend/projects

Creates a project record in the user repository.

Body

application/json
DynamicJson

Response

200OKDynamicJson
400Bad Request

Invalid body

/projects
curl -X POST '/backend/projects' \
  -H 'Content-Type: application/json' \
  -d '{}'
const response = await fetch('/backend/projects', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({}),
});

const data = await response.json();
import requests

payload = {}

response = requests.post('/backend/projects', json=payload)
data = response.json()
Request Body
{}
200
{}

/projects

DELETE
/backend/projects

Deletes a project record.

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery

Response

200OK
400Bad Request

Invalid id

/projects
curl -X DELETE '/backend/projects'
const response = await fetch('/backend/projects', {
  method: 'DELETE',
});

const data = await response.json();
import requests

response = requests.delete('/backend/projects')
data = response.json()

/projects

PATCH
/backend/projects

Updates an existing project record.

Body

application/json
DynamicJson

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery

Response

200OK
400Bad Request

Invalid body or id

/projects
curl -X PATCH '/backend/projects' \
  -H 'Content-Type: application/json' \
  -d '{}'
const response = await fetch('/backend/projects', {
  method: 'PATCH',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({}),
});

const data = await response.json();
import requests

payload = {}

response = requests.patch('/backend/projects', json=payload)
data = response.json()
Request Body
{}

run-step

/run-step

POST
/backend/run-step

Triggers a build of a step.

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery
commitstringquery

Response

200OK
400Bad Request

Invalid commit or id

/run-step
curl -X POST '/backend/run-step'
const response = await fetch('/backend/run-step', {
  method: 'POST',
});

const data = await response.json();
import requests

response = requests.post('/backend/run-step')
data = response.json()

src-files

/src-files

GET
/backend/src-files

Lists source files available to a step.

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery
pathstringquery

Response

200OKArray<DirEntry>
400Bad Request

Invalid path or id

/src-files
curl -X GET '/backend/src-files'
const response = await fetch('/backend/src-files', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/src-files')
data = response.json()
200
[
  {
    "isDir": true,
    "mimeType": "string",
    "name": "string",
    "seekable": true,
    "size": 0,
    "viewable": true
  }
]

/src-files/download

GET
/backend/src-files/download

Downloads a single source file.

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery
pathstringrequiredquery

Response

200OKStreamingBody<binary>
400Bad Request

Invalid path or id

/src-files/download
curl -X GET '/backend/src-files/download'
const response = await fetch('/backend/src-files/download', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/src-files/download')
data = response.json()
200
"<binary>"

/src-files/seek

GET
/backend/src-files/seek

Returns a bounded source-file chunk. Specify exactly one of line or offset and a nonzero signed byte count: positive bytes read forward from the anchor; negative bytes read backward and end at the anchor.

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery
pathstringrequiredquery
lineinteger[-9223372036854776000, 9223372036854776000]query
offsetinteger[-9223372036854776000, 9223372036854776000]query
bytesinteger[-9223372036854776000, 9223372036854776000]requiredquery

Response

200OKFileChunk
400Bad Request

Invalid bytes or offset or line or path or id

/src-files/seek
curl -X GET '/backend/src-files/seek'
const response = await fetch('/backend/src-files/seek', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/src-files/seek')
data = response.json()
200
{
  "content": "string",
  "endLine": -9223372036854776000,
  "endOffset": -9223372036854776000,
  "eof": true,
  "startLine": -9223372036854776000,
  "startOffset": -9223372036854776000
}

step

/step

POST
/backend/step

Creates a step, optionally seeded from a source step.

Body

application/json
DynamicJson

Parameters

project_idinteger[-9223372036854776000, 9223372036854776000]query
source_idinteger[-9223372036854776000, 9223372036854776000]query

Response

200OKDynamicJson
400Bad Request

Invalid body or source_id or project_id

/step
curl -X POST '/backend/step' \
  -H 'Content-Type: application/json' \
  -d '{}'
const response = await fetch('/backend/step', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({}),
});

const data = await response.json();
import requests

payload = {}

response = requests.post('/backend/step', json=payload)
data = response.json()
Request Body
{}
200
{}

/step

PATCH
/backend/step

Updates an existing step record.

Body

application/json
DynamicJson

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery

Response

200OK
400Bad Request

Invalid body or id

/step
curl -X PATCH '/backend/step' \
  -H 'Content-Type: application/json' \
  -d '{}'
const response = await fetch('/backend/step', {
  method: 'PATCH',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({}),
});

const data = await response.json();
import requests

payload = {}

response = requests.patch('/backend/step', json=payload)
data = response.json()
Request Body
{}

step-config

/step-config

GET
/backend/step-config

Returns the step configuration defined in the user repository.

Parameters

commitstringquery

Response

200OKDynamicJson
400Bad Request

Invalid commit

/step-config
curl -X GET '/backend/step-config'
const response = await fetch('/backend/step-config', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/step-config')
data = response.json()
200
{}

step-files

/step-files

GET
/backend/step-files

Lists files in a step's output directory.

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery
commitstringquery
pathstringquery

Response

200OKArray<DirEntry>
400Bad Request

Invalid path or commit or id

/step-files
curl -X GET '/backend/step-files'
const response = await fetch('/backend/step-files', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/step-files')
data = response.json()
200
[
  {
    "isDir": true,
    "mimeType": "string",
    "name": "string",
    "seekable": true,
    "size": 0,
    "viewable": true
  }
]

/step-files/bundle/{step-id}/{commit}/{segments}

GET
/backend/step-files/bundle/{step-id}/{commit}/{segments}

Serves a raw file within an immutable step-output bundle.

Parameters

step-idinteger[-9223372036854776000, 9223372036854776000]requiredpath
commitstringrequiredpath
segmentsstringrequiredpath

Response

200OKFileDownload<binary>
404Not Found

step-id or commit or segments not found

/step-files/bundle/{step-id}/{commit}/{segments}
curl -X GET '/backend/step-files/bundle/{step-id}/{commit}/{segments}'
const response = await fetch('/backend/step-files/bundle/{step-id}/{commit}/{segments}', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/step-files/bundle/{step-id}/{commit}/{segments}')
data = response.json()
200
"<binary>"

/step-files/download

GET
/backend/step-files/download

Downloads a single file from a step's output directory.

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery
commitstringquery
pathstringrequiredquery

Response

200OKStreamingBody<binary>
400Bad Request

Invalid path or commit or id

/step-files/download
curl -X GET '/backend/step-files/download'
const response = await fetch('/backend/step-files/download', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/step-files/download')
data = response.json()
200
"<binary>"

/step-files/extras

GET
/backend/step-files/extras

Returns a step's JSON extras payload.

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery
commitstringquery
pathstringquery

Response

200OKDynamicJson
400Bad Request

Invalid path or commit or id

/step-files/extras
curl -X GET '/backend/step-files/extras'
const response = await fetch('/backend/step-files/extras', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/step-files/extras')
data = response.json()
200
{}

/step-files/raw/{segments}

GET
/backend/step-files/raw/{segments}

Serves the raw bytes of a file from a step's output directory.

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery
commitstringquery
segmentsstringrequiredpath

Response

200OKFileDownload<binary>
400Bad Request

Invalid commit or id

404Not Found

segments not found

/step-files/raw/{segments}
curl -X GET '/backend/step-files/raw/{segments}'
const response = await fetch('/backend/step-files/raw/{segments}', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/step-files/raw/{segments}')
data = response.json()
200
"<binary>"

/step-files/seek

GET
/backend/step-files/seek

Returns a bounded file chunk. Specify exactly one of line or offset and a nonzero signed byte count: positive bytes read forward from the anchor; negative bytes read backward and end at the anchor.

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery
commitstringquery
pathstringrequiredquery
lineinteger[-9223372036854776000, 9223372036854776000]query
offsetinteger[-9223372036854776000, 9223372036854776000]query
bytesinteger[-9223372036854776000, 9223372036854776000]requiredquery

Response

200OKFileChunk
400Bad Request

Invalid bytes or offset or line or path or commit or id

/step-files/seek
curl -X GET '/backend/step-files/seek'
const response = await fetch('/backend/step-files/seek', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/step-files/seek')
data = response.json()
200
{
  "content": "string",
  "endLine": -9223372036854776000,
  "endOffset": -9223372036854776000,
  "eof": true,
  "startLine": -9223372036854776000,
  "startOffset": -9223372036854776000
}

step-log

/step-log

GET
/backend/step-log

Returns the build log of a step.

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery
commitstringquery

Response

200OKstring
400Bad Request

Invalid commit or id

/step-log
curl -X GET '/backend/step-log'
const response = await fetch('/backend/step-log', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/step-log')
data = response.json()
200
string

step-status-stream

/step-status-stream

GET
/backend/step-status-stream

Streams snapshot and heartbeat SSE events for a project's steps. Emits status-error and closes when status evaluation fails.

Parameters

project_idinteger[-9223372036854776000, 9223372036854776000]requiredquery
commitstringquery

Response

200OKStreamingBody<binary>
400Bad Request

Invalid commit or project_id

/step-status-stream
curl -X GET '/backend/step-status-stream'
const response = await fetch('/backend/step-status-stream', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/step-status-stream')
data = response.json()
200
<binary>

stop-step

/stop-step

POST
/backend/stop-step

Stops a running step build.

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery
commitstringquery

Response

200OK
400Bad Request

Invalid commit or id

/stop-step
curl -X POST '/backend/stop-step'
const response = await fetch('/backend/stop-step', {
  method: 'POST',
});

const data = await response.json();
import requests

response = requests.post('/backend/stop-step')
data = response.json()

upload

/upload

POST
/backend/upload

Uploads files into a step's source directory.

Body

multipart/form-data
filesArray<string>required

Parameters

idinteger[-9223372036854776000, 9223372036854776000]requiredquery

Response

200OKstring
400Bad Request

Invalid id

/upload
curl -X POST '/backend/upload' \
  -H 'Content-Type: multipart/form-data' \
  -d '{
    "files": [
      "<binary>"
    ]
  }'
const response = await fetch('/backend/upload', {
  method: 'POST',
  headers: {
    'Content-Type': 'multipart/form-data',
  },
  body: JSON.stringify({
      "files": [
        "<binary>"
      ]
    }),
});

const data = await response.json();
import requests

payload = {
  "files": [
    "<binary>"
  ]
}

response = requests.post('/backend/upload', json=payload)
data = response.json()
Request Body
{
  "files": [
    "<binary>"
  ]
}
200
string

user-repo-info

/user-repo-info

GET
/backend/user-repo-info

Returns the configured user repository URL and branch.

Response

200OKUserRepoInfo
/user-repo-info
curl -X GET '/backend/user-repo-info'
const response = await fetch('/backend/user-repo-info', {
  method: 'GET',
});

const data = await response.json();
import requests

response = requests.get('/backend/user-repo-info')
data = response.json()
200
{
  "branch": "string",
  "url": "string"
}

Models

AgentApplyView

object
invalidatedProjectIdsArray<integer>required
invalidatedStepIdsArray<integer>required
sessionViewAgentSessionViewrequired
Show child attributes
gitStateAgentGitStaterequired
Show child attributes
branchDiffstringrequired
commitLogstringrequired
hasAgentCommitsbooleanrequired
headCommitstringrequired
sessionAgentSessionrequired
Show child attributes
activeTurnIdstring
agentBranchstringrequired
baseCommitstringrequired
createdAtUTCTime<yyyy-mm-ddThh:MM:ssZ>required
lastErrorstring
preparedApplyPreparedApply
Show child attributes
agentHeadstringrequired
candidateHeadstringrequired
candidateWorktreestringrequired
targetHeadstringrequired
sessionIdstringrequired
sessionNamestring
statusstringrequired
targetBranchstringrequired
updatedAtUTCTime<yyyy-mm-ddThh:MM:ssZ>required
worktreePathstringrequired
turnsArray<AgentTurn>required
Show child attributes
turnExitCodeinteger[-9223372036854776000, 9223372036854776000]
turnFinishedAtUTCTime<yyyy-mm-ddThh:MM:ssZ>
turnIdstringrequired
turnLogstringrequired
turnLogPathstringrequired
turnPromptstringrequired
turnSessionIdstringrequired
turnStartedAtUTCTime<yyyy-mm-ddThh:MM:ssZ>required
turnStatusstringrequired
Example
{
  "invalidatedProjectIds": [
    -9223372036854776000
  ],
  "invalidatedStepIds": [
    -9223372036854776000
  ],
  "sessionView": {
    "gitState": {
      "branchDiff": "string",
      "commitLog": "string",
      "hasAgentCommits": true,
      "headCommit": "string"
    },
    "session": {
      "activeTurnId": "string",
      "agentBranch": "string",
      "baseCommit": "string",
      "createdAt": "2016-07-22T00:00:00Z",
      "lastError": "string",
      "preparedApply": {
        "agentHead": "string",
        "candidateHead": "string",
        "candidateWorktree": "string",
        "targetHead": "string"
      },
      "sessionId": "string",
      "sessionName": "string",
      "status": "string",
      "targetBranch": "string",
      "updatedAt": "2016-07-22T00:00:00Z",
      "worktreePath": "string"
    },
    "turns": [
      {
        "turnExitCode": -9223372036854776000,
        "turnFinishedAt": "2016-07-22T00:00:00Z",
        "turnId": "string",
        "turnLog": "string",
        "turnLogPath": "string",
        "turnPrompt": "string",
        "turnSessionId": "string",
        "turnStartedAt": "2016-07-22T00:00:00Z",
        "turnStatus": "string"
      }
    ]
  }
}

AgentGitState

object
branchDiffstringrequired
commitLogstringrequired
hasAgentCommitsbooleanrequired
headCommitstringrequired
Example
{
  "branchDiff": "string",
  "commitLog": "string",
  "hasAgentCommits": true,
  "headCommit": "string"
}

AgentSession

object
activeTurnIdstring
agentBranchstringrequired
baseCommitstringrequired
createdAtUTCTime<yyyy-mm-ddThh:MM:ssZ>required
lastErrorstring
preparedApplyPreparedApply
Show child attributes
agentHeadstringrequired
candidateHeadstringrequired
candidateWorktreestringrequired
targetHeadstringrequired
sessionIdstringrequired
sessionNamestring
statusstringrequired
targetBranchstringrequired
updatedAtUTCTime<yyyy-mm-ddThh:MM:ssZ>required
worktreePathstringrequired
Example
{
  "activeTurnId": "string",
  "agentBranch": "string",
  "baseCommit": "string",
  "createdAt": "2016-07-22T00:00:00Z",
  "lastError": "string",
  "preparedApply": {
    "agentHead": "string",
    "candidateHead": "string",
    "candidateWorktree": "string",
    "targetHead": "string"
  },
  "sessionId": "string",
  "sessionName": "string",
  "status": "string",
  "targetBranch": "string",
  "updatedAt": "2016-07-22T00:00:00Z",
  "worktreePath": "string"
}

AgentSessionView

object
gitStateAgentGitStaterequired
Show child attributes
branchDiffstringrequired
commitLogstringrequired
hasAgentCommitsbooleanrequired
headCommitstringrequired
sessionAgentSessionrequired
Show child attributes
activeTurnIdstring
agentBranchstringrequired
baseCommitstringrequired
createdAtUTCTime<yyyy-mm-ddThh:MM:ssZ>required
lastErrorstring
preparedApplyPreparedApply
Show child attributes
agentHeadstringrequired
candidateHeadstringrequired
candidateWorktreestringrequired
targetHeadstringrequired
sessionIdstringrequired
sessionNamestring
statusstringrequired
targetBranchstringrequired
updatedAtUTCTime<yyyy-mm-ddThh:MM:ssZ>required
worktreePathstringrequired
turnsArray<AgentTurn>required
Show child attributes
turnExitCodeinteger[-9223372036854776000, 9223372036854776000]
turnFinishedAtUTCTime<yyyy-mm-ddThh:MM:ssZ>
turnIdstringrequired
turnLogstringrequired
turnLogPathstringrequired
turnPromptstringrequired
turnSessionIdstringrequired
turnStartedAtUTCTime<yyyy-mm-ddThh:MM:ssZ>required
turnStatusstringrequired
Example
{
  "gitState": {
    "branchDiff": "string",
    "commitLog": "string",
    "hasAgentCommits": true,
    "headCommit": "string"
  },
  "session": {
    "activeTurnId": "string",
    "agentBranch": "string",
    "baseCommit": "string",
    "createdAt": "2016-07-22T00:00:00Z",
    "lastError": "string",
    "preparedApply": {
      "agentHead": "string",
      "candidateHead": "string",
      "candidateWorktree": "string",
      "targetHead": "string"
    },
    "sessionId": "string",
    "sessionName": "string",
    "status": "string",
    "targetBranch": "string",
    "updatedAt": "2016-07-22T00:00:00Z",
    "worktreePath": "string"
  },
  "turns": [
    {
      "turnExitCode": -9223372036854776000,
      "turnFinishedAt": "2016-07-22T00:00:00Z",
      "turnId": "string",
      "turnLog": "string",
      "turnLogPath": "string",
      "turnPrompt": "string",
      "turnSessionId": "string",
      "turnStartedAt": "2016-07-22T00:00:00Z",
      "turnStatus": "string"
    }
  ]
}

AgentTurn

object
turnExitCodeinteger[-9223372036854776000, 9223372036854776000]
turnFinishedAtUTCTime<yyyy-mm-ddThh:MM:ssZ>
turnIdstringrequired
turnLogstringrequired
turnLogPathstringrequired
turnPromptstringrequired
turnSessionIdstringrequired
turnStartedAtUTCTime<yyyy-mm-ddThh:MM:ssZ>required
turnStatusstringrequired
Example
{
  "turnExitCode": -9223372036854776000,
  "turnFinishedAt": "2016-07-22T00:00:00Z",
  "turnId": "string",
  "turnLog": "string",
  "turnLogPath": "string",
  "turnPrompt": "string",
  "turnSessionId": "string",
  "turnStartedAt": "2016-07-22T00:00:00Z",
  "turnStatus": "string"
}

AgentUsage

object
appliedSessionsinteger[-9223372036854776000, 9223372036854776000]required
discardedSessionsinteger[-9223372036854776000, 9223372036854776000]required
openSessionsinteger[-9223372036854776000, 9223372036854776000]required
runningSessionsinteger[-9223372036854776000, 9223372036854776000]required
totalSessionsinteger[-9223372036854776000, 9223372036854776000]required
Example
{
  "appliedSessions": -9223372036854776000,
  "discardedSessions": -9223372036854776000,
  "openSessions": -9223372036854776000,
  "runningSessions": -9223372036854776000,
  "totalSessions": -9223372036854776000
}

AutocompleteRequest

object
autocompletestringrequired
contextobjectrequired
limitinteger[-9223372036854776000, 9223372036854776000]
querystringrequired
templatestringrequired
Example
{
  "autocomplete": "string",
  "context": {},
  "limit": -9223372036854776000,
  "query": "string",
  "template": "string"
}

ConfirmApplyRequest

object
candidateHeadstringrequired
sessionIdstringrequired
targetHeadstringrequired
Example
{
  "candidateHead": "string",
  "sessionId": "string",
  "targetHead": "string"
}

DirEntry

object
isDirbooleanrequired
mimeTypestring
namestringrequired
seekablebooleanrequired
sizeintegerrequired
viewablebooleanrequired
Example
{
  "isDir": true,
  "mimeType": "string",
  "name": "string",
  "seekable": true,
  "size": 0,
  "viewable": true
}

DynamicJson

object
DynamicJson
Example
{}

FileChunk

object
contentstringrequired
endLineinteger[-9223372036854776000, 9223372036854776000]required
endOffsetinteger[-9223372036854776000, 9223372036854776000]required
eofbooleanrequired
startLineinteger[-9223372036854776000, 9223372036854776000]required
startOffsetinteger[-9223372036854776000, 9223372036854776000]required
Example
{
  "content": "string",
  "endLine": -9223372036854776000,
  "endOffset": -9223372036854776000,
  "eof": true,
  "startLine": -9223372036854776000,
  "startOffset": -9223372036854776000
}

FileDownload

string
FileDownload<binary>
Example
"<binary>"

PreparedApply

object
agentHeadstringrequired
candidateHeadstringrequired
candidateWorktreestringrequired
targetHeadstringrequired
Example
{
  "agentHead": "string",
  "candidateHead": "string",
  "candidateWorktree": "string",
  "targetHead": "string"
}

RenameSessionRequest

object
namestringrequired
sessionIdstringrequired
Example
{
  "name": "string",
  "sessionId": "string"
}

SessionRequest

object
sessionIdstringrequired
Example
{
  "sessionId": "string"
}

StreamingBody

string

Streaming response body.

StreamingBody<binary>
Example
"<binary>"

TurnRequest

object
promptstringrequired
sessionIdstringrequired
Example
{
  "prompt": "string",
  "sessionId": "string"
}

UTCTime

string
UTCTime<yyyy-mm-ddThh:MM:ssZ>
Example
"2016-07-22T00:00:00Z"

UserRepoInfo

object
branchstringrequired
urlstringrequired
Example
{
  "branch": "string",
  "url": "string"
}