swagger: "2.0"
info:
  version: 0.3.0
  title: "members"
  description: "Membership Microservice"
  termsOfService: "https://salesforcedevops.net/terms/"
  contact:
    email: "vern@salesforcedevops.net"
  license:
    name: "Proprietary - Copyright (c) 2018-2023 by Vernon Keenan"
securityDefinitions:
  ApiKeyAuth:
    type: "apiKey"
    in: "header"
    name: "X-API-Key"
schemes:
  - "http"
basePath: "/v1"
host: "members.work.tnxs.net:8080"
consumes:
  - "application/json"
produces:
  - "application/json"
parameters:
  Auth0UserIdHeader:
    description: Auth0 User Id
    in: header
    name: X-Auth0-UserId
    required: false
    type: string
  AttendeeRequest:
    description: An array of new Attendee records
    in: body
    name: attendeeRequest
    required: true
    schema:
      $ref: "#/definitions/AttendeeRequest"
  CertificateRequest:
    description: An array of new Certificate records
    in: body
    name: certificateRequest
    required: true
    schema:
      $ref: "#/definitions/CertificateRequest"
  CourseLessonRequest:
    description: An array of new CourseLesson records
    in: body
    name: courselessonRequest
    required: true
    schema:
      $ref: "#/definitions/CourseLessonRequest"
  clusterIdQuery:
    description: Record Id of a Cluster
    in: query
    name: clusterId
    required: false
    type: string
  ClusterRequest:
    description: An array of Cluster records
    in: body
    name: ClusterRequest
    required: true
    schema:
      $ref: "#/definitions/ClusterRequest"
  CourseRequest:
    description: An array of new Course records
    in: body
    name: courseRequest
    required: true
    schema:
      $ref: "#/definitions/CourseRequest"
  CourseSectionRequest:
    description: An array of new CourseSection records
    in: body
    name: coursesectionRequest
    required: true
    schema:
      $ref: "#/definitions/CourseSectionRequest"
  OutgoingEmailMessageRequest:
    description: An array of new Outgoing Email Message records
    in: body
    name: OutgoingEmailMessageRequest
    required: true
    schema:
      $ref: "#/definitions/OutgoingEmailMessageRequest"
  EnrollmentRequest:
    description: An array of new Enrollment records
    in: body
    name: enrollmentRequest
    required: true
    schema:
      $ref: "#/definitions/EnrollmentRequest"
  EventRequest:
    description: An array of new Event records
    in: body
    name: eventRequest
    required: true
    schema:
      $ref: "#/definitions/EventRequest"
  EventCategoryRequest:
    description: An array of new Event records
    in: body
    name: eventCategoryRequest
    required: true
    schema:
      $ref: "#/definitions/EventCategoryRequest"
  FavoriteRequest:
    description: An array of new Favorite records
    in: body
    name: favoriteRequest
    required: true
    schema:
      $ref: "#/definitions/FavoriteRequest"
  InvoiceRequest:
    description: An array of new Invoice records
    in: body
    name: invoiceRequest
    required: true
    schema:
      $ref: "#/definitions/InvoiceRequest"
  IssuedCertificateRequest:
    description: An array of new IssuedCertificate records
    in: body
    name: issuedCertificateRequest
    required: true
    schema:
      $ref: "#/definitions/IssuedCertificateRequest"
  LessonProgressRequest:
    description: An array of new LessonProgress records
    in: body
    name: lessonprogressRequest
    required: true
    schema:
      $ref: "#/definitions/LessonProgressRequest"
  OrderRequest:
    description: An array of new Order records
    in: body
    name: orderRequest
    required: true
    schema:
      $ref: "#/definitions/OrderRequest"
  PaymentMethodRequest:
    description: An array of new PaymentMethod records
    in: body
    name: paymentMethodRequest
    required: true
    schema:
      $ref: "#/definitions/PaymentMethodRequest"
  PromptRequest:
    description: An array of new Prompt records
    in: body
    name: promptRequest
    required: true
    schema:
      $ref: "#/definitions/PromptRequest"
  PromptCategoryRequest:
    description: An array of PromptCategory objects
    name: promptCategoryRequest
    required: true
    in: body
    schema:
      $ref: "#/definitions/PromptCategoryRequest"
  PromptTagRequest:
    description: An array of PromptTag objects
    name: promptTagRequest
    required: true
    in: body
    schema:
      $ref: "#/definitions/PromptTagRequest"
  PromptAnswerRequest:
    description: An array of PromptAnswer objects
    name: promptAnswerRequest
    required: true
    in: body
    schema:
      $ref: "#/definitions/PromptAnswerRequest"
  ResearchProjectCompanyRequest:
    description: An array of new ResearchProjectCompany records
    in: body
    name: researchProjectCompanyRequest
    required: true
    schema:
      $ref: "#/definitions/ResearchProjectCompanyRequest"
  researchProjectProductRequest:
    description: An array of new ResearchProjectProduct records
    in: body
    name: researchProjectProductRequest
    required: true
    schema:
      $ref: "#/definitions/ResearchProjectProductRequest"
  ResearchProjectServiceRequest:
    description: An array of new ResearchProjectService records
    in: body
    name: researchProjectServiceRequest
    required: true
    schema:
      $ref: "#/definitions/ResearchProjectServiceRequest"
  ResearchProjectDocumentRequest:
    description: An array of new ResearchProjectDocument records
    in: body
    name: researchProjectDocumentRequest
    required: true
    schema:
      $ref: "#/definitions/ResearchProjectDocumentRequest"
  ResearchProjectRequest:
    description: An array of new ResearchProject records
    in: body
    name: researchProjectRequest
    required: true
    schema:
      $ref: "#/definitions/ResearchProjectRequest"
  ResearchProjectTopicRequest:
    description: An array of new ResearchProjectTopic records
    in: body
    name: researchProjectTopicRequest
    required: true
    schema:
      $ref: "#/definitions/ResearchProjectTopicRequest"
  templateIdQuery:
    description: Template ID
    in: query
    name: templateId
    type: string
  TemplateRequest:
    description: An array of Template records
    in: body
    name: TemplateRequest
    required: true
    schema:
      $ref: "#/definitions/TemplateRequest"
  EmailMessageRequest:
    description: An array of Email Message records
    in: body
    name: EmailMessageRequest
    required: true
    schema:
      $ref: "#/definitions/EmailMessageRequest"
  TenantRequest:
    description: An array of Tenant records
    in: body
    name: TenantRequest
    required: true
    schema:
      $ref: "#/definitions/TenantRequest"
  TicketRequest:
    description: An array of new Ticket records
    in: body
    name: ticketRequest
    required: true
    schema:
      $ref: "#/definitions/TicketRequest"
  TrackRequest:
    description: An array of new Track records
    in: body
    name: trackRequest
    required: true
    schema:
      $ref: "#/definitions/TrackRequest"
  TrackEventRequest:
    description: An array of new TrackEvent records
    in: body
    name: trackeventRequest
    required: true
    schema:
      $ref: "#/definitions/TrackEventRequest"
  TrackTopicRequest:
    description: An array of new TrackTopic records
    in: body
    name: tracktopicRequest
    required: true
    schema:
      $ref: "#/definitions/TrackTopicRequest"
  TrackUserRequest:
    description: An array of new TrackUser records
    in: body
    name: trackuserRequest
    required: true
    schema:
      $ref: "#/definitions/TrackUserRequest"
  TransactionRequest:
    description: An array of new Transaction records
    in: body
    name: transactionRequest
    required: true
    schema:
      $ref: "#/definitions/TransactionRequest"
  UserRequest:
    description: An array of User records
    in: body
    name: UserRequest
    required: true
    schema:
      $ref: "#/definitions/UserRequest"
  UserAuthRequest:
    description: A simple user authentication request
    in: body
    name: UserAuthRequest
    required: true
    schema:
      $ref: "#/definitions/UserAuth"
  activeQuery:
    description: Retrieve active records only?
    in: query
    name: active
    required: false
    type: boolean
  auth0UserIdQuery:
    description: External Auth0 User ID
    in: query
    name: auth0UserId
    required: false
    type: string
  userIdQuery:
    description: Internal User ID
    in: query
    name: userId
    required: false
    type: string
  userIdQueryRequired:
    description: Internal User ID
    in: query
    name: userId
    required: true
    type: string
  contactIdQuery:
    description: Internal Contact ID (links to Account)
    in: query
    name: contactId
    required: false
    type: string
  databaseIdQuery:
    description: Record Id of a Database
    in: query
    name: databaseId
    type: string
    required: true
  databaseRequest:
    description: An array of Database records
    in: body
    name: DatabaseRequest
    required: true
    schema:
      $ref: "#/definitions/DatabaseRequest"
  documentRequest:
    description: An array of Document records
    in: body
    name: DocumentRequest
    required: true
    schema:
      $ref: "#/definitions/DocumentRequest"
  emailMessageIdQuery:
    description: Email Message ID
    in: query
    name: emailMessageId
    type: string
  emailQuery:
    description: Email address
    in: query
    name: email
    required: false
    type: string
  idQuery:
    description: Unique Record ID
    in: query
    name: id
    required: false
    type: string
  objectTypeQuery:
    description: Object Type Name
    in: query
    name: objectType
    type: string
  isMasterQuery:
    description: Is Master Template?
    in: query
    name: isMaster
    type: boolean
  limitQuery:
    description: How many objects to return at one time
    format: int64
    in: query
    name: limit
    required: false
    type: integer
  offsetQuery:
    description: How many objects to skip?
    format: int64
    in: query
    name: offset
    required: false
    type: integer
  slugQuery:
    description: The Slug of this Object
    in: query
    name: slug
    required: false
    type: string
