Nango lets you store arbitrary metadata on individual connections. This is useful for customizing an integration’s behavior per end-customer.
Connection metadata can be set, updated & retrieved with the SDK (reference) & API (reference). It can also be retrieved on the Nango UI, in the Connections tab> Select Connection > Authorization tab:
Set connection metadata
await nango.setMetadata(
'<INTEGRATION-ID>',
'<CONNECTION-ID>',
{ any_key: 'Any Value' }
);
await nango.setMetadata(
'<INTEGRATION-ID>',
'<CONNECTION-ID>',
{ any_key: 'Any Value' }
);
curl --request POST \
--url https://api.nango.dev/connection/<CONNECTION-ID>/metadata \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--header 'Provider-Config-Key: <INTEGRATION-ID>' \
--data '{ "any_key": "Any Value" }'
Update connection metadata
await nango.setMetadata(
'<INTEGRATION-ID>',
'<CONNECTION-ID>',
{ any_key: 'Any Value' }
);
await nango.setMetadata(
'<INTEGRATION-ID>',
'<CONNECTION-ID>',
{ any_key: 'Any Value' }
);
curl --request PATCH \
--url https://api.nango.dev/connection/<CONNECTION-ID>/metadata \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--header 'Provider-Config-Key: <INTEGRATION-ID>' \
--data '{ "any-key": "Any Value" }'
Get connection metadata
await nango.getMetadata('<INTEGRATION-ID>', '<CONNECTION-ID>');
await nango.getMetadata('<INTEGRATION-ID>', '<CONNECTION-ID>');
curl --request GET \
--url 'https://api.nango.dev/connection/<CONNECTION-ID>?provider_config_key=<INTEGRATION-ID>' \
--header 'Authorization: Bearer <TOKEN>'