Skip to main content
Sink reads environment variables directly out of Railway, Vercel and Render so you do not have to copy them by hand.
Provider import is a paid capability — the whole route group is gated, so an unentitled call answers 402. See Plans and limits.
Your provider token is used for the request that needs it and nothing else. It is never written to Sink’s database, the CLI config file, or your keychain.

With the CLI

With nothing but the provider name, the CLI asks the token for what it can see and walks you through picking a project, environment and service. Every import previews before it writes:

skip vs overwrite

skip creates the keys Sink does not have and leaves everything else alone — the safe default for a first import. overwrite also applies the provider’s value to keys that differ, which mints a new version of each one rather than replacing history. Variables the provider will not hand back in clear text (sealed or reference values, for instance) are reported as skipped, with a reason, so a short import is never a silent one.

With the API

Discover what a token can reach

The response lists each project with its environments and services, in the provider’s own vocabulary.

Preview, then apply

Both routes hang off one base path:
Preview request
Sending the same body with "mode": "skip" or "mode": "overwrite" to the base path applies it. reveal controls whether preview values come back in clear text or masked.

Addressing each provider

service_id is optional — leave it out to read the environment’s shared variables.

After the import

Pull the environment down and check it reads the way you expect:
Then delete the variables from the provider’s dashboard, so there is one place they live.