[{"data":1,"prerenderedAt":906},["ShallowReactive",2],{"navigation_docs_en":3,"-en-reference-licensing":314,"-en-reference-licensing-surround":901},[4,30,72,112,195,304],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,15,20,25],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fen\u002Fgetting-started\u002Fintroduction","en\u002F1.getting-started\u002F2.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Quickstart","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F1.getting-started\u002F3.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Use Cases","\u002Fen\u002Fgetting-started\u002Fuse-cases","en\u002F1.getting-started\u002F4.use-cases","i-lucide-layers",{"title":26,"path":27,"stem":28,"icon":29},"Concepts","\u002Fen\u002Fgetting-started\u002Fconcepts","en\u002F1.getting-started\u002F5.concepts","i-lucide-book",{"title":26,"path":31,"stem":32,"children":33,"page":6},"\u002Fen\u002Fconcepts","en\u002F2.concepts",[34,38,43,48,53,58,63,68],{"title":35,"path":36,"stem":37,"icon":14},"Organization","\u002Fen\u002Fconcepts\u002Forganization","en\u002F2.concepts\u002F1.organization",{"title":39,"path":40,"stem":41,"icon":42},"Data Model","\u002Fen\u002Fconcepts\u002Fdata-model","en\u002F2.concepts\u002F2.data-model","i-lucide-database",{"title":44,"path":45,"stem":46,"icon":47},"Access Control","\u002Fen\u002Fconcepts\u002Faccess-permissions","en\u002F2.concepts\u002F3.access-permissions","i-lucide-user-key",{"title":49,"path":50,"stem":51,"icon":52},"Audit Logs","\u002Fen\u002Fconcepts\u002Faudit-logs","en\u002F2.concepts\u002F4.audit-logs","i-lucide-scroll-text",{"title":54,"path":55,"stem":56,"icon":57},"Introspection","\u002Fen\u002Fconcepts\u002Fintrospection","en\u002F2.concepts\u002F6.introspection","i-lucide-database-search",{"title":59,"path":60,"stem":61,"icon":62},"Query Engine","\u002Fen\u002Fconcepts\u002Fquery-engine","en\u002F2.concepts\u002F7.query-engine","i-lucide-workflow",{"title":64,"path":65,"stem":66,"icon":67},"AI","\u002Fen\u002Fconcepts\u002Fai","en\u002F2.concepts\u002F8.ai","i-lucide-sparkles",{"title":69,"path":70,"stem":71,"icon":42},"Caching","\u002Fen\u002Fconcepts\u002Fcaching","en\u002F2.concepts\u002F9.caching",{"title":73,"path":74,"stem":75,"children":76,"page":6},"Guides","\u002Fen\u002Fguides","en\u002F4.guides",[77,82,87,92,97,102,107],{"title":78,"path":79,"stem":80,"icon":81},"REST API Quickstart","\u002Fen\u002Fguides\u002Frest-api","en\u002F4.guides\u002F1.rest-api","i-lucide-plug",{"title":83,"path":84,"stem":85,"icon":86},"SDK Quickstart","\u002Fen\u002Fguides\u002Fsdk","en\u002F4.guides\u002F2.sdk","i-lucide-terminal",{"title":88,"path":89,"stem":90,"icon":91},"Configure SSO","\u002Fen\u002Fguides\u002Fconfigure-sso","en\u002F4.guides\u002F3.configure-sso","i-lucide-key-round",{"title":93,"path":94,"stem":95,"icon":96},"Configure MCP","\u002Fen\u002Fguides\u002Fmcp","en\u002F4.guides\u002F4.mcp","i-lucide-brain-cog",{"title":98,"path":99,"stem":100,"icon":101},"Customize Content Space","\u002Fen\u002Fguides\u002Fcustomize-content-space","en\u002F4.guides\u002F5.customize-content-space","i-lucide-columns-3-cog",{"title":103,"path":104,"stem":105,"icon":106},"Build an Application with AI Assistance","\u002Fen\u002Fguides\u002Fbuild-an-application","en\u002F4.guides\u002F6.build-an-application","i-lucide-route",{"title":108,"path":109,"stem":110,"icon":111},"Horizontal Scaling","\u002Fen\u002Fguides\u002Fhorizontal-scaling","en\u002F4.guides\u002F7.horizontal-scaling","i-lucide-network",{"title":113,"path":114,"stem":115,"children":116,"page":6},"Developer","\u002Fen\u002Fdeveloper","en\u002F5.developer",[117,171],{"title":118,"path":119,"stem":120,"children":121,"page":6},"Data Access","\u002Fen\u002Fdeveloper\u002Fapi","en\u002F5.developer\u002F1.api",[122,127,132,137,142,147,152,157,162,166],{"title":123,"path":124,"stem":125,"icon":126},"Overview","\u002Fen\u002Fdeveloper\u002Fapi\u002Foverview","en\u002F5.developer\u002F1.api\u002F1.overview","i-lucide-globe",{"title":128,"path":129,"stem":130,"icon":131},"Errors","\u002Fen\u002Fdeveloper\u002Fapi\u002Ferrors","en\u002F5.developer\u002F1.api\u002F10.errors","i-lucide-alert-triangle",{"title":133,"path":134,"stem":135,"icon":136},"Authentication","\u002Fen\u002Fdeveloper\u002Fapi\u002Fauthentication","en\u002F5.developer\u002F1.api\u002F2.authentication","i-lucide-lock",{"title":138,"path":139,"stem":140,"icon":141},"Reading Data","\u002Fen\u002Fdeveloper\u002Fapi\u002Freading-data","en\u002F5.developer\u002F1.api\u002F3.reading-data","i-lucide-book-open",{"title":143,"path":144,"stem":145,"icon":146},"Writing Data","\u002Fen\u002Fdeveloper\u002Fapi\u002Fwriting-data","en\u002F5.developer\u002F1.api\u002F4.writing-data","i-lucide-pencil",{"title":148,"path":149,"stem":150,"icon":151},"Filtering","\u002Fen\u002Fdeveloper\u002Fapi\u002Ffiltering","en\u002F5.developer\u002F1.api\u002F5.filtering","i-lucide-filter",{"title":153,"path":154,"stem":155,"icon":156},"Field Selection","\u002Fen\u002Fdeveloper\u002Fapi\u002Ffield-selection","en\u002F5.developer\u002F1.api\u002F6.field-selection","i-lucide-list-checks",{"title":158,"path":159,"stem":160,"icon":161},"Sorting & Pagination","\u002Fen\u002Fdeveloper\u002Fapi\u002Fsorting-pagination","en\u002F5.developer\u002F1.api\u002F7.sorting-pagination","i-lucide-arrow-up-down",{"title":163,"path":164,"stem":165,"icon":111},"Relational Data","\u002Fen\u002Fdeveloper\u002Fapi\u002Frelational-data","en\u002F5.developer\u002F1.api\u002F8.relational-data",{"title":167,"path":168,"stem":169,"icon":170},"Files & Assets","\u002Fen\u002Fdeveloper\u002Fapi\u002Ffiles","en\u002F5.developer\u002F1.api\u002F9.files","i-lucide-file-up",{"title":172,"path":173,"stem":174,"children":175,"page":6},"Client SDK","\u002Fen\u002Fdeveloper\u002Fsdk","en\u002F5.developer\u002F2.sdk",[176,180,185,190],{"title":177,"path":178,"stem":179,"icon":19},"Installation","\u002Fen\u002Fdeveloper\u002Fsdk\u002Finstallation","en\u002F5.developer\u002F2.sdk\u002F1.installation",{"title":181,"path":182,"stem":183,"icon":184},"Client Setup","\u002Fen\u002Fdeveloper\u002Fsdk\u002Fclient-setup","en\u002F5.developer\u002F2.sdk\u002F2.client-setup","i-lucide-settings",{"title":186,"path":187,"stem":188,"icon":189},"Type System","\u002Fen\u002Fdeveloper\u002Fsdk\u002Ftype-system","en\u002F5.developer\u002F2.sdk\u002F3.type-system","i-lucide-braces",{"title":191,"path":192,"stem":193,"icon":194},"Advanced","\u002Fen\u002Fdeveloper\u002Fsdk\u002Fadvanced","en\u002F5.developer\u002F2.sdk\u002F5.advanced","i-lucide-puzzle",{"title":196,"path":197,"stem":198,"children":199,"page":6},"Reference","\u002Fen\u002Freference","en\u002F6.reference",[200,204,209,214,230,234,239,275],{"title":201,"path":202,"stem":203,"icon":184},"Configuration","\u002Fen\u002Freference\u002Fenvironment-variables","en\u002F6.reference\u002F1.environment-variables",{"title":205,"path":206,"stem":207,"icon":208},"System Requirements","\u002Fen\u002Freference\u002Fsystem-requirements","en\u002F6.reference\u002F2.system-requirements","i-lucide-server",{"title":210,"path":211,"stem":212,"icon":213},"Licensing","\u002Fen\u002Freference\u002Flicensing","en\u002F6.reference\u002F3.licensing","i-lucide-gem",{"title":215,"path":216,"stem":217,"children":218,"icon":81},"Connectors","\u002Fen\u002Freference\u002Fconnectors","en\u002F6.reference\u002F4.connectors\u002Findex",[219,220,225],{"title":215,"path":216,"stem":217,"icon":81},{"title":221,"path":222,"stem":223,"icon":224},"PostgreSQL and Supabase","\u002Fen\u002Freference\u002Fconnectors\u002Fpostgresql-supabase","en\u002F6.reference\u002F4.connectors\u002F1.postgresql-supabase","i-simple-icons-postgresql",{"title":226,"path":227,"stem":228,"icon":229},"MySQL and MariaDB","\u002Fen\u002Freference\u002Fconnectors\u002Fmysql-mariadb","en\u002F6.reference\u002F4.connectors\u002F2.mysql-mariadb","i-simple-icons-mysql",{"title":231,"path":232,"stem":233,"icon":189},"Data Types Representation","\u002Fen\u002Freference\u002Fdata-types","en\u002F6.reference\u002F5.data-types",{"title":235,"path":236,"stem":237,"icon":238},"Permissions Reference","\u002Fen\u002Freference\u002Fpermissions","en\u002F6.reference\u002F6.permissions","i-lucide-shield",{"title":240,"path":241,"stem":242,"children":243,"page":6},"API Reference","\u002Fen\u002Freference\u002Fapi-reference","en\u002F6.reference\u002F7.api-reference",[244,248,253],{"title":245,"path":246,"stem":247,"icon":208},"System Endpoints","\u002Fen\u002Freference\u002Fapi-reference\u002Fsystem-endpoints","en\u002F6.reference\u002F7.api-reference\u002F1.system-endpoints",{"title":249,"path":250,"stem":251,"icon":252},"OpenAPI Spec","\u002Fen\u002Freference\u002Fapi-reference\u002Fopenapi-spec","en\u002F6.reference\u002F7.api-reference\u002F2.openapi-spec","i-lucide-file-code",{"title":254,"path":255,"stem":256,"children":257,"icon":259},"Schema Migration","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration","en\u002F6.reference\u002F7.api-reference\u002F3.schema-migration\u002Findex",[258,260,265,270],{"title":254,"path":255,"stem":256,"icon":259},"i-lucide-database-zap",{"title":261,"path":262,"stem":263,"icon":264},"Apply Migrations","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Fapply-migrations","en\u002F6.reference\u002F7.api-reference\u002F3.schema-migration\u002F1.apply-migrations","i-lucide-upload",{"title":266,"path":267,"stem":268,"icon":269},"Import Changes","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Fimport-changes","en\u002F6.reference\u002F7.api-reference\u002F3.schema-migration\u002F2.import-changes","i-lucide-refresh-cw",{"title":271,"path":272,"stem":273,"icon":274},"Operation Reference","\u002Fen\u002Freference\u002Fapi-reference\u002Fschema-migration\u002Foperation-reference","en\u002F6.reference\u002F7.api-reference\u002F3.schema-migration\u002F3.operation-reference","i-lucide-list-tree",{"title":276,"path":277,"stem":278,"children":279,"page":6},"Design Considerations","\u002Fen\u002Freference\u002Fdesign-considerations","en\u002F6.reference\u002F8.design-considerations",[280,284,289,294,299],{"title":123,"path":281,"stem":282,"icon":283},"\u002Fen\u002Freference\u002Fdesign-considerations\u002Foverview","en\u002F6.reference\u002F8.design-considerations\u002F1.overview","i-lucide-compass",{"title":285,"path":286,"stem":287,"icon":288},"Instance Configuration","\u002Fen\u002Freference\u002Fdesign-considerations\u002Finstance-configuration-related-problems","en\u002F6.reference\u002F8.design-considerations\u002F3.instance-configuration-related-problems","i-lucide-wrench",{"title":290,"path":291,"stem":292,"icon":293},"Overly Permissive Public Access","\u002Fen\u002Freference\u002Fdesign-considerations\u002Foverly-permissive","en\u002F6.reference\u002F8.design-considerations\u002F4.overly-permissive","i-lucide-shield-off",{"title":295,"path":296,"stem":297,"icon":298},"No Aggregates","\u002Fen\u002Freference\u002Fdesign-considerations\u002Fno-aggregates","en\u002F6.reference\u002F8.design-considerations\u002F5.no-aggregates","i-lucide-sigma",{"title":300,"path":301,"stem":302,"icon":303},"Cross-Data-Source Referential Integrity","\u002Fen\u002Freference\u002Fdesign-considerations\u002Fcross-data-source-referential-integrity","en\u002F6.reference\u002F8.design-considerations\u002F6.cross-data-source-referential-integrity","i-lucide-unlink",{"title":305,"icon":306,"path":307,"stem":308,"children":309,"page":6},"Release Notes","i-lucide-rocket","\u002Fen\u002Frelease-notes","en\u002F7.release-notes",[310],{"title":311,"path":312,"stem":313,"icon":306},"Changelog","\u002Fen\u002Frelease-notes\u002Fchangelog","en\u002F7.release-notes\u002F1.changelog",{"id":315,"title":210,"body":316,"description":894,"extension":895,"links":896,"meta":897,"navigation":898,"path":211,"seo":899,"stem":212,"__hash__":900},"docs_en\u002Fen\u002F6.reference\u002F3.licensing.md",{"type":317,"value":318,"toc":880},"minimark",[319,323,336,344,348,351,401,404,416,419,424,440,451,459,462,466,469,570,576,580,583,589,592,595,602,670,673,685,692,719,723,726,828,831,835,845,849],[320,321,123],"h2",{"id":322},"overview",[324,325,326,327,331,332,335],"p",{},"Without a license key, the instance runs on the ",[328,329,330],"strong",{},"Starter"," plan by default. For every commercial Monospace instance, it runs using a license. The license carries ",[328,333,334],{},"license entitlements",": the limits and features the instance may use, such as the number of workspaces or whether single sign-on is available.",[324,337,338,339,343],{},"License entitlements are separate from the permission entitlements that policies grant to members. See the ",[340,341,235],"a",{"href":342},"\u002Freference\u002Fpermissions"," for those.",[320,345,347],{"id":346},"apply-a-license","Apply a License",[324,349,350],{},"The instance takes its license from one of two environment variables, or runs on Starter when neither is set.",[352,353,354,369],"table",{},[355,356,357],"thead",{},[358,359,360,363,366],"tr",{},[361,362,201],"th",{},[361,364,365],{},"License",[361,367,368],{},"Licensing service",[370,371,372,388],"tbody",{},[358,373,374,382,385],{},[375,376,377],"td",{},[378,379],"env-var",{"name":380,"section":381},"license__key","license",[375,383,384],{},"Online license, activated and revalidated over HTTPS",[375,386,387],{},"Required at every startup and for revalidation",[358,389,390,395,398],{},[375,391,392],{},[378,393],{"name":394,"section":381},"license__token",[375,396,397],{},"Offline license, verified locally",[375,399,400],{},"Never contacted",[324,402,403],{},"Setting both variables fails startup:",[405,406,413],"pre",{"className":407,"code":409,"filename":410,"language":411,"meta":412},[408],"language-text","Invalid configuration. Use either MONOSPACE_LICENSE__KEY or MONOSPACE_LICENSE__TOKEN but not both at the same time.\n","logs","text","",[414,415,409],"code",{"__ignoreMap":412},[324,417,418],{},"In clustered mode, set the same license variable on every replica. Replicas share one activation through the system database.",[420,421,423],"h3",{"id":422},"license-key-activation","License Key Activation",[324,425,426,427,430,431],{},"On the first start with a key, Monospace activates it with the licensing service at ",[414,428,429],{},"https:\u002F\u002Flicensing.monospace.io",". Activation sends the key, the environment ID Monospace generated when the system database was installed, and the public URL from ",[378,432,435,436,439],{"name":433,"section":434},"base_url","server",". The service returns a signed license, which Monospace stores in the system database. Set ",[414,437,438],{},"MONOSPACE_BASE_URL"," before activating, because the licensing service records it against the activation.",[324,441,442,443,446,447,450],{},"Every later start revalidates the stored license with the service. Monospace also revalidates on the schedule the license specifies, never more than once an hour, and whenever an organization administrator selects ",[328,444,445],{},"Refresh License"," in the Studio or calls ",[414,448,449],{},"POST \u002Fapi\u002Fsystem\u002Flicense\u002Frefresh",". Revalidation applies changes to the license, such as added workspaces or a new expiry date, without a restart.",[324,452,453,454,458],{},"The licensing service must be reachable at every startup, unless using the offline license token. If it is not reachable, the instance does not start. If the service is unreachable during a scheduled revalidation, the instance keeps its current entitlements, logs a warning, and the Studio License panel reports the service as unreachable. See ",[340,455,457],{"href":456},"#license-status","License Status"," for what happens when the license reaches its expiry date in that state.",[324,460,461],{},"To move to a different license, replace the key and restart; Monospace activates the new key. To return to Starter, unset the variable and restart.",[420,463,465],{"id":464},"startup-failures","Startup Failures",[324,467,468],{},"A license problem stops the instance before it serves requests. The log names the cause.",[352,470,471,481],{},[355,472,473],{},[358,474,475,478],{},[361,476,477],{},"Log message",[361,479,480],{},"Cause",[370,482,483,493,510,522,532,550,560],{},[358,484,485,490],{},[375,486,487],{},[414,488,489],{},"Invalid configuration. Use either MONOSPACE_LICENSE__KEY or MONOSPACE_LICENSE__TOKEN but not both at the same time.",[375,491,492],{},"Both variables are set",[358,494,495,504],{},[375,496,497,500,501],{},[414,498,499],{},"Invalid key",", caused by ",[414,502,503],{},"License key not for Monospace",[375,505,506,507],{},"The key does not begin with ",[414,508,509],{},"M",[358,511,512,519],{},[375,513,514,500,516],{},[414,515,499],{},[414,517,518],{},"Invalid license key checksum",[375,520,521],{},"The key is mistyped",[358,523,524,529],{},[375,525,526],{},[414,527,528],{},"Could not reach the license server.",[375,530,531],{},"A key is configured and the licensing service is unreachable",[358,533,534,539],{},[375,535,536],{},[414,537,538],{},"Failed to request from license server.",[375,540,541,542,545,546,549],{},"The licensing service rejected the request; the cause follows, for example ",[414,543,544],{},"LicenseExpired"," for a key that expired before its first activation, or ",[414,547,548],{},"License usage limit reached"," for a key already activated on its maximum number of instances",[358,551,552,557],{},[375,553,554],{},[414,555,556],{},"This license does not include offline use.",[375,558,559],{},"The token's license does not include offline use",[358,561,562,567],{},[375,563,564],{},[414,565,566],{},"Invalid token",[375,568,569],{},"The token is malformed, its signature does not verify, or it was issued for another product",[324,571,572,573,575],{},"A license that expires after activation does not stop startup. The instance starts with the license locked; see ",[340,574,457],{"href":456},".",[320,577,579],{"id":578},"startup-usage-check","Startup Usage Check",[324,581,582],{},"After applying the license, Monospace compares existing usage with every hard limit. If usage exceeds a limit, the instance does not start and the log lists each violation:",[405,584,587],{"className":585,"code":586,"filename":410,"language":411,"meta":412},[408],"License entitlement check failed; startup has been rejected:\n- workspaces: usage 2 exceeds hard limit 1\n- sso_enabled: usage true is not allowed\n  note: disabled SSO provider found\n- seats: usage 4 exceeds hard limit 3 (workspace: blog)\n  note: workspace invitations are included in seat usage\n",[414,588,586],{"__ignoreMap":412},[324,590,591],{},"The check runs on every start, so it also applies after you remove a key or a license is reissued with lower limits. To start the instance, reduce usage to within the limits, set a key for a license that covers the usage, or ask support for a temporary extension so you can reduce usage while the instance runs.",[320,593,457],{"id":594},"license-status",[324,596,597,598,601],{},"A license has one of three statuses. ",[414,599,600],{},"GET \u002Fapi\u002Fsystem\u002Finfo"," reports it, and the Studio acts on it.",[352,603,604,617],{},[355,605,606],{},[358,607,608,611,614],{},[361,609,610],{},"Status",[361,612,613],{},"Meaning",[361,615,616],{},"Effect",[370,618,619,632,645],{},[358,620,621,626,629],{},[375,622,623],{},[414,624,625],{},"active",[375,627,628],{},"The license is within its term",[375,630,631],{},"None",[358,633,634,639,642],{},[375,635,636],{},[414,637,638],{},"grace",[375,640,641],{},"The expiry date has passed, and the grace period the license grants has not ended",[375,643,644],{},"None. Organization and workspace administrators see a warning in the Studio",[358,646,647,652,655],{},[375,648,649],{},[414,650,651],{},"locked",[375,653,654],{},"The grace period has ended, or the licensing service reported the license as expired, suspended, or canceled",[375,656,657,658,661,662,665,666,669],{},"Every request to ",[414,659,660],{},"\u002Fapi\u002F{workspace}\u002Fitems\u002F..."," returns ",[414,663,664],{},"402"," with ",[414,667,668],{},"System is locked. Please contact system administrator."," The Studio shows a lock screen to signed-in members",[324,671,672],{},"The Starter license never expires.",[324,674,675,676,678,679,681,682,684],{},"When a license reaches its expiry date, the status becomes ",[414,677,638],{}," for the grace period the license specifies, then ",[414,680,651],{},". A revalidation that reaches the licensing service ends this early: a renewed license returns to ",[414,683,625],{},", and a license the service reports as expired, suspended, or canceled locks at once. Administrators see a warning in the Studio from 14 days before expiry and throughout the grace period.",[324,686,687,688,691],{},"Endpoints outside ",[414,689,690],{},"\u002Fitems",", including sign-in, the system endpoints, and the license endpoints, keep working while the license is locked, so an administrator can resolve it. To unlock an instance:",[693,694,695,708],"ul",{},[696,697,698,701,702,704,705,707],"li",{},[328,699,700],{},"Renew or extend the license",", then revalidate with ",[328,703,445],{}," in the Studio or ",[414,706,449],{},". Scheduled revalidation continues while locked, so the instance also unlocks on its own once the licensing service returns a valid license. No restart is needed. For an offline license, set the new token and restart.",[696,709,710,713,714,718],{},[328,711,712],{},"Return to Starter"," by unsetting the license variables and restarting. The ",[340,715,717],{"href":716},"#startup-usage-check","startup usage check"," applies, so reduce usage to within the Starter limits first.",[320,720,722],{"id":721},"usage-measurement","Usage Measurement",[324,724,725],{},"Monospace measures usage the same way at startup, before a write, and in the license endpoints.",[352,727,728,741],{},[355,729,730],{},[358,731,732,735,738],{},[361,733,734],{},"Entitlement",[361,736,737],{},"Scope",[361,739,740],{},"Counted",[370,742,743,755,768,780,792,804,816],{},[358,744,745,750,752],{},[375,746,747],{},[414,748,749],{},"workspaces",[375,751,35],{},[375,753,754],{},"Every workspace",[358,756,757,762,765],{},[375,758,759],{},[414,760,761],{},"seats",[375,763,764],{},"Per workspace",[375,766,767],{},"Active members plus unexpired workspace invitations. Suspended members, service accounts, and organization-only invitations are not counted",[358,769,770,775,777],{},[375,771,772],{},[414,773,774],{},"custom_roles",[375,776,764],{},[375,778,779],{},"Every role except the built-in Administrator and Public roles",[358,781,782,787,789],{},[375,783,784],{},[414,785,786],{},"custom_policies",[375,788,764],{},[375,790,791],{},"Every policy you created, whether or not it is attached to a role",[358,793,794,799,801],{},[375,795,796],{},[414,797,798],{},"custom_permission_rules_enabled",[375,800,764],{},[375,802,803],{},"Whether any policy you created uses an item filter, a specific-field selection, or a validation rule",[358,805,806,811,813],{},[375,807,808],{},[414,809,810],{},"service_accounts",[375,812,35],{},[375,814,815],{},"Every service account",[358,817,818,823,825],{},[375,819,820],{},[414,821,822],{},"sso_enabled",[375,824,35],{},[375,826,827],{},"Whether any sign-in provider other than password exists, including a disabled one",[324,829,830],{},"A per-workspace limit applies to each workspace separately. Suspending a member frees their seat; deleting a sign-in provider, not disabling it, ends SSO usage.",[320,832,834],{"id":833},"view-license-and-usage","View License and Usage",[324,836,837,838,841,842,844],{},"Organization administrators open ",[328,839,840],{},"Organization Settings > License",". The panel shows the license name, its expiry date, and each entitlement with current usage against its limit; expand a per-workspace entitlement to see each workspace. It flags usage above a soft limit and a licensing service that could not be reached. ",[328,843,445],{}," is available for a license applied with a key.",[320,846,848],{"id":847},"see-also","See Also",[693,850,851,857,863,869,875],{},[696,852,853,856],{},[340,854,201],{"href":855},"\u002Freference\u002Fenvironment-variables#license"," -- the license environment variables",[696,858,859,862],{},[340,860,205],{"href":861},"\u002Freference\u002Fsystem-requirements"," -- outbound access to the licensing service",[696,864,865,868],{},[340,866,245],{"href":867},"\u002Freference\u002Fapi-reference\u002Fsystem-endpoints"," -- the license and instance info endpoints",[696,870,871,874],{},[340,872,128],{"href":873},"\u002Fdeveloper\u002Fapi\u002Ferrors"," -- the error response shape",[696,876,877,879],{},[340,878,235],{"href":342}," -- permission entitlements, which are separate from license entitlements",{"title":412,"searchDepth":881,"depth":881,"links":882},2,[883,884,889,890,891,892,893],{"id":322,"depth":881,"text":123},{"id":346,"depth":881,"text":347,"children":885},[886,888],{"id":422,"depth":887,"text":423},3,{"id":464,"depth":887,"text":465},{"id":578,"depth":881,"text":579},{"id":594,"depth":881,"text":457},{"id":721,"depth":881,"text":722},{"id":833,"depth":881,"text":834},{"id":847,"depth":881,"text":848},"How Monospace applies a license, checks usage against it, and behaves when a license expires or locks.","md",null,{},{"icon":213},{"title":210,"description":894},"hIPInAgtC0N5vh1LyL10fSx7MsYz9iRbBNGfIhW6b3w",[902,904],{"title":205,"path":206,"stem":207,"description":903,"icon":208,"children":-1},"Minimum hardware, service dependencies, and network requirements for running Monospace in production.",{"title":215,"path":216,"stem":217,"description":905,"icon":81,"children":-1},"Supported database connectors and their configuration options.",1790168581295]