Skip to main content
POST
/
api
/
v1
/
services
Typescript (SDK)
import { SyllableSDK } from "syllable-sdk";

const syllableSDK = new SyllableSDK({
  apiKeyHeader: process.env["SYLLABLESDK_API_KEY_HEADER"] ?? "",
});

async function run() {
  const result = await syllableSDK.services.create({
    name: "Weather tools",
    description: "Service containing tools for fetching weather information",
    authType: "basic",
    authValues: {
      "password": "my-password",
      "username": "my-username",
    },
  });

  console.log(result);
}

run();
{
  "id": 123,
  "name": "<string>",
  "description": "<string>",
  "last_updated": "2023-11-07T05:31:56Z",
  "last_updated_by": "<string>",
  "tools": [
    "<string>"
  ],
  "auth_type": "basic",
  "auth_value_keys": [
    "username",
    "password"
  ],
  "last_updated_comments": "Updated description to correct typo"
}

Authorizations

Syllable-API-Key
string
header
required

Body

application/json

Request model to create a service.

name
string
required

The name of the service

Example:

"Weather tools"

description
string
required

The description of the service

Example:

"Service containing tools for fetching weather information"

auth_type
enum<string> | null

The type of authentication to use for the service's tools

Available options:
basic,
bearer,
custom_headers,
oauth2
Example:

"basic"

auth_values
any | null

The values to use for the authentication, as a dict. Should contain "username" and "password" keys if auth type is basic, "token" key if auth type is bearer, arbitrary header keys if auth type is custom_headers. or "client_id", "client_secret", and "auth_url" keys if auth type is oauth2. On an update, leave a value for a given key null and the value in the database will not be updated. (If a key is omitted entirely, any existing value for that key will be removed.)

Example:
{
"password": "my-password",
"username": "my-username"
}

Response

Successful Response

Response model for service operations. A service is a collection of tools.

id
integer
required

The internal ID of the service

Example:

1

name
string
required

The name of the service

Example:

"Weather tools"

description
string
required

The description of the service

Example:

"Service containing tools for fetching weather information"

last_updated
string<date-time>
required

The timestamp of the most recent update to the service

Example:

"2024-01-01T12:00:00Z"

last_updated_by
string
required

The email of the user who last updated the service

tools
string[]
required

Names of tools that belong to the service

Example:
["hangup", "summary"]
auth_type
enum<string> | null

The type of authentication to use for the service's tools

Available options:
basic,
bearer,
custom_headers,
oauth2
Example:

"basic"

auth_value_keys
string[] | null

Auth value keys (values omitted for security)

Example:
["username", "password"]
last_updated_comments
string | null

Free text providing comment about what was updated

Example:

"Updated description to correct typo"