APIs and SDKs
Introduction
Neosync, like many web services these days, is a full-fledged API. Check out the architecture page for an overview of how the Neosync API fits into the picture.
All of our APIs are generated from Protobuf files. For this reason, a client can easily be generated in any of the many supported languages. Internally, we make great use of the Go SDK as well as the TypeScript SDK.
Configuration
There are a few inputs that any SDK needs in order to be properly configured.
- API URL
- Account ID
- API Key (required for Neosync Cloud or self-hosted authenticated environments)
API Url
If using Neosync Cloud, the backend api url is: https://neosync-api.svcs.neosync.dev
The standard localhost url is: http://localhost:8080
Account ID
The account ID is necessary for some requests that do not have an obvious identifier like retrieving a list of jobs, or a list of connections.
This can be found by going into the app on the /:accountName/settings
page and found in the header.
API Key
An access token (api key, or user jwt) must be used to access authenticated Neosync environments.
For an API Key, this can be created at /:accountName/settings/api-keys
.
Clients
Go
The Go SDK that is committed to the Neosync repo may be freely imported and utilized. See the Go SDK page for more information on how to use the SDK.
All of the generated code lives here.
TypeScript
The TypeScript SDK is published to the npm
registry. It is generated from Neosync protos and is used by the Neosync App.
See the TS SDK page for more information on how to use the SDK.
All of the generated code lives here.
Protos
All of Neosync's protos are public and can be found here.
A new SDK can be easily generated by augmenting the buf.gen.yaml
file, or providing a separate one when running the buf
cli to generate a different SDK for other purposes.