OpenLattice edm API

API endpoints to the entity data model.

Operations 50

GET /datastore/edm/ Gets the entity data model, including namespaces, schemas, entity types, association types, and property types. #
PATCH /datastore/edm/ Updates the entity data model, including schemas, entity types, association types, and property types. #
POST /datastore/edm/diff/ Gets the changes between the existing entity data model and the entity data model passed in, including schemas, association types, entity types, and property types. #
GET /datastore/edm/version/ Returns the current entity data model version. #
GET /datastore/edm/entity/set/{entitySetId} Get the EntitySet definition for the given EntitySet UUID. #
DELETE /datastore/edm/entity/set/{entitySetId} Deletes the EntitySet definition for the given EntitySet UUID. #
PATCH /datastore/edm/entity/set/{entitySetId} Updates the EntityType definition for the given EntitySet UUID with the given metadata. #
GET /datastore/edm/ids/entity/set/{entitySetName} Gets the EntitySet UUID for the given EntitySet name. #
GET /datastore/edm/entity/set Get all EntitySet definitions. #
POST /datastore/edm/entity/set Create new EntitySet definitions if they don"t exist. #
GET /datastore/edm/entity/set/{entitySetId}/property/type Get all property type metadata for an entity set. #
GET /datastore/edm/entity/set/{entitySetId}/property/type/{propertyTypeId}/ Get specified property type metadata for an entity set. #
POST /datastore/edm/entity/set/{entitySetId}/property/type/{propertyTypeId}/ Updates the property type metadata for the given entity set. #
GET /datastore/edm/entity/type/{entityTypeId} Gets the EntityType definition for the given EntityType UUID. #
DELETE /datastore/edm/entity/type/{entityTypeId} Deletes the EntityType definition for the given EntityType UUID. #
PATCH /datastore/edm/entity/type/{entityTypeId} Updates the EntityType definition for the given EntityType UUID with the given metadata. #
GET /datastore/edm/ids/entity/type/{namespace}/{name} Gets the EntityType UUID for the given EntityType FQN. #
PUT /datastore/edm/entity/type/{entityTypeId}/{propertyTypeId} Updates the EntityType definition for the given EntityType UUID by adding the given PropertyType UUID. #
DELETE /datastore/edm/entity/type/{entityTypeId}/{propertyTypeId} Updates the EntityType definition for the given EntityType UUID by removing the given PropertyType UUID. #
DELETE /datastore/edm/entity/type/{entityTypeId}/{propertyTypeId}/force Updates the EntityType definition for the given EntityType UUID by removing the given PropertyType UUID, regardless of whether or not there is data associated with the entity type. #
GET /datastore/edm/entity/type/ Gets all EntityType definitions. #
POST /datastore/edm/entity/type/ Creates a new EntityType definition, if it doesn't exist. #
GET /datastore/edm/association/type/ Gets all association EntityType definitions. #
POST /datastore/edm/association/type/ Creates a new AssociationType definition, if it doesn"t exist. #
PATCH /datastore/edm/entity/type/{entityTypeId}/property/type Updates the EntityType definition for the given EntityType UUID by reordering its properties as specified by the provided list. #
PATCH /datastore/edm/entity/type/{entityTypeId}/hierarchy Get the EntityType hierarchy for the given EntityType UUID. #
GET /datastore/edm/property/type/{propertyTypeId} Gets the PropertyType definition for the given PropertyType UUID. #
DELETE /datastore/edm/property/type/{propertyTypeId} Deletes the PropertyType definition for the given PropertyType UUID. #
PATCH /datastore/edm/property/type/{propertyTypeId} Updates the PropertyType definition for the given PropertyType UUID with the given metadata. #
DELETE /datastore/edm/property/type/{propertyTypeId}/force Deletes the PropertyType definition for the given PropertyType UUID regardless of whether or not there is data associated with it. #
GET /datastore/edm/ids/property/type/{namespace}/{name} Gets the PropertyType UUID for the given PropertyType FQN. #
GET /datastore/edm/property/type/ Gets all PropertyType definitions. #
POST /datastore/edm/property/type/ Creates a new PropertyType definition, if it doesn"t exist. #
GET /datastore/edm/property/type/namespace/{namespace} Gets all PropertyType definitions under the given namespace. #
GET /datastore/edm/association/type/{associationTypeId} Get the AssociationType definition for the given AssociationType UUID. #
DELETE /datastore/edm/association/type/{associationTypeId} Delete the AssociationType definition for the given AssociationType UUID. #
GET /datastore/edm/association/type/{associationTypeId}/detailed Get details about the AssociationType for the given AssociationType UUID. #
GET /datastore/edm/association/type/{associationTypeId}/available Get all available associations for the given AssociationType UUID. #
PUT /datastore/edm/association/type/{associationTypeId}/dst/{entityTypeId} Update the AssociationType dst entity types for the given AssociationType UUID by adding the given EntityType UUID. #
DELETE /datastore/edm/association/type/{associationTypeId}/dst/{entityTypeId} Updates the AssociationType dst entity types for the given AssociationType UUID by removing the given EntityType UUID. #
PUT /datastore/edm/association/type/{associationTypeId}/src/{entityTypeId} Update the AssociationType src entity types for the given AssociationType UUID by adding the given EntityType UUID. #
DELETE /datastore/edm/association/type/{associationTypeId}/src/{entityTypeId} Updates the AssociationType src entity types for the given AssociationType UUID by removing the given EntityType UUID. #
GET /datastore/edm/summary Get Property Usage Summary for all properties. #
GET /datastore/edm/summary/{propertyTypeId} Get Property Usage Summary for property with given ID. #
GET /datastore/edm/schema/{namespace}/{name} Gets the schema contents for a corresponding namespace and name. #
PUT /datastore/edm/schema/{namespace}/{name} Creates an empty schema, if it doesn't exist. If schema exists then no action is taken. #
PATCH /datastore/edm/schema/{namespace}/{name} Edits the schema contents for a corresponding namespace and name. #
GET /datastore/edm/schema Gets all schemas. #
POST /datastore/edm/schema Creates an empty schema, if it doesn't exist. If schema exists then no action is taken. #
GET /datastore/edm/schema/{namespace} Gets all schemas associated with a given namespace and accessible by the caller. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/openlattice-edm-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