responses:
  AccessForbidden:
    description: Access forbidden, account lacks access
    headers:
      Access-Control-Allow-Origin:
        type: string
        x-nullable: true
    schema:
      $ref: "../../lib/swagger/defs/error.yaml#/Error"
  AttendeeResponse:
    description: Attendee Response Object
    schema:
      $ref: "#/definitions/AttendeeResponse"
  CertificateResponse:
    description: Certificate Response Object
    schema:
      $ref: "#/definitions/CertificateResponse"
  ClusterResponse:
    description: Response with Cluster objects
    schema:
      $ref: "#/definitions/ClusterResponse"
  CourseLessonResponse:
    description: CourseLesson Response Object
    schema:
      $ref: "#/definitions/CourseLessonResponse"
  CourseResponse:
    description: Course Response Object
    schema:
      $ref: "#/definitions/CourseResponse"
  CourseSectionResponse:
    description: CourseSection Response Object
    schema:
      $ref: "#/definitions/CourseSectionResponse"
  DatabaseResponse:
    description: Response with Database objects
    schema:
      $ref: "#/definitions/DatabaseResponse"
  DocumentResponse:
    description: Document Response Object
    schema:
      $ref: "#/definitions/DocumentResponse"
  EmailMessagesResponse:
    description: "Array of Email Messages"
    schema:
      $ref: "#/definitions/EmailMessagesResponse"
  OutgoingEmailMessagesResponse:
    description: "Array of Outgoing Email Messages"
    schema:
      $ref: "#/definitions/OutgoingEmailMessagesResponse"
  EnrollmentResponse:
    description: Enrollment Response Object
    schema:
      $ref: "#/definitions/EnrollmentResponse"
  EventResponse:
    description: Event Response Object
    schema:
      $ref: "#/definitions/EventResponse"
  EventCategoryResponse:
    description: Event Response Object
    schema:
      $ref: "#/definitions/EventCategoryResponse"
  FavoriteResponse:
    description: Favorite Response Object
    schema:
      $ref: "#/definitions/FavoriteResponse"
  InvoiceResponse:
    description: Invoice Response Object
    schema:
      $ref: "#/definitions/InvoiceResponse"
  IssuedCertificateResponse:
    description: IssuedCertificate Response Object
    schema:
      $ref: "#/definitions/IssuedCertificateResponse"
  LessonProgressResponse:
    description: LessonProgress Response Object
    schema:
      $ref: "#/definitions/LessonProgressResponse"
  NotFound:
    description: Resource was not found
    schema:
      $ref: "../../lib/swagger/defs/error.yaml#/Error"
  OrderResponse:
    description: Order Response Object
    schema:
      $ref: "#/definitions/OrderResponse"
  PaymentMethodResponse:
    description: PaymentMethod Response Object
    schema:
      $ref: "#/definitions/PaymentMethodResponse"
  PromptResponse:
    description: Response with Prompt objects
    schema:
      $ref: "#/definitions/PromptResponse"
  PromptCategoryResponse:
    description: Response with PromptCategory objects
    schema:
      $ref: "#/definitions/PromptCategoryResponse"
  PromptAnswerResponse:
    description: Response with PromptAnswer objects
    schema:
      $ref: "#/definitions/PromptAnswerResponse"
  PromptTagResponse:
    description: Response with PromptTag objects
    schema:
      $ref: "#/definitions/PromptTagResponse"
  ResearchProjectCompanyResponse:
    description: ResearchProjectCompany Response Object
    schema:
      $ref: "#/definitions/ResearchProjectCompanyResponse"
  ResearchProjectDocumentResponse:
    description: ResearchProjectDocument Response Object
    schema:
      $ref: "#/definitions/ResearchProjectDocumentResponse"
  ResearchProjectProductResponse:
    description: ResearchProjectProduct Response Object
    schema:
      $ref: "#/definitions/ResearchProjectProductResponse"
  ResearchProjectServiceResponse:
    description: ResearchProjectService Response Object
    schema:
      $ref: "#/definitions/ResearchProjectServiceResponse"
  ResearchProjectResponse:
    description: ResearchProject Response Object
    schema:
      $ref: "#/definitions/ResearchProjectResponse"
  ResearchProjectTopicResponse:
    description: ResearchProjectTopic Response Object
    schema:
      $ref: "#/definitions/ResearchProjectTopicResponse"
  ServerError:
    description: Server Internal Error
    schema:
      $ref: "../../lib/swagger/defs/error.yaml#/Error"
  TenantResponse:
    description: Response with Tenant objects
    schema:
      $ref: "#/definitions/TenantResponse"
  TemplateResponse:
    description: Response with Template objects
    schema:
      $ref: "#/definitions/TemplateResponse"
  TicketResponse:
    description: Ticket Response Object
    schema:
      $ref: "#/definitions/TicketResponse"
  TrackResponse:
    description: Track Response Object
    schema:
      $ref: "#/definitions/TrackResponse"
  TrackEventResponse:
    description: TrackEvent Response Object
    schema:
      $ref: "#/definitions/TrackEventResponse"
  TrackTopicResponse:
    description: TrackTopic Response Object
    schema:
      $ref: "#/definitions/TrackTopicResponse"
  TrackUserResponse:
    description: TrackUser Response Object
    schema:
      $ref: "#/definitions/TrackUserResponse"
  TransactionResponse:
    description: Transaction Response Object
    schema:
      $ref: "#/definitions/TransactionResponse"
  Unauthorized:
    description: Access Unauthorized, invalid API-KEY was used
    schema:
      $ref: "../../lib/swagger/defs/error.yaml#/Error"
  UnprocessableEntity:
    description: Unprocessable Entity, likely a bad parameter
    schema:
      $ref: "../../lib/swagger/defs/error.yaml#/Error"
  UserResponse:
    description: Response with User objects
    schema:
      $ref: "#/definitions/UserResponse"
  UserAuthResponse:
    description: Response with single UserAuth object
    schema:
      $ref: "#/definitions/UserAuth"
