OpenLattice organizations API

API endpoints related to organizations.

OpenAPI Specification

openlattice-organizations-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  description: OpenLattice API
  version: 0.0.1
  title: OpenLattice authorizations organizations 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: organizations
  description: API endpoints related to organizations.
paths:
  /datastore/organizations:
    get:
      summary: Get all organisations
      operationId: getOrganizations
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/organization'
    post:
      summary: Create an organisation if it doesn't exist.
      operationId: createOrganizationIfNotExists
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/organization'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
                format: uuid
  /datastore/organizations/{organizationId}:
    get:
      summary: Get an organisation from the organizationId
      operationId: getOrganization
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/organization'
    delete:
      summary: Remove an organisation from the organizationId
      operationId: destroyOrganization
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
  /datastore/organizations/{organizationId}/entitySets:
    get:
      summary: Get the entity sets for an organization for a certain filter
      operationId: getOrganizationEntitySets
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  additionalProperties:
                    type: array
                    items:
                      type: string
                      enum:
                      - INTERNAL
                      - EXTERNAL
                      - MATERIALISED
    post:
      summary: Get the entity sets for an organization for a certain flag
      operationId: getFlaggedOrganizationEntitySets
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties:
                type: array
                items:
                  type: string
                  enum:
                  - INTERNAL
                  - EXTERNAL
                  - MATERIALISED
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  additionalProperties:
                    type: array
                    items:
                      type: string
                      enum:
                      - INTERNAL
                      - EXTERNAL
                      - MATERIALISED
  /datastore/organizations/{organizationId}/entitySets/assemble:
    post:
      summary: Materializes entity sets into the organization database.
      operationId: assembleEntitySets
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
                format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  additionalProperties:
                    type: array
                    items:
                      type: string
                      enum:
                      - INTERNAL
                      - EXTERNAL
                      - MATERIALISED
  /datastore/organizations/{organizationId}/title:
    put:
      summary: Update the organisation title
      operationId: updateTitle
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: string
      responses:
        '200':
          description: Success
  /datastore/organizations/{organizationId}/description:
    put:
      summary: Update the organisation description
      operationId: updateDescription
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: string
      responses:
        '200':
          description: Success
  /datastore/organizations/{organizationId}/email-domains:
    get:
      summary: Get auto-approved email domains
      operationId: getAutoApprovedEmailDomains
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: string
    put:
      summary: Set auto-approved email domains
      operationId: setAutoApprovedEmailDomain
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      responses:
        '200':
          description: Success
    delete:
      summary: Remove auto-approved email domains
      operationId: removeAutoApprovedEmailDomains
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      responses:
        '200':
          description: Success
  /datastore/organizations/{organizationId}/principals/members:
    get:
      summary: Get members of a certain organization
      operationId: getMembers
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/organizationMember'
  /datastore/organizations/{organizationId}/principals/members/{userId}:
    put:
      summary: Add member to an organization
      operationId: addMember
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: userId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
    delete:
      summary: Remove member from an organization
      operationId: removeMember
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: userId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
  /datastore/organizations/roles:
    post:
      summary: Create role
      operationId: createRole
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/role'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: string
                format: uuid
  /datastore/organizations/{organizationId}/principals/roles:
    get:
      summary: Get roles for an organization
      operationId: getRoles
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/role'
  /datastore/organizations/{organizationId}/principals/roles/{roleId}:
    get:
      summary: Get role for an organization from a roleId
      operationId: getRole
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: roleId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/role'
    delete:
      summary: Remove role for an organization
      operationId: deleteRole
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: roleId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
  /datastore/organizations/{organizationId}/principals/roles/{roleId}/title:
    post:
      summary: Update role title for an organization from a roleId
      operationId: updateRoleTitle
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: roleId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: string
      responses:
        '200':
          description: Success
  /datastore/organizations/{organizationId}/principals/roles/{roleId}/description:
    post:
      summary: Update role description for an organization from a roleId
      operationId: updateRoleDescription
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: roleId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: string
      responses:
        '200':
          description: Success
  /datastore/organizations/{organizationId}/principals/roles/{roleId}/members/:
    get:
      summary: Get members of a role for an organization from a roleId
      operationId: getAllUsersOfRole
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: roleId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/auth0userBasic'
  /datastore/organizations/{organizationId}/principals/roles/{roleId}/members/{userId}:
    put:
      summary: Add a role to a user
      operationId: addRoleToUser
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: roleId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: userId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
    delete:
      summary: Remove a role from a user
      operationId: removeRoleFromUser
      tags:
      - organizations
      security:
      - openlattice_auth: []
      - http_auth: []
      parameters:
      - name: organizationId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: roleId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: userId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Success
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/