<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rdf:RDF[
	<!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'>
	<!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'>
	<!ENTITY owl 'http://www.w3.org/2002/07/owl#'>
	<!ENTITY swivt 'http://semantic-mediawiki.org/swivt/1.0#'>
	<!ENTITY wiki 'http://wikibase.nl/Special:URIResolver/'>
	<!ENTITY category 'http://wikibase.nl/Special:URIResolver/Category-3A'>
	<!ENTITY property 'http://wikibase.nl/Special:URIResolver/Property-3A'>
	<!ENTITY wikiurl 'https://open-csp.org/'>
]>

<rdf:RDF
	xmlns:rdf="&rdf;"
	xmlns:rdfs="&rdfs;"
	xmlns:owl ="&owl;"
	xmlns:swivt="&swivt;"
	xmlns:wiki="&wiki;"
	xmlns:category="&category;"
	xmlns:property="&property;">

	<owl:Ontology rdf:about="https://open-csp.org/Special:ExportRDF/DevOps-3ADoc/FlexForm/2.5/API/FlexFormOpen">
		<swivt:creationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-04-30T03:59:03+02:00</swivt:creationDate>
		<owl:imports rdf:resource="http://semantic-mediawiki.org/swivt/1.0"/>
	</owl:Ontology>
	<swivt:Subject rdf:about="http://wikibase.nl/Special:URIResolver/DevOps-3ADoc/FlexForm/2.5/API/FlexFormOpen">
		<rdfs:label>FlexFormOpen</rdfs:label>
		<rdfs:isDefinedBy rdf:resource="https://open-csp.org/Special:ExportRDF/DevOps-3ADoc/FlexForm/2.5/API/FlexFormOpen"/>
		<swivt:page rdf:resource="https://open-csp.org/DevOps-3ADoc/FlexForm/2.5/API/FlexFormOpen"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">50000</swivt:wikiNamespace>
		<swivt:wikiPageContentLanguage rdf:datatype="http://www.w3.org/2001/XMLSchema#string">en</swivt:wikiPageContentLanguage>
		<property:Class rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Doc</property:Class>
		<property:Doc_parent rdf:resource="&wiki;DevOps-3ADoc/FlexForm/1.1/API"/>
		<property:Doc_sort_order rdf:datatype="http://www.w3.org/2001/XMLSchema#double">10</property:Doc_sort_order>
		<property:Doc_subject rdf:resource="&wiki;DevOps-3ADoc/FlexForm"/>
		<property:Doc_synopsis rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Trigger a FlexForm open action</property:Doc_synopsis>
		<property:Doc_target_group rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Developer</property:Doc_target_group>
		<property:Doc_title_with_versions rdf:datatype="http://www.w3.org/2001/XMLSchema#string">FlexFormOpen (2.5)</property:Doc_title_with_versions>
		<property:Subject_version rdf:datatype="http://www.w3.org/2001/XMLSchema#string">2.5</property:Subject_version>
		<property:Title rdf:datatype="http://www.w3.org/2001/XMLSchema#string">FlexFormOpen</property:Title>
		<property:Has_query rdf:resource="&wiki;DevOps-3ADoc/FlexForm/2.5/API/FlexFormOpen-23_QUERY88614bf6e9243d0e364dbe53022b08f6"/>
		<swivt:wikiPageCreationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-02-23T14:12:15Z</swivt:wikiPageCreationDate>
		<property:Creation_date-23aux rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2461095.0918403</property:Creation_date-23aux>
		<property:Display_title_of rdf:datatype="http://www.w3.org/2001/XMLSchema#string">FlexFormOpen</property:Display_title_of>
		<swivt:wikiPageModificationDate rdf:datatype="http://www.w3.org/2001/XMLSchema#dateTime">2026-02-23T14:37:51Z</swivt:wikiPageModificationDate>
		<property:Modification_date-23aux rdf:datatype="http://www.w3.org/2001/XMLSchema#double">2461095.1096181</property:Modification_date-23aux>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Doc/FlexForm/2.5/API/FlexFormOpen</swivt:wikiPageSortKey>
		<property:Page_creator rdf:resource="&wiki;User-3A3f181944-2D9694-2D4c7c-2D83d3-2Da6193204adb3"/>
		<property:Page_author rdf:resource="&wiki;User-3AFd4138e7-2D8b46-2D4c8f-2D99bf-2Dd4b738ebc295"/>
		<property:Page_author rdf:resource="&wiki;User-3A3f181944-2D9694-2D4c7c-2D83d3-2Da6193204adb3"/>
		<property:Page_ID rdf:datatype="http://www.w3.org/2001/XMLSchema#double">601</property:Page_ID>
		<property:Internal_links rdf:datatype="http://www.w3.org/2001/XMLSchema#string">DevOps:Doc/FlexForm/2.0/CreateUser</property:Internal_links>
		<property:Parsed_text rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Name 
 API
 
 Type 
 FlexFormOpen (Available since 2.7.1)
 
 Synopsis 
 Open FlexForm API endpoint for lightweight validation actions.
 
 Description 
 The FlexFormOpen API provides limited, publicly accessible FlexForm functionality intended for frontend validation use cases. It does not require readapi-rights.
 Currently, the available actions are:
 
  canUserBeCreated – Checks whether a username can be created. 
 This API is especially useful when implementing CreateUser forms. 
 When paired with JavaScript, it allows real-time username validation (e.g., checking whether a username already exists or is invalid) before form submission.
 For security reasons, this API is disabled by default .
 To enable it, set the following configuration option:
 
   $wgFlexFormConfig [ 'allowFlexFormOpenAPI' ]  =  true ; 
 
 Parameters 
 ffAction – The FlexFormOpen action to execute.
 
  canUserBeCreated (required) 
 additionalData – Additional data required for the action. 
 
 For canUserBeCreated , this must contain the username to validate. (required) 
 Action: canUserBeCreated 
 Checks whether a username:
 
 Does not already exist 
 Meets MediaWiki username validation requirements 
 Can safely be created 
 This action does not create the user. It only performs validation.
 
  Example (JavaScript) 
 Example using MediaWiki's mw.Api():
 
   var   api   =   new   mw . Api (); 

 api . get ({ 
    action :   "FlexFormOpen" , 
    ffAction :   "canUserBeCreated" , 
    additionalData :   correctedUsername , 
    formatversion :   2 
 }). done ( function   ( data )   { 

    if   ( data . canUser   ===   true )   { 
      console . log ( "Username can be created." ); 
    }   else   { 
      console . log ( "Username cannot be created." ); 
    } 

 }); 
 
 If the API is disabled via configuration (or default):
 
   { 
    "error" :   { 
      "message" :   "FlexFormOpen API is disabled." 
    } 
 } 
 
 Security Considerations 
 Because this API does not require authentication, it is disabled by default.
 It is strongly recommended to:
 
 Only enable it when necessary 
 Implement frontend throttling or rate limiting if heavy usage is expected 
 Avoid exposing sensitive validation logic 
 Future Improvements 
 In future versions, an optional attribute may be introduced on FlexForm input fields that automatically performs username validation without requiring custom JavaScript.</property:Parsed_text>
	</swivt:Subject>
	<swivt:Subject rdf:about="http://wikibase.nl/Special:URIResolver/DevOps-3ADoc/FlexForm/2.5/API/FlexFormOpen-23_QUERY88614bf6e9243d0e364dbe53022b08f6">
		<swivt:masterPage rdf:resource="&wiki;DevOps-3ADoc/FlexForm/2.5/API/FlexFormOpen"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">50000</swivt:wikiNamespace>
		<property:Query_depth rdf:datatype="http://www.w3.org/2001/XMLSchema#double">0</property:Query_depth>
		<property:Query_format rdf:datatype="http://www.w3.org/2001/XMLSchema#string">plainlist</property:Query_format>
		<property:Query_size rdf:datatype="http://www.w3.org/2001/XMLSchema#double">1</property:Query_size>
		<property:Query_string rdf:datatype="http://www.w3.org/2001/XMLSchema#string">[[:DevOps:Doc/FlexForm/2.5/API/FlexFormOpen]]</property:Query_string>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Doc/FlexForm/2.5/API/FlexFormOpen# QUERY88614bf6e9243d0e364dbe53022b08f6</swivt:wikiPageSortKey>
	</swivt:Subject>
	<swivt:Subject rdf:about="http://wikibase.nl/Special:URIResolver/DevOps-3ADoc/FlexForm/1.1/API/FlexFormOpen">
		<rdfs:label>DevOps:Doc/FlexForm/1.1/API/FlexFormOpen</rdfs:label>
		<rdfs:isDefinedBy rdf:resource="https://open-csp.org/Special:ExportRDF/DevOps-3ADoc/FlexForm/1.1/API/FlexFormOpen"/>
		<swivt:page rdf:resource="https://open-csp.org/DevOps-3ADoc/FlexForm/1.1/API/FlexFormOpen"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">50000</swivt:wikiNamespace>
		<swivt:wikiPageContentLanguage rdf:datatype="http://www.w3.org/2001/XMLSchema#string">en</swivt:wikiPageContentLanguage>
		<swivt:redirectsTo rdf:resource="&wiki;DevOps-3ADoc/FlexForm/2.5/API/FlexFormOpen"/>
		<owl:sameAs rdf:resource="&wiki;DevOps-3ADoc/FlexForm/2.5/API/FlexFormOpen"/>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Doc/FlexForm/1.1/API/FlexFormOpen</swivt:wikiPageSortKey>
	</swivt:Subject>
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3A_REDI">
		<rdfs:label> REDI</rdfs:label>
		<rdfs:isDefinedBy rdf:resource="https://open-csp.org/Special:ExportRDF/Property-3A_REDI"/>
		<swivt:page rdf:resource="https://open-csp.org/Property-3A_REDI"/>
		<swivt:wikiNamespace rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">102</swivt:wikiNamespace>
		<swivt:wikiPageContentLanguage rdf:datatype="http://www.w3.org/2001/XMLSchema#string">en</swivt:wikiPageContentLanguage>
		<swivt:wikiPageSortKey rdf:datatype="http://www.w3.org/2001/XMLSchema#string">REDI</swivt:wikiPageSortKey>
	</owl:DatatypeProperty>
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#creationDate" />
	<owl:ObjectProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#page" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiNamespace" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageContentLanguage" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AClass" />
	<owl:ObjectProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ADoc_parent" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ADoc_sort_order" />
	<owl:ObjectProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ADoc_subject" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ADoc_synopsis" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ADoc_target_group" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ADoc_title_with_versions" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ASubject_version" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ATitle" />
	<owl:ObjectProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AHas_query" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageCreationDate" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ACreation_date-23aux" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3ADisplay_title_of" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageModificationDate" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AModification_date-23aux" />
	<owl:DatatypeProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#wikiPageSortKey" />
	<owl:ObjectProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3APage_creator" />
	<owl:ObjectProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3APage_author" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3APage_ID" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AInternal_links" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AParsed_text" />
	<owl:ObjectProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#masterPage" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AQuery_depth" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AQuery_format" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AQuery_size" />
	<owl:DatatypeProperty rdf:about="http://wikibase.nl/Special:URIResolver/Property-3AQuery_string" />
	<owl:ObjectProperty rdf:about="http://semantic-mediawiki.org/swivt/1.0#redirectsTo" />
	<!-- Created by Semantic MediaWiki, https://www.semantic-mediawiki.org/ -->
</rdf:RDF>