Back to Supermemory

Creating connections

apps/docs/memory-api/connectors/creating-connection.mdx

latest2.8 KB
Original Source

To create a connection, just make a POST request to /v3/connections/{provider}

<CodeGroup> ```typescript Typescript import Supermemory from 'supermemory';

const client = new Supermemory({ apiKey: process.env['SUPERMEMORY_API_KEY'], // This is the default and can be omitted });

// For OAuth providers (notion, google-drive, onedrive) const connection = await client.connections.create('notion'); console.debug(connection.authLink);

// For web-crawler (no OAuth required) const webCrawlerConnection = await client.connections.create('web-crawler', { metadata: { startUrl: 'https://docs.example.com' } }); console.debug(webCrawlerConnection.id); // authLink will be null


```python Python
import requests

url = "https://api.supermemory.ai/v3/connections/{provider}"

payload = {
    "redirectUrl": "<string>",
    "containerTags": ["<string>"],
    "metadata": {},
    "documentLimit": 5000
}
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.request("POST", url, json=payload, headers=headers)

print(response.text)
bash
curl --request POST \
  --url https://api.supermemory.ai/v3/connections/{provider} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "redirectUrl": "<string>",
  "containerTags": [
    "<string>"
  ],
  "metadata": {},
  "documentLimit": 5000
}'
</CodeGroup>

Parameters

  • provider: The provider to connect to. Currently supported providers are notion, google-drive, onedrive, web-crawler
  • redirectUrl: The URL to redirect to after the connection is created (your app URL)
    • Note: For web-crawler, this is optional as no OAuth flow is required
  • containerTags: Optional. For partitioning users, organizations, etc. in your app.
    • Example: ["user_123", "project_alpha"]
  • metadata: Optional. Any metadata you want to associate with the connection.
    • This metadata is added to every document synced from this connection.
    • For web-crawler, must include startUrl in metadata: {"startUrl": "https://example.com"}
  • documentLimit: Optional. The maximum number of documents to sync from this connection.
    • Default: 10,000
    • This can be used to limit costs and sync a set number of documents for a specific user.

Response

supermemory sends a response with the following schema:

json
{
  "id": "<string>",
  "authLink": "<string>",
  "expiresIn": "<string>",
  "redirectsTo": "<string>"
}

For most providers (notion, google-drive, onedrive), you can use the authLink to redirect the user to the provider's login page.

<Note> **Web Crawler Exception:** For `web-crawler` provider, `authLink` and `expiresIn` will be `null` since no OAuth flow is required. The connection is established immediately upon creation. </Note>

Next up, managing connections.