{"query":"Application SDKs","corpusVersion":"local","generatedAt":"2026-11-03T06:46:12.043Z","results":[{"blockId":"sdks.overview#application-sdks","pageId":"sdks.overview","title":"Application SDKs","pageTitle":"Application SDKs","url":"https://teammately.ai/docs/sdks.md","humanUrl":"https://teammately.ai/docs/sdks#application-sdks","markdownUrl":"https://teammately.ai/docs/sdks.md","sectionId":"application-sdks","kind":"reference","productArea":"developer_tools","score":830.0015310685118,"reasons":["search_match","title_match","term_match"],"markdown":"# Application SDKs"},{"blockId":"sdks.overview#definition","pageId":"sdks.overview","title":"Definition","pageTitle":"Application SDKs","url":"https://teammately.ai/docs/sdks.md","humanUrl":"https://teammately.ai/docs/sdks#definition","markdownUrl":"https://teammately.ai/docs/sdks.md","sectionId":"definition","kind":"reference","productArea":"developer_tools","score":518.0827526090397,"reasons":["search_match","page_title_match","term_match"],"markdown":"## Definition\n\nUse an application SDK inside a backend service, worker or serverless function. Supply its API key through the deployed host's secret mechanism. These libraries do not install the CLI, open browser login, discover credentials or run a local evaluator."},{"blockId":"sdks.overview#fields-states-or-lifecycle-rules","pageId":"sdks.overview","title":"Fields, states, or lifecycle rules","pageTitle":"Application SDKs","url":"https://teammately.ai/docs/sdks.md","humanUrl":"https://teammately.ai/docs/sdks#fields-states-or-lifecycle-rules","markdownUrl":"https://teammately.ai/docs/sdks.md","sectionId":"fields-states-or-lifecycle-rules","kind":"reference","productArea":"developer_tools","score":392.532483390112,"reasons":["search_match","page_title_match","term_match"],"markdown":"## Fields, states, or lifecycle rules\n\nA new Fieldloop Submission key authorizes that capability across its workspace. The application supplies organization, Project and source identifiers; current server permissions apply. Older restricted keys retain their restrictions.\n\n`source_event_id` and batch idempotency keys belong to your application. Project/source IDs and receipts are issued by Teammately. In-memory enqueue, durable admission and completed processing are different acknowledgements.\n\nRead [Delivery and Recovery](/docs/sdks/delivery-and-recovery) before continuous ingestion. It covers immutable batches, retries, shutdown, row outcomes and privacy."},{"blockId":"sdks.overview#related-task-pages","pageId":"sdks.overview","title":"Related task pages","pageTitle":"Application SDKs","url":"https://teammately.ai/docs/sdks.md","humanUrl":"https://teammately.ai/docs/sdks#related-task-pages","markdownUrl":"https://teammately.ai/docs/sdks.md","sectionId":"related-task-pages","kind":"reference","productArea":"developer_tools","score":389.21550501161795,"reasons":["search_match","page_title_match","term_match"],"markdown":"## Related task pages\n\n{% related-card-grid %}\n- [Python quickstart](/docs/sdks/python)\n- [TypeScript quickstart](/docs/sdks/typescript)\n- [Go quickstart](/docs/sdks/go)\n- [Capture and Inspect Logs](/docs/fieldloop/ingest-logs)\n{% /related-card-grid %}"},{"blockId":"sdks.overview#choose-a-language","pageId":"sdks.overview","title":"Choose a language","pageTitle":"Application SDKs","url":"https://teammately.ai/docs/sdks.md","humanUrl":"https://teammately.ai/docs/sdks#choose-a-language","markdownUrl":"https://teammately.ai/docs/sdks.md","sectionId":"choose-a-language","kind":"reference","productArea":"developer_tools","score":385.62739796448955,"reasons":["search_match","page_title_match","term_match"],"markdown":"## Choose a language\n\n| Guide | Package identity | Runtime | Resources |\n| --- | --- | --- | --- |\n| [Python](/docs/sdks/python) | `teammately` | Python 3.10+ | Fieldloop |\n| [JavaScript / TypeScript](/docs/sdks/typescript) | `@teammately/sdk` | Node.js 22+, ES modules | Fieldloop |\n| [Go](/docs/sdks/go) | `github.com/teammately/teammately-go` | Go 1.25.1+ | Fieldloop and evaluation operations |\n\nEach guide describes installation from a source checkout and a batch call. Resource coverage differs across languages. Use [REST](/docs/public-api) or the [CLI](/docs/cli) for evaluation workflows outside your language client's resource surface."},{"blockId":"sdks.python#example-capture-one-application-record","pageId":"sdks.python","title":"Example: Capture one application record","pageTitle":"Python SDK Quickstart","url":"https://teammately.ai/docs/sdks/python.md","humanUrl":"https://teammately.ai/docs/sdks/python#example-capture-one-application-record","markdownUrl":"https://teammately.ai/docs/sdks/python.md","sectionId":"example-capture-one-application-record","kind":"quickstart","productArea":"developer_tools","score":298.53690155356173,"reasons":["search_match","term_match"],"markdown":"### Example: Capture one application record\n\n```python\nimport os\nfrom teammately import Batch, Client, FieldloopScope\n\nclient = Client(api_key=os.environ[\"TEAMMATELY_API_KEY\"])\nscope = FieldloopScope(\n    organization=os.environ[\"TEAMMATELY_ORGANIZATION\"],\n    project=os.environ[\"TEAMMATELY_PROJECT\"],\n    source=os.environ[\"TEAMMATELY_FIELDLOOP_SOURCE\"],\n)\nlogs = [{\n    \"source_event_id\": \"support-ticket-1042:reply\",\n    \"occurred_at\": \"2026-10-31T09:30:00Z\",\n    \"input\": {\"question\": \"Has my bicycle shipped?\"},\n    \"output\": {\"reply\": \"Your bicycle is being packed.\"},\n}]\nbatch = Batch.prepare(logs, idempotency_key=\"support-ticket-1042:batch-1\")\nreceipt = client.fieldloop.submit_batch(scope, batch)\nprocessed = client.fieldloop.wait_receipt(scope, receipt.batch_id)\nprint(processed.accepted_count, processed.duplicate_count,\n      processed.conflict_count, processed.rejected_count)\n```\n\nReplace this fictional record with selected, redacted application content. Your application owns event and batch keys; keep the key stable for the same logical batch. Teammately supplies destination and receipt IDs."},{"blockId":"integrations.developer-tools#definition","pageId":"integrations.developer-tools","title":"Definition","pageTitle":"Developer Guide","url":"https://teammately.ai/docs/integrations/developer-tools.md","humanUrl":"https://teammately.ai/docs/integrations/developer-tools#definition","markdownUrl":"https://teammately.ai/docs/integrations/developer-tools.md","sectionId":"definition","kind":"reference","productArea":"developer_tools","score":160.35471263069059,"reasons":["search_match","summary_match","term_match"],"markdown":"## Definition\n\nChoose the interface for the work you want to do. Application ingestion, local source packaging and documentation retrieval have different responsibilities.\n\n| Goal | Interface | Start here |\n| --- | --- | --- |\n| Send captured application logs | Python, TypeScript or Go SDK | [SDKs](/docs/sdks) |\n| Control HTTP requests directly | REST API | [First API request](/docs/public-api/quickstart) |\n| Submit application outputs for evaluation | CLI or REST | [External outputs](/docs/cli/external-outputs) |\n| Package a managed Harness | CLI | [Managed Harness](/docs/cli/managed-harness) |\n| Give a coding agent product context | Local product MCP | [MCP setup](/docs/cli/mcp) |\n| Retrieve these manuals | Docs MCP | [Agent Context](/docs/agent-context) |\n| Connect external services | Workspace integration | [Integration guides](/docs/integrations) |"},{"blockId":"sdks.typescript#in-an-npm-application","pageId":"sdks.typescript","title":"In an npm application:","pageTitle":"JavaScript and TypeScript SDK Quickstart","url":"https://teammately.ai/docs/sdks/typescript.md","humanUrl":"https://teammately.ai/docs/sdks/typescript#in-an-npm-application","markdownUrl":"https://teammately.ai/docs/sdks/typescript.md","sectionId":"in-an-npm-application","kind":"quickstart","productArea":"developer_tools","score":158.00346568860869,"reasons":["search_match","term_match"],"markdown":"# In an npm application:\nnpm install /path/to/teammately-js\n```\n\nFor an application using another package manager, use that manager's local-package installation workflow. The package is `@teammately/sdk` and includes TypeScript declarations. Inject the API key through your server host's secret mechanism and configure the three destination variables below."}]}