grepticon/
API Reference

Files

DELETE
/v1/workspaces/{ws}/files/{path}

Authorization

bearerAuth
AuthorizationBearer <token>

HTTP bearer credential in the Authorization header. Two planes share the scheme, distinguished by prefix:

  • grp_sk_… — a management key: full control of the account (workspaces, files, token minting, audit export) plus the read tools.
  • grp_at_… — a scoped read-only token: minted per workspace, it may call only the read tools (ls/find/cat/grep) and is rejected by every management route.

In: header

Path Parameters

ws*string

Workspace name. Workspace name must be 1-64 lowercase letters, digits, hyphens, or underscores, starting and ending with a letter or digit.

Match^[a-z0-9](?:[a-z0-9_-]{0,62}[a-z0-9])?$
path*string

File path within the workspace. May contain "/" — the entire trailing segment is the path (e.g. src/index.ts).

Response Body

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/v1/workspaces/string/files/string"
Empty
PUT
/v1/workspaces/{ws}/files/{path}

Upload raw file bytes. Returns 202 immediately; ingestion (text extraction + indexing) runs asynchronously, so a freshly uploaded file is pending until it becomes ready (or error). Re-uploading the same path self-heals a failed ingest.

Authorization

bearerAuth
AuthorizationBearer <token>

HTTP bearer credential in the Authorization header. Two planes share the scheme, distinguished by prefix:

  • grp_sk_… — a management key: full control of the account (workspaces, files, token minting, audit export) plus the read tools.
  • grp_at_… — a scoped read-only token: minted per workspace, it may call only the read tools (ls/find/cat/grep) and is rejected by every management route.

In: header

Path Parameters

ws*string

Workspace name. Workspace name must be 1-64 lowercase letters, digits, hyphens, or underscores, starting and ending with a letter or digit.

Match^[a-z0-9](?:[a-z0-9_-]{0,62}[a-z0-9])?$
path*string

File path within the workspace. May contain "/" — the entire trailing segment is the path (e.g. src/index.ts).

Query Parameters

visibility?string

Comma-separated visibility claims controlling which scoped tokens can see the file, e.g. ?visibility=user:alice,group:eng. Omit to make the file visible to every token (*).

Request Body

application/octet-stream

Raw file bytes. The Content-Type header is stored and echoed back on reads (default application/octet-stream).

TypeScript Definitions

Use the request body type in TypeScript.

body*file
Formatbinary

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/v1/workspaces/string/files/string" \  -H "Content-Type: application/octet-stream" \  -d 'string'
{  "path": "string",  "status": "pending"}
GET
/v1/workspaces/{ws}/files

Authorization

bearerAuth
AuthorizationBearer <token>

HTTP bearer credential in the Authorization header. Two planes share the scheme, distinguished by prefix:

  • grp_sk_… — a management key: full control of the account (workspaces, files, token minting, audit export) plus the read tools.
  • grp_at_… — a scoped read-only token: minted per workspace, it may call only the read tools (ls/find/cat/grep) and is rejected by every management route.

In: header

Path Parameters

ws*string

Workspace name. Workspace name must be 1-64 lowercase letters, digits, hyphens, or underscores, starting and ending with a letter or digit.

Match^[a-z0-9](?:[a-z0-9_-]{0,62}[a-z0-9])?$

Query Parameters

status?string

Filter by ingest status.

Value in

  • "pending"
  • "ready"
  • "error"
cursor?string

Pagination cursor; pass the previous response’s nextCursor.

limit?integer

Max files to return.

Range1 <= value <= 1000
Default100

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/workspaces/string/files"
{  "files": [    {      "path": "string",      "status": "pending",      "sizeBytes": 0,      "contentType": "string",      "updatedAt": "string",      "errorDetail": "string"    }  ],  "nextCursor": "string"}