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