SDK reference
Package:@withfoundry/sdkAPI base:
https://api.withfoundry.aiAuth: API key with prefix
key_ passed as Authorization: Bearer key_...
Client
new Foundry(options)
| Option | Type | Required | Description |
|---|---|---|---|
apiKey | string | Yes | Foundry API key. |
baseUrl | string | No | Override API base (default: https://api.withfoundry.ai). |
Memory
foundry.memory.write(params)
Params: { namespace: string, entries: Array<{ content: string, metadata?: object }> }Returns:
Promise<{ data: { ids: string[] }, meta }>
foundry.memory.search(params)
Params: { namespace: string, query: string, limit?: number, metadataFilter?: object }Returns:
Promise<{ data: Array<{ id, content, metadata, score? }>, meta }>
foundry.memory.getContext(params)
Params: { namespace: string, query: string, limit?: number }Returns:
Promise<{ data: { text: string, entryIds: string[] }, meta }>
Security
foundry.security.scanRepo(params)
Params: { repoUrl: string, branch?: string, waitForCompletion?: boolean }Returns:
Promise<{ data: { scanId: string, status: string, findings?: Finding[] }, meta }>
foundry.security.getScanResult(scanId)
Params: scanId: stringReturns:
Promise<{ data: { scanId, status, findings?, error? }, meta }>
Response envelope
All successful responses follow the API envelope:data and meta; success may be omitted if errors are thrown. On HTTP errors (4xx/5xx), the SDK may throw or return an error object—see package docs for exact behavior.