Skip to content

Review, audits and evidence

26 endpoints. Every path below is served by trilocore-contractide-backend behind the gateway at https://api.trilocore.ai.

GET /api/v1/ide/annotations

List Annotations

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend
Pagination paged: page_size ≤ 200 (default 50) + page_token; the body is {data, has_more, next_page_token, page_size}

Query parameters

Parameter Type Required Constraints Description
workspace_id string yes — —
commit string no — target commit to map anchors onto
engagement_id string no — —
page_size integer no default 50, clamped to 200, minimum 1 Items per page. Default 50; values above 200 are clamped to 200 (never an error). The effective value is echoed as page_size.
page_token string no maxLength 2048 Opaque token from a previous page's next_page_token. Valid for 3 days, only with the same filters and the same caller. Omit it to start from the first page.
curl -X GET https://api.trilocore.ai/api/v1/ide/annotations \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

▶ Run this example in the sandbox

GET /api/v1/ide/annotations/{uuid}/comments

List Comments

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend
Pagination paged: page_size ≤ 200 (default 50) + page_token; the body is {data, has_more, next_page_token, page_size}

Query parameters

Parameter Type Required Constraints Description
page_size integer no default 50, clamped to 200, minimum 1 Items per page. Default 50; values above 200 are clamped to 200 (never an error). The effective value is echoed as page_size.
page_token string no maxLength 2048 Opaque token from a previous page's next_page_token. Valid for 3 days, only with the same filters and the same caller. Omit it to start from the first page.
curl -X GET https://api.trilocore.ai/api/v1/ide/annotations/{uuid}/comments \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

▶ Run this example in the sandbox

POST /api/v1/ide/annotations/{uuid}/comments

Add Comment

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend

Request body

Field Type Required Constraints
body string yes —
curl -X POST https://api.trilocore.ai/api/v1/ide/annotations/{uuid}/comments \
  -H "Authorization: Bearer $TRILOCORE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"body": "…"}'

▶ Run this example in the sandbox

PATCH /api/v1/ide/annotations/{uuid}/status

Set Status

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend

Request body

Field Type Required Constraints
fixed_in_commit_oid one of no —
status string yes —
curl -X PATCH https://api.trilocore.ai/api/v1/ide/annotations/{uuid}/status \
  -H "Authorization: Bearer $TRILOCORE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status": "…"}'

GET /api/v1/ide/audits/{uuid}

Get Engagement

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend
curl -X GET https://api.trilocore.ai/api/v1/ide/audits/{uuid} \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

▶ Run this example in the sandbox

POST /api/v1/ide/audits/{uuid}/annotations

Create Audit Annotation

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend

Request body

Field Type Required Constraints
body string no —
category one of no —
commit_oid string yes —
end_line integer yes —
kind string no —
path string yes —
severity one of no —
start_line integer yes —
curl -X POST https://api.trilocore.ai/api/v1/ide/audits/{uuid}/annotations \
  -H "Authorization: Bearer $TRILOCORE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"commit_oid": "…", "path": "…", "start_line": 0, "end_line": 0}'

▶ Run this example in the sandbox

GET /api/v1/ide/audits/{uuid}/blob

Get Engagement Blob

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend

Query parameters

Parameter Type Required Constraints Description
path string yes — —
curl -X GET https://api.trilocore.ai/api/v1/ide/audits/{uuid}/blob \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

POST /api/v1/ide/audits/{uuid}/close

Close Engagement

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend

This operation takes no request body.

curl -X POST https://api.trilocore.ai/api/v1/ide/audits/{uuid}/close \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

GET /api/v1/ide/audits/{uuid}/evidence

List Evidence Bundles

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend
Pagination paged: page_size ≤ 200 (default 50) + page_token; the body is {data, has_more, next_page_token, page_size}

Query parameters

Parameter Type Required Constraints Description
page_size integer no default 50, clamped to 200, minimum 1 Items per page. Default 50; values above 200 are clamped to 200 (never an error). The effective value is echoed as page_size.
page_token string no maxLength 2048 Opaque token from a previous page's next_page_token. Valid for 3 days, only with the same filters and the same caller. Omit it to start from the first page.
curl -X GET https://api.trilocore.ai/api/v1/ide/audits/{uuid}/evidence \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

POST /api/v1/ide/audits/{uuid}/evidence

Seal Evidence Bundle

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend

This operation takes no request body.

curl -X POST https://api.trilocore.ai/api/v1/ide/audits/{uuid}/evidence \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

GET /api/v1/ide/audits/{uuid}/findings.sarif

Engagement Findings Sarif

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend
curl -X GET https://api.trilocore.ai/api/v1/ide/audits/{uuid}/findings.sarif \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

▶ Run this example in the sandbox

PATCH /api/v1/ide/audits/{uuid}/status

Set Engagement Status

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend

Request body

Field Type Required Constraints
remediation_commit_oid one of no —
status string yes —
curl -X PATCH https://api.trilocore.ai/api/v1/ide/audits/{uuid}/status \
  -H "Authorization: Bearer $TRILOCORE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status": "…"}'

GET /api/v1/ide/audits/{uuid}/tree

Get Engagement Tree

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend
curl -X GET https://api.trilocore.ai/api/v1/ide/audits/{uuid}/tree \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

▶ Run this example in the sandbox

GET /api/v1/ide/evidence/{uuid}

Get Evidence Bundle

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend
curl -X GET https://api.trilocore.ai/api/v1/ide/evidence/{uuid} \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

