{"openapi":"3.1.0","components":{"securitySchemes":{"bearerAuth":{"scheme":"bearer","type":"http"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"type":"string","description":"Error message","example":"Invalid request parameters"},"details":{"type":"string","description":"Additional error details","example":"Query must be at least 1 character long"}},"required":["error"]},"FilterPredicate":{"anyOf":[{"type":"object","properties":{"field":{"type":"string","minLength":1,"pattern":"^[a-zA-Z0-9_.-]+$","description":"Metadata key to evaluate, matched literally. A period is part of the key name, not a path into nested metadata."},"operator":{"type":"string","enum":["eq","neq"],"description":"Compare the field for equality or inequality"},"value":{"type":"string","description":"String value to compare against"},"caseSensitive":{"default":true,"description":"Whether string comparison preserves letter case","type":"boolean"}},"required":["field","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","minLength":1,"pattern":"^[a-zA-Z0-9_.-]+$","description":"Metadata key to evaluate, matched literally. A period is part of the key name, not a path into nested metadata."},"operator":{"type":"string","enum":["eq","neq"],"description":"Compare the field for equality or inequality"},"value":{"description":"Numeric or boolean value","type":["number","boolean"]}},"required":["field","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","minLength":1,"pattern":"^[a-zA-Z0-9_.-]+$","description":"Metadata key to evaluate, matched literally. A period is part of the key name, not a path into nested metadata."},"operator":{"type":"string","enum":["gt","gte","lt","lte"],"description":"Numeric comparison to apply"},"value":{"type":"number","description":"Numeric value to compare against"}},"required":["field","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","minLength":1,"pattern":"^[a-zA-Z0-9_.-]+$","description":"Metadata key to evaluate, matched literally. A period is part of the key name, not a path into nested metadata."},"operator":{"type":"string","enum":["contains","notContains"],"description":"Require or exclude a substring match"},"value":{"type":"string","description":"Substring to look for"},"caseSensitive":{"default":true,"description":"Whether substring matching preserves letter case","type":"boolean"}},"required":["field","operator","value"],"additionalProperties":false},{"type":"object","properties":{"field":{"type":"string","minLength":1,"pattern":"^[a-zA-Z0-9_.-]+$","description":"Metadata key to evaluate, matched literally. A period is part of the key name, not a path into nested metadata."},"operator":{"type":"string","enum":["arrayContains","arrayNotContains"],"description":"Require or exclude an exact array member"},"value":{"type":"string","description":"Array member to look for"}},"required":["field","operator","value"],"additionalProperties":false}]},"FilterExpression":{"description":"A type-safe metadata filter predicate or nested and/or expression. The API validates up to 5 levels of nesting.","anyOf":[{"$ref":"#/components/schemas/FilterPredicate"},{"type":"object","properties":{"operator":{"type":"string","const":"and","description":"Require every nested filter expression to match"},"operands":{"type":"array","minItems":1,"maxItems":200,"items":{"$ref":"#/components/schemas/FilterExpression"},"description":"Filter expressions combined with logical AND"}},"required":["operator","operands"],"additionalProperties":false},{"type":"object","properties":{"operator":{"type":"string","const":"or","description":"Require at least one nested filter expression to match"},"operands":{"type":"array","minItems":1,"maxItems":200,"items":{"$ref":"#/components/schemas/FilterExpression"},"description":"Filter expressions combined with logical OR"}},"required":["operator","operands"],"additionalProperties":false}]},"ValidationErrorResponse":{"type":"object","description":"Body returned when request input fails schema validation","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"array","description":"Validation issues","items":{"type":"object","properties":{"message":{"type":"string"},"path":{"type":"array","items":{"oneOf":[{"type":"string"},{"type":"number"}]}}},"required":["message"]}},"data":{"description":"The input that failed validation"}},"required":["success","error"]}}},"info":{"title":"supermemory API","description":"The Memory API for the AI era. OpenAPI operations include x-codeSamples for the official TypeScript and Python SDKs (Mintlify-compatible).","version":"5.0.0"},"security":[{"bearerAuth":[]}],"servers":[{"description":"Production Server","url":"https://api.supermemory.ai"}],"tags":[{"name":"Ingest","description":"Ingest documents, files, URLs, conversations, and other content"},{"name":"Recall (Search)","description":"Semantic recall across your content — supports memories, hybrid, and documents modes"},{"name":"Profiles","description":"Maintained static, dynamic, and custom-bucket profiles scoped by namespace"},{"name":"Content Management","description":"List, get, update, and delete content and memories"},{"name":"Namespaces","description":"List and manage isolated namespaces and their settings"},{"name":"Connectors","description":"Sync external sources such as Google Drive, Notion and GitHub into a namespace"},{"name":"Organization","description":"Read and update organization-wide settings"},{"name":"Feedback","description":"Report bugs, request features, and flag documentation issues"}],"paths":{}}