Java SDK methods
⚠️
Preview — this feature is being built; the design below is the spec.
Every method of the planned Java SDK, by resource, with the endpoint it calls. Names follow Java conventions; behaviour, parameters and return shapes match the Python and TypeScript references, which have a full example per method.
Conventions
Every resource is reached through accessor methods; params use builders. Streaming methods are named createStreaming and return an AutoCloseable stream. …Async() twins return CompletableFuture.
Admin and Compliance methods live on a separate admin client: SynticAdminClient admin = SynticAdminClient.fromEnv();
Install and first request: Java SDK.
Chat completions
| Method | Endpoint | What it does |
|---|---|---|
client.chat().completions().create(params) | POST /v1/chat/completions | Send a conversation and get the reply. Pass stream=True to get an iterator of chunks instead. |
client.chat().completions().createStreaming(params) | POST /v1/chat/completions | Stream with a helper that accumulates text, tool calls and usage, and exposes the final message when done. |
client.chat().completions().parse(params) | POST /v1/chat/completions | Structured output from a Pydantic model (Python) or Zod schema (TypeScript); returns the parsed object on message.parsed. |
client.chat().completions().countTokens(params) | POST /v1/chat/completions/count_tokens | Count input tokens for a request body without running it. |
Messages
| Method | Endpoint | What it does |
|---|---|---|
client.messages().create(params) | POST /v1/messages | Send content blocks and receive content blocks. |
client.messages().createStreaming(params) | POST /v1/messages | Stream typed events (content_block_delta, message_delta…) with a final-message accumulator. |
client.messages().countTokens(params) | POST /v1/messages/count_tokens | Count tokens for a Messages request. |
Models
| Method | Endpoint | What it does |
|---|---|---|
client.models().list(params) | GET /v1/models | List the models your key can use. Auto-paginates when iterated. |
client.models().retrieve(params) | GET /v1/models/{id} | One model’s limits, capabilities and prices. |
Files
| Method | Endpoint | What it does |
|---|---|---|
client.files().upload(params) | POST /v1/files | Upload from a path, bytes or a file object. Multipart encoding is handled for you. |
client.files().list(params) | GET /v1/files | List files, newest first, filtered by purpose. |
client.files().retrieve(params) | GET /v1/files/{file_id} | Metadata for one file. |
client.files().content(params) | GET /v1/files/{file_id}/content | Download bytes. .write_to_file(path) streams to disk. |
client.files().delete(params) | DELETE /v1/files/{file_id} | Delete a file. |
Batches
| Method | Endpoint | What it does |
|---|---|---|
client.batches().create(params) | POST /v1/batches | From an uploaded JSONL input_file_id, or up to 1,000 inline requests. |
client.batches().list(params) | GET /v1/batches | List batches. |
client.batches().retrieve(params) | GET /v1/batches/{batch_id} | Status and counts. |
client.batches().wait(params) | (helper; polls GET /v1/batches/{batch_id}) | Helper: poll until the batch ends, with back-off. Returns the final batch. |
client.batches().results(params) | GET /v1/batches/{batch_id}/results | Iterate result lines as typed objects, streaming from the server. |
client.batches().cancel(params) | POST /v1/batches/{batch_id}/cancel | Cancel a running batch. |
client.batches().delete(params) | DELETE /v1/batches/{batch_id} | Delete an ended batch and its result files. |
Embeddings
| Method | Endpoint | What it does |
|---|---|---|
client.embeddings().create(params) | POST /v1/embeddings | Embed one string or a list of up to 2,048 strings. |
Webhooks
| Method | Endpoint | What it does |
|---|---|---|
client.webhooks().create(params) | POST /v1/webhooks | Register an endpoint; the result holds the signing secret once. |
client.webhooks().list(params) | GET /v1/webhooks | List endpoints. |
client.webhooks().update(params) | PATCH /v1/webhooks/{webhook_id} | Change events, URL or status. |
client.webhooks().delete(params) | DELETE /v1/webhooks/{webhook_id} | Remove an endpoint. |
client.webhooks().rotateSecret(params) | POST /v1/webhooks/{webhook_id}/rotate_secret | New signing secret; both are valid during the overlap. |
client.webhooks().test(params) | POST /v1/webhooks/{webhook_id}/test | Send a webhook.test event. |
client.webhooks().unwrap(params) | (local, no request) | Verify the syntic-signature header against the raw body and return the typed event; raises on a bad signature or a stale timestamp. |
Agents
| Method | Endpoint | What it does |
|---|---|---|
client.agents().create(params) | POST /v1/agents | Create a versioned agent definition. |
client.agents().list(params) | GET /v1/agents | List agents. |
client.agents().retrieve(params) | GET /v1/agents/{agent_id} | One agent at its latest or a given version. |
client.agents().update(params) | PATCH /v1/agents/{agent_id} | Change the definition; creates a new version. |
client.agents().versions().list(params) | GET /v1/agents/{agent_id}/versions | All versions. |
client.agents().archive(params) | POST /v1/agents/{agent_id}/archive | Stop new sessions from using it. |
Sessions
| Method | Endpoint | What it does |
|---|---|---|
client.sessions().create(params) | POST /v1/sessions | Start a session, optionally with first events. |
client.sessions().send(params) | POST /v1/sessions/{session_id}/events | Send user messages, tool results or approvals. |
client.sessions().createStreaming(params) | GET /v1/sessions/{session_id}/stream | Iterate live events; reconnects with Last-Event-ID automatically. |
client.sessions().events().list(params) | GET /v1/sessions/{session_id}/events | Full history, paginated. |
client.sessions().interrupt(params) | POST /v1/sessions/{session_id}/interrupt | Stop the current turn. |
client.sessions().resources().add(params) | POST /v1/sessions/{session_id}/resources | Mount a file, repository or memory store. |
client.sessions().threads().list(params) | GET /v1/sessions/{session_id}/threads | Primary and delegate threads with their usage. |
client.sessions().archive(params) | POST /v1/sessions/{session_id}/archive | Close the session. |
Environments, memory and more
| Method | Endpoint | What it does |
|---|---|---|
client.environments().create(params) | POST /v1/environments | Define a sandbox image. |
client.environments().rebuild(params) | POST /v1/environments/{environment_id}/rebuild | Build the image again. |
client.memoryStores().memories().search(params) | POST /v1/memory_stores/{store_id}/memories/search | Semantic search within a scope. |
client.memoryStores().consolidations().create(params) | POST /v1/memory_stores/{store_id}/consolidations | Start a consolidation job. |
client.vaults().secrets().set(params) | PUT /v1/vaults/{vault_id}/secrets/{name} | Write a secret (write-only). |
client.deployments().runs().list(params) | GET /v1/deployments/{deployment_id}/runs | Recent runs of a deployment. |
client.skills().versions().create(params) | POST /v1/skills/{skill_id}/versions | Upload a new skill version from a directory; the SDK zips it. |
client.userProfiles().create(params) | POST /v1/user_profiles | Create an end-user profile. |
client.tunnels().create(params) | POST /v1/tunnels | Create an MCP tunnel. |
Evaluations and prompts
| Method | Endpoint | What it does |
|---|---|---|
client.evals().datasets().create(params) | POST /v1/evals/datasets | Create a dataset. |
client.evals().datasets().items().add(params) | POST /v1/evals/datasets/{dataset_id}/items | Add up to 1,000 items. |
client.evals().graders().create(params) | POST /v1/evals/graders | Define a grader. |
client.evals().runs().create(params) | POST /v1/evals/runs | Start a run with up to four variants. |
client.evals().runs().wait(params) | (helper; polls GET /v1/evals/runs/{eval_run_id}) | Helper: wait for a run to finish. |
client.evals().runs().results(params) | GET /v1/evals/runs/{eval_run_id}/results | Iterate graded results. |
client.prompts().improve(params) | POST /v1/prompts/improve | Rewrite a prompt against feedback. |
client.prompts().templates().setLabel(params) | PUT /v1/prompts/templates/{template}/labels/{label} | Promote a version. |
Admin API
| Method | Endpoint | What it does |
|---|---|---|
admin.organization().retrieve(params) | GET /v1/organizations/me | Organization info and real plan name. |
admin.workspaces().create(params) | POST /v1/organizations/workspaces | Create a workspace. |
admin.members().list(params) | GET /v1/organizations/users | List members; auto-paginates. |
admin.invites().create(params) | POST /v1/organizations/invites | Invite by email. |
admin.apiKeys().update(params) | PATCH /v1/organizations/api_keys/{api_key_id} | Rename or disable a key. |
admin.serviceAccounts().create(params) | POST /v1/organizations/service_accounts | Create a service account. |
admin.usageReport().messages(params) | GET /v1/organizations/usage_report/messages | Token usage in buckets, grouped as you choose. |
admin.costReport().retrieve(params) | GET /v1/organizations/cost_report | Spend by day and workspace. |
admin.analytics().summary(params) | GET /v1/organizations/analytics/summary | Headline numbers for a period. |
admin.auditEvents().list(params) | GET /v1/organizations/audit_events | Audit feed, cursor-paginated. |
Compliance API
| Method | Endpoint | What it does |
|---|---|---|
admin.compliance().activities().list(params) | GET /v1/compliance/activities | Iterate activity records. |
admin.compliance().exports().create(params) | POST /v1/compliance/exports | Start a bulk export. |
admin.compliance().exports().download(params) | GET /v1/compliance/exports/{export_id}/content | Stream an export to disk. |
admin.compliance().legalHolds().create(params) | POST /v1/compliance/legal_holds | Preserve records for named people. |
Was this page helpful?