{"openapi":"3.1.0","info":{"title":"Supermemory (BYOK) API","version":"0.1.0","description":"Supermemory (BYOK) lets an AI assistant read your own Supermemory data through the Supermemory API with a key you supply (Supermemory API key (starts with sm_)). Read-only: 9 tools (list_documents, get_document, get_document_chunks, list_processing_documents, list_memories, list_connections, get_connection, get_container_tag_settings, get_organization_settings). The BYOK key travels with each...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-supermemory.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-supermemory/docs"},"termsOfService":"https://connectorbay.com/byok-supermemory/terms"},"servers":[{"url":"https://byok-supermemory.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-supermemory/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_documents":{"post":{"operationId":"list_documents","summary":"List the documents ingested into Supermemory (newest first by default) with title, type, processing status, summary, sou","description":"List the documents ingested into Supermemory (newest first by default) with title, type, processing status, summary, source URL and container tags. Use for \"Which documents have I stored in Supermemory and are any still processing\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Items per page (1 to 100).","title":"Limit"},"sort":{"anyOf":[{"enum":["createdAt","updatedAt"],"type":"string"},{"type":"null"}],"default":"createdAt","description":"Sort field: createdAt or updatedAt.","title":"Sort"},"order":{"anyOf":[{"enum":["desc","asc"],"type":"string"},{"type":"null"}],"default":"desc","description":"Sort order: asc or desc.","title":"Order"}},"title":"list_documentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_document":{"post":{"operationId":"get_document","summary":"Get one document: title, summary, status, type, source URL, container tags and the memories extracted from it. Use for \"","description":"Get one document: title, summary, status, type, source URL, container tags and the memories extracted from it. Use for \"What memories did Supermemory extract from document doc_abc123\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"document_id":{"description":"Id of the document, from list_documents.","maxLength":200,"title":"Document Id","type":"string"}},"required":["document_id"],"title":"get_documentArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_document_chunks":{"post":{"operationId":"get_document_chunks","summary":"Get the text chunks a document was split into, in order. Chunks can be long. Use for \"Show the chunks of Supermemory doc","description":"Get the text chunks a document was split into, in order. Chunks can be long. Use for \"Show the chunks of Supermemory document doc_abc123\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"document_id":{"description":"Id of the document, from list_documents.","maxLength":200,"title":"Document Id","type":"string"}},"required":["document_id"],"title":"get_document_chunksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_processing_documents":{"post":{"operationId":"list_processing_documents","summary":"List documents still being processed (default view), or all unfinished or failed ones, with status and error message. Us","description":"List documents still being processed (default view), or all unfinished or failed ones, with status and error message. Use for \"Is anything stuck processing in Supermemory\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"view":{"anyOf":[{"enum":["active","pending","all"],"type":"string"},{"type":"null"}],"default":"active","description":"active (in flight in the last 4 hours), pending (everything unfinished) or all (also failed, paged).","title":"View"},"container_tags":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated container tags to filter by.","title":"Container Tags"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page number for view=all.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Items per page for view=all.","title":"Limit"}},"title":"list_processing_documentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_memories":{"post":{"operationId":"list_memories","summary":"List the extracted memory entries of one container tag (a user, project or other grouping) with version, latest and forg","description":"List the extracted memory entries of one container tag (a user, project or other grouping) with version, latest and forgotten flags and source document ids. Use for \"What does Supermemory remember for container user_1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"container_tag":{"description":"The container tag whose memories to list, for example a user id.","maxLength":100,"title":"Container Tag","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Items per page (1 to 100).","title":"Limit"},"sort":{"anyOf":[{"enum":["createdAt","updatedAt"],"type":"string"},{"type":"null"}],"default":"createdAt","description":"Sort field: createdAt or updatedAt.","title":"Sort"},"order":{"anyOf":[{"enum":["desc","asc"],"type":"string"},{"type":"null"}],"default":"desc","description":"Sort order: asc or desc.","title":"Order"}},"required":["container_tag"],"title":"list_memoriesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_connections":{"post":{"operationId":"list_connections","summary":"List the external connections (such as Google Drive, Notion, GitHub) that sync content into Supermemory with status of t","description":"List the external connections (such as Google Drive, Notion, GitHub) that sync content into Supermemory with status of the last sync. Use for \"Which sources are connected to my Supermemory\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_connectionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_connection":{"post":{"operationId":"get_connection","summary":"Get one connection by id: provider, account email, document limit and last sync result. Use for \"How did the last sync o","description":"Get one connection by id: provider, account email, document limit and last sync result. Use for \"How did the last sync of Supermemory connection conn_1 go\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"connection_id":{"description":"Id of the connection, from list_connections.","maxLength":200,"title":"Connection Id","type":"string"}},"required":["connection_id"],"title":"get_connectionArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_container_tag_settings":{"post":{"operationId":"get_container_tag_settings","summary":"Get the settings of one container tag: display name, entity context and profile buckets. Use for \"What settings does Sup","description":"Get the settings of one container tag: display name, entity context and profile buckets. Use for \"What settings does Supermemory container tag user_1 have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"container_tag":{"description":"The container tag, for example a user id.","maxLength":200,"title":"Container Tag","type":"string"}},"required":["container_tag"],"title":"get_container_tag_settingsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_organization_settings":{"post":{"operationId":"get_organization_settings","summary":"Get the organization-wide settings: LLM filtering, filter prompt, chunk size and profile buckets (connector client secre","description":"Get the organization-wide settings: LLM filtering, filter prompt, chunk size and profile buckets (connector client secrets are not shown). Use for \"What are my Supermemory organization settings\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_organization_settingsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}