Data model

The Design API is a RESTful data service based on the Open Data Protocol. This is the OData Entity Description Model (EDM):

<?xml version='1.0' encoding='UTF-8'?>
<edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx">
	<edmx:DataServices m:DataServiceVersion="1.0" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
		<Schema Namespace="com.neotys.neoload.api.design" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
			<EntityType Name="StartRecording">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="VirtualUser" Type="Edm.String" Nullable="true"/>
				<Property Name="BaseContainer" Type="Edm.String" Nullable="true"/>
				<Property Name="ProtocolWebSocket" Type="Edm.Boolean" Nullable="true"/>
				<Property Name="ProtocolAdobeRTMP" Type="Edm.Boolean" Nullable="true"/>
				<Property Name="ProtocolHTTP2" Type="Edm.Boolean" Nullable="true"/>
				<Property Name="UserAgent" Type="Edm.String" Nullable="true"/>
			</EntityType>
			<EntityType Name="StopRecording">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="FrameworkParameterSearch" Type="Edm.Boolean" Nullable="true"/>
				<Property Name="GenericParameterSearch" Type="Edm.Boolean" Nullable="true"/>
				<Property Name="Name" Type="Edm.String" Nullable="true"/>
				<Property Name="DeleteRecording" Type="Edm.Boolean" Nullable="true"/>
				<Property Name="UpdateSharedContainers" Type="Edm.Boolean" Nullable="true"/>
				<Property Name="IncludeVariables" Type="Edm.Boolean" Nullable="true"/>
				<Property Name="MatchingThreshold" Type="Edm.Int32" Nullable="true"/>
			</EntityType>
			<EntityType Name="SetContainer">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="Name" Type="Edm.String" Nullable="false"/>
			</EntityType>
			<EntityType Name="SetScreenshot">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="Image" Type="Edm.Binary" Nullable="false"/>
			</EntityType>
			<EntityType Name="PauseRecording">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
			</EntityType>
			<EntityType Name="ResumeRecording">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
			</EntityType>
			<EntityType Name="SetBaseContainer">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="Name" Type="Edm.String" Nullable="false"/>
			</EntityType>
			<EntityType Name="GetRecorderSettings">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="ProxySettings" Type="com.neotys.neoload.api.design.ProxySettings" Nullable="true"/>
			</EntityType>
			<EntityType Name="GetRecordingStatus">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="Status" Type="Edm.String" Nullable="true"/>
			</EntityType>
			<EntityType Name="OpenProject">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="FilePath" Type="Edm.String" Nullable="false"/>
			</EntityType>
			<EntityType Name="SaveProject">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
			</EntityType>
			<EntityType Name="SaveAsProject">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="DirectoryPath" Type="Edm.String" Nullable="true"/>
				<Property Name="Name" Type="Edm.String" Nullable="false"/>
				<Property Name="ForceStop" Type="Edm.Boolean" Nullable="true"/>
				<Property Name="Overwrite" Type="Edm.Boolean" Nullable="true"/>
			</EntityType>
			<EntityType Name="CloseProject">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="ForceStop" Type="Edm.Boolean" Nullable="true"/>
				<Property Name="Save" Type="Edm.Boolean" Nullable="true"/>
			</EntityType>
			<EntityType Name="Exit">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
			</EntityType>
			<EntityType Name="CreateProject">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="DirectoryPath" Type="Edm.String" Nullable="true"/>
				<Property Name="Name" Type="Edm.String" Nullable="false"/>
				<Property Name="Overwrite" Type="Edm.Boolean" Nullable="true"/>
			</EntityType>
			<EntityType Name="ContainsUserPath">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="Name" Type="Edm.String" Nullable="false"/>
				<Property Name="Contains" Type="Edm.Boolean" Nullable="true"/>
			</EntityType>
			<EntityType Name="IsProjectOpen">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="FilePath" Type="Edm.String" Nullable="false"/>
				<Property Name="Open" Type="Edm.Boolean" Nullable="true"/>
			</EntityType>
			<EntityType Name="GetStatus">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="Status" Type="Edm.String" Nullable="true"/>
			</EntityType>
			<EntityType Name="GetElements">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="Path" Type="Edm.String" Nullable="false"/>
				<Property Name="Element" Type="com.neotys.neoload.api.design.Element" Nullable="true"/>
			</EntityType>
			<EntityType Name="GetChildren">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="Uid" Type="Edm.String" Nullable="false"/>
				<Property Name="Element" Type="com.neotys.neoload.api.design.Element" Nullable="true"/>
			</EntityType>
			<EntityType Name="AddElement">
				<Key>
					<PropertyRef Name="ApiKey"/>
				</Key>
				<Property Name="ApiKey" Type="Edm.String" Nullable="false"/>
				<Property Name="Type" Type="Edm.String" Nullable="false"/>
				<Property Name="Parent" Type="Edm.String" Nullable="true"/>
				<Property Name="JsonDefinition" Type="Edm.String" Nullable="true"/>
				<Property Name="Index" Type="Edm.String" Nullable="true"/>
				<Property Name="Element" Type="com.neotys.neoload.api.design.Element" Nullable="true"/>
			</EntityType>
			<ComplexType Name="ProxySettings">
				<Property Name="Port" Type="Edm.Int32" Nullable="true"/>
			</ComplexType>
			<ComplexType Name="Element">
				<Property Name="Uid" Type="Edm.String" Nullable="true"/>
				<Property Name="Type" Type="Edm.String" Nullable="true"/>
				<Property Name="Parent" Type="Edm.String" Nullable="true"/>
				<Property Name="JsonDefinition" Type="Edm.String" Nullable="true"/>
			</ComplexType>
			<EntityContainer Name="Container" m:IsDefaultEntityContainer="true">
				<EntitySet Name="StartRecording" EntityType="com.neotys.neoload.api.design.StartRecording"/>
				<EntitySet Name="StopRecording" EntityType="com.neotys.neoload.api.design.StopRecording"/>
				<EntitySet Name="SetContainer" EntityType="com.neotys.neoload.api.design.SetContainer"/>
				<EntitySet Name="SetScreenshot" EntityType="com.neotys.neoload.api.design.SetScreenshot"/>
				<EntitySet Name="PauseRecording" EntityType="com.neotys.neoload.api.design.PauseRecording"/>
				<EntitySet Name="ResumeRecording" EntityType="com.neotys.neoload.api.design.ResumeRecording"/>
				<EntitySet Name="SetBaseContainer" EntityType="com.neotys.neoload.api.design.SetBaseContainer"/>
				<EntitySet Name="GetRecorderSettings" EntityType="com.neotys.neoload.api.design.GetRecorderSettings"/>
				<EntitySet Name="GetRecordingStatus" EntityType="com.neotys.neoload.api.design.GetRecordingStatus"/>
				<EntitySet Name="OpenProject" EntityType="com.neotys.neoload.api.design.OpenProject"/>
				<EntitySet Name="SaveProject" EntityType="com.neotys.neoload.api.design.SaveProject"/>
				<EntitySet Name="SaveAsProject" EntityType="com.neotys.neoload.api.design.SaveAsProject"/>
				<EntitySet Name="CloseProject" EntityType="com.neotys.neoload.api.design.CloseProject"/>
				<EntitySet Name="Exit" EntityType="com.neotys.neoload.api.design.Exit"/>
				<EntitySet Name="CreateProject" EntityType="com.neotys.neoload.api.design.CreateProject"/>
				<EntitySet Name="ContainsUserPath" EntityType="com.neotys.neoload.api.design.ContainsUserPath"/>
				<EntitySet Name="IsProjectOpen" EntityType="com.neotys.neoload.api.design.IsProjectOpen"/>
				<EntitySet Name="GetStatus" EntityType="com.neotys.neoload.api.design.GetStatus"/>
				<EntitySet Name="GetElements" EntityType="com.neotys.neoload.api.design.GetElements"/>
				<EntitySet Name="AddElement" EntityType="com.neotys.neoload.api.design.AddElement"/>
				<EntitySet Name="GetChildren" EntityType="com.neotys.neoload.api.design.GetChildren"/>
			</EntityContainer>
		</Schema>
	</edmx:DataServices>
</edmx:Edmx>