Render
Connect
Connect Render from the terminal. Pass --help for the flags Render accepts, plus --no-browser for headless environments.
polylane cloud connect --provider renderAPI key from your Render account settings.
Render connects with an API key from your account settings. Your key is encrypted before it is stored, and the agent never sees it.
Setup
- Open the Render Dashboard, go to Account Settings → API Keys.
- Click Create API Key.
- Copy the key and paste it into Polylane.
- Polylane validates the key and starts syncing.
Polylane discovers your web services, private services, background workers, cron jobs, databases, and other Render resources.
Troubleshooting
"Invalid API key" error
- Make sure you copied the full key (it starts with
rnd_). - Check that the key has not been revoked in Render's dashboard.
- Verify you are using an API key, not a deploy hook token.
Missing resources
- Render can take a few minutes to sync everything.
- Trigger a manual Sync from the account header to refresh.
Disconnecting
Disconnect the account in Polylane, then revoke the API key from your Render dashboard.
Connect Render from a CI job or any other environment without a browser.
Connecting Render needs no browser: the same endpoint the console calls fits in a CI job. One authenticated POST creates the connection and starts the first sync.
Prerequisites
- A Polylane API key with the
cloud_accounts:writeandcloud_accounts:readscopes. See API keys and OAuth. - Your workspace ID, which starts with
ws_. Read it fromGET /v1/workspaceswith the same key. - A Render API key (starts with
rnd_) from Account Settings → API Keys.
Create the connection
curl -X POST https://api.polylane.com/v1/cloud_accounts \
-H "x-api-key: $POLYLANE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "render",
"workspaceId": "ws_0abc123",
"apiKey": "rnd_..."
}'
One call connects every Render workspace the key can reach; pass the optional ownerId (usr-… or tea-…) to connect just one.
The response lists what was connected, with the first sync already running. Trimmed to the two fields the rest of the flow reads:
{
"success": true,
"result": {
"provider": "render",
"accounts": [{ "id": "acc_34gky74ibc92h8t2efn8csrh", "status": "syncing" }],
"failures": []
}
}
An account that is already connected lands in failures instead of accounts, so repeating the call never duplicates a connection.
Wait for the first sync
Poll each returned account by its id until status reaches ready (new on registration, syncing while resources stream in):
until [ "$(curl -s "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY" | jq -r '.result.status')" = "ready" ]; do
sleep 15
done
Give the loop a deadline so a failed connect fails the job instead of hanging it. Once the account is ready, its resources are in the topology and Polylane has started its first check.
Disconnect from the API
Deleting the connection stops every sync and check and deletes the credentials Polylane held. The call needs the cloud_accounts:delete scope:
curl -X DELETE "https://api.polylane.com/v1/cloud_accounts/$WORKSPACE_ID/$ACCOUNT_ID" \
-H "x-api-key: $POLYLANE_API_KEY"
Then revoke the Render credential on the provider side, as described under Disconnect below.
Disconnect
Disconnecting stops every sync and check and deletes the credentials Polylane held. Everything Polylane set up in Render is removed as well; nothing is left behind.
polylane cloud disconnect <id>Tools
5Operations agents can perform in threads.
Supported resources
13Resource types that show up in your infrastructure graph.