openlattice-edm-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: OpenLattice API
  version: 0.0.1
  title: OpenLattice authorizations Edm API
  termsOfService: http://api.openlattice.com/terms/
  contact:
    email: support@openlattice.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://api.openlattice.com
  description: Production OpenLattice API
- url: https://api.staging.openlattice.com
  description: Staging OpenLattice API
- url: http://localhost:8080
  description: Local OpenLattice API
tags:
- name: edm
  description: API endpoints to the entity data model.
paths:
  /datastore/edm/:
    get:
      summary: Gets the entity data model, including namespaces, schemas, entity types, association types, and property types.
      operationId: getEntityDataModel
      responses:
        '200':
          description: An Entity Data Model
          content:
            application/json:
              schema:
                $ref: '#/components/EDM'
      tags:
      - edm
    patch:
      summary: Updates the entity data model, including schemas, entity types, association types, and property types.
      operationId: updateEntityDataModel
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/EDM'
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
  /datastore/edm/diff/:
    post:
      summary: Gets the changes between the existing entity data model and the entity data model passed in, including schemas, association types, entity types, and property types.
      operationId: getEntityDataModelDiff
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/EDMdiff'
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/EDMdiff'
  /datastore/edm/version/:
    get:
      summary: Returns the current entity data model version.
      operationId: getEntityDataModelVersion
      tags:
      - edm
      responses:
        '200':
          description: Success
  /datastore/edm/entity/set/{entitySetId}:
    get:
      summary: Get the EntitySet definition for the given EntitySet UUID.
      operationId: getEntitySet
      parameters:
      - name: entitySetId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: An Entity Set definition
          content:
            application/json:
              schema:
                $ref: '#/components/entitySet'
    delete:
      summary: Deletes the EntitySet definition for the given EntitySet UUID.
      operationId: deleteEntitySet
      parameters:
      - name: entitySetId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
    patch:
      summary: Updates the EntityType definition for the given EntitySet UUID with the given metadata.
      operationId: updateEntitySetMetaData
      parameters:
      - name: entitySetId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/metaDataUpdate'
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
  /datastore/edm/ids/entity/set/{entitySetName}:
    get:
      summary: Gets the EntitySet UUID for the given EntitySet name.
      operationId: getEntitySetId
      parameters:
      - name: entitySetName
        in: path
        required: true
        schema:
          type: string
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
                format: uuid
  /datastore/edm/entity/set:
    get:
      summary: Get all EntitySet definitions.
      operationId: getAllEntitySets
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/entitySet'
    post:
      summary: Create new EntitySet definitions if they don"t exist.
      operationId: createEntitySets
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/entitySet'
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
  /datastore/edm/entity/set/{entitySetId}/property/type:
    get:
      summary: Get all property type metadata for an entity set.
      operationId: getAllEntitySetPropertyMetadata
      parameters:
      - name: entitySetId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/propertyType'
  /datastore/edm/entity/set/{entitySetId}/property/type/{propertyTypeId}/:
    get:
      summary: Get specified property type metadata for an entity set.
      operationId: getEntitySetPropertyMetadata
      parameters:
      - name: entitySetId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: propertyTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/propertyType'
    post:
      summary: Updates the property type metadata for the given entity set.
      operationId: updateEntitySetPropertyMetadata
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: entitySetId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: propertyTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/propertyType'
      responses:
        200:
          description: Success
  /datastore/edm/entity/type/{entityTypeId}:
    get:
      summary: Gets the EntityType definition for the given EntityType UUID.
      operationId: getEntityType
      tags:
      - edm
      parameters:
      - name: entityTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/entityType'
    delete:
      summary: Deletes the EntityType definition for the given EntityType UUID.
      operationId: deleteEntityType
      tags:
      - edm
      parameters:
      - name: entityTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
    patch:
      summary: Updates the EntityType definition for the given EntityType UUID with the given metadata.
      operationId: updateEntityTypeMetaData
      parameters:
      - name: entityTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/metaDataUpdate'
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
  /datastore/edm/ids/entity/type/{namespace}/{name}:
    get:
      summary: Gets the EntityType UUID for the given EntityType FQN.
      operationId: getEntityTypeId
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: namespace
        in: path
        required: true
        schema:
          type: string
          example: openlattice
      - name: name
        in: path
        required: true
        schema:
          type: string
          example: myentitytype
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
                format: uuid
  /datastore/edm/entity/type/{entityTypeId}/{propertyTypeId}:
    put:
      summary: Updates the EntityType definition for the given EntityType UUID by adding the given PropertyType UUID.
      operationId: addPropertyTypeToEntityType
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: entityTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: propertyTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
    delete:
      summary: Updates the EntityType definition for the given EntityType UUID by removing the given PropertyType UUID.
      operationId: removePropertyTypeFromEntityType
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: entityTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: propertyTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
  /datastore/edm/entity/type/{entityTypeId}/{propertyTypeId}/force:
    delete:
      summary: Updates the EntityType definition for the given EntityType UUID by removing the given PropertyType UUID, regardless of whether or not there is data associated with the entity type.
      operationId: forceRemovePropertyTypeFromEntityType
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: entityTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: propertyTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
  /datastore/edm/entity/type/:
    get:
      summary: Gets all EntityType definitions.
      operationId: getAllEntityTypes
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/entityType'
    post:
      summary: Creates a new EntityType definition, if it doesn't exist.
      operationId: createEntityType
      tags:
      - edm
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/entityType'
      responses:
        '200':
          description: Success
  /datastore/edm/association/type/:
    get:
      summary: Gets all association EntityType definitions.
      operationId: getAllAssociationEntityTypes
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/associationType'
    post:
      summary: Creates a new AssociationType definition, if it doesn"t exist.
      operationId: createAssociationType
      tags:
      - edm
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/associationType'
      responses:
        '200':
          description: Success
  /datastore/edm/entity/type/{entityTypeId}/property/type:
    patch:
      summary: Updates the EntityType definition for the given EntityType UUID by reordering its properties as specified by the provided list.
      operationId: reorderPropertyTypesInEntityType
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: entityTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: propertyTypeIds
        in: path
        required: true
        schema:
          type: array
          items:
            type: string
            format: uuid
      responses:
        '200':
          description: Success
  /datastore/edm/entity/type/{entityTypeId}/hierarchy:
    patch:
      summary: Get the EntityType hierarchy for the given EntityType UUID.
      operationId: getEntityTypeHierarchy
      parameters:
      - name: entityTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
  /datastore/edm/property/type/{propertyTypeId}:
    get:
      summary: Gets the PropertyType definition for the given PropertyType UUID.
      operationId: getPropertyType
      tags:
      - edm
      parameters:
      - name: propertyTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/propertyType'
    delete:
      summary: Deletes the PropertyType definition for the given PropertyType UUID.
      operationId: deletePropertyType
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: propertyTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
    patch:
      summary: Updates the PropertyType definition for the given PropertyType UUID with the given metadata.
      operationId: updatePropertyTypeMetaData
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: propertyTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/metaDataUpdate'
      responses:
        '200':
          description: Success
  /datastore/edm/property/type/{propertyTypeId}/force:
    delete:
      summary: Deletes the PropertyType definition for the given PropertyType UUID regardless of whether or not there is data associated with it.
      operationId: forceDeletePropertyType
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: propertyTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
  /datastore/edm/ids/property/type/{namespace}/{name}:
    get:
      summary: Gets the PropertyType UUID for the given PropertyType FQN.
      operationId: getPropertyTypeId
      tags:
      - edm
      parameters:
      - name: namespace
        in: path
        required: true
        schema:
          type: string
      - name: name
        in: path
        required: true
        schema:
          type: string
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
                format: uuid
  /datastore/edm/property/type/:
    get:
      summary: Gets all PropertyType definitions.
      operationId: getAllPropertyTypes
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/propertyType'
    post:
      summary: Creates a new PropertyType definition, if it doesn"t exist.
      operationId: createPropertyType
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/propertyType'
      responses:
        '200':
          description: Success
  /datastore/edm/property/type/namespace/{namespace}:
    get:
      summary: Gets all PropertyType definitions under the given namespace.
      operationId: getAllPropertyTypesInNamespace
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: namespace
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/propertyType'
  /datastore/edm/association/type/{associationTypeId}:
    get:
      summary: Get the AssociationType definition for the given AssociationType UUID.
      operationId: getAssociationType
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: associationTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/associationType'
    delete:
      summary: Delete the AssociationType definition for the given AssociationType UUID.
      operationId: deleteAssociationType
      tags:
      - edm
      parameters:
      - name: associationTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
  /datastore/edm/association/type/{associationTypeId}/detailed:
    get:
      summary: Get details about the AssociationType for the given AssociationType UUID.
      operationId: getAssociationTypeDetails
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: associationTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/associationType'
  /datastore/edm/association/type/{associationTypeId}/available:
    get:
      summary: Get all available associations for the given AssociationType UUID.
      operationId: getAllAvailableAssociationTypes
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: associationTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/associationType'
  /datastore/edm/association/type/{associationTypeId}/dst/{entityTypeId}:
    put:
      summary: Update the AssociationType dst entity types for the given AssociationType UUID by adding the given EntityType UUID.
      operationId: addDstEntityTypeToAssociationType
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: associationTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: entityTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
    delete:
      summary: Updates the AssociationType dst entity types for the given AssociationType UUID by removing the given EntityType UUID.
      operationId: removeDstEntityTypeFromAssociationType
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: associationTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: entityTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
  /datastore/edm/association/type/{associationTypeId}/src/{entityTypeId}:
    put:
      summary: Update the AssociationType src entity types for the given AssociationType UUID by adding the given EntityType UUID.
      operationId: addSrcEntityTypeToAssociationType
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: associationTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: entityTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
    delete:
      summary: Updates the AssociationType src entity types for the given AssociationType UUID by removing the given EntityType UUID.
      operationId: removeSrcEntityTypeFromAssociationType
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: associationTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: entityTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
  /datastore/edm/summary:
    get:
      summary: Get Property Usage Summary for all properties.
      operationId: getAllPropertyUsageSummaries
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/propertyUsageSummary'
  /datastore/edm/summary/{propertyTypeId}:
    get:
      summary: Get Property Usage Summary for property with given ID.
      operationId: getPropertyUsageSummary
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: propertyTypeId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/propertyUsageSummary'
  /datastore/edm/schema/{namespace}/{name}:
    get:
      summary: Gets the schema contents for a corresponding namespace and name.
      operationId: getSchemaContents
      tags:
      - edm
      parameters:
      - name: namespace
        in: path
        required: true
        schema:
          type: string
      - name: name
        in: path
        required: true
        schema:
          type: string
      - name: fileType
        in: query
        schema:
          type: string
          enum:
          - csv
          - json
          - yaml
          default: yaml
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schema'
    put:
      summary: Creates an empty schema, if it doesn't exist. If schema exists then no action is taken.
      operationId: createEmptySchema
      tags:
      - edm
      parameters:
      - name: namespace
        in: path
        required: true
        schema:
          type: string
      - name: name
        in: path
        required: true
        schema:
          type: string
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
    patch:
      summary: Edits the schema contents for a corresponding namespace and name.
      operationId: updateSchema
      tags:
      - edm
      parameters:
      - name: namespace
        in: path
        required: true
        schema:
          type: string
      - name: name
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/EdmRequest'
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
  /datastore/edm/schema:
    get:
      summary: Gets all schemas.
      operationId: getSchemas
      tags:
      - edm
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schema'
    post:
      summary: Creates an empty schema, if it doesn't exist. If schema exists then no action is taken.
      operationId: createSchemaIfNotExists
      tags:
      - edm
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schema'
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
  /datastore/edm/schema/{namespace}:
    get:
      summary: Gets all schemas associated with a given namespace and accessible by the caller.
      operationId: getSchemasInNamespace
      tags:
      - edm
      parameters:
      - name: namespace
        in: path
        required: true
        schema:
          type: string
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schema'
components:
  securitySchemes:
    http_auth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      name: HttpAuthorization
    openlattice_auth:
      type: apiKey
      in: header
      name: Authorization
externalDocs:
  description: Find out more about OpenLattice
  url: https://openlattice.com/