TypeScript SDK: Messages

⚠️
Preview — this feature is being built; the design below is the spec.

Methods for the content-block Messages endpoint.

import Syntic from '@syntic/sdk'
 
const client = new Syntic() // reads SYNTIC_API_KEY
MethodEndpointReturns
messages.createPOST /v1/messagesMessage
messages.streamPOST /v1/messagesMessageStream
messages.countTokensPOST /v1/messages/count_tokensTokenCount

Methods

messages.create

Send content blocks and receive content blocks. Maps to POST /v1/messages.

const result = await client.messages.create({
  model: "Amara S1.2",
  max_tokens: 1024,
  messages: [
    {
      role: "user",
      content: [
        {
          type: "text",
          text: "Hello"
        }
      ]
    }
  ]
})

messages.stream

Stream typed events (content_block_delta, message_delta…) with a final-message accumulator. Maps to POST /v1/messages.

for await (const item of client.messages.stream({
  model: "Amara S1.2",
  max_tokens: 1024,
  messages: [
    {
      role: "user",
      content: "Hello"
    }
  ]
})) {
  console.log(item)
}

messages.countTokens

Count tokens for a Messages request. Maps to POST /v1/messages/count_tokens.

const result = await client.messages.countTokens({
  model: "Amara S1.2",
  messages: [
    {
      role: "user",
      content: "Hello"
    }
  ]
})

Conventions

Every method accepts a final options object with headers, query, timeout, maxRetries and signal (an AbortSignal). List methods return pages that work with for await across all pages.

See the TypeScript SDK overview for installation, errors and retries.

Was this page helpful?