paths:
  /attendees:
    get:
      description: Return a list of Attendee records from the datastore
      operationId: getAttendees
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/AttendeeResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Attendees
      tags:
        - Attendees
    post:
      description: Create Attendees
      operationId: postAttendees
      parameters:
        - $ref: "#/parameters/AttendeeRequest"
      responses:
        "200":
          $ref: "#/responses/AttendeeResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Attendees
      tags:
        - Attendees
    put:
      description: Update Attendee
      operationId: putAttendees
      parameters:
        - $ref: "#/parameters/AttendeeRequest"
      responses:
        "200":
          $ref: "#/responses/AttendeeResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update Attendee
      tags:
        - Attendees
  /certificates:
    get:
      description: Return a list of Certificate records from the datastore
      operationId: getCertificates
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/CertificateResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Certificates
      tags:
        - Certificates
    post:
      description: Create Certificates
      operationId: postCertificates
      parameters:
        - $ref: "#/parameters/CertificateRequest"
      responses:
        "200":
          $ref: "#/responses/CertificateResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Certificates
      tags:
        - Certificates
    put:
      description: Update Certificate
      operationId: putCertificates
      parameters:
        - $ref: "#/parameters/CertificateRequest"
      responses:
        "200":
          $ref: "#/responses/CertificateResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update Certificate
      tags:
        - Certificates
  /clusters:
    get:
      description: Return a list of Cluster records from the datastore
      operationId: getClusters
      parameters:
        - $ref: "#/parameters/clusterIdQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/ClusterResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Clusters
      tags:
        - Clusters
    post:
      description: Create Clusters
      operationId: postClusters
      parameters:
        - $ref: "#/parameters/ClusterRequest"
      responses:
        "200":
          $ref: "#/responses/ClusterResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Clusters
      tags:
        - Clusters
    put:
      description: Update Cluster
      operationId: putClusters
      parameters:
        - $ref: "#/parameters/ClusterRequest"
      responses:
        "200":
          $ref: "#/responses/ClusterResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update Clustera
      tags:
        - Clusters
  /courselessons:
    get:
      operationId: getCourseLessons
      security:
        - ApiKeyAuth: []
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/CourseLessonResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Get a list of CourseLessons
      tags:
        - Courses
    post:
      operationId: postCourseLessons
      security:
        - ApiKeyAuth: []
      parameters:
        - $ref: "#/parameters/CourseLessonRequest"
      responses:
        "200":
          $ref: "#/responses/CourseLessonResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Create a new CourseLesson
      tags:
        - Courses
    put:
      security:
        - ApiKeyAuth: []
      operationId: updateCourseLessons
      parameters:
        - $ref: "#/parameters/CourseLessonRequest"
      responses:
        "200":
          $ref: "#/responses/CourseLessonResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Update an existing CourseLesson
      tags:
        - Courses
  /courses:
    get:
      security:
        - ApiKeyAuth: []
      operationId: getCourses
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/slugQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/CourseResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Get a list of Courses
      tags:
        - Courses
    post:
      security:
        - ApiKeyAuth: []
      operationId: postCourses
      parameters:
        - $ref: "#/parameters/CourseRequest"
      responses:
        "200":
          $ref: "#/responses/CourseResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Create a new Course
      tags:
        - Courses
    put:
      security:
        - ApiKeyAuth: []
      operationId: updateCourses
      parameters:
        - $ref: "#/parameters/CourseRequest"
      responses:
        "200":
          $ref: "#/responses/CourseResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Update an existing Course
      tags:
        - Courses
  /coursesections:
    get:
      security:
        - ApiKeyAuth: []
      operationId: getCourseSections
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/CourseSectionResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Get a list of CourseSections
      tags:
        - Courses
    post:
      security:
        - ApiKeyAuth: []
      operationId: postCourseSections
      parameters:
        - $ref: "#/parameters/CourseSectionRequest"
      responses:
        "200":
          $ref: "#/responses/CourseSectionResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Create a new CourseSection
      tags:
        - Courses
    put:
      security:
        - ApiKeyAuth: []
      operationId: updateCourseSections
      parameters:
        - $ref: "#/parameters/CourseSectionRequest"
      responses:
        "200":
          $ref: "#/responses/CourseSectionResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Update an existing CourseSection
      tags:
        - Courses
  /databases:
    get:
      description: Return a list of Database records from the datastore
      operationId: getDatabases
      parameters:
        - $ref: "#/parameters/databaseIdQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/DatabaseResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Databases
      tags:
        - Databases
    post:
      description: Create Databases
      operationId: postDatabases
      parameters:
        - $ref: "#/parameters/databaseRequest"
      responses:
        "200":
          $ref: "#/responses/DatabaseResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Databases
      tags:
        - Databases
    put:
      description: Update Database
      operationId: putDatabases
      parameters:
        - $ref: "#/parameters/databaseRequest"
      responses:
        "200":
          $ref: "#/responses/DatabaseResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update Databases
      tags:
        - Databases
  /documents:
    get:
      description: Return a list of Document records from the datastore
      operationId: getDocuments
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/DocumentResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Documents
      tags:
        - Documents
    post:
      description: Create Documents
      operationId: postDocuments
      parameters:
        - $ref: "#/parameters/documentRequest"
      responses:
        "200":
          $ref: "#/responses/DocumentResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Documents
      tags:
        - Documents
    put:
      description: Update Document
      operationId: putDocuments
      parameters:
        - $ref: "#/parameters/documentRequest"
      responses:
        "200":
          $ref: "#/responses/DocumentResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update Documents
      tags:
        - Documents
  /emailmessages:
    get:
      security:
        - ApiKeyAuth: []
      summary: "Get email messages from data store"
      operationId: getEmailMessages
      description: "Retrieves email messages from workflow storage"
      parameters:
        - $ref: "#/parameters/emailMessageIdQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      tags:
        - Emails
      responses:
        "200":
          $ref: "#/responses/EmailMessagesResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
    post:
      security:
        - ApiKeyAuth: []
      summary: Add new email messages to the outgoing queue
      operationId: postEmailMessages
      description: Insert new email messages into workflow storage
      parameters:
        - $ref: "#/parameters/EmailMessageRequest"
      responses:
        "200":
          $ref: "#/responses/EmailMessagesResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      tags:
        - Emails
  /outgoingemailmessages:
    get:
      security:
        - ApiKeyAuth: []
      summary: "Get email messages from data store"
      operationId: getOutgoingEmailMessages
      description: "Retrieves email messages from workflow storage"
      parameters:
        - $ref: "#/parameters/emailMessageIdQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      tags:
        - Emails
      responses:
        "200":
          $ref: "#/responses/OutgoingEmailMessagesResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
    post:
      security:
        - ApiKeyAuth: []
      summary: Add new email messages to the outgoing queue
      operationId: postOutgoingEmailMessages
      description: Insert new email messages into workflow storage
      parameters:
        - $ref: "#/parameters/OutgoingEmailMessageRequest"
      responses:
        "200":
          $ref: "#/responses/OutgoingEmailMessagesResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      tags:
        - Emails
  /enrollments:
    get:
      description: Return a list of Enrollment records from the datastore
      operationId: getEnrollments
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/EnrollmentResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Enrollments
      tags:
        - Enrollments
    post:
      description: Create Enrollments
      operationId: postEnrollments
      parameters:
        - $ref: "#/parameters/EnrollmentRequest"
      responses:
        "200":
          $ref: "#/responses/EnrollmentResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Enrollments
      tags:
        - Enrollments
    put:
      description: Update Enrollment
      operationId: putEnrollments
      parameters:
        - $ref: "#/parameters/EnrollmentRequest"
      responses:
        "200":
          $ref: "#/responses/EnrollmentResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update Enrollment
      tags:
        - Enrollments
  /eventcategories:
    get:
      security:
        - ApiKeyAuth: []
      operationId: getEventCategories
      parameters:
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/idQuery"
      responses:
        "200":
          $ref: "#/responses/EventCategoryResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Get a list of Eventcategories
      tags:
        - Events
    post:
      security:
        - ApiKeyAuth: []
      operationId: postEventCategories
      parameters:
        - $ref: "#/parameters/EventCategoryRequest"
      responses:
        "200":
          $ref: "#/responses/EventCategoryResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Create a new EventCategory
      tags:
        - Events
  /events:
    get:
      security:
        - ApiKeyAuth: []
      operationId: getEvents
      parameters:
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/slugQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/idQuery"
      responses:
        "200":
          $ref: "#/responses/EventResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Get a list of Events
      tags:
        - Events
    post:
      security:
        - ApiKeyAuth: []
      operationId: postEvents
      parameters:
        - $ref: "#/parameters/EventRequest"
      responses:
        "200":
          $ref: "#/responses/EventResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Create a new Event
      tags:
        - Events
  /favorites:
    get:
      description: Return a list of Favorite records from the datastore
      operationId: getFavorites
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/FavoriteResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Favorites
      tags:
        - Favorites
    post:
      description: Create Favorites
      operationId: postFavorites
      parameters:
        - $ref: "#/parameters/FavoriteRequest"
      responses:
        "200":
          $ref: "#/responses/FavoriteResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Favorites
      tags:
        - Favorites
    put:
      description: Update Favorite
      operationId: putFavorites
      parameters:
        - $ref: "#/parameters/FavoriteRequest"
      responses:
        "200":
          $ref: "#/responses/FavoriteResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update Favorite
      tags:
        - Favorites
  /invoices:
    get:
      description: Return a list of Invoice records from the datastore
      operationId: getInvoices
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/InvoiceResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Invoices
      tags:
        - Invoices
    post:
      description: Create Invoices
      operationId: postInvoices
      parameters:
        - $ref: "#/parameters/InvoiceRequest"
      responses:
        "200":
          $ref: "#/responses/InvoiceResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Invoices
      tags:
        - Invoices
    put:
      description: Update Invoice
      operationId: putInvoices
      parameters:
        - $ref: "#/parameters/InvoiceRequest"
      responses:
        "200":
          $ref: "#/responses/InvoiceResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update Invoice
      tags:
        - Invoices
  /issuedcertificates:
    get:
      description: Return a list of IssuedCertificate records from the datastore
      operationId: getIssuedCertificates
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/IssuedCertificateResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list IssuedCertificates
      tags:
        - IssuedCertificates
    post:
      description: Create IssuedCertificates
      operationId: postIssuedCertificates
      parameters:
        - $ref: "#/parameters/IssuedCertificateRequest"
      responses:
        "200":
          $ref: "#/responses/IssuedCertificateResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new IssuedCertificates
      tags:
        - IssuedCertificates
    put:
      description: Update IssuedCertificate
      operationId: putIssuedCertificates
      parameters:
        - $ref: "#/parameters/IssuedCertificateRequest"
      responses:
        "200":
          $ref: "#/responses/IssuedCertificateResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update IssuedCertificate
      tags:
        - IssuedCertificates
  /lessonprogress:
    get:
      description: Return a list of LessonProgress records from the datastore
      operationId: getLessonProgresses
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/LessonProgressResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list LessonProgresses
      tags:
        - LessonProgress
    post:
      description: Create LessonProgresses
      operationId: postLessonProgresses
      parameters:
        - $ref: "#/parameters/LessonProgressRequest"
      responses:
        "200":
          $ref: "#/responses/LessonProgressResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new LessonProgresses
      tags:
        - LessonProgress
    put:
      description: Update LessonProgress
      operationId: putLessonProgresses
      parameters:
        - $ref: "#/parameters/LessonProgressRequest"
      responses:
        "200":
          $ref: "#/responses/LessonProgressResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update LessonProgress
      tags:
        - LessonProgress
  /orders:
    get:
      description: Return a list of Order records from the datastore
      operationId: getOrders
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/OrderResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Orders
      tags:
        - Orders
    post:
      description: Create Orders
      operationId: postOrders
      parameters:
        - $ref: "#/parameters/OrderRequest"
      responses:
        "200":
          $ref: "#/responses/OrderResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Orders
      tags:
        - Orders
    put:
      description: Update Order
      operationId: putOrders
      parameters:
        - $ref: "#/parameters/OrderRequest"
      responses:
        "200":
          $ref: "#/responses/OrderResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update Order
      tags:
        - Orders
  /paymentmethods:
    get:
      description: Return a list of PaymentMethod records from the datastore
      operationId: getPaymentMethods
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/PaymentMethodResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list PaymentMethods
      tags:
        - PaymentMethods
    post:
      description: Create PaymentMethods
      operationId: postPaymentMethods
      parameters:
        - $ref: "#/parameters/PaymentMethodRequest"
      responses:
        "200":
          $ref: "#/responses/PaymentMethodResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new PaymentMethods
      tags:
        - PaymentMethods
    put:
      description: Update PaymentMethod
      operationId: putPaymentMethods
      parameters:
        - $ref: "#/parameters/PaymentMethodRequest"
      responses:
        "200":
          $ref: "#/responses/PaymentMethodResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update PaymentMethod
      tags:
        - PaymentMethods
  /prompts:
    get:
      description: Return a list of Prompt records from the datastore
      operationId: getPrompts
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/PromptResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list of Prompts
      tags:
        - Prompts
    post:
      description: Create Prompts
      operationId: postPrompts
      parameters:
        - $ref: "#/parameters/PromptRequest"
      responses:
        "200":
          $ref: "#/responses/PromptResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Prompts
      tags:
        - Prompts
    put:
      description: Update Prompt
      operationId: putPrompts
      parameters:
        - $ref: "#/parameters/PromptRequest"
      responses:
        "200":
          $ref: "#/responses/PromptResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update Prompts
      tags:
        - Prompts
  /promptanswers:
    get:
      description: Return a list of PromptAnswers records from the datastore
      operationId: getPromptAnswers
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/PromptAnswerResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list of PromptResponses
      tags:
        - Prompts
    post:
      description: Create PromptAnswers
      operationId: postPromptAnswers
      parameters:
        - $ref: "#/parameters/PromptAnswerRequest"
      responses:
        "200":
          $ref: "#/responses/PromptAnswerResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new PromptResponses
      tags:
        - Prompts
    put:
      description: Update PromptAnswers
      operationId: putPromptAnsweers
      parameters:
        - $ref: "#/parameters/PromptAnswerRequest"
      responses:
        "200":
          $ref: "#/responses/PromptAnswerResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update PromptResponse
      tags:
        - Prompts
  /promptcategories:
    get:
      description: Return a list of PromptCategory records from the datastore
      operationId: getPromptCategories
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/PromptCategoryResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list of PromptCategories
      tags:
        - Prompts
    post:
      description: Create PromptCategories
      operationId: postPromptCategories
      parameters:
        - $ref: "#/parameters/PromptCategoryRequest"
      responses:
        "200":
          $ref: "#/responses/PromptCategoryResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new PromptCategories
      tags:
        - Prompts
    put:
      description: Update PromptCategory
      operationId: putPromptCategories
      parameters:
        - $ref: "#/parameters/PromptCategoryRequest"
      responses:
        "200":
          $ref: "#/responses/PromptCategoryResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update PromptCategories
      tags:
        - Prompts
  /prompttags:
    get:
      description: Return a list of PromptTag records from the datastore
      operationId: getPromptTags
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/PromptTagResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list of PromptTags
      tags:
        - Prompts
    post:
      description: Create PromptTags in Taxnexus
      operationId: postPromptTags
      parameters:
        - $ref: "#/parameters/PromptTagRequest"
      responses:
        "200":
          $ref: "#/responses/PromptTagResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new PromptTags
      tags:
        - Prompts
    put:
      description: Update PromptTag in Taxnexus
      operationId: putPromptTags
      parameters:
        - $ref: "#/parameters/PromptTagRequest"
      responses:
        "200":
          $ref: "#/responses/PromptTagResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update PromptTags
      tags:
        - Prompts
  /researchprojectcompanies:
    get:
      description: Return a list of ResearchProjectCompany records from the datastore
      operationId: getResearchProjectCompanies
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectCompanyResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list of ResearchProjectCompanies
      tags:
        - ResearchProjects
    post:
      description: Create ResearchProjectCompanies in the system
      operationId: postResearchProjectCompanies
      parameters:
        - $ref: "#/parameters/Auth0UserIdHeader"
        - $ref: "#/parameters/ResearchProjectCompanyRequest"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectCompanyResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new ResearchProjectCompanies
      tags:
        - ResearchProjects
    put:
      description: Update ResearchProjectCompany in the system
      operationId: putResearchProjectCompanies
      parameters:
        - $ref: "#/parameters/Auth0UserIdHeader"
        - $ref: "#/parameters/ResearchProjectCompanyRequest"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectCompanyResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update ResearchProjectCompanies
      tags:
        - ResearchProjects
  /researchprojectdocuments:
    get:
      description: Return a list of ResearchProjectDocument records from the datastore
      operationId: getResearchProjectDocuments
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectDocumentResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list of ResearchProjectDocuments
      tags:
        - ResearchProjects
    post:
      description: Create ResearchProjectDocuments in the system
      operationId: postResearchProjectDocuments
      parameters:
        - $ref: "#/parameters/ResearchProjectDocumentRequest"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectDocumentResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new ResearchProjectDocuments
      tags:
        - ResearchProjects
    put:
      description: Update ResearchProjectDocument in the system
      operationId: putResearchProjectDocuments
      parameters:
        - $ref: "#/parameters/ResearchProjectDocumentRequest"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectDocumentResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update ResearchProjectDocuments
      tags:
        - ResearchProjects
  /researchprojectservices:
    get:
      description: Return a list of ResearchProjectService records from the datastore
      operationId: getResearchProjectServices
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectServiceResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list of ResearchProjectServices
      tags:
        - ResearchProjects
    post:
      description: Create ResearchProjectServices in the system
      operationId: postResearchProjectServices
      parameters:
        - $ref: "#/parameters/ResearchProjectServiceRequest"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectServiceResponse"
        "201":
          $ref: "#/responses/ResearchProjectServiceResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new ResearchProjectServices
      tags:
        - ResearchProjects
    put:
      description: Update ResearchProjectService in the system
      operationId: putResearchProjectServices
      parameters:
        - $ref: "#/parameters/ResearchProjectServiceRequest"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectServiceResponse"
        "201":
          $ref: "#/responses/ResearchProjectServiceResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update ResearchProjectServices
      tags:
        - ResearchProjects

  /researchprojectproducts:
    get:
      description: Return a list of ResearchProjectProduct records from the datastore
      operationId: getResearchProjectProducts
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectProductResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list of ResearchProjectProducts
      tags:
        - ResearchProjects
    post:
      description: Create ResearchProjectProducts in the system
      operationId: postResearchProjectProducts
      parameters:
        - $ref: "#/parameters/researchProjectProductRequest"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectProductResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new ResearchProjectProducts
      tags:
        - ResearchProjects
    put:
      description: Update ResearchProjectProduct in the system
      operationId: putResearchProjectProducts
      parameters:
        - $ref: "#/parameters/researchProjectProductRequest"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectProductResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update ResearchProjectProducts
      tags:
        - ResearchProjects
  /researchprojects:
    get:
      description: Return a list of ResearchProject records from the datastore
      operationId: getResearchProjects
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list of ResearchProjects
      tags:
        - ResearchProjects
    post:
      description: Create ResearchProjects in the system
      operationId: postResearchProjects
      parameters:
        - $ref: "#/parameters/ResearchProjectRequest"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new ResearchProjects
      tags:
        - ResearchProjects
    put:
      description: Update ResearchProject in the system
      operationId: putResearchProjects
      parameters:
        - $ref: "#/parameters/ResearchProjectRequest"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update ResearchProjects
      tags:
        - ResearchProjects
  /researchprojecttopics:
    get:
      description: Return a list of ResearchProjectTopic records from the datastore
      operationId: getResearchProjectTopics
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectTopicResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list of ResearchProjectTopics
      tags:
        - ResearchProjects
    post:
      description: Create ResearchProjectTopics in the system
      operationId: postResearchProjectTopics
      parameters:
        - $ref: "#/parameters/ResearchProjectTopicRequest"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectTopicResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new ResearchProjectTopics
      tags:
        - ResearchProjects
    put:
      description: Update ResearchProjectTopic in the system
      operationId: putResearchProjectTopics
      parameters:
        - $ref: "#/parameters/ResearchProjectTopicRequest"
        - $ref: "#/parameters/Auth0UserIdHeader"
      responses:
        "200":
          $ref: "#/responses/ResearchProjectTopicResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update ResearchProjectTopics
      tags:
        - ResearchProjects
  /tenants:
    get:
      description: Return a list of Tenant records from the datastore
      operationId: getTenants
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/TenantResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Tenants
      tags:
        - Tenants
    post:
      description: Create Tenants
      operationId: postTenants
      parameters:
        - $ref: "#/parameters/TenantRequest"
      responses:
        "200":
          $ref: "#/responses/TenantResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Tenants
      tags:
        - Tenants
    put:
      description: Update Tenant
      operationId: putTenants
      parameters:
        - $ref: "#/parameters/TenantRequest"
      responses:
        "200":
          $ref: "#/responses/TenantResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update Tenants
      tags:
        - Tenants
  /templates:
    get:
      description: Return a list of Templates from the datastore
      operationId: getTemplates
      parameters:
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/activeQuery"
        - $ref: "#/parameters/templateIdQuery"
        - $ref: "#/parameters/isMasterQuery"
        - $ref: "#/parameters/objectTypeQuery"
      responses:
        "200":
          $ref: "#/responses/TemplateResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Templates
      tags:
        - Templates
    post:
      description: Create new Templates
      operationId: postTemplates
      parameters:
        - $ref: "#/parameters/TemplateRequest"
      responses:
        "200":
          $ref: "#/responses/TemplateResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Templates
      tags:
        - Templates
  /tickets:
    get:
      description: Return a list of Ticket records from the datastore
      operationId: getTickets
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/TicketResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Tickets
      tags:
        - Tickets
    post:
      description: Create Tickets
      operationId: postTickets
      parameters:
        - $ref: "#/parameters/TicketRequest"
      responses:
        "200":
          $ref: "#/responses/TicketResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Tickets
      tags:
        - Tickets
    put:
      description: Update Ticket
      operationId: putTickets
      parameters:
        - $ref: "#/parameters/TicketRequest"
      responses:
        "200":
          $ref: "#/responses/TicketResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update Ticket
      tags:
        - Tickets
  /tracks:
    get:
      description: Return a list of Track records from the datastore
      operationId: getTracks
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/slugQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/TrackResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Tracks
      tags:
        - Tracks
    post:
      description: Create Tracks
      operationId: postTracks
      parameters:
        - $ref: "#/parameters/TrackRequest"
      responses:
        "200":
          $ref: "#/responses/TrackResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Tracks
      tags:
        - Tracks
    put:
      description: Update Track
      operationId: putTracks
      parameters:
        - $ref: "#/parameters/TrackRequest"
      responses:
        "200":
          $ref: "#/responses/TrackResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update Track
      tags:
        - Tracks
  /trackevents:
    get:
      description: Return a list of TrackEvent records from the datastore
      operationId: getTrackEvents
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/TrackEventResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list TrackEvents
      tags:
        - TrackEvents
    post:
      description: Create TrackEvents
      operationId: postTrackEvents
      parameters:
        - $ref: "#/parameters/TrackEventRequest"
      responses:
        "200":
          $ref: "#/responses/TrackEventResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new TrackEvents
      tags:
        - TrackEvents
    put:
      description: Update TrackEvent
      operationId: putTrackEvents
      parameters:
        - $ref: "#/parameters/TrackEventRequest"
      responses:
        "200":
          $ref: "#/responses/TrackEventResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update TrackEvent
      tags:
        - TrackEvents
  /tracktopics:
    get:
      description: Return a list of TrackTopic records from the datastore
      operationId: getTrackTopics
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/TrackTopicResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list TrackTopics
      tags:
        - TrackTopics
    post:
      description: Create TrackTopics
      operationId: postTrackTopics
      parameters:
        - $ref: "#/parameters/TrackTopicRequest"
      responses:
        "200":
          $ref: "#/responses/TrackTopicResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new TrackTopics
      tags:
        - TrackTopics
    put:
      description: Update TrackTopic
      operationId: putTrackTopics
      parameters:
        - $ref: "#/parameters/TrackTopicRequest"
      responses:
        "200":
          $ref: "#/responses/TrackTopicResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update TrackTopic
      tags:
        - TrackTopics
  /trackusers:
    get:
      description: Return a list of TrackUser records from the datastore
      operationId: getTrackUsers
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/TrackUserResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list TrackUsers
      tags:
        - TrackUsers
    post:
      description: Create TrackUsers
      operationId: postTrackUsers
      parameters:
        - $ref: "#/parameters/TrackUserRequest"
      responses:
        "200":
          $ref: "#/responses/TrackUserResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new TrackUsers
      tags:
        - TrackUsers
    put:
      description: Update TrackUser
      operationId: putTrackUsers
      parameters:
        - $ref: "#/parameters/TrackUserRequest"
      responses:
        "200":
          $ref: "#/responses/TrackUserResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update TrackUser
      tags:
        - TrackUsers
  /transactions:
    get:
      description: Return a list of Transaction records from the datastore
      operationId: getTransactions
      parameters:
        - $ref: "#/parameters/idQuery"
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
      responses:
        "200":
          $ref: "#/responses/TransactionResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list of Transactions
      tags:
        - Transactions
    post:
      description: Create Transactions
      operationId: postTransactions
      parameters:
        - $ref: "#/parameters/TransactionRequest"
      responses:
        "200":
          $ref: "#/responses/TransactionResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Transactions
      tags:
        - Transactions
    put:
      description: Update Transaction
      operationId: putTransactions
      parameters:
        - $ref: "#/parameters/TransactionRequest"
      responses:
        "200":
          $ref: "#/responses/TransactionResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update Transaction
      tags:
        - Transactions
  /users/auth:
    get:
      description: Return a list of User records from the datastore
      operationId: getUsersAuth
      parameters:
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/emailQuery"
      responses:
        "200":
          $ref: "#/responses/UserAuthResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Web Users
      tags:
        - Users
    post:
      description: Authenticate a user
      operationId: postUsersAuth
      parameters:
        - $ref: "#/parameters/UserAuthRequest"
      responses:
        "200":
          $ref: "#/responses/UserAuthResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Authenticate a user
      tags:
        - Users
      security:
        - ApiKeyAuth: []
  /users/auth/password:
    post:
      description: Change user password
      operationId: postUsersAuthPassword
      parameters:
        - $ref: "#/parameters/UserAuthRequest"
      responses:
        "200":
          $ref: "#/responses/UserAuthResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      summary: Change user password
      tags:
        - Users
      security:
        - ApiKeyAuth: []
  /users/onboard:
    post:
      description: Async onboard new users
      operationId: postUsersOnboard
      parameters:
        - $ref: "#/parameters/UserRequest"
      responses:
        "200":
          $ref: "#/responses/UserResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Async onboard new users
      tags:
        - Users
  /users:
    get:
      description: Return a list of User records from the datastore
      operationId: getUsers
      parameters:
        - $ref: "#/parameters/limitQuery"
        - $ref: "#/parameters/offsetQuery"
        - $ref: "#/parameters/emailQuery"
        - $ref: "#/parameters/auth0UserIdQuery"
        - $ref: "#/parameters/userIdQuery"
        - $ref: "#/parameters/contactIdQuery"
      responses:
        "200":
          $ref: "#/responses/UserResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Get a list Users
      tags:
        - Users
    post:
      description: Create new Users
      operationId: postUsers
      parameters:
        - $ref: "#/parameters/UserRequest"
      responses:
        "200":
          $ref: "#/responses/UserResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Create new Users
      tags:
        - Users
    put:
      description: Update existing users
      operationId: putUsers
      parameters:
        - $ref: "#/parameters/UserRequest"
      responses:
        "200":
          $ref: "#/responses/UserResponse"
        "401":
          $ref: "#/responses/Unauthorized"
        "403":
          $ref: "#/responses/AccessForbidden"
        "404":
          $ref: "#/responses/NotFound"
        "422":
          $ref: "#/responses/UnprocessableEntity"
        "500":
          $ref: "#/responses/ServerError"
      security:
        - ApiKeyAuth: []
      summary: Update existing users
      tags:
        - Users