PATCH /api/v1/ide/evidence/{uuid}/retention

Patch Evidence Retention

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend

Request body

Field Type Required Constraints
legal_hold one of no —
retention_class one of no —
curl -X PATCH https://api.trilocore.ai/api/v1/ide/evidence/{uuid}/retention \
  -H "Authorization: Bearer $TRILOCORE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"legal_hold": false, "retention_class": "…"}'

POST /api/v1/ide/evidence/{uuid}/sign

Sign Evidence Bundle

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend

This operation takes no request body.

curl -X POST https://api.trilocore.ai/api/v1/ide/evidence/{uuid}/sign \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

GET /api/v1/ide/evidence/{uuid}/verify

Verify Evidence Bundle

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend
curl -X GET https://api.trilocore.ai/api/v1/ide/evidence/{uuid}/verify \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

GET /api/v1/ide/merge-requests/{uuid}

Get Merge Request

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend
curl -X GET https://api.trilocore.ai/api/v1/ide/merge-requests/{uuid} \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

▶ Run this example in the sandbox

PATCH /api/v1/ide/merge-requests/{uuid}

Patch Merge Request

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend

Request body

Field Type Required Constraints
description one of no —
status one of no —
title one of no —
curl -X PATCH https://api.trilocore.ai/api/v1/ide/merge-requests/{uuid} \
  -H "Authorization: Bearer $TRILOCORE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"description": "…", "status": "…", "title": "…"}'

▶ Run this example in the sandbox

GET /api/v1/ide/merge-requests/{uuid}/comments

List Comments

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend
Pagination paged: page_size ≤ 200 (default 50) + page_token; the body is {data, has_more, next_page_token, page_size}

Query parameters

Parameter Type Required Constraints Description
page_size integer no default 50, clamped to 200, minimum 1 Items per page. Default 50; values above 200 are clamped to 200 (never an error). The effective value is echoed as page_size.
page_token string no maxLength 2048 Opaque token from a previous page's next_page_token. Valid for 3 days, only with the same filters and the same caller. Omit it to start from the first page.
curl -X GET https://api.trilocore.ai/api/v1/ide/merge-requests/{uuid}/comments \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

▶ Run this example in the sandbox

POST /api/v1/ide/merge-requests/{uuid}/comments

Create Comment

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend

Request body

Field Type Required Constraints
body string yes —
commit_oid string yes —
diff_hunk one of no —
end_line one of no —
file_path one of no —
review_id one of no —
start_line one of no —
curl -X POST https://api.trilocore.ai/api/v1/ide/merge-requests/{uuid}/comments \
  -H "Authorization: Bearer $TRILOCORE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"commit_oid": "…", "body": "…"}'

▶ Run this example in the sandbox

POST /api/v1/ide/merge-requests/{uuid}/merge

Merge Merge Request

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend

This operation takes no request body.

curl -X POST https://api.trilocore.ai/api/v1/ide/merge-requests/{uuid}/merge \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

GET /api/v1/ide/merge-requests/{uuid}/reviews

List Reviews

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend
Pagination paged: page_size ≤ 200 (default 50) + page_token; the body is {data, has_more, next_page_token, page_size}

Query parameters

Parameter Type Required Constraints Description
page_size integer no default 50, clamped to 200, minimum 1 Items per page. Default 50; values above 200 are clamped to 200 (never an error). The effective value is echoed as page_size.
page_token string no maxLength 2048 Opaque token from a previous page's next_page_token. Valid for 3 days, only with the same filters and the same caller. Omit it to start from the first page.
curl -X GET https://api.trilocore.ai/api/v1/ide/merge-requests/{uuid}/reviews \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

▶ Run this example in the sandbox

POST /api/v1/ide/merge-requests/{uuid}/reviews

Create Review

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend

Request body

Field Type Required Constraints
body one of no —
state string yes —
curl -X POST https://api.trilocore.ai/api/v1/ide/merge-requests/{uuid}/reviews \
  -H "Authorization: Bearer $TRILOCORE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"state": "…"}'

▶ Run this example in the sandbox

GET /api/v1/ide/merge-requests/{uuid}/status-checks

List Status Checks

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend
Pagination paged: page_size ≤ 200 (default 50) + page_token; the body is {data, has_more, next_page_token, page_size}

Query parameters

Parameter Type Required Constraints Description
page_size integer no default 50, clamped to 200, minimum 1 Items per page. Default 50; values above 200 are clamped to 200 (never an error). The effective value is echoed as page_size.
page_token string no maxLength 2048 Opaque token from a previous page's next_page_token. Valid for 3 days, only with the same filters and the same caller. Omit it to start from the first page.
curl -X GET https://api.trilocore.ai/api/v1/ide/merge-requests/{uuid}/status-checks \
  -H "Authorization: Bearer $TRILOCORE_API_KEY"

▶ Run this example in the sandbox

POST /api/v1/ide/merge-requests/{uuid}/status-checks

Create Status Check

Property Value
Authentication Authorization: Bearer (jns_ key or SSO session)
Idempotency-Key not required
Success 200
Upstream trilocore-contractide-backend

Request body

Field Type Required Constraints
commit_oid string yes —
name string yes —
state string no —
target_url one of no —
curl -X POST https://api.trilocore.ai/api/v1/ide/merge-requests/{uuid}/status-checks \
  -H "Authorization: Bearer $TRILOCORE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"commit_oid": "…", "name": "…"}'

▶ Run this example in the sandbox