definitions:
  AttendeeRequest:
    description: An array of Attendee objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/attendee.yaml#/Attendee"
        type: array
    type: object
  AttendeeResponse:
    description: An array of Attendee objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/attendee.yaml#/Attendee"
        type: array
    type: object
  CertificateRequest:
    description: An array of Certificate objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/certificate.yaml#/Certificate"
        type: array
    type: object
  CertificateResponse:
    description: An array of Certificate objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/certificate.yaml#/Certificate"
        type: array
    type: object
  ClusterRequest:
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/cluster.yaml#/Cluster"
        type: array
    type: object
  ClusterResponse:
    description: An array of cluster objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/cluster.yaml#/Cluster"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  CourseLessonRequest:
    description: An array of CourseLesson objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/course-lesson.yaml#/CourseLesson"
        type: array
    type: object
  CourseLessonResponse:
    description: An array of CourseLesson objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/course-lesson.yaml#/CourseLesson"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  CourseRequest:
    description: An array of Course objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/course.yaml#/Course"
        type: array
    type: object
  CourseResponse:
    description: An array of Course objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/course.yaml#/Course"
        type: array
    type: object
  CourseSectionRequest:
    description: An array of CourseSection objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/course-section.yaml#/CourseSection"
        type: array
    type: object
  CourseSectionResponse:
    description: An array of CourseSection objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/course-section.yaml#/CourseSection"
        type: array
    type: object
  DatabaseRequest:
    description: An array of Database objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/database.yaml#/Database"
        type: array
    type: object
  DatabaseResponse:
    description: An array of Database objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/database.yaml#/Database"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  DocumentRequest:
    description: An array of Document objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/document.yaml#/Document"
        type: array
    type: object
  DocumentResponse:
    description: An array of Document objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/document.yaml#/Document"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  EmailMessageRequest:
    description: An array Send Email Message objects
    properties:
      data:
        items:
          $ref: "../../lib/swagger/defs/email-message.yaml#/EmailMessage"
        type: array
      meta:
        $ref: "#/definitions/RequestMeta"
    type: object
  EmailMessagesResponse:
    description: An array user objects
    properties:
      data:
        items:
          $ref: "../../lib/swagger/defs/email-message.yaml#/EmailMessage"
        type: array
      meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  EnrollmentRequest:
    description: An array of Enrollment objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/enrollment.yaml#/Enrollment"
        type: array
    type: object
  EnrollmentResponse:
    description: An array of Enrollment objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/enrollment.yaml#/Enrollment"
        type: array
    type: object
  EventRequest:
    description: An array of Event objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/event.yaml#/Event"
        type: array
    type: object
  EventResponse:
    description: An array of Event objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/event.yaml#/Event"
        type: array
    type: object
  EventCategoryRequest:
    description: An array of EventCategory objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/event-category.yaml#/EventCategory"
        type: array
    type: object
  EventCategoryResponse:
    description: An array of EventCategory objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/event-category.yaml#/EventCategory"
        type: array
    type: object
  FavoriteRequest:
    description: An array of Favorite objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/favorite.yaml#/Favorite"
        type: array
    type: object
  FavoriteResponse:
    description: An array of Favorite objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/favorite.yaml#/Favorite"
        type: array
    type: object
  InvoiceRequest:
    description: An array of Invoice objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/invoice.yaml#/Invoice"
        type: array
    type: object
  InvoiceResponse:
    description: An array of Invoice objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/invoice.yaml#/Invoice"
        type: array
    type: object
  IssuedCertificateRequest:
    description: An array of IssuedCertificate objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/issued-certificate.yaml#/IssuedCertificate"
        type: array
    type: object
  IssuedCertificateResponse:
    description: An array of IssuedCertificate objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/issued-certificate.yaml#/IssuedCertificate"
        type: array
    type: object
  LessonProgressRequest:
    description: An array of LessonProgress objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/lesson-progress.yaml#/LessonProgress"
        type: array
    type: object
  LessonProgressResponse:
    description: An array of LessonProgress objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/lesson-progress.yaml#/LessonProgress"
        type: array
    type: object
  OutgoingEmailMessageRequest:
    description: An array New Email Message objects
    properties:
      data:
        items:
          $ref: "../../lib/swagger/defs/outgoing-email-message.yaml#/OutgoingEmailMessage"
        type: array
    type: object
  OutgoingEmailMessagesResponse:
    description: An array New Email Message objects
    properties:
      data:
        items:
          $ref: "../../lib/swagger/defs/outgoing-email-message.yaml#/OutgoingEmailMessage"
        type: array
      meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  OrderRequest:
    description: An array of Order objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/order.yaml#/Order"
        type: array
    type: object
  OrderResponse:
    description: An array of Order objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/order.yaml#/Order"
        type: array
    type: object
  Pagination:
    properties:
      Limit:
        format: int64
        type: integer
      POffset:
        format: int64
        type: integer
      PageSize:
        format: int64
        type: integer
      SetSize:
        format: int64
        type: integer
    type: object
  PaymentMethodRequest:
    description: An array of PaymentMethod objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/payment-method.yaml#/PaymentMethod"
        type: array
    type: object
  PaymentMethodResponse:
    description: An array of PaymentMethod objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/payment-method.yaml#/PaymentMethod"
        type: array
    type: object
  PromptAnswerRequest:
    description: An array of Prompt objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/prompt-answer.yaml#/PromptAnswer"
        type: array
    type: object
  PromptAnswerResponse:
    description: An array of PromptResponse objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/prompt-answer.yaml#/PromptAnswer"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  PromptRequest:
    description: An array of Prompt objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/prompt.yaml#/Prompt"
        type: array
    type: object
  PromptResponse:
    description: An array of Prompt objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/prompt.yaml#/Prompt"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  PromptCategoryRequest:
    description: An array of PromptCategory objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/prompt-category.yaml#/PromptCategory"
        type: array
    type: object
  PromptCategoryResponse:
    description: An array of PromptCategory objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/prompt-category.yaml#/PromptCategory"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  PromptTagRequest:
    description: An array of PromptTag objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/prompt-tag.yaml#/PromptTag"
        type: array
    type: object
  PromptTagResponse:
    description: An array of PromptTag objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/prompt-tag.yaml#/PromptTag"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  RequestMeta:
    properties:
      ExternalAccount:
        description: Account Number of the Reseller or OEM
        type: string
        x-nullable: true
    required:
      - ExternalAccount
    type: object
  ResearchProjectCompanyRequest:
    description: An array of ResearchProjectCompany objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/research-project-company.yaml#/ResearchProjectCompany"
        type: array
    type: object
  ResearchProjectCompanyResponse:
    description: An array of ResearchProjectCompany objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/research-project-company.yaml#/ResearchProjectCompany"
        type: array
    type: object
  ResearchProjectRequest:
    description: An array of ResearchProject objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/research-project.yaml#/ResearchProject"
        type: array
    type: object
  ResearchProjectResponse:
    description: An array of ResearchProject objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/research-project.yaml#/ResearchProject"
        type: array
    type: object
  ResearchProjectDocumentRequest:
    description: An array of ResearchProjectDocumentRequest objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/research-project-document.yaml#/ResearchProjectDocument"
        type: array
    type: object
  ResearchProjectDocumentResponse:
    description: An array of ResearchProjectDocumentResponse objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/research-project-document.yaml#/ResearchProjectDocument"
        type: array
    type: object
  ResearchProjectProductRequest:
    description: An array of ResearchProjectProduct objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/research-project-product.yaml#/ResearchProjectProduct"
        type: array
    type: object
  ResearchProjectProductResponse:
    description: An array of ResearchProjectProduct objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/research-project-product.yaml#/ResearchProjectProduct"
        type: array
    type: object
  ResearchProjectServiceResponse:
    description: An array of ResearchProjectService objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/research-project-service.yaml#/ResearchProjectService"
        type: array
    type: object
  ResearchProjectServiceRequest:
    description: An array of ResearchProjectService objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/research-project-service.yaml#/ResearchProjectService"
        type: array
    type: object
  ResearchProjectTopicRequest:
    description: An array of ResearchProjectTopic objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/research-project-topic.yaml#/ResearchProjectTopic"
        type: array
    type: object
  ResearchProjectTopicResponse:
    description: An array of ResearchProjectTopic objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/research-project-topic.yaml#/ResearchProjectTopic"
        type: array
    type: object
  ResponseMeta:
    properties:
      Contact:
        description: Microservice Contact Info
        type: string
      Copyright:
        description: Copyright Info
        type: string
      License:
        description: License Information and Restrictions
        type: string
      OperationID:
        description: Operation ID
        type: string
      Pagination:
        $ref: "#/definitions/Pagination"
      RequestIP:
        description: Request IP Address
        type: string
      RequestType:
        description: Request Type
        type: string
      RequestURL:
        description: Request URL
        type: string
      ServerInfo:
        description: Data Server Info
        type: string
      ServerResponseTime:
        description: Data Server Response Time (ms)
        type: string
      ServerTimestamp:
        description: Backend Server Timestamp
        type: string
      ExternalAccount:
        description: Account Number used for recording transactions
        type: string
    type: object
  RoleRequest:
    description: An array of Role objects
    properties:
      Date:
        items:
          $ref: "../../lib/swagger/defs/role.yaml#/Role"
        type: array
    type: object
  RoleResponse:
    description: An array of Role objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/role.yaml#/Role"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  TemplateRequest:
    description: An array of Templates
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/template.yaml#/Template"
        type: array
    type: object
  TemplateResponse:
    description: An array of Templates
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/template.yaml#/Template"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  TenantRequest:
    description: An array of Tenant objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/tenant.yaml#/Tenant"
        type: array
    type: object
  TenantResponse:
    description: An array of Tenant objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/tenant.yaml#/Tenant"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  TicketRequest:
    description: An array of Ticket objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/ticket.yaml#/Ticket"
        type: array
    type: object
  TicketResponse:
    description: An array of Ticket objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/ticket.yaml#/Ticket"
        type: array
    type: object
  TrackRequest:
    description: An array of Track objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/track.yaml#/Track"
        type: array
    type: object
  TrackResponse:
    description: An array of Track objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/track.yaml#/Track"
        type: array
    type: object
  TrackEventRequest:
    description: An array of TrackEvent objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/track-event.yaml#/TrackEvent"
        type: array
    type: object
  TrackEventResponse:
    description: An array of TrackEvent objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/track-event.yaml#/TrackEvent"
        type: array
    type: object
  TrackTopicRequest:
    description: An array of TrackTopic objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/track-topic.yaml#/TrackTopic"
        type: array
    type: object
  TrackTopicResponse:
    description: An array of TrackTopic objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/track-topic.yaml#/TrackTopic"
        type: array
    type: object
  TrackUserRequest:
    description: An array of TrackUser objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/track-user.yaml#/TrackUser"
        type: array
    type: object
  TrackUserResponse:
    description: An array of TrackUser objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/track-user.yaml#/TrackUser"
        type: array
    type: object
  TransactionRequest:
    description: An array of Transaction objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/transaction.yaml#/Transaction"
        type: array
    type: object
  TransactionResponse:
    description: An array of Transaction objects
    properties:
      Meta:
        $ref: "#/definitions/ResponseMeta"
      Data:
        items:
          $ref: "../../lib/swagger/defs/transaction.yaml#/Transaction"
        type: array
    type: object
  UserRequest:
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/user.yaml#/User"
        type: array
    type: object
  UserResponse:
    description: An array of Print-Ready ingest Objects
    properties:
      Data:
        items:
          $ref: "../../lib/swagger/defs/user.yaml#/User"
        type: array
      Meta:
        $ref: "#/definitions/ResponseMeta"
    type: object
  UserAuth:
    properties:
      accountId:
        description: Account ID
        type: string
        x-nullable: true
      accessToken:
        description: Access Token
        type: string
        x-nullable: true
      apiKey:
        description: API Key
        type: string
        x-nullable: true
      companyName:
        description: Company Name
        type: string
        x-nullable: true
      contactId:
        description: Contact
        type: string
        x-nullable: true
      email:
        description: Email address
        type: string
      environment:
        description: Environment
        type: string
        x-nullable: true
      firstName:
        description: The first name
        type: string
        x-nullable: true
      image:
        description: Photo URL
        type: string
        x-nullable: true
      gitHub:
        description: GitHub
        type: string
        x-nullable: true
      id:
        description: Record ID
        type: string
      isActive:
        description: Active
        type: boolean
        x-nullable: true
      lastIp:
        description: IP address of last login
        type: string
        x-nullable: true
      lastLogin:
        description: Last login time
        type: string
        x-nullable: true
      lastName:
        description: The Last Name
        type: string
        x-nullable: true
      linkedIn:
        description: LinkedIn
        type: string
        x-nullable: true
      loginCount:
        description: Number of times user has logged in
        format: int64
        type: number
        x-nullable: true
      mobilePhone:
        description: Mobile
        type: string
        x-nullable: true
      name:
        description: Name
        type: string
        x-nullable: true
      password:
        description: Password
        type: string
        x-nullable: true
      phone:
        description: Phone
        type: string
        x-nullable: true
      portalRole:
        description: Portal Role Level
        type: string
        x-nullable: true
      provider:
        description: Provider
        type: string
        x-nullable: true
      status:
        description: Onboarding Status
        type: string
        x-nullable: true
      tenantId:
        description: Tenant ID associated with this user
        type: string
        x-nullable: true
      title:
        description: Title
        type: string
        x-nullable: true
      twitter:
        description: Twitter
        type: string
        x-nullable: true
    type: object
