components:
  requestBodies:
    BatchOperationRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BatchOperationRequest'
      description: The batch request
      required: true
    DirectorySearchCriteria:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/DirectorySearchCriteria'
      description: The query
      required: true
    PatchDirectiveArray:
      content:
        application/json:
          schema:
            items:
              $ref: '#/components/schemas/PatchDirective'
            type: array
      description: The patch directives conforming to RFC 6902.
      required: true
    PreviewEmailRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PreviewEmailRequest'
      description: The domain_name to use to for record lookup
      required: true
    createChapterMemberContactContact:
      content:
        application/json:
          schema:
            type: object
      description: The contact
      required: true
    updateChapterMemberMembershipMembership:
      content:
        application/json:
          schema:
            type: object
      description: The membership
      required: true
  schemas:
    AddOn:
      additionalProperties: false
      properties:
        allow_multiple:
          description: If true, a member can purchase more than one of this add on
          title: Allow Multiple
          type: boolean
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        display_order:
          description: The display order of the add on
          format: float
          title: Display Order
          type: number
        eligibility_criteria:
          additionalProperties: false
          description: The criteria to use
          properties:
            advanced_rule_error_message:
              description: The error message to show when the advanced rule fails
              title: Advanced Rule Error Message
              type: string
            advanced_rules:
              title: Advanced Rules
              type: object
            age_restrictions:
              additionalProperties: false
              properties:
                maximum_age:
                  description: The maximum age of the contact
                  format: float
                  title: Maximum Age
                  type: number
                minimum_age:
                  description: The minimum age of the contact
                  format: float
                  title: Minimum Age
                  type: number
              title: Age Restrictions
              type: object
            award_options:
              additionalProperties: false
              properties:
                award_ids:
                  items:
                    type: string
                  title: Awards
                  type: array
                award_type_ids:
                  items:
                    type: string
                  title: Award Types
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
              title: Award Options
              type: object
            award_recipients:
              description: If set, only people who have received awards
              title: Award Recipients
              type: boolean
            by_location:
              description: If true, then filter by location
              title: By Location
              type: boolean
            certificants:
              description: If set, only people with specific certifications
              title: Certificants
              type: boolean
            certification_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
                program_ids:
                  items:
                    type: string
                  title: Programs
                  type: array
              title: Certification Options
              type: object
            committee_member_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                committee_ids:
                  items:
                    type: string
                  title: Committees
                  type: array
                committee_position_ids:
                  items:
                    type: string
                  title: Committee Positions
                  type: array
                committee_type_ids:
                  items:
                    type: string
                  title: Committee Types
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
              title: Committee Member Options
              type: object
            committee_members:
              description: If set, active members who belong to a committee can purchase
              title: Committee Members
              type: boolean
            customer_type:
              enum:
                - contact
                - organization
              title: Customer Type
              type: string
            donor_options:
              additionalProperties: false
              properties:
                donor_club_ids:
                  items:
                    type: string
                  title: Donor Clubs
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
              title: Donor Options
              type: object
            donors:
              description: If true, only donors
              title: Donors
              type: boolean
            enable_advanced_rules:
              description: Enable advanced JSON rules
              title: Enable Advanced Rules
              type: boolean
            enable_age_restrictions:
              description: Age registrations
              title: Enable Age Restrictions
              type: boolean
            enable_expression:
              description: Whether or not to enable an expression for evaluation
              title: Enable Expression
              type: boolean
            enable_organization_restrictions:
              description: If set, you can restrict organizations
              title: Enable Organization Restrictions
              type: boolean
            enable_status_restriction:
              description: If set, you can restrict by status
              title: Enable Status Restriction
              type: boolean
            event_registration_options:
              additionalProperties: false
              properties:
                event_ids:
                  items:
                    type: string
                  title: Events
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
                registration_category_ids:
                  items:
                    type: string
                  title: Registration Categories
                  type: array
              title: Event Registration Options
              type: object
            event_registrations:
              description: If set, only people who have registered for events
              title: Event Registrations
              type: boolean
            expression:
              description: The expression
              title: Expression
              type: string
            expression_error_message:
              description: The error message to show when the expression fails
              title: Expression Error Message
              type: string
            location:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                countries:
                  description: Countries
                  items:
                    type: string
                  title: Countries
                  type: array
                negate_logic:
                  description: >-
                    If true, the logic in this section is negated; so NOT from
                    these places
                  title: Negate Logic
                  type: boolean
              title: Location
              type: object
            logic_operator:
              enum:
                - and
                - not
              title: Logic Operator
              type: string
            member_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                chapter_member_options:
                  additionalProperties: false
                  oneOf:
                    - x-required: true
                  properties:
                    chapter_ids:
                      items:
                        type: string
                      title: Chapters
                      type: array
                    chapter_type_ids:
                      items:
                        type: string
                      title: Chapter Types
                      type: array
                    logic_operator:
                      enum:
                        - and
                        - not
                      title: Logic Operator
                      type: string
                  title: Chapter Member Options
                  type: object
                chapter_members:
                  description: If set, active members who belong to a chapter can purchase
                  title: Chapter Members
                  type: boolean
                member_package_ids:
                  description: The member package
                  items:
                    type: string
                  title: Member Packages
                  type: array
                member_status_reason_ids:
                  items:
                    type: string
                  title: Member Status Reasons
                  type: array
                member_statuses:
                  items:
                    enum:
                      - active
                      - inactive
                      - suspended
                    type: string
                  title: Member Statuses
                  type: array
                member_type_ids:
                  description: The member types
                  items:
                    type: string
                  title: Member Types
                  type: array
                section_member_options:
                  additionalProperties: false
                  oneOf:
                    - x-required: true
                  properties:
                    logic_operator:
                      enum:
                        - and
                        - not
                      title: Logic Operator
                      type: string
                    section_ids:
                      items:
                        type: string
                      title: Sections
                      type: array
                    section_type_ids:
                      items:
                        type: string
                      title: Section Types
                      type: array
                  title: Section Member Options
                  type: object
                section_members:
                  description: If set, active members who belong to a section can purchase
                  title: Section Members
                  type: boolean
              title: Member Options
              type: object
            members:
              description: If set, active members can purchase this
              title: Members
              type: boolean
            non_members:
              description: If set, only nonmembers can purchase
              title: Non Members
              type: boolean
            organization_restrictions:
              additionalProperties: false
              properties:
                contact_role_ids:
                  items:
                    type: string
                  title: Contact Roles
                  type: array
                organization_type_ids:
                  items:
                    type: string
                  title: Organization Types
                  type: array
              title: Organization Restrictions
              type: object
            status_restrictions:
              description: The statuses
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Restrictions
              type: array
            use_organization_for_eligibility:
              description: >-
                If checked, a person's organization is used to check for
                eligibility, rather than the person themselves
              title: Use Organization For Eligibility
              type: boolean
          title: Eligibility Criteria
          type: object
        enable_dues:
          description: If set, this add on should cost money
          title: Enable Dues
          type: boolean
        enable_eligibility:
          description: If set, then only certain individual are eligible for this add on
          title: Enable Eligibility
          type: boolean
        hide_from_portal:
          description: Hide this add on from the portal
          title: Hide From Portal
          type: boolean
        id:
          description: The unique, string identifier of this add on
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether or not this add on is active
          title: Is Active
          type: boolean
        name:
          description: The name of the add on
          title: Name
          type: string
        portal_description:
          description: Description of the add on to be displayed in the portal
          title: Portal Description
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        type_id:
          description: The type of add on
          title: Type
          type: string
      required:
        - eligibility_criteria
        - id
        - name
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    AddOnProduct:
      additionalProperties: false
      properties:
        add_on_id:
          description: 'The add on to which this product is linked '
          title: Add On
          type: string
        allow_customer_to_choose_installment_plan:
          description: If true, the customer can choose their installment plan
          title: Allow Customer To Choose Installment Plan
          type: boolean
        bulk_pricing_rules:
          items:
            additionalProperties: false
            properties:
              discount_amount:
                description: The percentage/flat rate
                format: float
                minimum: 0
                title: Discount Amount
                type: number
              discount_type:
                description: The type of discount rule
                enum:
                  - flat rate
                  - percentage
                title: Discount Type
                type: string
              ending_range:
                description: The ending range of the rule
                minimum: 0
                title: Ending Range
                type: integer
              starting_range:
                description: The starting range of the rule
                minimum: 0
                title: Starting Range
                type: integer
            required:
              - discount_amount
              - discount_type
            type: object
          minItems: 1
          type: array
        bundled_products:
          items:
            additionalProperties: false
            properties:
              member_price:
                description: The member price
                format: double
                title: Member Price
                type: number
              price:
                description: The price to bundle
                format: double
                title: Price
                type: number
              product_id:
                description: The product ID
                title: Product
                type: string
              product_type:
                description: The product type
                title: Product Type
                type: string
              quantity:
                description: The quantity to bundle
                title: Quantity
                type: integer
              type:
                enum:
                  - bundled product
                  - inline bundled product
                title: Type
                type: string
            required:
              - product_id
              - product_type
              - quantity
              - type
            type: object
          minItems: 1
          type: array
        bundled_products_inventory_handling:
          description: >-
            Whether to track inventory for the entire bundle, or for each
            product separately
          enum:
            - bundle
            - each product
          title: Bundled Products Inventory Handling
          type: string
        business_unit_id:
          description: The business unit of the product
          title: Business Unit
          type: string
        cancellation_fee:
          description: Cancellation fees associated with this product
          format: double
          title: Cancellation Fee
          type: number
        commerce_entitlements_to_create:
          items:
            additionalProperties: false
            properties:
              expiration_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Expiration Date
                type: string
              expiration_type:
                enum:
                  - none
                  - relative date
                  - specific date
                title: Expiration Type
                type: string
              quantity:
                description: The quantity
                format: float
                title: Quantity
                type: number
              relative_expiration_date:
                additionalProperties: false
                description: The date the task is due
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Expiration Date
                type: object
              type_id:
                description: The type of entitlement
                title: Type
                type: string
            required:
              - expiration_type
              - type_id
            type: object
          type: array
        coupon_codes:
          items:
            additionalProperties: false
            properties:
              coupon_code_generation_process_id:
                description: The process by which the coupons are generated
                title: Coupon Code Generation Process
                type: string
              coupon_code_type:
                enum:
                  - multi use
                  - single use
                title: Coupon Code Type
                type: string
              coupon_id:
                title: Coupon
                type: string
              coupon_type:
                title: Coupon Type
                type: string
              expiration_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Expiration Date
                type: string
              expiration_type:
                enum:
                  - none
                  - relative date
                  - specific date
                title: Expiration Type
                type: string
              maximum_number_of_total_uses:
                description: The maximum number of total uses
                minimum: 1
                oneOf:
                  - enum:
                      - 1
                    x-required: true
                title: Maximum Number Of Total Uses
                type: integer
              maximum_number_of_uses_per_customer:
                description: The maximum number of total uses for a given customer
                minimum: 1
                oneOf:
                  - enum:
                      - 1
                    x-required: true
                title: Maximum Number Of Uses Per Customer
                type: integer
              quantity:
                description: The number of coupons to generate
                maximum: 250
                title: Quantity
                type: integer
              relative_expiration_date:
                additionalProperties: false
                description: Expiration date relative to purchase
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Expiration Date
                type: object
              restrict_to_contact:
                description: >-
                  If true, the code generated is restricted to the contact who
                  made the purchase
                title: Restrict To Contact
                type: boolean
              restrict_to_organization:
                description: >-
                  If true, the code generated is restricted to the organization
                  made the purchase
                title: Restrict To Organization
                type: boolean
            required:
              - coupon_code_generation_process_id
              - coupon_code_type
              - coupon_id
              - coupon_type
              - quantity
            type: object
          minItems: 1
          type: array
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        custom_pricing_options:
          additionalProperties: false
          properties:
            lambda_function_id:
              description: The custom lambda function to use
              title: Lambda Function
              type: string
          required:
            - lambda_function_id
          title: Custom Pricing Options
          type: object
        document_entitlements_to_create:
          items:
            additionalProperties: false
            properties:
              expiration_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Expiration Date
                type: string
              expiration_type:
                enum:
                  - none
                  - relative date
                  - specific date
                title: Expiration Type
                type: string
              file_cabinet_id:
                description: The file cabinet
                title: File Cabinet
                type: string
              item_id:
                description: The item
                title: Item
                type: string
              library_path:
                description: >-
                  The optional path that items will be mounted onto the digital
                  library
                title: Library Path
                type: string
              relative_expiration_date:
                additionalProperties: false
                description: The date the task is due
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Expiration Date
                type: object
            required:
              - expiration_type
              - file_cabinet_id
            type: object
          type: array
        enable_bulk_pricing:
          description: Whether or not bulk pricing is enabled
          title: Enable Bulk Pricing
          type: boolean
        enable_bundled_products:
          description: Whether to enable bundled products
          title: Enable Bundled Products
          type: boolean
        enable_cancellation_fees:
          description: Whether or not cancellation fees are applicable
          title: Enable Cancellation Fees
          type: boolean
        enable_commerce_entitlement_creation:
          description: >-
            If set, document entitlements will be created to access folders or
            documents
          title: Enable Commerce Entitlement Creation
          type: boolean
        enable_coupon_code_generation:
          description: If true, purchasing this product will generate coupons
          title: Enable Coupon Code Generation
          type: boolean
        enable_custom_pricing:
          description: >-
            If set, the order engine will call out to a custom lambda function
            for custom/complex pricing
          title: Enable Custom Pricing
          type: boolean
        enable_document_entitlement_creation:
          description: >-
            If set, document entitlements will be created to access folders or
            documents
          title: Enable Document Entitlement Creation
          type: boolean
        enable_product_confirmation_email:
          description: If enabled, a custom email goes out whenever this product is ordered
          title: Enable Product Confirmation Email
          type: boolean
        enable_purchase_limits:
          description: If true, purchase limits are in place for this product
          title: Enable Purchase Limits
          type: boolean
        enable_purchasing_eligibility:
          description: If set, purchases of this merchandise are restricted
          title: Enable Purchasing Eligibility
          type: boolean
        enable_special_prices:
          description: Whether to enable special pricing logic
          title: Enable Special Prices
          type: boolean
        enable_task_generation:
          description: If set, tasks will be generated
          title: Enable Task Generation
          type: boolean
        foreign_currency_prices:
          items:
            additionalProperties: false
            properties:
              cancellation_fee:
                description: The cancellation fee of the product for this currency
                format: double
                title: Cancellation Fee
                type: number
              currency_code:
                enum:
                  - AED
                  - AFN
                  - ALL
                  - AMD
                  - ANG
                  - AOA
                  - ARS
                  - AUD
                  - AWG
                  - AZN
                  - BAM
                  - BBD
                  - BDT
                  - BGN
                  - BHD
                  - BIF
                  - BMD
                  - BND
                  - BOB
                  - BRL
                  - BSD
                  - BTN
                  - BWP
                  - BYR
                  - BZD
                  - CAD
                  - CDF
                  - CHF
                  - CLP
                  - CNY
                  - COP
                  - CRC
                  - CUC
                  - CVE
                  - CZK
                  - DJF
                  - DKK
                  - DOP
                  - DZD
                  - EEK
                  - EGP
                  - ERN
                  - ETB
                  - EUR
                  - FJD
                  - FKP
                  - GBP
                  - GEL
                  - GHS
                  - GIP
                  - GMD
                  - GNF
                  - GQE
                  - GTQ
                  - GYD
                  - HKD
                  - HNL
                  - HRK
                  - HTG
                  - HUF
                  - IDR
                  - ILS
                  - INR
                  - IQD
                  - IRR
                  - ISK
                  - JMD
                  - JOD
                  - JPY
                  - KES
                  - KGS
                  - KHR
                  - KMF
                  - KPW
                  - KRW
                  - KWD
                  - KYD
                  - KZT
                  - LAK
                  - LBP
                  - LKR
                  - LRD
                  - LSL
                  - LTL
                  - LVL
                  - LYD
                  - MAD
                  - MDL
                  - MGA
                  - MKD
                  - MMK
                  - MNT
                  - MOP
                  - MRO
                  - MUR
                  - MVR
                  - MWK
                  - MXN
                  - MYR
                  - MZM
                  - NAD
                  - NGN
                  - NIO
                  - NOK
                  - NPR
                  - NZD
                  - OMR
                  - PAB
                  - PEN
                  - PGK
                  - PHP
                  - PKR
                  - PLN
                  - PYG
                  - QAR
                  - RON
                  - RSD
                  - RUB
                  - SAR
                  - SBD
                  - SCR
                  - SDG
                  - SEK
                  - SGD
                  - SHP
                  - SLL
                  - SOS
                  - SRD
                  - SYP
                  - SZL
                  - THB
                  - TJS
                  - TMT
                  - TND
                  - TRY
                  - TTD
                  - TWD
                  - TZS
                  - UAH
                  - UGX
                  - USD
                  - UYU
                  - UZS
                  - VEB
                  - VND
                  - VUV
                  - WST
                  - XAF
                  - XCD
                  - XDR
                  - XOF
                  - XPF
                  - YER
                  - ZAR
                  - ZMK
                  - ZWR
                title: Currency Code
                type: string
              member_price:
                description: The price of the product for a member
                format: double
                title: Member Price
                type: number
              mode:
                description: How this foreign currency should be treated
                enum:
                  - calculate price
                  - prohibit purchase
                  - set price
                title: Mode
                type: string
              price:
                description: The price of the product
                format: double
                oneOf:
                  - x-required: true
                title: Price
                type: number
              restocking_fee:
                description: The restocking fee of the product for this currency
                format: double
                title: Restocking Fee
                type: number
            required:
              - currency_code
            type: object
          type: array
        hide_from_portal:
          description: If set, this product should not be shown in the portal
          title: Hide From Portal
          type: boolean
        id:
          description: The unique, string identifier of this miscellaneous product
          pattern: ^[\w:|-]+$
          title: ID
          type: string
        installment_plan_options:
          items:
            additionalProperties: false
            properties:
              additional_cost:
                description: The additional cost of the installment plan
                format: double
                title: Additional Cost
                type: number
              installment_plan_id:
                description: The installment plan that this product supports
                title: Installment Plan
                type: string
              is_default:
                description: Whether this is the default installment plan option
                title: Is Default
                type: boolean
            required:
              - installment_plan_id
            type: object
          minItems: 1
          type: array
        is_active:
          description: Whether this product is active/used
          title: Is Active
          type: boolean
        member_price:
          description: The price of the product for an active member
          format: double
          title: Member Price
          type: number
        membership_package_id:
          description: The membership package associated with this product
          title: Membership Package
          type: string
        name:
          description: The name of the miscellaneous product
          title: Name
          type: string
        notes:
          description: Notes
          title: Notes
          type: string
        portal_options:
          additionalProperties: false
          properties:
            available_from:
              description: The date from which this product should be available
              format: date-time
              title: Available From
              type: string
            available_until:
              description: The date until which this product should be available
              format: date-time
              title: Available Until
              type: string
          title: Portal Options
          type: object
        price:
          description: The price of the product
          format: double
          title: Price
          type: number
        product_confirmation_email_options:
          additionalProperties: false
          properties:
            product_confirmation_email_id:
              oneOf:
                - x-required: true
              title: Product Confirmation Email
              type: string
            product_specific_email:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                bcc:
                  description: Anyone that should be bcc'ed on the email
                  title: Bcc
                  type: string
                body:
                  description: The email body
                  title: Body
                  type: string
                cc:
                  description: Anyone that should be cc'ed on the email
                  title: Cc
                  type: string
                from:
                  description: From email address
                  title: From
                  type: string
                from_name:
                  description: From name
                  title: From Name
                  type: string
                reply_to:
                  description: The reply to
                  title: Reply To
                  type: string
                subject:
                  description: The email subject
                  title: Subject
                  type: string
              required:
                - body
                - subject
              title: Product Specific Email
              type: object
            type:
              enum:
                - product specific
                - shared
              title: Type
              type: string
          title: Product Confirmation Email Options
          type: object
        publish_to_portal:
          description: Whether or not this product should be available in the portal
          title: Publish To Portal
          type: boolean
        purchase_limits:
          additionalProperties: false
          properties:
            error_message:
              description: The error message to show
              title: Error Message
              type: string
            maximum:
              description: The maximum
              format: float
              title: Maximum
              type: number
            relative_time_window:
              additionalProperties: false
              description: the time window
              oneOf:
                - x-required: true
              properties:
                number:
                  description: The unit of time
                  format: float
                  minimum: 0
                  oneOf:
                    - {}
                  title: Number
                  type: number
                position:
                  description: How the unit relates to the reference date
                  enum:
                    - after
                    - before
                    - 'on'
                  title: Position
                  type: string
                relative_to:
                  enum:
                    - the beginning of the month
                    - the beginning of the quarter
                    - the beginning of the week
                    - the beginning of the year
                    - the end of the month
                    - the end of the quarter
                    - the end of the week
                    - the end of the year
                    - the reference date
                  title: Relative To
                  type: string
                unit_of_time:
                  enum:
                    - days
                    - months
                    - weeks
                    - years
                  oneOf:
                    - {}
                  title: Unit Of Time
                  type: string
              required:
                - number
                - position
                - relative_to
                - unit_of_time
              title: Relative Time Window
              type: object
            time_period:
              enum:
                - all time
                - sliding time window
              title: Time Period
              type: string
            type:
              enum:
                - per customer
              title: Type
              type: string
          required:
            - maximum
            - time_period
            - type
          title: Purchase Limits
          type: object
        purchasing_eligibility_criteria:
          title: Purchasing Eligibility Criteria
          type: object
        special_prices:
          items:
            additionalProperties: false
            properties:
              criteria:
                title: Criteria
                type: object
              enable_formula:
                description: >-
                  if set, a formula is used to calculate the price. If the
                  formula fails, the price is used
                title: Enable Formula
                type: boolean
              formula:
                description: The formula evaluated using the expr-eval npm package
                oneOf:
                  - x-required: true
                title: Formula
                type: string
              name:
                title: Name
                type: string
              price:
                format: float
                title: Price
                type: number
            required:
              - criteria
              - price
            type: object
          minItems: 1
          type: array
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        tasks_to_generate:
          items:
            additionalProperties: false
            properties:
              assignee_type:
                enum:
                  - assignment role
                  - queue
                  - user
                title: Assignee Type
                type: string
              assignment_role_id:
                description: The assignment role that should receive the ask
                oneOf:
                  - x-required: true
                title: Assignment Role
                type: string
              description:
                description: A description
                title: Description
                type: string
              due_date_type:
                description: Whether there is a due date
                enum:
                  - none
                  - relative date
                  - specific date
                title: Due Date Type
                type: string
              name:
                description: The name of the task
                title: Name
                type: string
              notify_assignees:
                description: Notify assignee when the task is created
                title: Notify Assignees
                type: boolean
              priority:
                enum:
                  - high
                  - low
                  - normal
                  - urgent
                title: Priority
                type: string
              queue_id:
                description: The queue that should be assigned the ask
                oneOf:
                  - x-required: true
                title: Queue
                type: string
              relative_due_date:
                additionalProperties: false
                description: The date the task is due
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Due Date
                type: object
              specific_due_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Specific Due Date
                type: string
              type_id:
                description: The type of task
                title: Type
                type: string
              user_id:
                description: The user that should be assigned the ask
                oneOf:
                  - x-required: true
                title: User
                type: string
            required:
              - assignee_type
              - due_date_type
              - name
              - type_id
            type: object
          type: array
        type:
          description: The product type
          enum:
            - membership-add-on-products
          title: Type
          type: string
      required:
        - add_on_id
        - bulk_pricing_rules
        - bundled_products
        - business_unit_id
        - coupon_codes
        - custom_pricing_options
        - id
        - installment_plan_options
        - name
        - price
        - product_confirmation_email_options
        - purchase_limits
        - special_prices
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    AddOnType:
      additionalProperties: false
      properties:
        allowed_membership_type_ids:
          description: The ids of membership types that are allowed to receive this add on
          items:
            type: string
          minItems: 1
          title: Allowed Membership Types
          type: array
        display_order:
          description: The order to display these types in the portal
          format: float
          title: Display Order
          type: number
        id:
          description: The unique, string identifier of this add on type
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether or not this add on type is active
          title: Is Active
          type: boolean
        name:
          description: The name of the add on type
          title: Name
          type: string
        portal_description:
          description: Description of this type to be displayed in the portal
          title: Portal Description
          type: string
        restrict_membership_types:
          description: When set, only certain membership types can purchase this add on
          title: Restrict Membership Types
          type: boolean
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
      required:
        - allowed_membership_type_ids
        - id
        - name
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    Address:
      additionalProperties: false
      description: A complete address
      properties:
        city:
          description: The city of the address
          title: City
          type: string
        country:
          description: The country ISO code
          title: Country
          type: string
        country_name:
          description: The full name of hte country
          title: Country Name
          type: string
        county:
          description: The county
          title: County
          type: string
        latitude:
          format: double
          title: Latitude
          type: number
        line1:
          description: The first line of the address
          title: Line 1
          type: string
        line2:
          description: The second line of the address
          title: Line 2
          type: string
        line3:
          description: The third line of the address
          title: Line 3
          type: string
        longitude:
          format: double
          title: Longitude
          type: number
        postal_code:
          description: The zip/postal code
          title: Postal Code
          type: string
        state:
          description: The state/province of the address
          title: State
          type: string
        time_zone_id:
          title: Time Zone
          type: string
      type: object
    AppReferenceType:
      additionalProperties: false
      properties:
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        id:
          description: The unique, string identifier of this app reference type
          pattern: ^[\w:|-]+$
          title: ID
          type: string
        is_active:
          description: Whether or not this app reference type is active
          title: Is Active
          type: boolean
        name:
          description: The name of the app reference type
          title: Name
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
      required:
        - id
        - name
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    Application:
      additionalProperties: false
      properties:
        add_ons:
          items:
            additionalProperties: false
            properties:
              add_on_id:
                description: The add on
                title: Add On
                type: string
              quantity:
                description: The quantity of add on
                format: float
                minimum: 1
                title: Quantity
                type: number
            required:
              - add_on_id
            type: object
          type: array
        additional_chapter_ids:
          description: Additional chapter IDs
          items:
            type: string
          title: Additional Chapters
          type: array
        application_group_id:
          description: The associated application group
          title: Application Group
          type: string
        assigned_contacts:
          items:
            additionalProperties: false
            properties:
              add_on_ids:
                description: The add ons this individual would like
                items:
                  type: string
                title: Add Ons
                type: array
              chapter_ids:
                description: The chapters this individual would like to join
                items:
                  type: string
                title: Chapters
                type: array
              contact_id:
                oneOf:
                  - x-required: true
                title: Contact
                type: string
              new_contact_info:
                additionalProperties: false
                oneOf:
                  - x-required: true
                properties: {}
                title: New Contact Info
                type: object
              section_ids:
                description: The sections this individual would like to join
                items:
                  type: string
                title: Sections
                type: array
              type:
                enum:
                  - existing
                  - new
                title: Type
                type: string
            required:
              - type
            type: object
          type: array
        average_score:
          description: The average score for this submission in the most recent round
          format: float
          title: Average Score
          type: number
        bucket_id:
          description: The review bucket
          title: Bucket
          type: string
        chapter_id:
          description: The chapter ID
          title: Chapter
          type: string
        contact_id:
          description: The owner of this membership
          title: Contact
          type: string
        corporate_member_ids:
          description: The individuals that should receive the corporate membership
          items:
            type: string
          title: Corporate Members
          type: array
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        date:
          description: The date of the application
          format: date-time
          title: Date
          type: string
        do_not_renew:
          description: Do not attempt to automatically renew this membership
          title: Do Not Renew
          type: boolean
        do_not_show_in_directory:
          description: Whether or not this membership should be hidden from the directory
          title: Do Not Show In Directory
          type: boolean
        group_application_process_id:
          description: The associated application group application
          title: Group Application Process
          type: string
        group_order:
          description: The order of the application in the group
          format: float
          title: Group Order
          type: number
        hidden_directory_fields:
          description: The fields that should not be shown for this member in the directory
          items:
            type: string
          title: Hidden Directory Fields
          type: array
        id:
          description: The unique, string identifier of this application
          pattern: ^[\w|-]+$
          title: ID
          type: string
        included_merchandise:
          items:
            additionalProperties: false
            properties:
              modifier_options:
                items:
                  additionalProperties: false
                  properties:
                    option_id:
                      description: The modifier option ID
                      title: Option
                      type: string
                    option_name:
                      title: Option Name
                      type: string
                    value:
                      description: The value of the option
                      title: Value
                      type: string
                  required:
                    - option_id
                  type: object
                type: array
              product_id:
                description: The id of the product
                title: Product
                type: string
              product_type:
                description: The type of product
                title: Product Type
                type: string
              sku:
                description: The SKU of the product, if applicable
                title: Sku
                type: string
              variant_options:
                items:
                  additionalProperties: false
                  properties:
                    option_id:
                      description: The variant option ID
                      title: Option
                      type: string
                    option_name:
                      title: Option Name
                      type: string
                    value:
                      description: The value of the option
                      title: Value
                      type: string
                  required:
                    - option_id
                  type: object
                type: array
            required:
              - product_id
              - product_type
            type: object
          type: array
        last_review_status_change:
          description: The date that the review status was last changed
          format: date-time
          title: Last Review Status Change
          type: string
        membership_package_id:
          description: The membership package
          title: Membership Package
          type: string
        membership_type_id:
          description: The membership type
          title: Membership Type
          type: string
        name:
          description: The name on the application
          title: Name
          type: string
        notes:
          description: Notes
          title: Notes
          type: string
        order_id:
          description: The order id
          title: Order
          type: string
        order_line_item_id:
          description: The order line item id
          title: Order Line Item
          type: string
        organization_id:
          description: The organizational owner of this membership
          title: Organization
          type: string
        override_bucket_assignment:
          description: >-
            If set, the bucket is not calculated automatically, and instead
            manually assigned
          title: Override Bucket Assignment
          type: boolean
        override_join_date:
          description: Allows for applications that override join date
          title: Override Join Date
          type: string
        owner_type:
          description: The type of owner
          enum:
            - contact
            - organization
          title: Owner Type
          type: string
        pending_console_review:
          description: >-
            If true, then this record has been reviewed and now needs action by
            the staff
          title: Pending Console Review
          type: boolean
        process_id:
          description: The application process used
          title: Process
          type: string
        referral_contact_id:
          description: The individual who referred this member
          title: Referral Contact
          type: string
        renew_automatically:
          description: >-
            If set, then this membership will automatically renew with the card
            on file
          title: Renew Automatically
          type: boolean
        review_status:
          description: The review status of this application
          enum:
            - accepted
            - alternate
            - declined
            - pending review
          title: Review Status
          type: string
        reviewer_recommendation:
          description: Aggregate recommendation across all reviewers
          title: Reviewer Recommendation
          type: string
        round_id:
          description: The review round
          title: Round
          type: string
        section_ids:
          items:
            type: string
          title: Sections
          type: array
        status:
          description: The membership application status
          enum:
            - approved
            - not yet submitted
            - rejected
            - under review
          title: Status
          type: string
        status_reason_id:
          description: The reason that a membership application is in the specific status
          title: Status Reason
          type: string
        submission_space_id:
          description: The submission space to which this object belongs
          title: Submission Space
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        total_score:
          description: The total score for this submission in the most recent round
          format: float
          title: Total Score
          type: number
        type:
          enum:
            - change affiliations
            - join
            - reinstatement
            - renewal
          title: Type
          type: string
      required:
        - bucket_id
        - contact_id
        - id
        - name
        - organization_id
        - owner_type
        - process_id
        - status
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
        - type
      type: object
    ApplicationGroup:
      additionalProperties: false
      properties:
        contact_id:
          description: The contact that owns this group
          title: Contact
          type: string
        id:
          description: The unique, string identifier of this application group
          pattern: ^[\w:|-]+$
          title: ID
          type: string
        name:
          description: The name of the application group
          title: Name
          type: string
        number_of_applications:
          description: The number of applications in the group
          format: float
          title: Number Of Applications
          type: number
        order_id:
          description: The order for this group
          title: Order
          type: string
        organization_id:
          description: The organization
          title: Organization
          type: string
        owner_type:
          enum:
            - contact
            - organization
          title: Owner Type
          type: string
        process_id:
          description: The group application process associated with this group
          title: Process
          type: string
        status:
          description: The status of this group
          enum:
            - in progress
            - processed
          title: Status
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        total:
          description: Total cost for the group
          format: float
          title: Total
          type: number
      required:
        - contact_id
        - id
        - name
        - organization_id
        - owner_type
        - process_id
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    ApplicationGroupSearchParameters:
      additionalProperties: false
      properties:
        contact_id:
          items:
            type: string
          title: Contact
          type: array
        ids:
          description: IDs to search
          items:
            type: string
          title: Ids
          type: array
        name:
          title: Name
          type: string
        process_id:
          items:
            type: string
          title: Process
          type: array
      type: object
    ApplicationGroupSearchResults:
      additionalProperties: false
      properties:
        contact_id:
          description: The contact that owns this group
          title: Contact
          type: string
        id:
          description: The unique, string identifier of this application group
          pattern: ^[\w:|-]+$
          title: ID
          type: string
        name:
          description: The name of the application group
          title: Name
          type: string
        number_of_applications:
          description: The number of applications in the group
          format: float
          title: Number Of Applications
          type: number
        order_id:
          description: The order for this group
          title: Order
          type: string
        organization_id:
          description: The organization
          title: Organization
          type: string
        owner_type:
          enum:
            - contact
            - organization
          title: Owner Type
          type: string
        process_id:
          description: The group application process associated with this group
          title: Process
          type: string
        status:
          description: The status of this group
          enum:
            - in progress
            - processed
          title: Status
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        total:
          description: Total cost for the group
          format: float
          title: Total
          type: number
      required:
        - contact_id
        - id
        - name
        - organization_id
        - owner_type
        - process_id
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    ApplicationProcess:
      additionalProperties: false
      properties:
        applicable_origins:
          description: >-
            The origin types that are applicable to this process - blank for
            just principle
          items:
            type: string
          title: Applicable Origins
          type: array
        application_confirmation_email:
          additionalProperties: false
          description: The email to send when the application is received
          properties:
            bcc:
              description: Anyone that should be bcc'ed on the email
              title: Bcc
              type: string
            body:
              description: The email body
              title: Body
              type: string
            cc:
              description: Anyone that should be cc'ed on the email
              title: Cc
              type: string
            from:
              description: From email address
              title: From
              type: string
            from_name:
              description: From name
              title: From Name
              type: string
            reply_to:
              description: The reply to
              title: Reply To
              type: string
            subject:
              description: The email subject
              title: Subject
              type: string
          required:
            - body
            - subject
          title: Application Confirmation Email
          type: object
        approval_chapter_ids:
          items:
            type: string
          minItems: 1
          title: Approval Chapters
          type: array
        approval_lambda_function_id:
          title: Approval Lambda Function
          type: string
        change_options:
          additionalProperties: false
          properties:
            change_fee_id:
              description: The product to use when changing information
              title: Change Fee
              type: string
            prorate_add_on_dues:
              description: >-
                If set, if someone creates add on dues, then the system should
                prorate those dues based on the amount of time left in the
                membership
              title: Prorate Add On Dues
              type: boolean
            prorate_chapter_dues:
              description: >-
                If set, if someone adds a chapter, then the system should
                prorate those dues based on the amount of time left in the
                membership
              title: Prorate Chapter Dues
              type: boolean
            prorate_section_dues:
              description: >-
                If set, if someone adds a section, then the system should
                prorate those dues based on the amount of time left in the
                membership
              title: Prorate Section Dues
              type: boolean
          required:
            - change_fee_id
          title: Change Options
          type: object
        checkout_settings:
          additionalProperties: false
          properties:
            allow_customer_to_choose_installment_plan:
              description: If true, the customer can choose their installment plan
              title: Allow Customer To Choose Installment Plan
              type: boolean
            bank_account_id:
              description: >-
                The default bank account that the store should use to receive
                payments
              title: Bank Account
              type: string
            bill_my_organization_options:
              additionalProperties: false
              properties:
                billing_address:
                  enum:
                    - do not show
                    - optional
                    - required
                  title: Billing Address
                  type: string
                purchase_order_number:
                  enum:
                    - do not show
                    - optional
                    - required
                  title: Purchase Order Number
                  type: string
                reference_number:
                  description: 'The reference #'
                  title: Reference Number
                  type: string
              title: Bill My Organization Options
              type: object
            bill_my_parent_organization_options:
              additionalProperties: false
              properties:
                billing_address:
                  enum:
                    - do not show
                    - optional
                    - required
                  title: Billing Address
                  type: string
                purchase_order_number:
                  enum:
                    - do not show
                    - optional
                    - required
                  title: Purchase Order Number
                  type: string
                reference_number:
                  description: 'The reference #'
                  title: Reference Number
                  type: string
              title: Bill My Parent Organization Options
              type: object
            business_unit_id:
              description: The business unit of the store
              title: Business Unit
              type: string
            cancellation_fee_product_id:
              description: The ID of the product used for cancellation fees
              title: Cancellation Fee Product
              type: string
            checkout_donation_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                simple_checkout_donation_options:
                  additionalProperties: false
                  oneOf:
                    - x-required: true
                  properties:
                    allow_user_to_specify_custom_amount:
                      description: If set, the user can specify their own custom donation
                      title: Allow User To Specify Custom Amount
                      type: boolean
                    donation_ask_text:
                      description: The text shown to the user when making the donation
                      title: Donation Ask Text
                      type: string
                    donation_denominations:
                      items:
                        format: double
                        type: number
                      title: Donation Denominations
                      type: array
                    donation_information:
                      description: Additional information about the donation
                      title: Donation Information
                      type: string
                    donation_product_id:
                      description: The misc product that should be used
                      title: Donation Product
                      type: string
                    override_donation_denominations:
                      description: >-
                        If set, donation denominations are specified here and
                        the defaults are not used
                      title: Override Donation Denominations
                      type: boolean
                    suggested_donation:
                      description: A suggested donation
                      format: double
                      title: Suggested Donation
                      type: number
                  required:
                    - donation_product_id
                  title: Simple Checkout Donation Options
                  type: object
                type:
                  enum:
                    - simple
                  title: Type
                  type: string
              title: Checkout Donation Options
              type: object
            credit_card_minimum_range_end:
              description: If set, the maximum amount for which credit cards can be taken
              format: float
              title: Credit Card Minimum Range End
              type: number
            credit_card_minimum_range_start:
              description: If set, the minimum amount for which credit cards can be taken
              format: float
              title: Credit Card Minimum Range Start
              type: number
            credit_card_mode:
              description: Determines whether or not credit cards are accepted
              enum:
                - disabled
                - enabled
                - range
              title: Credit Card Mode
              type: string
            credit_card_processing_fee_mode:
              description: Determines how credit card processing fees should be handled
              enum:
                - charge
                - do not charge
                - prompt user
              title: Credit Card Processing Fee Mode
              type: string
            credit_card_processing_fee_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                fee_percentage:
                  description: 'The fee percentage to charge for credit card processing '
                  format: float
                  title: Fee Percentage
                  type: number
                maximum_fee:
                  description: >-
                    The maximum amount to charge. If the fee comes out to be
                    MORE than this, than this amount will be charged
                  format: float
                  title: Maximum Fee
                  type: number
                minimum_fee:
                  description: >-
                    The minimum amount to charge. If the fee comes out to be
                    less than this, than this amount will be charged
                  format: float
                  title: Minimum Fee
                  type: number
                product_id:
                  description: The misc product to use for the credit card processing
                  title: Product
                  type: string
                prompt_sub_text:
                  description: >-
                    Additional text that is shown to the user when asking if
                    they want to pay for credit card processing fees. If not set
                    a default will be used
                  title: Prompt Sub Text
                  type: string
                prompt_text:
                  description: >-
                    The checkbox text to show the user when asking if they want
                    to pay for credit card processing fees. If not set a default
                    will be used
                  title: Prompt Text
                  type: string
              required:
                - fee_percentage
                - product_id
              title: Credit Card Processing Fee Options
              type: object
            custom_order_preprocessing_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                lambda_function_id:
                  description: The custom lambda function to use
                  title: Lambda Function
                  type: string
              required:
                - lambda_function_id
              title: Custom Order Preprocessing Options
              type: object
            custom_order_pricing_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                lambda_function_id:
                  description: The custom lambda function to use
                  title: Lambda Function
                  type: string
              required:
                - lambda_function_id
              title: Custom Order Pricing Options
              type: object
            disable_electronic_payment_vaulting:
              description: >-
                If set, in the portal people are not allowed to save credit
                cards
              title: Disable Electronic Payment Vaulting
              type: boolean
            enable_bill_my_organization:
              description: If set, the user has the option to bill their organization
              title: Enable Bill My Organization
              type: boolean
            enable_bill_my_parent_organization:
              description: >-
                If set, the user has the option to bill their organization's
                parent organization
              title: Enable Bill My Parent Organization
              type: boolean
            enable_custom_order_preprocessing:
              description: >-
                If set, the order engine will call out to a custom lambda
                function to process/change the order immediately after bundle
                expansion
              title: Enable Custom Order Preprocessing
              type: boolean
            enable_custom_order_pricing:
              description: >-
                If set, the order engine will call out to a custom lambda
                function to review the order immediately after pricing
                calculation
              title: Enable Custom Order Pricing
              type: boolean
            enable_donations_at_checkout:
              description: >-
                If selected, users will be prompted to make a donation upon
                checking out
              title: Enable Donations At Checkout
              type: boolean
            enable_electronic_checks:
              description: If set, electronic checks are allowed
              title: Enable Electronic Checks
              type: boolean
            enable_pay_later:
              description: >-
                If set, pay later is enabled on this checkout regardless of
                product settings... if not, the product settings are observed
              title: Enable Pay Later
              type: boolean
            enable_payroll_deduction:
              description: If set, payroll deduction is allowed
              title: Enable Payroll Deduction
              type: boolean
            enable_split_payments:
              description: If set, users are allowed to split payments
              title: Enable Split Payments
              type: boolean
            installment_plan_options:
              items:
                additionalProperties: false
                properties:
                  additional_cost:
                    description: The additional cost of the installment plan
                    format: double
                    title: Additional Cost
                    type: number
                  installment_plan_id:
                    description: The installment plan that this product supports
                    title: Installment Plan
                    type: string
                  is_default:
                    description: Whether this is the default installment plan option
                    title: Is Default
                    type: boolean
                required:
                  - installment_plan_id
                type: object
              minItems: 1
              oneOf:
                - x-required: true
              type: array
            invoice_payment_terms_id:
              description: The payment terms for invoices; if left blank, default is used
              title: Invoice Payment Terms
              type: string
            invoice_template_id:
              description: The template to use for invoices created during this process
              title: Invoice Template
              type: string
            merchant_account_id:
              description: >-
                The merchant account that the store should use to receive
                payments
              title: Merchant Account
              type: string
            pay_later_options:
              additionalProperties: false
              properties:
                billing_address:
                  enum:
                    - do not show
                    - optional
                    - required
                  title: Billing Address
                  type: string
                purchase_order_number:
                  enum:
                    - do not show
                    - optional
                    - required
                  title: Purchase Order Number
                  type: string
                reference_number:
                  description: 'The reference #'
                  title: Reference Number
                  type: string
              title: Pay Later Options
              type: object
            restocking_fee_product_id:
              description: The ID of the product used for restocking fees
              title: Restocking Fee Product
              type: string
            special_instructions:
              description: Instructions shown to the user
              title: Special Instructions
              type: string
            use_pro_forma_invoices:
              description: Whether to use pro forma invoices when user elects to pay later
              title: Use Pro Forma Invoices
              type: boolean
          required:
            - bank_account_id
            - business_unit_id
            - merchant_account_id
          title: Checkout Settings
          type: object
        contact_form_options:
          additionalProperties: false
          properties:
            contact_form_id:
              description: >-
                The default contact form to present to the user to verify the
                contact info before proceeding
              pattern: ^rolodex-contacts__.*
              title: Contact Form
              type: string
            html:
              description: Text to show on the top of the form
              title: Html
              type: string
          required:
            - contact_form_id
          title: Contact Form Options
          type: object
        custom_application_generation_logic_options:
          additionalProperties: false
          properties:
            lambda_function_id:
              description: The custom lambda function to use
              title: Lambda Function
              type: string
          required:
            - lambda_function_id
          title: Custom Application Generation Logic Options
          type: object
        custom_application_pre_processing_lambda_function_id:
          title: Custom Application Pre Processing Lambda Function
          type: string
        customer_type:
          enum:
            - contact
            - organization
          title: Customer Type
          type: string
        description:
          description: >-
            A description of the process to help the user understand whether to
            choose
          title: Description
          type: string
        display_in_portal:
          description: Whether or not to hide in the portal
          title: Display In Portal
          type: boolean
        display_in_portal_as:
          description: How to display this process in the portal
          title: Display In Portal As
          type: string
        display_order:
          description: The display order
          format: float
          title: Display Order
          type: number
        do_not_send_activation_email_until_membership_is_paid:
          description: >-
            If true, the confirmation email is sent out when a user completes
            but does not pay, and an activation email goes out upon payment
          title: Do Not Send Activation Email Until Membership Is Paid
          type: boolean
        do_not_set_default_renewal_package:
          description: >-
            If true, do NOT set the default package for renewals, instead
            forcing them to choose one
          title: Do Not Set Default Renewal Package
          type: boolean
        eligibility_criteria:
          additionalProperties: false
          description: The criteria for eligibility
          properties: {}
          title: Eligibility Criteria
          type: object
        enable_application_confirmation_email:
          description: >-
            Whether or not an email should be sent when the application is
            received
          title: Enable Application Confirmation Email
          type: boolean
        enable_custom_application_generation_logic:
          description: >-
            If set, the application generation logic will call a custom lambda
            function
          title: Enable Custom Application Generation Logic
          type: boolean
        enable_custom_application_pre_processing:
          description: If set, custom order generation logic is run
          title: Enable Custom Application Pre Processing
          type: boolean
        enable_eligibility_criteria:
          description: Should allow eligibility criteria
          title: Enable Eligibility Criteria
          type: boolean
        enable_membership_activation_email:
          description: >-
            Whether or not to send an email when the membership is actually
            activated
          title: Enable Membership Activation Email
          type: boolean
        enable_order_generation_rules:
          description: Whether order generation rules apply
          title: Enable Order Generation Rules
          type: boolean
        enable_section_restrictions:
          description: Whether section requirements are enabled for this membership type
          title: Enable Section Restrictions
          type: boolean
        form_id:
          description: The default application form for this process membership
          pattern: ^membership-applications__.*
          title: Form
          type: string
        id:
          description: The unique, string identifier of this application process
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether or not this process is active
          title: Is Active
          type: boolean
        membership_activation_email:
          additionalProperties: false
          description: Email to send once the membership is activated
          properties:
            bcc:
              description: Anyone that should be bcc'ed on the email
              title: Bcc
              type: string
            body:
              description: The email body
              title: Body
              type: string
            cc:
              description: Anyone that should be cc'ed on the email
              title: Cc
              type: string
            from:
              description: From email address
              title: From
              type: string
            from_name:
              description: From name
              title: From Name
              type: string
            reply_to:
              description: The reply to
              title: Reply To
              type: string
            subject:
              description: The email subject
              title: Subject
              type: string
          required:
            - body
            - subject
          title: Membership Activation Email
          type: object
        membership_package_ids:
          items:
            type: string
          minItems: 1
          title: Membership Packages
          type: array
        membership_type_ids:
          items:
            type: string
          minItems: 1
          title: Membership Types
          type: array
        memberships_require_approval:
          description: Whether or not memberships require approval
          enum:
            - always
            - based on chapter
            - custom
            - never
          title: Memberships Require Approval
          type: string
        name:
          description: The name of the application process
          title: Name
          type: string
        order_generation_rules:
          items:
            additionalProperties: false
            properties:
              add_on_options:
                additionalProperties: false
                oneOf:
                  - x-required: true
                properties:
                  add_ons:
                    items:
                      additionalProperties: false
                      properties:
                        add_on_id:
                          description: The add on id to add
                          title: Add On
                          type: string
                        quantity:
                          description: The add on amount
                          format: float
                          minimum: 1
                          oneOf:
                            - x-required: true
                          title: Quantity
                          type: number
                        quantity_calculation_strategy:
                          enum:
                            - static value
                          title: Quantity Calculation Strategy
                          type: string
                      required:
                        - add_on_id
                        - quantity_calculation_strategy
                      type: object
                    minItems: 1
                    type: array
                required:
                  - add_ons
                title: Add On Options
                type: object
              assign_add_ons:
                title: Assign Add Ons
                type: boolean
              assign_package:
                title: Assign Package
                type: boolean
              matching_conditions:
                additionalProperties: false
                description: >-
                  The conditions upon which this expiration rule applies. If not
                  set, then this expiration rule always applies
                properties:
                  all:
                    items:
                      additionalProperties: false
                      properties:
                        all:
                          title: All
                          type: object
                        any:
                          title: Any
                          type: object
                        fact:
                          description: The piece of data being examined
                          title: Fact
                          type: string
                        operator:
                          description: The operator
                          enum:
                            - contains
                            - containsString
                            - doesNotContain
                            - equal
                            - greaterThan
                            - greaterThanInclusive
                            - in
                            - isBlank
                            - isNotBlank
                            - lessThan
                            - lessThanInclusive
                            - matchesPatter
                            - notContainsString
                            - notEqual
                            - notIn
                            - regex
                          title: Operator
                          type: string
                        path:
                          description: The path of the value being tested
                          title: Path
                          type: string
                        value:
                          title: Value
                          type: string
                      type: object
                    type: array
                  any:
                    items:
                      additionalProperties: false
                      properties:
                        all:
                          title: All
                          type: object
                        any:
                          title: Any
                          type: object
                        fact:
                          description: The piece of data being examined
                          title: Fact
                          type: string
                        operator:
                          description: The operator
                          enum:
                            - contains
                            - containsString
                            - doesNotContain
                            - equal
                            - greaterThan
                            - greaterThanInclusive
                            - in
                            - isBlank
                            - isNotBlank
                            - lessThan
                            - lessThanInclusive
                            - matchesPatter
                            - notContainsString
                            - notEqual
                            - notIn
                            - regex
                          title: Operator
                          type: string
                        path:
                          description: The path of the value being tested
                          title: Path
                          type: string
                        value:
                          title: Value
                          type: string
                      type: object
                    type: array
                title: Matching Conditions
                type: object
              name:
                description: A description of the rule
                title: Name
                type: string
              package_options:
                additionalProperties: false
                oneOf:
                  - x-required: true
                properties:
                  package_id:
                    description: The package id to add
                    title: Package
                    type: string
                required:
                  - package_id
                title: Package Options
                type: object
            required:
              - matching_conditions
              - name
            type: object
          minItems: 1
          type: array
        organization_form_options:
          additionalProperties: false
          properties:
            html:
              description: Text to show on the top of the form
              title: Html
              type: string
            organization_form_id:
              description: >-
                The default organization form to present to the user to verify
                the organization info before proceeding
              pattern: ^rolodex-organizations__.*
              title: Organization Form
              type: string
          required:
            - organization_form_id
          title: Organization Form Options
          type: object
        organization_type_ids:
          items:
            type: string
          minItems: 1
          title: Organization Types
          type: array
        organizational_membership_options:
          additionalProperties: false
          properties:
            allow_admin_to_modify_add_ons:
              description: If set, membership group admins can add/change add ons
              title: Allow Admin To Modify Add Ons
              type: boolean
            allow_admin_to_modify_chapters:
              description: If set, membership group admins can add/change chapters
              title: Allow Admin To Modify Chapters
              type: boolean
            allow_admin_to_modify_sections:
              description: If set, membership group admins can add/change sections
              title: Allow Admin To Modify Sections
              type: boolean
            quick_add_contact_options:
              additionalProperties: false
              description: UI options for how the add org contacts should function
              properties: {}
              title: Quick Add Contact Options
              type: object
          required:
            - quick_add_contact_options
          title: Organizational Membership Options
          type: object
        override_checkout_settings:
          description: Whether or not to override POC settings
          title: Override Checkout Settings
          type: boolean
        reinstatement_options:
          additionalProperties: false
          properties:
            calculate_reinstatement_period_using:
              description: The mechanism to use to calculate the reinstatement period
              enum:
                - default
                - expiration date
                - termination date
              title: Calculate Reinstatement Period Using
              type: string
            reinstatement_period:
              description: >-
                Number of days after termination after which a person can be
                reinstated - leave blank for an indefinite time period
              format: float
              title: Reinstatement Period
              type: number
          title: Reinstatement Options
          type: object
        renewal_options:
          additionalProperties: false
          properties:
            renewal_window:
              description: >-
                The number of days prior to expiration this person is allowed to
                renew
              format: float
              title: Renewal Window
              type: number
          required:
            - renewal_window
          title: Renewal Options
          type: object
        restrict_membership_packages:
          description: The packages  in this path are restricted
          title: Restrict Membership Packages
          type: boolean
        restrict_membership_types:
          description: The membership types in this path are restricted
          title: Restrict Membership Types
          type: boolean
        restrict_organization_types:
          description: Restrict to certain types of organizations
          title: Restrict Organization Types
          type: boolean
        section_restrictions:
          additionalProperties: false
          properties:
            maximum_number_of_sections:
              description: The maximum number of overall sections
              format: float
              title: Maximum Number Of Sections
              type: number
            minimum_number_of_sections:
              description: The minimum number of overall sections
              format: float
              title: Minimum Number Of Sections
              type: number
            section_type_restrictions:
              items:
                additionalProperties: false
                properties:
                  maximum:
                    description: 'The max # of sections'
                    format: float
                    title: Maximum
                    type: number
                  minimum:
                    description: The minimum number of sections
                    format: float
                    title: Minimum
                    type: number
                  section_type_id:
                    description: The required section type
                    title: Section Type
                    type: string
                type: object
              type: array
          title: Section Restrictions
          type: object
        show_contact_form:
          description: Whether or not to show a contact form
          title: Show Contact Form
          type: boolean
        show_organization_form:
          description: Whether or not to show an organization form
          title: Show Organization Form
          type: boolean
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        type:
          enum:
            - change affiliations
            - join
            - reinstatement
            - renewal
          title: Type
          type: string
      required:
        - application_confirmation_email
        - approval_chapter_ids
        - approval_lambda_function_id
        - change_options
        - checkout_settings
        - contact_form_options
        - custom_application_generation_logic_options
        - custom_application_pre_processing_lambda_function_id
        - customer_type
        - eligibility_criteria
        - id
        - membership_activation_email
        - membership_package_ids
        - membership_type_ids
        - name
        - order_generation_rules
        - organization_form_options
        - organization_type_ids
        - organizational_membership_options
        - reinstatement_options
        - renewal_options
        - section_restrictions
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
        - type
      type: object
    ApplicationSearchParameters:
      additionalProperties: false
      properties:
        date:
          items:
            format: date-time
            type: string
          maxItems: 2
          minItems: 2
          title: Date
          type: array
        id:
          description: IDs to search
          items:
            type: string
          title: ID
          type: array
        membership_package_id:
          items:
            type: string
          title: Membership Package
          type: array
        membership_type_id:
          items:
            type: string
          title: Membership Type
          type: array
        name:
          title: Name
          type: string
        owner_type:
          title: Owner Type
          type: string
        status:
          items:
            type: string
          title: Status
          type: array
        status_reason_id:
          items:
            type: string
          title: Status Reason
          type: array
        type:
          items:
            type: string
          title: Type
          type: array
      type: object
    ApplicationSearchResults:
      additionalProperties: false
      properties:
        date:
          title: Date
          type: string
        id:
          title: ID
          type: string
        membership_package_id:
          title: Membership Package
          type: string
        membership_type_id:
          title: Membership Type
          type: string
        name:
          title: Name
          type: string
        owner_type:
          title: Owner Type
          type: string
        status:
          title: Status
          type: string
        status_reason_id:
          title: Status Reason
          type: string
        type:
          title: Type
          type: string
      type: object
    ApplicationStatusReason:
      additionalProperties: false
      properties:
        applies_to:
          description: What status this reason is applicable to
          enum:
            - approved
            - not yet submitted
            - rejected
            - under review
          title: Applies To
          type: string
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        id:
          description: The unique, string identifier of this application status reason
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether or not this reason is active
          title: Is Active
          type: boolean
        name:
          description: The name of the application status reason
          title: Name
          type: string
        priority:
          description: >-
            The priority order, which is how these reasons will be displayed. If
            the status changes, the first applicable reason based on priority
            will be set. 
          format: float
          title: Priority
          type: number
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
      required:
        - applies_to
        - id
        - name
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    Ballot:
      additionalProperties: false
      properties:
        candidates:
          items:
            additionalProperties: false
            properties:
              candidate_id:
                description: The candidate being voted for
                title: Candidate
                type: string
              position_id:
                description: The position being voted for
                title: Position
                type: string
            required:
              - candidate_id
              - position_id
            type: object
          type: array
        election_id:
          description: The election being voted on
          title: Election
          type: string
        id:
          description: The unique, string identifier of this ballot
          pattern: ^[\w:|-]+$
          title: ID
          type: string
        measures:
          items:
            additionalProperties: false
            properties:
              measure_id:
                description: The position being voted for
                title: Measure
                type: string
              response:
                description: The response - for now, yes/no, but potentially expandable
                enum:
                  - 'no'
                  - 'yes'
                title: Response
                type: string
            required:
              - measure_id
              - response
            type: object
          type: array
        notes:
          description: Notes
          title: Notes
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        voter_id:
          description: The contact voting
          title: Voter
          type: string
      required:
        - election_id
        - id
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
        - voter_id
      type: object
    BatchOperationRequest:
      additionalProperties: false
      properties:
        operations:
          items:
            additionalProperties: false
            properties:
              id:
                description: The ID of the record
                oneOf:
                  - x-required: true
                title: ID
                type: string
              object:
                title: Object
                type: object
              operation:
                enum:
                  - create
                  - delete
                  - patch
                  - read
                  - update
                title: Operation
                type: string
              patch_directives:
                items:
                  additionalProperties: false
                  properties:
                    op:
                      description: The operation
                      enum:
                        - add
                        - copy
                        - move
                        - remove
                        - replace
                        - test
                      title: Op
                      type: string
                    path:
                      description: The JSON path
                      title: Path
                      type: string
                    value:
                      title: Value
                      type: string
                  required:
                    - op
                    - path
                  type: object
                maxItems: 100
                minItems: 1
                oneOf:
                  - x-required: true
                type: array
            required:
              - operation
            type: object
          type: array
      type: object
    BatchOperationResponse:
      additionalProperties: false
      properties:
        error_count:
          description: Number of error results
          format: float
          title: Error Count
          type: number
        results:
          items:
            additionalProperties: false
            properties:
              error_message:
                title: Error Message
                type: string
              id:
                description: The ID of the record
                title: ID
                type: string
              object:
                title: Object
                type: object
              operation:
                enum:
                  - create
                  - delete
                  - patch
                  - read
                  - update
                title: Operation
                type: string
              outcome:
                enum:
                  - error
                  - no change
                  - success
                title: Outcome
                type: string
            required:
              - id
              - operation
            type: object
          type: array
        success_count:
          description: Number of successful results
          format: float
          title: Success Count
          type: number
      type: object
    BillingNotice:
      additionalProperties: false
      properties:
        contact_role_ids:
          description: >-
            The contact roles that should receive this notice (organization
            memberships only)
          items:
            type: string
          title: Contact Roles
          type: array
        email:
          additionalProperties: false
          description: The email for the notice
          properties:
            bcc:
              description: Anyone that should be bcc'ed on the email
              title: Bcc
              type: string
            body:
              description: The email body
              title: Body
              type: string
            cc:
              description: Anyone that should be cc'ed on the email
              title: Cc
              type: string
            from:
              description: From email address
              title: From
              type: string
            from_name:
              description: From name
              title: From Name
              type: string
            reply_to:
              description: The reply to
              title: Reply To
              type: string
            subject:
              description: The email subject
              title: Subject
              type: string
          required:
            - body
            - subject
          title: Email
          type: object
        id:
          description: The unique, string identifier of this billing notice
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether or not this billing notice is active
          title: Is Active
          type: boolean
        name:
          description: The name of the billing notice
          title: Name
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
      required:
        - id
        - name
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    BillingRun:
      additionalProperties: false
      properties:
        auto_renewal_options:
          additionalProperties: false
          properties:
            auto_renewal_failure_notice_id:
              description: The notice to send when a membership is NOT successfully renewed
              title: Auto Renewal Failure Notice
              type: string
            auto_renewal_success_notice_id:
              description: The notice to send when a membership is successfully renewed
              title: Auto Renewal Success Notice
              type: string
            expiration_date_range_end:
              description: The date to use to filter out which memberships are candidate
              format: date
              title: Expiration Date Range End
              type: string
            expiration_date_range_start:
              description: The date to use to filter out which memberships are candidate
              format: date
              title: Expiration Date Range Start
              type: string
            include_only_certain_membership_packages:
              description: Whether the process should apply only to certain member packages
              title: Include Only Certain Membership Packages
              type: boolean
            include_only_certain_membership_types:
              description: Whether the process should apply only to certain member types
              title: Include Only Certain Membership Types
              type: boolean
            include_only_certain_status_reasons:
              description: >-
                Whether the process should apply only to certain member status
                reasons
              title: Include Only Certain Status Reasons
              type: boolean
            membership_package_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Packages
              type: array
            membership_type_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Types
              type: array
            new_status_reason_id:
              description: Change the status reason
              title: New Status Reason
              type: string
            status_reason_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Reasons
              type: array
          required:
            - expiration_date_range_end
            - expiration_date_range_start
          title: Auto Renewal Options
          type: object
        auto_renewal_reminder_options:
          additionalProperties: false
          properties:
            include_only_certain_membership_packages:
              description: Whether the process should apply only to certain member packages
              title: Include Only Certain Membership Packages
              type: boolean
            include_only_certain_membership_types:
              description: Whether the process should apply only to certain member types
              title: Include Only Certain Membership Types
              type: boolean
            include_only_certain_status_reasons:
              description: >-
                Whether the process should apply only to certain member status
                reasons
              title: Include Only Certain Status Reasons
              type: boolean
            membership_package_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Packages
              type: array
            membership_type_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Types
              type: array
            new_status_reason_id:
              description: Change the status reason
              title: New Status Reason
              type: string
            reminders:
              items:
                additionalProperties: false
                properties:
                  expiration_date_range_end:
                    description: >-
                      The date to use to filter out which memberships are
                      candidate
                    format: date
                    title: Expiration Date Range End
                    type: string
                  expiration_date_range_start:
                    description: >-
                      The date to use to filter out which memberships are
                      candidate
                    format: date
                    title: Expiration Date Range Start
                    type: string
                  id:
                    description: A unique, unchangeable reminder id
                    format: float
                    title: ID
                    type: number
                  name:
                    description: Optional name
                    title: Name
                    type: string
                  reminder_notice_id:
                    description: The reminder notice
                    title: Reminder Notice
                    type: string
                required:
                  - expiration_date_range_end
                  - expiration_date_range_start
                  - reminder_notice_id
                type: object
              minItems: 1
              type: array
            status_reason_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Reasons
              type: array
          required:
            - reminders
          title: Auto Renewal Reminder Options
          type: object
        batch_id:
          description: The batch to use
          title: Batch
          type: string
        drop_options:
          additionalProperties: false
          properties:
            deactivate_certifications:
              description: >-
                If true, any active certifications held by this member are
                rendered inactive
              title: Deactivate Certifications
              type: boolean
            drop_notice_id:
              description: The notice to send when the drop occurs
              title: Drop Notice
              type: string
            expiration_date_range_end:
              description: The date to use to filter out which memberships are candidate
              format: date
              title: Expiration Date Range End
              type: string
            expiration_date_range_start:
              description: The date to use to filter out which memberships are candidate
              format: date
              title: Expiration Date Range Start
              type: string
            expire_committee_memberships:
              description: >-
                If true, dropped members are renewed from any committees,
                including any inherited memberships
              title: Expire Committee Memberships
              type: boolean
            include_only_certain_membership_packages:
              description: Whether the process should apply only to certain member packages
              title: Include Only Certain Membership Packages
              type: boolean
            include_only_certain_membership_types:
              description: Whether the process should apply only to certain member types
              title: Include Only Certain Membership Types
              type: boolean
            include_only_certain_status_reasons:
              description: >-
                Whether the process should apply only to certain member status
                reasons
              title: Include Only Certain Status Reasons
              type: boolean
            membership_package_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Packages
              type: array
            membership_type_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Types
              type: array
            new_status_reason_id:
              description: Change the status reason
              title: New Status Reason
              type: string
            status_reason_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Reasons
              type: array
          required:
            - expiration_date_range_end
            - expiration_date_range_start
          title: Drop Options
          type: object
        error:
          description: The error message
          title: Error
          type: string
        error_stack:
          description: The error stack
          title: Error Stack
          type: string
        expiring_credit_card_reminders_options:
          additionalProperties: false
          properties:
            include_only_certain_membership_packages:
              description: Whether the process should apply only to certain member packages
              title: Include Only Certain Membership Packages
              type: boolean
            include_only_certain_membership_types:
              description: Whether the process should apply only to certain member types
              title: Include Only Certain Membership Types
              type: boolean
            include_only_certain_status_reasons:
              description: >-
                Whether the process should apply only to certain member status
                reasons
              title: Include Only Certain Status Reasons
              type: boolean
            membership_package_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Packages
              type: array
            membership_type_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Types
              type: array
            new_status_reason_id:
              description: Change the status reason
              title: New Status Reason
              type: string
            reminders:
              items:
                additionalProperties: false
                properties:
                  expiration_date_range_end:
                    description: >-
                      The date to use to filter out which memberships are
                      candidate
                    format: date
                    title: Expiration Date Range End
                    type: string
                  expiration_date_range_start:
                    description: >-
                      The date to use to filter out which memberships are
                      candidate
                    format: date
                    title: Expiration Date Range Start
                    type: string
                  id:
                    description: A unique, unchangeable reminder id
                    format: float
                    title: ID
                    type: number
                  name:
                    description: Optional name
                    title: Name
                    type: string
                  reminder_notice_id:
                    description: The reminder notice
                    title: Reminder Notice
                    type: string
                required:
                  - expiration_date_range_end
                  - expiration_date_range_start
                  - reminder_notice_id
                type: object
              minItems: 1
              type: array
            status_reason_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Reasons
              type: array
          required:
            - reminders
          title: Expiring Credit Card Reminders Options
          type: object
        generate_renewal_notices:
          description: Whether this template should be generating renewal notices
          title: Generate Renewal Notices
          type: boolean
        generate_renewal_orders:
          description: Whether this template should be generating renewal orders
          title: Generate Renewal Orders
          type: boolean
        id:
          description: The unique, string identifier of this billing run
          pattern: ^[\w|-]+$
          title: ID
          type: string
        last_refresh_date:
          description: The last time the billing run was refreshed
          format: date-time
          title: Last Refresh Date
          type: string
        name:
          description: The name of the billing run
          title: Name
          type: string
        notification_email:
          description: Te address to send notifications
          title: Notification Email
          type: string
        perform_auto_renewals:
          description: Whether this template should be performing auto renewals
          title: Perform Auto Renewals
          type: boolean
        perform_drops:
          description: Whether this template should be dropping expired members
          title: Perform Drops
          type: boolean
        preprocessing_date:
          description: The date this billing run was actually processed
          format: date-time
          title: Preprocessing Date
          type: string
        recurring_billing_run_id:
          description: If this was part of a recurring billing run, the ID
          title: Recurring Billing Run
          type: string
        renewal_notice_options:
          additionalProperties: false
          properties:
            expiration_date_range_end:
              description: The date to use to filter out which memberships are candidate
              format: date
              title: Expiration Date Range End
              type: string
            expiration_date_range_start:
              description: The date to use to filter out which memberships are candidate
              format: date
              title: Expiration Date Range Start
              type: string
            include_only_certain_membership_packages:
              description: Whether the process should apply only to certain member packages
              title: Include Only Certain Membership Packages
              type: boolean
            include_only_certain_membership_types:
              description: Whether the process should apply only to certain member types
              title: Include Only Certain Membership Types
              type: boolean
            include_only_certain_status_reasons:
              description: >-
                Whether the process should apply only to certain member status
                reasons
              title: Include Only Certain Status Reasons
              type: boolean
            membership_package_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Packages
              type: array
            membership_type_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Types
              type: array
            new_status_reason_id:
              description: Change the status reason
              title: New Status Reason
              type: string
            renewal_notice_id:
              description: The notice to send when a renewal order is created
              title: Renewal Notice
              type: string
            status_reason_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Reasons
              type: array
          required:
            - expiration_date_range_end
            - expiration_date_range_start
          title: Renewal Notice Options
          type: object
        renewal_order_options:
          additionalProperties: false
          properties:
            expiration_date_range_end:
              description: The date to use to filter out which memberships are candidate
              format: date
              title: Expiration Date Range End
              type: string
            expiration_date_range_start:
              description: The date to use to filter out which memberships are candidate
              format: date
              title: Expiration Date Range Start
              type: string
            include_only_certain_membership_packages:
              description: Whether the process should apply only to certain member packages
              title: Include Only Certain Membership Packages
              type: boolean
            include_only_certain_membership_types:
              description: Whether the process should apply only to certain member types
              title: Include Only Certain Membership Types
              type: boolean
            include_only_certain_status_reasons:
              description: >-
                Whether the process should apply only to certain member status
                reasons
              title: Include Only Certain Status Reasons
              type: boolean
            membership_package_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Packages
              type: array
            membership_type_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Types
              type: array
            new_status_reason_id:
              description: Change the status reason
              title: New Status Reason
              type: string
            pro_forma:
              description: Whether or not this should generate pro forma orders/invoices
              title: Pro Forma
              type: boolean
            renewal_order_notice_id:
              description: The notice to send when a renewal order is created
              title: Renewal Order Notice
              type: string
            status_reason_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Reasons
              type: array
          required:
            - expiration_date_range_end
            - expiration_date_range_start
          title: Renewal Order Options
          type: object
        renewal_reminder_options:
          additionalProperties: false
          properties:
            include_only_certain_membership_packages:
              description: Whether the process should apply only to certain member packages
              title: Include Only Certain Membership Packages
              type: boolean
            include_only_certain_membership_types:
              description: Whether the process should apply only to certain member types
              title: Include Only Certain Membership Types
              type: boolean
            include_only_certain_status_reasons:
              description: >-
                Whether the process should apply only to certain member status
                reasons
              title: Include Only Certain Status Reasons
              type: boolean
            membership_package_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Packages
              type: array
            membership_type_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Types
              type: array
            new_status_reason_id:
              description: Change the status reason
              title: New Status Reason
              type: string
            reminders:
              items:
                additionalProperties: false
                properties:
                  expiration_date_range_end:
                    description: >-
                      The date to use to filter out which memberships are
                      candidate
                    format: date
                    title: Expiration Date Range End
                    type: string
                  expiration_date_range_start:
                    description: >-
                      The date to use to filter out which memberships are
                      candidate
                    format: date
                    title: Expiration Date Range Start
                    type: string
                  id:
                    description: A unique, unchangeable reminder id
                    format: float
                    title: ID
                    type: number
                  name:
                    description: Optional name
                    title: Name
                    type: string
                  reminder_notice_id:
                    description: The reminder notice
                    title: Reminder Notice
                    type: string
                required:
                  - expiration_date_range_end
                  - expiration_date_range_start
                  - reminder_notice_id
                type: object
              minItems: 1
              type: array
            status_reason_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Reasons
              type: array
          required:
            - reminders
          title: Renewal Reminder Options
          type: object
        run_date:
          description: The date of the billing run
          format: date-time
          title: Run Date
          type: string
        scheduled_preprocessing_date:
          description: The date which this billing run should be preprocessed
          format: date-time
          title: Scheduled Preprocessing Date
          type: string
        scheduled_run_date:
          description: The date the billing run is scheduled for execution
          format: date-time
          title: Scheduled Run Date
          type: string
        send_auto_renewal_reminders:
          description: Whether this template should be generating reminders
          title: Send Auto Renewal Reminders
          type: boolean
        send_expiring_credit_card_reminders:
          description: Whether to warn  that someone's card is going to expire
          title: Send Expiring Credit Card Reminders
          type: boolean
        send_renewal_reminders:
          description: Whether this template should be generating reminders
          title: Send Renewal Reminders
          type: boolean
        statistics:
          additionalProperties: false
          properties:
            all_actions:
              additionalProperties: false
              properties:
                error:
                  format: float
                  title: Error
                  type: number
                excluded:
                  format: float
                  title: Excluded
                  type: number
                pending:
                  format: float
                  title: Pending
                  type: number
                processing:
                  format: float
                  title: Processing
                  type: number
                successful:
                  format: float
                  title: Successful
                  type: number
                total:
                  format: float
                  title: Total
                  type: number
              title: All Actions
              type: object
            auto_renewal_reminders:
              additionalProperties: false
              properties:
                error:
                  format: float
                  title: Error
                  type: number
                excluded:
                  format: float
                  title: Excluded
                  type: number
                pending:
                  format: float
                  title: Pending
                  type: number
                processing:
                  format: float
                  title: Processing
                  type: number
                successful:
                  format: float
                  title: Successful
                  type: number
                total:
                  format: float
                  title: Total
                  type: number
              title: Auto Renewal Reminders
              type: object
            auto_renewals:
              additionalProperties: false
              properties:
                error:
                  format: float
                  title: Error
                  type: number
                excluded:
                  format: float
                  title: Excluded
                  type: number
                pending:
                  format: float
                  title: Pending
                  type: number
                processing:
                  format: float
                  title: Processing
                  type: number
                successful:
                  format: float
                  title: Successful
                  type: number
                total:
                  format: float
                  title: Total
                  type: number
              title: Auto Renewals
              type: object
            drops:
              additionalProperties: false
              properties:
                error:
                  format: float
                  title: Error
                  type: number
                excluded:
                  format: float
                  title: Excluded
                  type: number
                pending:
                  format: float
                  title: Pending
                  type: number
                processing:
                  format: float
                  title: Processing
                  type: number
                successful:
                  format: float
                  title: Successful
                  type: number
                total:
                  format: float
                  title: Total
                  type: number
              title: Drops
              type: object
            expiring_credit_card_reminders:
              additionalProperties: false
              properties:
                error:
                  format: float
                  title: Error
                  type: number
                excluded:
                  format: float
                  title: Excluded
                  type: number
                pending:
                  format: float
                  title: Pending
                  type: number
                processing:
                  format: float
                  title: Processing
                  type: number
                successful:
                  format: float
                  title: Successful
                  type: number
                total:
                  format: float
                  title: Total
                  type: number
              title: Expiring Credit Card Reminders
              type: object
            renewal_notices:
              additionalProperties: false
              properties:
                error:
                  format: float
                  title: Error
                  type: number
                excluded:
                  format: float
                  title: Excluded
                  type: number
                pending:
                  format: float
                  title: Pending
                  type: number
                processing:
                  format: float
                  title: Processing
                  type: number
                successful:
                  format: float
                  title: Successful
                  type: number
                total:
                  format: float
                  title: Total
                  type: number
              title: Renewal Notices
              type: object
            renewal_orders:
              additionalProperties: false
              properties:
                error:
                  format: float
                  title: Error
                  type: number
                excluded:
                  format: float
                  title: Excluded
                  type: number
                pending:
                  format: float
                  title: Pending
                  type: number
                processing:
                  format: float
                  title: Processing
                  type: number
                successful:
                  format: float
                  title: Successful
                  type: number
                total:
                  format: float
                  title: Total
                  type: number
              title: Renewal Orders
              type: object
            renewal_reminders:
              additionalProperties: false
              properties:
                error:
                  format: float
                  title: Error
                  type: number
                excluded:
                  format: float
                  title: Excluded
                  type: number
                pending:
                  format: float
                  title: Pending
                  type: number
                processing:
                  format: float
                  title: Processing
                  type: number
                successful:
                  format: float
                  title: Successful
                  type: number
                total:
                  format: float
                  title: Total
                  type: number
              title: Renewal Reminders
              type: object
          title: Statistics
          type: object
        status:
          enum:
            - cancelled
            - completed
            - draft
            - error
            - preprocessing
            - ready for execution
            - running
            - scheduled
            - scheduled for execution
            - timed out
          title: Status
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        template_id:
          description: The id of the template that generated this billing run
          title: Template
          type: string
      required:
        - auto_renewal_options
        - auto_renewal_reminder_options
        - drop_options
        - expiring_credit_card_reminders_options
        - id
        - name
        - renewal_notice_options
        - renewal_order_options
        - renewal_reminder_options
        - status
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    BillingRunAction:
      additionalProperties: false
      properties:
        billing_run_id:
          description: The billing run ID
          title: Billing Run
          type: string
        date:
          description: The action date
          format: date-time
          title: Date
          type: string
        error_message:
          description: The error message
          title: Error Message
          type: string
        error_stack:
          description: A detailed error message with stack trace
          title: Error Stack
          type: string
        failure_notice_id:
          description: Notice to use when the action fails
          title: Failure Notice
          type: string
        id:
          description: The unique, string identifier of this billing run action
          pattern: ^[\w|\-|#|_|:]+$
          title: ID
          type: string
        last_refresh_date:
          description: The date this action was last refreshed
          format: date-time
          title: Last Refresh Date
          type: string
        membership_expiration_date:
          description: The membership expiration date
          title: Membership Expiration Date
          type: string
        membership_id:
          description: The membership ID on which this action is acting
          title: Membership
          type: string
        name:
          description: Name of the membership
          title: Name
          type: string
        order_id:
          description: The relevant order, if applicable
          title: Order
          type: string
        outcome_of_last_refresh:
          description: >-
            Describes what happened to this action the last time this billing
            run was refreshed
          enum:
            - added
            - no change
            - removed
          title: Outcome Of Last Refresh
          type: string
        reminder_number:
          description: The reminder number, if this action is a reminder
          format: float
          title: Reminder Number
          type: number
        status:
          description: The status of this action
          enum:
            - completed
            - error
            - excluded
            - expiration date changed
            - no longer eligible
            - payment failure
            - pending
            - processing
            - processing order
          title: Status
          type: string
        step_function_execution_arn:
          description: The step function arn
          title: Step Function Execution Arn
          type: string
        success_notice_id:
          description: The notice to use when the action succeeds
          title: Success Notice
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        type:
          enum:
            - auto renewal order
            - auto renewal reminder
            - drop
            - expiring card reminder
            - renewal notice
            - renewal order
            - renewal reminder
          title: Type
          type: string
      required:
        - billing_run_id
        - date
        - id
        - membership_id
        - name
        - status
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
        - type
      type: object
    BillingRunSearchParameters:
      additionalProperties: false
      properties:
        generate_renewal_notices:
          items:
            type: boolean
          title: Generate Renewal Notices
          type: array
        generate_renewal_orders:
          items:
            type: boolean
          title: Generate Renewal Orders
          type: array
        ids:
          description: IDs to search
          items:
            type: string
          title: Ids
          type: array
        name:
          title: Name
          type: string
        perform_auto_renewals:
          items:
            type: boolean
          title: Perform Auto Renewals
          type: array
        perform_drops:
          items:
            type: boolean
          title: Perform Drops
          type: array
        run_date:
          items:
            type: string
          maxItems: 2
          minItems: 2
          title: Run Date
          type: array
        scheduled_run_date:
          items:
            type: string
          maxItems: 2
          minItems: 2
          title: Scheduled Run Date
          type: array
        send_auto_renewal_reminders:
          items:
            type: boolean
          title: Send Auto Renewal Reminders
          type: array
        send_expiring_credit_card_reminders:
          items:
            type: boolean
          title: Send Expiring Credit Card Reminders
          type: array
        send_renewal_reminders:
          items:
            type: boolean
          title: Send Renewal Reminders
          type: array
        status:
          items:
            type: string
          title: Status
          type: array
      type: object
    BillingRunSearchResults:
      additionalProperties: false
      properties:
        generate_renewal_notices:
          title: Generate Renewal Notices
          type: boolean
        generate_renewal_orders:
          title: Generate Renewal Orders
          type: boolean
        ids:
          description: IDs to search
          items:
            type: string
          title: Ids
          type: array
        name:
          title: Name
          type: string
        perform_auto_renewals:
          title: Perform Auto Renewals
          type: boolean
        perform_drops:
          title: Perform Drops
          type: boolean
        run_date:
          title: Run Date
          type: string
        scheduled_run_date:
          title: Scheduled Run Date
          type: string
        send_auto_renewal_reminders:
          title: Send Auto Renewal Reminders
          type: boolean
        send_expiring_credit_card_reminders:
          title: Send Expiring Credit Card Reminders
          type: boolean
        send_renewal_reminders:
          title: Send Renewal Reminders
          type: boolean
        status:
          title: Status
          type: string
      type: object
    BillingTemplate:
      additionalProperties: false
      properties:
        auto_renewal_options:
          additionalProperties: false
          properties:
            auto_renewal_failure_notice_id:
              description: The notice to send when a membership is NOT successfully renewed
              title: Auto Renewal Failure Notice
              type: string
            auto_renewal_success_notice_id:
              description: The notice to send when a membership is successfully renewed
              title: Auto Renewal Success Notice
              type: string
            expiration_date_range_end:
              additionalProperties: false
              description: The date to use to filter out which memberships are candidate
              properties:
                number:
                  description: The unit of time
                  format: float
                  minimum: 0
                  oneOf:
                    - {}
                  title: Number
                  type: number
                position:
                  description: How the unit relates to the reference date
                  enum:
                    - after
                    - before
                    - 'on'
                  title: Position
                  type: string
                relative_to:
                  enum:
                    - the beginning of the month
                    - the beginning of the quarter
                    - the beginning of the week
                    - the beginning of the year
                    - the end of the month
                    - the end of the quarter
                    - the end of the week
                    - the end of the year
                    - the reference date
                  title: Relative To
                  type: string
                unit_of_time:
                  enum:
                    - days
                    - months
                    - weeks
                    - years
                  oneOf:
                    - {}
                  title: Unit Of Time
                  type: string
              required:
                - number
                - position
                - relative_to
                - unit_of_time
              title: Expiration Date Range End
              type: object
            expiration_date_range_start:
              additionalProperties: false
              description: The date to use to filter out which memberships are candidate
              properties:
                number:
                  description: The unit of time
                  format: float
                  minimum: 0
                  oneOf:
                    - {}
                  title: Number
                  type: number
                position:
                  description: How the unit relates to the reference date
                  enum:
                    - after
                    - before
                    - 'on'
                  title: Position
                  type: string
                relative_to:
                  enum:
                    - the beginning of the month
                    - the beginning of the quarter
                    - the beginning of the week
                    - the beginning of the year
                    - the end of the month
                    - the end of the quarter
                    - the end of the week
                    - the end of the year
                    - the reference date
                  title: Relative To
                  type: string
                unit_of_time:
                  enum:
                    - days
                    - months
                    - weeks
                    - years
                  oneOf:
                    - {}
                  title: Unit Of Time
                  type: string
              required:
                - number
                - position
                - relative_to
                - unit_of_time
              title: Expiration Date Range Start
              type: object
            include_only_certain_membership_packages:
              description: Whether the process should apply only to certain member packages
              title: Include Only Certain Membership Packages
              type: boolean
            include_only_certain_membership_types:
              description: Whether the process should apply only to certain member types
              title: Include Only Certain Membership Types
              type: boolean
            include_only_certain_status_reasons:
              description: >-
                Whether the process should apply only to certain member status
                reasons
              title: Include Only Certain Status Reasons
              type: boolean
            membership_package_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Packages
              type: array
            membership_type_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Types
              type: array
            new_status_reason_id:
              description: Change the status reason
              title: New Status Reason
              type: string
            status_reason_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Reasons
              type: array
          required:
            - expiration_date_range_end
            - expiration_date_range_start
          title: Auto Renewal Options
          type: object
        auto_renewal_reminder_options:
          additionalProperties: false
          properties:
            include_only_certain_membership_packages:
              description: Whether the process should apply only to certain member packages
              title: Include Only Certain Membership Packages
              type: boolean
            include_only_certain_membership_types:
              description: Whether the process should apply only to certain member types
              title: Include Only Certain Membership Types
              type: boolean
            include_only_certain_status_reasons:
              description: >-
                Whether the process should apply only to certain member status
                reasons
              title: Include Only Certain Status Reasons
              type: boolean
            membership_package_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Packages
              type: array
            membership_type_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Types
              type: array
            new_status_reason_id:
              description: Change the status reason
              title: New Status Reason
              type: string
            reminders:
              items:
                additionalProperties: false
                properties:
                  expiration_date_range_end:
                    additionalProperties: false
                    description: >-
                      The date to use to filter out which memberships are
                      candidate
                    properties:
                      number:
                        description: The unit of time
                        format: float
                        minimum: 0
                        oneOf:
                          - {}
                        title: Number
                        type: number
                      position:
                        description: How the unit relates to the reference date
                        enum:
                          - after
                          - before
                          - 'on'
                        title: Position
                        type: string
                      relative_to:
                        enum:
                          - the beginning of the month
                          - the beginning of the quarter
                          - the beginning of the week
                          - the beginning of the year
                          - the end of the month
                          - the end of the quarter
                          - the end of the week
                          - the end of the year
                          - the reference date
                        title: Relative To
                        type: string
                      unit_of_time:
                        enum:
                          - days
                          - months
                          - weeks
                          - years
                        oneOf:
                          - {}
                        title: Unit Of Time
                        type: string
                    required:
                      - number
                      - position
                      - relative_to
                      - unit_of_time
                    title: Expiration Date Range End
                    type: object
                  expiration_date_range_start:
                    additionalProperties: false
                    description: >-
                      The date to use to filter out which memberships are
                      candidate
                    properties:
                      number:
                        description: The unit of time
                        format: float
                        minimum: 0
                        oneOf:
                          - {}
                        title: Number
                        type: number
                      position:
                        description: How the unit relates to the reference date
                        enum:
                          - after
                          - before
                          - 'on'
                        title: Position
                        type: string
                      relative_to:
                        enum:
                          - the beginning of the month
                          - the beginning of the quarter
                          - the beginning of the week
                          - the beginning of the year
                          - the end of the month
                          - the end of the quarter
                          - the end of the week
                          - the end of the year
                          - the reference date
                        title: Relative To
                        type: string
                      unit_of_time:
                        enum:
                          - days
                          - months
                          - weeks
                          - years
                        oneOf:
                          - {}
                        title: Unit Of Time
                        type: string
                    required:
                      - number
                      - position
                      - relative_to
                      - unit_of_time
                    title: Expiration Date Range Start
                    type: object
                  id:
                    description: A unique, unchangeable reminder id
                    format: float
                    title: ID
                    type: number
                  name:
                    description: Optional name
                    title: Name
                    type: string
                  reminder_notice_id:
                    description: The reminder notice
                    title: Reminder Notice
                    type: string
                required:
                  - expiration_date_range_end
                  - expiration_date_range_start
                  - reminder_notice_id
                type: object
              minItems: 1
              type: array
            status_reason_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Reasons
              type: array
          required:
            - reminders
          title: Auto Renewal Reminder Options
          type: object
        description:
          description: A description of the template
          title: Description
          type: string
        drop_options:
          additionalProperties: false
          properties:
            deactivate_certifications:
              description: >-
                If true, any active certifications held by this member are
                rendered inactive
              title: Deactivate Certifications
              type: boolean
            drop_notice_id:
              description: The notice to send when a renewal order is created
              title: Drop Notice
              type: string
            expiration_date_range_end:
              additionalProperties: false
              description: The date to use to filter out which memberships are candidate
              properties:
                number:
                  description: The unit of time
                  format: float
                  minimum: 0
                  oneOf:
                    - {}
                  title: Number
                  type: number
                position:
                  description: How the unit relates to the reference date
                  enum:
                    - after
                    - before
                    - 'on'
                  title: Position
                  type: string
                relative_to:
                  enum:
                    - the beginning of the month
                    - the beginning of the quarter
                    - the beginning of the week
                    - the beginning of the year
                    - the end of the month
                    - the end of the quarter
                    - the end of the week
                    - the end of the year
                    - the reference date
                  title: Relative To
                  type: string
                unit_of_time:
                  enum:
                    - days
                    - months
                    - weeks
                    - years
                  oneOf:
                    - {}
                  title: Unit Of Time
                  type: string
              required:
                - number
                - position
                - relative_to
                - unit_of_time
              title: Expiration Date Range End
              type: object
            expiration_date_range_start:
              additionalProperties: false
              description: The date to use to filter out which memberships are candidate
              properties:
                number:
                  description: The unit of time
                  format: float
                  minimum: 0
                  oneOf:
                    - {}
                  title: Number
                  type: number
                position:
                  description: How the unit relates to the reference date
                  enum:
                    - after
                    - before
                    - 'on'
                  title: Position
                  type: string
                relative_to:
                  enum:
                    - the beginning of the month
                    - the beginning of the quarter
                    - the beginning of the week
                    - the beginning of the year
                    - the end of the month
                    - the end of the quarter
                    - the end of the week
                    - the end of the year
                    - the reference date
                  title: Relative To
                  type: string
                unit_of_time:
                  enum:
                    - days
                    - months
                    - weeks
                    - years
                  oneOf:
                    - {}
                  title: Unit Of Time
                  type: string
              required:
                - number
                - position
                - relative_to
                - unit_of_time
              title: Expiration Date Range Start
              type: object
            expire_committee_memberships:
              description: >-
                If true, dropped members are renewed from any committees,
                including any inherited memberships
              title: Expire Committee Memberships
              type: boolean
            include_only_certain_membership_packages:
              description: Whether the process should apply only to certain member packages
              title: Include Only Certain Membership Packages
              type: boolean
            include_only_certain_membership_types:
              description: Whether the process should apply only to certain member types
              title: Include Only Certain Membership Types
              type: boolean
            include_only_certain_status_reasons:
              description: >-
                Whether the process should apply only to certain member status
                reasons
              title: Include Only Certain Status Reasons
              type: boolean
            membership_package_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Packages
              type: array
            membership_type_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Types
              type: array
            new_status_reason_id:
              description: Change the status reason
              title: New Status Reason
              type: string
            status_reason_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Reasons
              type: array
          required:
            - expiration_date_range_end
            - expiration_date_range_start
          title: Drop Options
          type: object
        expiring_credit_card_reminders_options:
          additionalProperties: false
          properties:
            include_only_certain_membership_packages:
              description: Whether the process should apply only to certain member packages
              title: Include Only Certain Membership Packages
              type: boolean
            include_only_certain_membership_types:
              description: Whether the process should apply only to certain member types
              title: Include Only Certain Membership Types
              type: boolean
            include_only_certain_status_reasons:
              description: >-
                Whether the process should apply only to certain member status
                reasons
              title: Include Only Certain Status Reasons
              type: boolean
            membership_package_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Packages
              type: array
            membership_type_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Types
              type: array
            new_status_reason_id:
              description: Change the status reason
              title: New Status Reason
              type: string
            reminders:
              items:
                additionalProperties: false
                properties:
                  expiration_date_range_end:
                    additionalProperties: false
                    description: >-
                      The date to use to filter out which memberships are
                      candidate
                    properties:
                      number:
                        description: The unit of time
                        format: float
                        minimum: 0
                        oneOf:
                          - {}
                        title: Number
                        type: number
                      position:
                        description: How the unit relates to the reference date
                        enum:
                          - after
                          - before
                          - 'on'
                        title: Position
                        type: string
                      relative_to:
                        enum:
                          - the beginning of the month
                          - the beginning of the quarter
                          - the beginning of the week
                          - the beginning of the year
                          - the end of the month
                          - the end of the quarter
                          - the end of the week
                          - the end of the year
                          - the reference date
                        title: Relative To
                        type: string
                      unit_of_time:
                        enum:
                          - days
                          - months
                          - weeks
                          - years
                        oneOf:
                          - {}
                        title: Unit Of Time
                        type: string
                    required:
                      - number
                      - position
                      - relative_to
                      - unit_of_time
                    title: Expiration Date Range End
                    type: object
                  expiration_date_range_start:
                    additionalProperties: false
                    description: >-
                      The date to use to filter out which memberships are
                      candidate
                    properties:
                      number:
                        description: The unit of time
                        format: float
                        minimum: 0
                        oneOf:
                          - {}
                        title: Number
                        type: number
                      position:
                        description: How the unit relates to the reference date
                        enum:
                          - after
                          - before
                          - 'on'
                        title: Position
                        type: string
                      relative_to:
                        enum:
                          - the beginning of the month
                          - the beginning of the quarter
                          - the beginning of the week
                          - the beginning of the year
                          - the end of the month
                          - the end of the quarter
                          - the end of the week
                          - the end of the year
                          - the reference date
                        title: Relative To
                        type: string
                      unit_of_time:
                        enum:
                          - days
                          - months
                          - weeks
                          - years
                        oneOf:
                          - {}
                        title: Unit Of Time
                        type: string
                    required:
                      - number
                      - position
                      - relative_to
                      - unit_of_time
                    title: Expiration Date Range Start
                    type: object
                  id:
                    description: A unique, unchangeable reminder id
                    format: float
                    title: ID
                    type: number
                  name:
                    description: Optional name
                    title: Name
                    type: string
                  reminder_notice_id:
                    description: The reminder notice
                    title: Reminder Notice
                    type: string
                required:
                  - expiration_date_range_end
                  - expiration_date_range_start
                  - reminder_notice_id
                type: object
              minItems: 1
              type: array
            status_reason_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Reasons
              type: array
          required:
            - reminders
          title: Expiring Credit Card Reminders Options
          type: object
        generate_renewal_notices:
          description: Whether this template should be generating renewal notices
          title: Generate Renewal Notices
          type: boolean
        generate_renewal_orders:
          description: Whether this template should be generating renewal orders
          title: Generate Renewal Orders
          type: boolean
        id:
          description: The unique, string identifier of this billing template
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether or not this billing template is active
          title: Is Active
          type: boolean
        name:
          description: The name of the billing template
          title: Name
          type: string
        notification_email:
          description: Te address to send notifications
          title: Notification Email
          type: string
        perform_auto_renewals:
          description: Whether this template should be performing auto renewals
          title: Perform Auto Renewals
          type: boolean
        perform_drops:
          description: Whether this template should be dropping expired members
          title: Perform Drops
          type: boolean
        renewal_notice_options:
          additionalProperties: false
          properties:
            expiration_date_range_end:
              additionalProperties: false
              description: The date to use to filter out which memberships are candidate
              properties:
                number:
                  description: The unit of time
                  format: float
                  minimum: 0
                  oneOf:
                    - {}
                  title: Number
                  type: number
                position:
                  description: How the unit relates to the reference date
                  enum:
                    - after
                    - before
                    - 'on'
                  title: Position
                  type: string
                relative_to:
                  enum:
                    - the beginning of the month
                    - the beginning of the quarter
                    - the beginning of the week
                    - the beginning of the year
                    - the end of the month
                    - the end of the quarter
                    - the end of the week
                    - the end of the year
                    - the reference date
                  title: Relative To
                  type: string
                unit_of_time:
                  enum:
                    - days
                    - months
                    - weeks
                    - years
                  oneOf:
                    - {}
                  title: Unit Of Time
                  type: string
              required:
                - number
                - position
                - relative_to
                - unit_of_time
              title: Expiration Date Range End
              type: object
            expiration_date_range_start:
              additionalProperties: false
              description: The date to use to filter out which memberships are candidate
              properties:
                number:
                  description: The unit of time
                  format: float
                  minimum: 0
                  oneOf:
                    - {}
                  title: Number
                  type: number
                position:
                  description: How the unit relates to the reference date
                  enum:
                    - after
                    - before
                    - 'on'
                  title: Position
                  type: string
                relative_to:
                  enum:
                    - the beginning of the month
                    - the beginning of the quarter
                    - the beginning of the week
                    - the beginning of the year
                    - the end of the month
                    - the end of the quarter
                    - the end of the week
                    - the end of the year
                    - the reference date
                  title: Relative To
                  type: string
                unit_of_time:
                  enum:
                    - days
                    - months
                    - weeks
                    - years
                  oneOf:
                    - {}
                  title: Unit Of Time
                  type: string
              required:
                - number
                - position
                - relative_to
                - unit_of_time
              title: Expiration Date Range Start
              type: object
            include_only_certain_membership_packages:
              description: Whether the process should apply only to certain member packages
              title: Include Only Certain Membership Packages
              type: boolean
            include_only_certain_membership_types:
              description: Whether the process should apply only to certain member types
              title: Include Only Certain Membership Types
              type: boolean
            include_only_certain_status_reasons:
              description: >-
                Whether the process should apply only to certain member status
                reasons
              title: Include Only Certain Status Reasons
              type: boolean
            membership_package_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Packages
              type: array
            membership_type_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Types
              type: array
            new_status_reason_id:
              description: Change the status reason
              title: New Status Reason
              type: string
            renewal_notice_id:
              description: The notice to send when a renewal order is created
              title: Renewal Notice
              type: string
            status_reason_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Reasons
              type: array
          required:
            - expiration_date_range_end
            - expiration_date_range_start
          title: Renewal Notice Options
          type: object
        renewal_order_options:
          additionalProperties: false
          properties:
            expiration_date_range_end:
              additionalProperties: false
              description: The date to use to filter out which memberships are candidate
              properties:
                number:
                  description: The unit of time
                  format: float
                  minimum: 0
                  oneOf:
                    - {}
                  title: Number
                  type: number
                position:
                  description: How the unit relates to the reference date
                  enum:
                    - after
                    - before
                    - 'on'
                  title: Position
                  type: string
                relative_to:
                  enum:
                    - the beginning of the month
                    - the beginning of the quarter
                    - the beginning of the week
                    - the beginning of the year
                    - the end of the month
                    - the end of the quarter
                    - the end of the week
                    - the end of the year
                    - the reference date
                  title: Relative To
                  type: string
                unit_of_time:
                  enum:
                    - days
                    - months
                    - weeks
                    - years
                  oneOf:
                    - {}
                  title: Unit Of Time
                  type: string
              required:
                - number
                - position
                - relative_to
                - unit_of_time
              title: Expiration Date Range End
              type: object
            expiration_date_range_start:
              additionalProperties: false
              description: The date to use to filter out which memberships are candidate
              properties:
                number:
                  description: The unit of time
                  format: float
                  minimum: 0
                  oneOf:
                    - {}
                  title: Number
                  type: number
                position:
                  description: How the unit relates to the reference date
                  enum:
                    - after
                    - before
                    - 'on'
                  title: Position
                  type: string
                relative_to:
                  enum:
                    - the beginning of the month
                    - the beginning of the quarter
                    - the beginning of the week
                    - the beginning of the year
                    - the end of the month
                    - the end of the quarter
                    - the end of the week
                    - the end of the year
                    - the reference date
                  title: Relative To
                  type: string
                unit_of_time:
                  enum:
                    - days
                    - months
                    - weeks
                    - years
                  oneOf:
                    - {}
                  title: Unit Of Time
                  type: string
              required:
                - number
                - position
                - relative_to
                - unit_of_time
              title: Expiration Date Range Start
              type: object
            include_only_certain_membership_packages:
              description: Whether the process should apply only to certain member packages
              title: Include Only Certain Membership Packages
              type: boolean
            include_only_certain_membership_types:
              description: Whether the process should apply only to certain member types
              title: Include Only Certain Membership Types
              type: boolean
            include_only_certain_status_reasons:
              description: >-
                Whether the process should apply only to certain member status
                reasons
              title: Include Only Certain Status Reasons
              type: boolean
            membership_package_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Packages
              type: array
            membership_type_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Types
              type: array
            new_status_reason_id:
              description: Change the status reason
              title: New Status Reason
              type: string
            pro_forma:
              description: Whether or not this should generate pro forma orders/invoices
              title: Pro Forma
              type: boolean
            renewal_order_notice_id:
              description: The notice to send when a renewal order is created
              title: Renewal Order Notice
              type: string
            status_reason_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Reasons
              type: array
          required:
            - expiration_date_range_end
            - expiration_date_range_start
          title: Renewal Order Options
          type: object
        renewal_reminder_options:
          additionalProperties: false
          properties:
            include_only_certain_membership_packages:
              description: Whether the process should apply only to certain member packages
              title: Include Only Certain Membership Packages
              type: boolean
            include_only_certain_membership_types:
              description: Whether the process should apply only to certain member types
              title: Include Only Certain Membership Types
              type: boolean
            include_only_certain_status_reasons:
              description: >-
                Whether the process should apply only to certain member status
                reasons
              title: Include Only Certain Status Reasons
              type: boolean
            membership_package_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Packages
              type: array
            membership_type_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Membership Types
              type: array
            new_status_reason_id:
              description: Change the status reason
              title: New Status Reason
              type: string
            reminders:
              items:
                additionalProperties: false
                properties:
                  expiration_date_range_end:
                    additionalProperties: false
                    description: >-
                      The date to use to filter out which memberships are
                      candidate
                    properties:
                      number:
                        description: The unit of time
                        format: float
                        minimum: 0
                        oneOf:
                          - {}
                        title: Number
                        type: number
                      position:
                        description: How the unit relates to the reference date
                        enum:
                          - after
                          - before
                          - 'on'
                        title: Position
                        type: string
                      relative_to:
                        enum:
                          - the beginning of the month
                          - the beginning of the quarter
                          - the beginning of the week
                          - the beginning of the year
                          - the end of the month
                          - the end of the quarter
                          - the end of the week
                          - the end of the year
                          - the reference date
                        title: Relative To
                        type: string
                      unit_of_time:
                        enum:
                          - days
                          - months
                          - weeks
                          - years
                        oneOf:
                          - {}
                        title: Unit Of Time
                        type: string
                    required:
                      - number
                      - position
                      - relative_to
                      - unit_of_time
                    title: Expiration Date Range End
                    type: object
                  expiration_date_range_start:
                    additionalProperties: false
                    description: >-
                      The date to use to filter out which memberships are
                      candidate
                    properties:
                      number:
                        description: The unit of time
                        format: float
                        minimum: 0
                        oneOf:
                          - {}
                        title: Number
                        type: number
                      position:
                        description: How the unit relates to the reference date
                        enum:
                          - after
                          - before
                          - 'on'
                        title: Position
                        type: string
                      relative_to:
                        enum:
                          - the beginning of the month
                          - the beginning of the quarter
                          - the beginning of the week
                          - the beginning of the year
                          - the end of the month
                          - the end of the quarter
                          - the end of the week
                          - the end of the year
                          - the reference date
                        title: Relative To
                        type: string
                      unit_of_time:
                        enum:
                          - days
                          - months
                          - weeks
                          - years
                        oneOf:
                          - {}
                        title: Unit Of Time
                        type: string
                    required:
                      - number
                      - position
                      - relative_to
                      - unit_of_time
                    title: Expiration Date Range Start
                    type: object
                  id:
                    description: A unique, unchangeable reminder id
                    format: float
                    title: ID
                    type: number
                  name:
                    description: Optional name
                    title: Name
                    type: string
                  reminder_notice_id:
                    description: The reminder notice
                    title: Reminder Notice
                    type: string
                required:
                  - expiration_date_range_end
                  - expiration_date_range_start
                  - reminder_notice_id
                type: object
              minItems: 1
              type: array
            status_reason_ids:
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Reasons
              type: array
          required:
            - reminders
          title: Renewal Reminder Options
          type: object
        send_auto_renewal_reminders:
          description: Whether this template should be generating reminders
          title: Send Auto Renewal Reminders
          type: boolean
        send_expiring_credit_card_reminders:
          description: Whether to warn  that someone's card is going to expire
          title: Send Expiring Credit Card Reminders
          type: boolean
        send_renewal_reminders:
          description: Whether this template should be generating reminders
          title: Send Renewal Reminders
          type: boolean
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
      required:
        - auto_renewal_options
        - auto_renewal_reminder_options
        - drop_options
        - expiring_credit_card_reminders_options
        - id
        - name
        - renewal_notice_options
        - renewal_order_options
        - renewal_reminder_options
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    ChangeFee:
      additionalProperties: false
      properties:
        allow_customer_to_choose_installment_plan:
          description: If true, the customer can choose their installment plan
          title: Allow Customer To Choose Installment Plan
          type: boolean
        bulk_pricing_rules:
          items:
            additionalProperties: false
            properties:
              discount_amount:
                description: The percentage/flat rate
                format: float
                minimum: 0
                title: Discount Amount
                type: number
              discount_type:
                description: The type of discount rule
                enum:
                  - flat rate
                  - percentage
                title: Discount Type
                type: string
              ending_range:
                description: The ending range of the rule
                minimum: 0
                title: Ending Range
                type: integer
              starting_range:
                description: The starting range of the rule
                minimum: 0
                title: Starting Range
                type: integer
            required:
              - discount_amount
              - discount_type
            type: object
          minItems: 1
          type: array
        bundled_products:
          items:
            additionalProperties: false
            properties:
              member_price:
                description: The member price
                format: double
                title: Member Price
                type: number
              price:
                description: The price to bundle
                format: double
                title: Price
                type: number
              product_id:
                description: The product ID
                title: Product
                type: string
              product_type:
                description: The product type
                title: Product Type
                type: string
              quantity:
                description: The quantity to bundle
                title: Quantity
                type: integer
              type:
                enum:
                  - bundled product
                  - inline bundled product
                title: Type
                type: string
            required:
              - product_id
              - product_type
              - quantity
              - type
            type: object
          minItems: 1
          type: array
        bundled_products_inventory_handling:
          description: >-
            Whether to track inventory for the entire bundle, or for each
            product separately
          enum:
            - bundle
            - each product
          title: Bundled Products Inventory Handling
          type: string
        business_unit_id:
          description: The business unit of the product
          title: Business Unit
          type: string
        cancellation_fee:
          description: Cancellation fees associated with this product
          format: double
          title: Cancellation Fee
          type: number
        commerce_entitlements_to_create:
          items:
            additionalProperties: false
            properties:
              expiration_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Expiration Date
                type: string
              expiration_type:
                enum:
                  - none
                  - relative date
                  - specific date
                title: Expiration Type
                type: string
              quantity:
                description: The quantity
                format: float
                title: Quantity
                type: number
              relative_expiration_date:
                additionalProperties: false
                description: The date the task is due
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Expiration Date
                type: object
              type_id:
                description: The type of entitlement
                title: Type
                type: string
            required:
              - expiration_type
              - type_id
            type: object
          type: array
        coupon_codes:
          items:
            additionalProperties: false
            properties:
              coupon_code_generation_process_id:
                description: The process by which the coupons are generated
                title: Coupon Code Generation Process
                type: string
              coupon_code_type:
                enum:
                  - multi use
                  - single use
                title: Coupon Code Type
                type: string
              coupon_id:
                title: Coupon
                type: string
              coupon_type:
                title: Coupon Type
                type: string
              expiration_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Expiration Date
                type: string
              expiration_type:
                enum:
                  - none
                  - relative date
                  - specific date
                title: Expiration Type
                type: string
              maximum_number_of_total_uses:
                description: The maximum number of total uses
                minimum: 1
                oneOf:
                  - enum:
                      - 1
                    x-required: true
                title: Maximum Number Of Total Uses
                type: integer
              maximum_number_of_uses_per_customer:
                description: The maximum number of total uses for a given customer
                minimum: 1
                oneOf:
                  - enum:
                      - 1
                    x-required: true
                title: Maximum Number Of Uses Per Customer
                type: integer
              quantity:
                description: The number of coupons to generate
                maximum: 250
                title: Quantity
                type: integer
              relative_expiration_date:
                additionalProperties: false
                description: Expiration date relative to purchase
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Expiration Date
                type: object
              restrict_to_contact:
                description: >-
                  If true, the code generated is restricted to the contact who
                  made the purchase
                title: Restrict To Contact
                type: boolean
              restrict_to_organization:
                description: >-
                  If true, the code generated is restricted to the organization
                  made the purchase
                title: Restrict To Organization
                type: boolean
            required:
              - coupon_code_generation_process_id
              - coupon_code_type
              - coupon_id
              - coupon_type
              - quantity
            type: object
          minItems: 1
          type: array
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        custom_pricing_options:
          additionalProperties: false
          properties:
            lambda_function_id:
              description: The custom lambda function to use
              title: Lambda Function
              type: string
          required:
            - lambda_function_id
          title: Custom Pricing Options
          type: object
        document_entitlements_to_create:
          items:
            additionalProperties: false
            properties:
              expiration_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Expiration Date
                type: string
              expiration_type:
                enum:
                  - none
                  - relative date
                  - specific date
                title: Expiration Type
                type: string
              file_cabinet_id:
                description: The file cabinet
                title: File Cabinet
                type: string
              item_id:
                description: The item
                title: Item
                type: string
              library_path:
                description: >-
                  The optional path that items will be mounted onto the digital
                  library
                title: Library Path
                type: string
              relative_expiration_date:
                additionalProperties: false
                description: The date the task is due
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Expiration Date
                type: object
            required:
              - expiration_type
              - file_cabinet_id
            type: object
          type: array
        enable_bulk_pricing:
          description: Whether or not bulk pricing is enabled
          title: Enable Bulk Pricing
          type: boolean
        enable_bundled_products:
          description: Whether to enable bundled products
          title: Enable Bundled Products
          type: boolean
        enable_cancellation_fees:
          description: Whether or not cancellation fees are applicable
          title: Enable Cancellation Fees
          type: boolean
        enable_commerce_entitlement_creation:
          description: >-
            If set, document entitlements will be created to access folders or
            documents
          title: Enable Commerce Entitlement Creation
          type: boolean
        enable_coupon_code_generation:
          description: If true, purchasing this product will generate coupons
          title: Enable Coupon Code Generation
          type: boolean
        enable_custom_pricing:
          description: >-
            If set, the order engine will call out to a custom lambda function
            for custom/complex pricing
          title: Enable Custom Pricing
          type: boolean
        enable_document_entitlement_creation:
          description: >-
            If set, document entitlements will be created to access folders or
            documents
          title: Enable Document Entitlement Creation
          type: boolean
        enable_product_confirmation_email:
          description: If enabled, a custom email goes out whenever this product is ordered
          title: Enable Product Confirmation Email
          type: boolean
        enable_purchase_limits:
          description: If true, purchase limits are in place for this product
          title: Enable Purchase Limits
          type: boolean
        enable_purchasing_eligibility:
          description: If set, purchases of this merchandise are restricted
          title: Enable Purchasing Eligibility
          type: boolean
        enable_special_prices:
          description: Whether to enable special pricing logic
          title: Enable Special Prices
          type: boolean
        enable_task_generation:
          description: If set, tasks will be generated
          title: Enable Task Generation
          type: boolean
        foreign_currency_prices:
          items:
            additionalProperties: false
            properties:
              cancellation_fee:
                description: The cancellation fee of the product for this currency
                format: double
                title: Cancellation Fee
                type: number
              currency_code:
                enum:
                  - AED
                  - AFN
                  - ALL
                  - AMD
                  - ANG
                  - AOA
                  - ARS
                  - AUD
                  - AWG
                  - AZN
                  - BAM
                  - BBD
                  - BDT
                  - BGN
                  - BHD
                  - BIF
                  - BMD
                  - BND
                  - BOB
                  - BRL
                  - BSD
                  - BTN
                  - BWP
                  - BYR
                  - BZD
                  - CAD
                  - CDF
                  - CHF
                  - CLP
                  - CNY
                  - COP
                  - CRC
                  - CUC
                  - CVE
                  - CZK
                  - DJF
                  - DKK
                  - DOP
                  - DZD
                  - EEK
                  - EGP
                  - ERN
                  - ETB
                  - EUR
                  - FJD
                  - FKP
                  - GBP
                  - GEL
                  - GHS
                  - GIP
                  - GMD
                  - GNF
                  - GQE
                  - GTQ
                  - GYD
                  - HKD
                  - HNL
                  - HRK
                  - HTG
                  - HUF
                  - IDR
                  - ILS
                  - INR
                  - IQD
                  - IRR
                  - ISK
                  - JMD
                  - JOD
                  - JPY
                  - KES
                  - KGS
                  - KHR
                  - KMF
                  - KPW
                  - KRW
                  - KWD
                  - KYD
                  - KZT
                  - LAK
                  - LBP
                  - LKR
                  - LRD
                  - LSL
                  - LTL
                  - LVL
                  - LYD
                  - MAD
                  - MDL
                  - MGA
                  - MKD
                  - MMK
                  - MNT
                  - MOP
                  - MRO
                  - MUR
                  - MVR
                  - MWK
                  - MXN
                  - MYR
                  - MZM
                  - NAD
                  - NGN
                  - NIO
                  - NOK
                  - NPR
                  - NZD
                  - OMR
                  - PAB
                  - PEN
                  - PGK
                  - PHP
                  - PKR
                  - PLN
                  - PYG
                  - QAR
                  - RON
                  - RSD
                  - RUB
                  - SAR
                  - SBD
                  - SCR
                  - SDG
                  - SEK
                  - SGD
                  - SHP
                  - SLL
                  - SOS
                  - SRD
                  - SYP
                  - SZL
                  - THB
                  - TJS
                  - TMT
                  - TND
                  - TRY
                  - TTD
                  - TWD
                  - TZS
                  - UAH
                  - UGX
                  - USD
                  - UYU
                  - UZS
                  - VEB
                  - VND
                  - VUV
                  - WST
                  - XAF
                  - XCD
                  - XDR
                  - XOF
                  - XPF
                  - YER
                  - ZAR
                  - ZMK
                  - ZWR
                title: Currency Code
                type: string
              member_price:
                description: The price of the product for a member
                format: double
                title: Member Price
                type: number
              mode:
                description: How this foreign currency should be treated
                enum:
                  - calculate price
                  - prohibit purchase
                  - set price
                title: Mode
                type: string
              price:
                description: The price of the product
                format: double
                oneOf:
                  - x-required: true
                title: Price
                type: number
              restocking_fee:
                description: The restocking fee of the product for this currency
                format: double
                title: Restocking Fee
                type: number
            required:
              - currency_code
            type: object
          type: array
        hide_from_portal:
          description: If set, this product should not be shown in the portal
          title: Hide From Portal
          type: boolean
        id:
          description: The unique, string identifier of this miscellaneous product
          pattern: ^[\w:|-]+$
          title: ID
          type: string
        installment_plan_options:
          items:
            additionalProperties: false
            properties:
              additional_cost:
                description: The additional cost of the installment plan
                format: double
                title: Additional Cost
                type: number
              installment_plan_id:
                description: The installment plan that this product supports
                title: Installment Plan
                type: string
              is_default:
                description: Whether this is the default installment plan option
                title: Is Default
                type: boolean
            required:
              - installment_plan_id
            type: object
          minItems: 1
          type: array
        is_active:
          description: Whether this product is active/used
          title: Is Active
          type: boolean
        member_price:
          description: The price of the product for an active member
          format: double
          title: Member Price
          type: number
        name:
          description: The name of the miscellaneous product
          title: Name
          type: string
        notes:
          description: Notes
          title: Notes
          type: string
        portal_options:
          additionalProperties: false
          properties:
            available_from:
              description: The date from which this product should be available
              format: date-time
              title: Available From
              type: string
            available_until:
              description: The date until which this product should be available
              format: date-time
              title: Available Until
              type: string
          title: Portal Options
          type: object
        price:
          description: The price of the product
          format: double
          title: Price
          type: number
        product_confirmation_email_options:
          additionalProperties: false
          properties:
            product_confirmation_email_id:
              oneOf:
                - x-required: true
              title: Product Confirmation Email
              type: string
            product_specific_email:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                bcc:
                  description: Anyone that should be bcc'ed on the email
                  title: Bcc
                  type: string
                body:
                  description: The email body
                  title: Body
                  type: string
                cc:
                  description: Anyone that should be cc'ed on the email
                  title: Cc
                  type: string
                from:
                  description: From email address
                  title: From
                  type: string
                from_name:
                  description: From name
                  title: From Name
                  type: string
                reply_to:
                  description: The reply to
                  title: Reply To
                  type: string
                subject:
                  description: The email subject
                  title: Subject
                  type: string
              required:
                - body
                - subject
              title: Product Specific Email
              type: object
            type:
              enum:
                - product specific
                - shared
              title: Type
              type: string
          title: Product Confirmation Email Options
          type: object
        publish_to_portal:
          description: Whether or not this product should be available in the portal
          title: Publish To Portal
          type: boolean
        purchase_limits:
          additionalProperties: false
          properties:
            error_message:
              description: The error message to show
              title: Error Message
              type: string
            maximum:
              description: The maximum
              format: float
              title: Maximum
              type: number
            relative_time_window:
              additionalProperties: false
              description: the time window
              oneOf:
                - x-required: true
              properties:
                number:
                  description: The unit of time
                  format: float
                  minimum: 0
                  oneOf:
                    - {}
                  title: Number
                  type: number
                position:
                  description: How the unit relates to the reference date
                  enum:
                    - after
                    - before
                    - 'on'
                  title: Position
                  type: string
                relative_to:
                  enum:
                    - the beginning of the month
                    - the beginning of the quarter
                    - the beginning of the week
                    - the beginning of the year
                    - the end of the month
                    - the end of the quarter
                    - the end of the week
                    - the end of the year
                    - the reference date
                  title: Relative To
                  type: string
                unit_of_time:
                  enum:
                    - days
                    - months
                    - weeks
                    - years
                  oneOf:
                    - {}
                  title: Unit Of Time
                  type: string
              required:
                - number
                - position
                - relative_to
                - unit_of_time
              title: Relative Time Window
              type: object
            time_period:
              enum:
                - all time
                - sliding time window
              title: Time Period
              type: string
            type:
              enum:
                - per customer
              title: Type
              type: string
          required:
            - maximum
            - time_period
            - type
          title: Purchase Limits
          type: object
        purchasing_eligibility_criteria:
          title: Purchasing Eligibility Criteria
          type: object
        special_prices:
          items:
            additionalProperties: false
            properties:
              criteria:
                title: Criteria
                type: object
              enable_formula:
                description: >-
                  if set, a formula is used to calculate the price. If the
                  formula fails, the price is used
                title: Enable Formula
                type: boolean
              formula:
                description: The formula evaluated using the expr-eval npm package
                oneOf:
                  - x-required: true
                title: Formula
                type: string
              name:
                title: Name
                type: string
              price:
                format: float
                title: Price
                type: number
            required:
              - criteria
              - price
            type: object
          minItems: 1
          type: array
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        tasks_to_generate:
          items:
            additionalProperties: false
            properties:
              assignee_type:
                enum:
                  - assignment role
                  - queue
                  - user
                title: Assignee Type
                type: string
              assignment_role_id:
                description: The assignment role that should receive the ask
                oneOf:
                  - x-required: true
                title: Assignment Role
                type: string
              description:
                description: A description
                title: Description
                type: string
              due_date_type:
                description: Whether there is a due date
                enum:
                  - none
                  - relative date
                  - specific date
                title: Due Date Type
                type: string
              name:
                description: The name of the task
                title: Name
                type: string
              notify_assignees:
                description: Notify assignee when the task is created
                title: Notify Assignees
                type: boolean
              priority:
                enum:
                  - high
                  - low
                  - normal
                  - urgent
                title: Priority
                type: string
              queue_id:
                description: The queue that should be assigned the ask
                oneOf:
                  - x-required: true
                title: Queue
                type: string
              relative_due_date:
                additionalProperties: false
                description: The date the task is due
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Due Date
                type: object
              specific_due_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Specific Due Date
                type: string
              type_id:
                description: The type of task
                title: Type
                type: string
              user_id:
                description: The user that should be assigned the ask
                oneOf:
                  - x-required: true
                title: User
                type: string
            required:
              - assignee_type
              - due_date_type
              - name
              - type_id
            type: object
          type: array
        type:
          description: The product type
          enum:
            - membership-change-fees
          title: Type
          type: string
      required:
        - bulk_pricing_rules
        - bundled_products
        - business_unit_id
        - coupon_codes
        - custom_pricing_options
        - id
        - installment_plan_options
        - name
        - price
        - product_confirmation_email_options
        - purchase_limits
        - special_prices
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    Chapter:
      additionalProperties: false
      properties:
        address:
          $ref: '#/components/schemas/Address'
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        description:
          description: Description of the chapter
          title: Description
          type: string
        email_address:
          description: The email address of the chapter
          title: Email Address
          type: string
        enable_dues:
          title: Enable Dues
          type: boolean
        enable_new_member_email:
          description: >-
            ALlow for new members to receive an email when they join this
            chapter
          title: Enable New Member Email
          type: boolean
        hide_from_portal:
          description: Whether or not this section is displayed in the portal
          title: Hide From Portal
          type: boolean
        id:
          description: The unique, string identifier of this chapter
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether this is an active chapter
          title: Is Active
          type: boolean
        linked_organization_id:
          description: >-
            The organization linked to this chapter, if the chapter owes
            dues/taxes to the main organization
          title: Linked Organization
          type: string
        name:
          description: The name of the chapter
          title: Name
          type: string
        new_member_email:
          additionalProperties: false
          description: The new member email
          properties:
            bcc:
              description: Anyone that should be bcc'ed on the email
              title: Bcc
              type: string
            body:
              description: The email body
              title: Body
              type: string
            cc:
              description: Anyone that should be cc'ed on the email
              title: Cc
              type: string
            from:
              description: From email address
              title: From
              type: string
            from_name:
              description: From name
              title: From Name
              type: string
            reply_to:
              description: The reply to
              title: Reply To
              type: string
            subject:
              description: The email subject
              title: Subject
              type: string
          required:
            - body
            - subject
          title: New Member Email
          type: object
        phone_number:
          description: Chapter phone number
          title: Phone Number
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_search_latlong:
          description: A geocode for distance queries
          title: Sys Search Latlong
          type: string
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        type_id:
          description: The type of chapter
          title: Type
          type: string
        website:
          description: Website of the chapter
          title: Website
          type: string
      required:
        - id
        - name
        - new_member_email
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
        - type_id
      type: object
    ChapterDescriptionResult:
      additionalProperties: false
      properties:
        chapterTypes:
          items:
            additionalProperties: false
            properties:
              chapter_type_id:
                title: Chapter Type
                type: string
              chapter_type_name:
                title: Chapter Type Name
                type: string
              chapter_type_portal_description:
                title: Chapter Type Portal Description
                type: string
              chapters:
                items:
                  additionalProperties: false
                  properties:
                    chapter_id:
                      title: Chapter
                      type: string
                    chapter_name:
                      title: Chapter Name
                      type: string
                    currency_code:
                      title: Currency Code
                      type: string
                    dues:
                      format: float
                      title: Dues
                      type: number
                  type: object
                type: array
            type: object
          type: array
        suggestions:
          items:
            additionalProperties: false
            properties:
              address:
                $ref: '#/components/schemas/Address'
              chapter_id:
                title: Chapter
                type: string
              chapter_name:
                title: Chapter Name
                type: string
              distance:
                format: float
                title: Distance
                type: number
            type: object
          type: array
      type: object
    ChapterDuesProduct:
      additionalProperties: false
      properties:
        allow_customer_to_choose_installment_plan:
          description: If true, the customer can choose their installment plan
          title: Allow Customer To Choose Installment Plan
          type: boolean
        bulk_pricing_rules:
          items:
            additionalProperties: false
            properties:
              discount_amount:
                description: The percentage/flat rate
                format: float
                minimum: 0
                title: Discount Amount
                type: number
              discount_type:
                description: The type of discount rule
                enum:
                  - flat rate
                  - percentage
                title: Discount Type
                type: string
              ending_range:
                description: The ending range of the rule
                minimum: 0
                title: Ending Range
                type: integer
              starting_range:
                description: The starting range of the rule
                minimum: 0
                title: Starting Range
                type: integer
            required:
              - discount_amount
              - discount_type
            type: object
          minItems: 1
          type: array
        bundled_products:
          items:
            additionalProperties: false
            properties:
              member_price:
                description: The member price
                format: double
                title: Member Price
                type: number
              price:
                description: The price to bundle
                format: double
                title: Price
                type: number
              product_id:
                description: The product ID
                title: Product
                type: string
              product_type:
                description: The product type
                title: Product Type
                type: string
              quantity:
                description: The quantity to bundle
                title: Quantity
                type: integer
              type:
                enum:
                  - bundled product
                  - inline bundled product
                title: Type
                type: string
            required:
              - product_id
              - product_type
              - quantity
              - type
            type: object
          minItems: 1
          type: array
        bundled_products_inventory_handling:
          description: >-
            Whether to track inventory for the entire bundle, or for each
            product separately
          enum:
            - bundle
            - each product
          title: Bundled Products Inventory Handling
          type: string
        business_unit_id:
          description: The business unit of the product
          title: Business Unit
          type: string
        cancellation_fee:
          description: Cancellation fees associated with this product
          format: double
          title: Cancellation Fee
          type: number
        chapter_id:
          description: The chapter ID associated with this product
          title: Chapter
          type: string
        commerce_entitlements_to_create:
          items:
            additionalProperties: false
            properties:
              expiration_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Expiration Date
                type: string
              expiration_type:
                enum:
                  - none
                  - relative date
                  - specific date
                title: Expiration Type
                type: string
              quantity:
                description: The quantity
                format: float
                title: Quantity
                type: number
              relative_expiration_date:
                additionalProperties: false
                description: The date the task is due
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Expiration Date
                type: object
              type_id:
                description: The type of entitlement
                title: Type
                type: string
            required:
              - expiration_type
              - type_id
            type: object
          type: array
        coupon_codes:
          items:
            additionalProperties: false
            properties:
              coupon_code_generation_process_id:
                description: The process by which the coupons are generated
                title: Coupon Code Generation Process
                type: string
              coupon_code_type:
                enum:
                  - multi use
                  - single use
                title: Coupon Code Type
                type: string
              coupon_id:
                title: Coupon
                type: string
              coupon_type:
                title: Coupon Type
                type: string
              expiration_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Expiration Date
                type: string
              expiration_type:
                enum:
                  - none
                  - relative date
                  - specific date
                title: Expiration Type
                type: string
              maximum_number_of_total_uses:
                description: The maximum number of total uses
                minimum: 1
                oneOf:
                  - enum:
                      - 1
                    x-required: true
                title: Maximum Number Of Total Uses
                type: integer
              maximum_number_of_uses_per_customer:
                description: The maximum number of total uses for a given customer
                minimum: 1
                oneOf:
                  - enum:
                      - 1
                    x-required: true
                title: Maximum Number Of Uses Per Customer
                type: integer
              quantity:
                description: The number of coupons to generate
                maximum: 250
                title: Quantity
                type: integer
              relative_expiration_date:
                additionalProperties: false
                description: Expiration date relative to purchase
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Expiration Date
                type: object
              restrict_to_contact:
                description: >-
                  If true, the code generated is restricted to the contact who
                  made the purchase
                title: Restrict To Contact
                type: boolean
              restrict_to_organization:
                description: >-
                  If true, the code generated is restricted to the organization
                  made the purchase
                title: Restrict To Organization
                type: boolean
            required:
              - coupon_code_generation_process_id
              - coupon_code_type
              - coupon_id
              - coupon_type
              - quantity
            type: object
          minItems: 1
          type: array
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        custom_pricing_options:
          additionalProperties: false
          properties:
            lambda_function_id:
              description: The custom lambda function to use
              title: Lambda Function
              type: string
          required:
            - lambda_function_id
          title: Custom Pricing Options
          type: object
        document_entitlements_to_create:
          items:
            additionalProperties: false
            properties:
              expiration_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Expiration Date
                type: string
              expiration_type:
                enum:
                  - none
                  - relative date
                  - specific date
                title: Expiration Type
                type: string
              file_cabinet_id:
                description: The file cabinet
                title: File Cabinet
                type: string
              item_id:
                description: The item
                title: Item
                type: string
              library_path:
                description: >-
                  The optional path that items will be mounted onto the digital
                  library
                title: Library Path
                type: string
              relative_expiration_date:
                additionalProperties: false
                description: The date the task is due
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Expiration Date
                type: object
            required:
              - expiration_type
              - file_cabinet_id
            type: object
          type: array
        dues_proration:
          additionalProperties: false
          properties:
            applies_to:
              enum:
                - both
                - new members
                - renewing members
              title: Applies To
              type: string
            april:
              format: float
              title: April
              type: number
            august:
              format: float
              title: August
              type: number
            december:
              format: float
              title: December
              type: number
            february:
              format: float
              title: February
              type: number
            january:
              format: float
              title: January
              type: number
            july:
              format: float
              title: July
              type: number
            june:
              format: float
              title: June
              type: number
            march:
              format: float
              title: March
              type: number
            may:
              format: float
              title: May
              type: number
            november:
              format: float
              title: November
              type: number
            october:
              format: float
              title: October
              type: number
            september:
              format: float
              title: September
              type: number
          title: Dues Proration
          type: object
        enable_bulk_pricing:
          description: Whether or not bulk pricing is enabled
          title: Enable Bulk Pricing
          type: boolean
        enable_bundled_products:
          description: Whether to enable bundled products
          title: Enable Bundled Products
          type: boolean
        enable_cancellation_fees:
          description: Whether or not cancellation fees are applicable
          title: Enable Cancellation Fees
          type: boolean
        enable_commerce_entitlement_creation:
          description: >-
            If set, document entitlements will be created to access folders or
            documents
          title: Enable Commerce Entitlement Creation
          type: boolean
        enable_coupon_code_generation:
          description: If true, purchasing this product will generate coupons
          title: Enable Coupon Code Generation
          type: boolean
        enable_custom_pricing:
          description: >-
            If set, the order engine will call out to a custom lambda function
            for custom/complex pricing
          title: Enable Custom Pricing
          type: boolean
        enable_document_entitlement_creation:
          description: >-
            If set, document entitlements will be created to access folders or
            documents
          title: Enable Document Entitlement Creation
          type: boolean
        enable_dues_proration:
          description: Enable dues proration
          title: Enable Dues Proration
          type: boolean
        enable_product_confirmation_email:
          description: If enabled, a custom email goes out whenever this product is ordered
          title: Enable Product Confirmation Email
          type: boolean
        enable_purchase_limits:
          description: If true, purchase limits are in place for this product
          title: Enable Purchase Limits
          type: boolean
        enable_purchasing_eligibility:
          description: If set, purchases of this merchandise are restricted
          title: Enable Purchasing Eligibility
          type: boolean
        enable_special_prices:
          description: Whether to enable special pricing logic
          title: Enable Special Prices
          type: boolean
        enable_task_generation:
          description: If set, tasks will be generated
          title: Enable Task Generation
          type: boolean
        foreign_currency_prices:
          items:
            additionalProperties: false
            properties:
              cancellation_fee:
                description: The cancellation fee of the product for this currency
                format: double
                title: Cancellation Fee
                type: number
              currency_code:
                enum:
                  - AED
                  - AFN
                  - ALL
                  - AMD
                  - ANG
                  - AOA
                  - ARS
                  - AUD
                  - AWG
                  - AZN
                  - BAM
                  - BBD
                  - BDT
                  - BGN
                  - BHD
                  - BIF
                  - BMD
                  - BND
                  - BOB
                  - BRL
                  - BSD
                  - BTN
                  - BWP
                  - BYR
                  - BZD
                  - CAD
                  - CDF
                  - CHF
                  - CLP
                  - CNY
                  - COP
                  - CRC
                  - CUC
                  - CVE
                  - CZK
                  - DJF
                  - DKK
                  - DOP
                  - DZD
                  - EEK
                  - EGP
                  - ERN
                  - ETB
                  - EUR
                  - FJD
                  - FKP
                  - GBP
                  - GEL
                  - GHS
                  - GIP
                  - GMD
                  - GNF
                  - GQE
                  - GTQ
                  - GYD
                  - HKD
                  - HNL
                  - HRK
                  - HTG
                  - HUF
                  - IDR
                  - ILS
                  - INR
                  - IQD
                  - IRR
                  - ISK
                  - JMD
                  - JOD
                  - JPY
                  - KES
                  - KGS
                  - KHR
                  - KMF
                  - KPW
                  - KRW
                  - KWD
                  - KYD
                  - KZT
                  - LAK
                  - LBP
                  - LKR
                  - LRD
                  - LSL
                  - LTL
                  - LVL
                  - LYD
                  - MAD
                  - MDL
                  - MGA
                  - MKD
                  - MMK
                  - MNT
                  - MOP
                  - MRO
                  - MUR
                  - MVR
                  - MWK
                  - MXN
                  - MYR
                  - MZM
                  - NAD
                  - NGN
                  - NIO
                  - NOK
                  - NPR
                  - NZD
                  - OMR
                  - PAB
                  - PEN
                  - PGK
                  - PHP
                  - PKR
                  - PLN
                  - PYG
                  - QAR
                  - RON
                  - RSD
                  - RUB
                  - SAR
                  - SBD
                  - SCR
                  - SDG
                  - SEK
                  - SGD
                  - SHP
                  - SLL
                  - SOS
                  - SRD
                  - SYP
                  - SZL
                  - THB
                  - TJS
                  - TMT
                  - TND
                  - TRY
                  - TTD
                  - TWD
                  - TZS
                  - UAH
                  - UGX
                  - USD
                  - UYU
                  - UZS
                  - VEB
                  - VND
                  - VUV
                  - WST
                  - XAF
                  - XCD
                  - XDR
                  - XOF
                  - XPF
                  - YER
                  - ZAR
                  - ZMK
                  - ZWR
                title: Currency Code
                type: string
              member_price:
                description: The price of the product for a member
                format: double
                title: Member Price
                type: number
              mode:
                description: How this foreign currency should be treated
                enum:
                  - calculate price
                  - prohibit purchase
                  - set price
                title: Mode
                type: string
              price:
                description: The price of the product
                format: double
                oneOf:
                  - x-required: true
                title: Price
                type: number
              restocking_fee:
                description: The restocking fee of the product for this currency
                format: double
                title: Restocking Fee
                type: number
            required:
              - currency_code
            type: object
          type: array
        hide_from_portal:
          description: If set, this product should not be shown in the portal
          title: Hide From Portal
          type: boolean
        id:
          description: The unique, string identifier of this miscellaneous product
          pattern: ^[\w:|-]+$
          title: ID
          type: string
        installment_plan_options:
          items:
            additionalProperties: false
            properties:
              additional_cost:
                description: The additional cost of the installment plan
                format: double
                title: Additional Cost
                type: number
              installment_plan_id:
                description: The installment plan that this product supports
                title: Installment Plan
                type: string
              is_default:
                description: Whether this is the default installment plan option
                title: Is Default
                type: boolean
            required:
              - installment_plan_id
            type: object
          minItems: 1
          type: array
        is_active:
          description: Whether this product is active/used
          title: Is Active
          type: boolean
        member_price:
          description: The price of the product for an active member
          format: double
          title: Member Price
          type: number
        membership_package_id:
          description: The membership package associated with this product
          title: Membership Package
          type: string
        name:
          description: The name of the miscellaneous product
          title: Name
          type: string
        notes:
          description: Notes
          title: Notes
          type: string
        portal_options:
          additionalProperties: false
          properties:
            available_from:
              description: The date from which this product should be available
              format: date-time
              title: Available From
              type: string
            available_until:
              description: The date until which this product should be available
              format: date-time
              title: Available Until
              type: string
          title: Portal Options
          type: object
        price:
          description: The price of the product
          format: double
          title: Price
          type: number
        product_confirmation_email_options:
          additionalProperties: false
          properties:
            product_confirmation_email_id:
              oneOf:
                - x-required: true
              title: Product Confirmation Email
              type: string
            product_specific_email:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                bcc:
                  description: Anyone that should be bcc'ed on the email
                  title: Bcc
                  type: string
                body:
                  description: The email body
                  title: Body
                  type: string
                cc:
                  description: Anyone that should be cc'ed on the email
                  title: Cc
                  type: string
                from:
                  description: From email address
                  title: From
                  type: string
                from_name:
                  description: From name
                  title: From Name
                  type: string
                reply_to:
                  description: The reply to
                  title: Reply To
                  type: string
                subject:
                  description: The email subject
                  title: Subject
                  type: string
              required:
                - body
                - subject
              title: Product Specific Email
              type: object
            type:
              enum:
                - product specific
                - shared
              title: Type
              type: string
          title: Product Confirmation Email Options
          type: object
        publish_to_portal:
          description: Whether or not this product should be available in the portal
          title: Publish To Portal
          type: boolean
        purchase_limits:
          additionalProperties: false
          properties:
            error_message:
              description: The error message to show
              title: Error Message
              type: string
            maximum:
              description: The maximum
              format: float
              title: Maximum
              type: number
            relative_time_window:
              additionalProperties: false
              description: the time window
              oneOf:
                - x-required: true
              properties:
                number:
                  description: The unit of time
                  format: float
                  minimum: 0
                  oneOf:
                    - {}
                  title: Number
                  type: number
                position:
                  description: How the unit relates to the reference date
                  enum:
                    - after
                    - before
                    - 'on'
                  title: Position
                  type: string
                relative_to:
                  enum:
                    - the beginning of the month
                    - the beginning of the quarter
                    - the beginning of the week
                    - the beginning of the year
                    - the end of the month
                    - the end of the quarter
                    - the end of the week
                    - the end of the year
                    - the reference date
                  title: Relative To
                  type: string
                unit_of_time:
                  enum:
                    - days
                    - months
                    - weeks
                    - years
                  oneOf:
                    - {}
                  title: Unit Of Time
                  type: string
              required:
                - number
                - position
                - relative_to
                - unit_of_time
              title: Relative Time Window
              type: object
            time_period:
              enum:
                - all time
                - sliding time window
              title: Time Period
              type: string
            type:
              enum:
                - per customer
              title: Type
              type: string
          required:
            - maximum
            - time_period
            - type
          title: Purchase Limits
          type: object
        purchasing_eligibility_criteria:
          title: Purchasing Eligibility Criteria
          type: object
        special_prices:
          items:
            additionalProperties: false
            properties:
              criteria:
                title: Criteria
                type: object
              enable_formula:
                description: >-
                  if set, a formula is used to calculate the price. If the
                  formula fails, the price is used
                title: Enable Formula
                type: boolean
              formula:
                description: The formula evaluated using the expr-eval npm package
                oneOf:
                  - x-required: true
                title: Formula
                type: string
              name:
                title: Name
                type: string
              price:
                format: float
                title: Price
                type: number
            required:
              - criteria
              - price
            type: object
          minItems: 1
          type: array
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        tasks_to_generate:
          items:
            additionalProperties: false
            properties:
              assignee_type:
                enum:
                  - assignment role
                  - queue
                  - user
                title: Assignee Type
                type: string
              assignment_role_id:
                description: The assignment role that should receive the ask
                oneOf:
                  - x-required: true
                title: Assignment Role
                type: string
              description:
                description: A description
                title: Description
                type: string
              due_date_type:
                description: Whether there is a due date
                enum:
                  - none
                  - relative date
                  - specific date
                title: Due Date Type
                type: string
              name:
                description: The name of the task
                title: Name
                type: string
              notify_assignees:
                description: Notify assignee when the task is created
                title: Notify Assignees
                type: boolean
              priority:
                enum:
                  - high
                  - low
                  - normal
                  - urgent
                title: Priority
                type: string
              queue_id:
                description: The queue that should be assigned the ask
                oneOf:
                  - x-required: true
                title: Queue
                type: string
              relative_due_date:
                additionalProperties: false
                description: The date the task is due
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Due Date
                type: object
              specific_due_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Specific Due Date
                type: string
              type_id:
                description: The type of task
                title: Type
                type: string
              user_id:
                description: The user that should be assigned the ask
                oneOf:
                  - x-required: true
                title: User
                type: string
            required:
              - assignee_type
              - due_date_type
              - name
              - type_id
            type: object
          type: array
        type:
          description: The product type
          enum:
            - membership-chapter-dues-products
          title: Type
          type: string
      required:
        - bulk_pricing_rules
        - bundled_products
        - business_unit_id
        - chapter_id
        - coupon_codes
        - custom_pricing_options
        - dues_proration
        - id
        - installment_plan_options
        - name
        - price
        - product_confirmation_email_options
        - purchase_limits
        - special_prices
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    ChapterSearchParameters:
      additionalProperties: false
      properties:
        city:
          description: City to search
          title: City
          type: string
        id:
          description: IDs to search
          items:
            type: string
          title: ID
          type: array
        is_active:
          items:
            type: boolean
          title: Is Active
          type: array
        name:
          title: Name
          type: string
        state:
          description: The state
          title: State
          type: string
        type_id:
          description: Types to search
          items:
            type: string
          title: Type
          type: array
      type: object
    ChapterSearchResults:
      additionalProperties: false
      properties:
        city:
          description: City to search
          title: City
          type: string
        id:
          title: ID
          type: string
        is_active:
          title: Is Active
          type: boolean
        name:
          title: Name
          type: string
        state:
          description: The state
          title: State
          type: string
        type_id:
          title: Type
          type: string
      type: object
    ChapterType:
      additionalProperties: false
      properties:
        allowed_membership_type_ids:
          description: The ids of membership types that are allowed to join this chapter
          items:
            type: string
          minItems: 1
          title: Allowed Membership Types
          type: array
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        id:
          description: The unique, string identifier of this chapter type
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether or not this is an active chapter type
          title: Is Active
          type: boolean
        name:
          description: The name of the chapter type
          title: Name
          type: string
        restrict_membership_types:
          description: When set, only certain membership types can join this chapter
          title: Restrict Membership Types
          type: boolean
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
      required:
        - allowed_membership_type_ids
        - id
        - name
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    Coupon:
      additionalProperties: false
      properties:
        add_on_products_discount_info:
          additionalProperties: false
          properties:
            add_on_ids:
              description: The add ons
              items:
                type: string
              title: Add Ons
              type: array
            add_on_type_ids:
              description: The add on type IDs
              items:
                type: string
              title: Add On Types
              type: array
            amount:
              format: float
              title: Amount
              type: number
            method:
              enum:
                - amount
                - percentage
              title: Method
              type: string
          required:
            - amount
          title: Add On Products Discount Info
          type: object
        applies_to:
          enum:
            - both
            - new members
            - renewing members
          title: Applies To
          type: string
        apply_to_add_on_products:
          description: This coupon should be applied to membership add on products
          title: Apply To Add On Products
          type: boolean
        apply_to_chapter_dues:
          description: This coupon should be applied to chapter dues
          title: Apply To Chapter Dues
          type: boolean
        apply_to_membership_packages:
          description: This coupon should be applied to membership packages
          title: Apply To Membership Packages
          type: boolean
        apply_to_section_dues:
          description: This coupon should be applied to section dues
          title: Apply To Section Dues
          type: boolean
        chapter_dues_discount_info:
          additionalProperties: false
          properties:
            amount:
              format: float
              title: Amount
              type: number
            chapter_ids:
              description: The chapter IDs
              items:
                type: string
              title: Chapters
              type: array
            chapter_type_ids:
              description: The chapter types
              items:
                type: string
              title: Chapter Types
              type: array
            maximum_number_of_chapters:
              description: 'The maximum # of chapters to apply this discount'
              format: float
              title: Maximum Number Of Chapters
              type: number
            method:
              enum:
                - amount
                - percentage
              title: Method
              type: string
          required:
            - amount
          title: Chapter Dues Discount Info
          type: object
        code_generation_html:
          description: HTML you can add into HTML generation for the code
          title: Code Generation Html
          type: string
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        discount_method:
          enum:
            - discount line item
            - inline discount
          title: Discount Method
          type: string
        discount_product_id:
          title: Discount Product
          type: string
        id:
          description: The unique, string identifier of this coupon
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether or not this coupon is active
          title: Is Active
          type: boolean
        maximum_discount:
          description: >-
            The optional maximum discount that this coupon can yield,
            irrespective of its configuration
          format: float
          title: Maximum Discount
          type: number
        membership_package_discount_info:
          additionalProperties: false
          properties:
            amount:
              format: float
              title: Amount
              type: number
            method:
              enum:
                - amount
                - percentage
              title: Method
              type: string
            package_ids:
              description: The package IDs to which this discount should apply
              items:
                type: string
              title: Packages
              type: array
            type_ids:
              description: The membership type IDs to which this discount should apply
              items:
                type: string
              title: Types
              type: array
          required:
            - amount
          title: Membership Package Discount Info
          type: object
        name:
          description: The name of the coupon
          title: Name
          type: string
        section_dues_discount_info:
          additionalProperties: false
          properties:
            amount:
              format: float
              title: Amount
              type: number
            maximum_number_of_sections:
              description: 'The maximum # of sections to apply this discount'
              format: float
              title: Maximum Number Of Sections
              type: number
            method:
              enum:
                - amount
                - percentage
              title: Method
              type: string
            section_ids:
              description: The section IDs
              items:
                type: string
              title: Sections
              type: array
            section_type_ids:
              description: The section types
              items:
                type: string
              title: Section Types
              type: array
          required:
            - amount
          title: Section Dues Discount Info
          type: object
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
      required:
        - add_on_products_discount_info
        - applies_to
        - chapter_dues_discount_info
        - discount_method
        - discount_product_id
        - id
        - membership_package_discount_info
        - name
        - section_dues_discount_info
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    CustomFieldValue:
      additionalProperties: false
      properties:
        boolean_value:
          description: The boolean value
          title: Boolean Value
          type: boolean
        custom_field_id:
          description: The unique identifier of the custom field
          title: Custom Field
          type: string
        file_url_value:
          description: The pointer to a file value
          title: File Url Value
          type: string
        list_value:
          description: The list value
          items:
            type: string
          title: List Value
          type: array
        numeric_value:
          description: The numeric value
          format: float
          title: Numeric Value
          type: number
        string_value:
          description: The string value of the custom field
          title: String Value
          type: string
        table_value:
          description: A list of objects (a table)
          items:
            additionalProperties: false
            properties: {}
            type: object
          type: array
      type: object
    Directory:
      additionalProperties: false
      properties:
        additional_fields:
          description: >-
            These are additional fields that should be in the directory query,
            which will be available in the search results
          items:
            type: string
          title: Additional Fields
          type: array
        comment_options:
          additionalProperties: false
          properties:
            comments_header_text:
              description: The text shown in the header of the comments section
              title: Comments Header Text
              type: string
            comments_instructions:
              description: Instructions given to those submitting comments
              title: Comments Instructions
              type: string
            comments_placeholder_text:
              description: The placeholder text for the comments
              title: Comments Placeholder Text
              type: string
            enable_ratings:
              description: If set, users can rate
              title: Enable Ratings
              type: boolean
            hide_submitter_name:
              description: If set, comment submitter names are hidden from the directory
              title: Hide Submitter Name
              type: boolean
            leave_comment_button_text:
              description: The button text for Leave Comment
              title: Leave Comment Button Text
              type: string
            max_rating:
              description: The maximum rating
              format: float
              maximum: 10
              minimum: 1
              oneOf:
                - x-required: true
              title: Max Rating
              type: number
            no_comments_text:
              description: The text shown when no comments are present
              title: No Comments Text
              type: string
            rating_label:
              description: The label for the rating
              title: Rating Label
              type: string
            save_comment_button:
              description: The button text for saving a comment
              title: Save Comment Button
              type: string
          title: Comment Options
          type: object
        custom_directory_entry_template:
          title: Custom Directory Entry Template
          type: string
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        custom_query_type_id:
          title: Custom Query Type
          type: string
        custom_search_results_template:
          title: Custom Search Results Template
          type: string
        custom_sort_fields:
          items:
            additionalProperties: false
            properties:
              descending:
                title: Descending
                type: boolean
              name:
                title: Name
                type: string
            required:
              - name
            type: object
          minItems: 1
          type: array
        directory_entry_mode:
          enum:
            - custom
            - do not show
            - use default
          title: Directory Entry Mode
          type: string
        display_mode:
          description: The way that the directory should be displayed
          enum:
            - list
            - search
          title: Display Mode
          type: string
        downstream_member_options:
          additionalProperties: false
          properties:
            expression:
              description: >-
                The expression to use to determine which expression appear in
                the directory
              oneOf:
                - x-required: true
              title: Expression
              type: string
            filter_type:
              enum:
                - expression
                - none
                - rule
              title: Filter Type
              type: string
            rules:
              title: Rules
              type: object
          required:
            - filter_type
          title: Downstream Member Options
          type: object
        eligibility_criteria:
          additionalProperties: false
          description: The criteria to use
          properties:
            advanced_rule_error_message:
              description: The error message to show when the advanced rule fails
              title: Advanced Rule Error Message
              type: string
            advanced_rules:
              title: Advanced Rules
              type: object
            age_restrictions:
              additionalProperties: false
              properties:
                maximum_age:
                  description: The maximum age of the contact
                  format: float
                  title: Maximum Age
                  type: number
                minimum_age:
                  description: The minimum age of the contact
                  format: float
                  title: Minimum Age
                  type: number
              title: Age Restrictions
              type: object
            award_options:
              additionalProperties: false
              properties:
                award_ids:
                  items:
                    type: string
                  title: Awards
                  type: array
                award_type_ids:
                  items:
                    type: string
                  title: Award Types
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
              title: Award Options
              type: object
            award_recipients:
              description: If set, only people who have received awards
              title: Award Recipients
              type: boolean
            by_location:
              description: If true, then filter by location
              title: By Location
              type: boolean
            certificants:
              description: If set, only people with specific certifications
              title: Certificants
              type: boolean
            certification_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
                program_ids:
                  items:
                    type: string
                  title: Programs
                  type: array
              title: Certification Options
              type: object
            committee_member_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                committee_ids:
                  items:
                    type: string
                  title: Committees
                  type: array
                committee_position_ids:
                  items:
                    type: string
                  title: Committee Positions
                  type: array
                committee_type_ids:
                  items:
                    type: string
                  title: Committee Types
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
              title: Committee Member Options
              type: object
            committee_members:
              description: If set, active members who belong to a committee can purchase
              title: Committee Members
              type: boolean
            custom_logic_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                lambda_function_id:
                  description: The custom lambda function to use
                  title: Lambda Function
                  type: string
              required:
                - lambda_function_id
              title: Custom Logic Options
              type: object
            customer_type:
              enum:
                - contact
                - organization
              title: Customer Type
              type: string
            donor_options:
              additionalProperties: false
              properties:
                donor_club_ids:
                  items:
                    type: string
                  title: Donor Clubs
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
              title: Donor Options
              type: object
            donors:
              description: If true, only donors
              title: Donors
              type: boolean
            enable_advanced_rules:
              description: Enable advanced JSON rules
              title: Enable Advanced Rules
              type: boolean
            enable_age_restrictions:
              description: Age registrations
              title: Enable Age Restrictions
              type: boolean
            enable_custom_logic:
              description: >-
                If set, the order engine will call out to a custom lambda
                function to process/change the order immediately after bundle
                expansion
              title: Enable Custom Logic
              type: boolean
            enable_entitlement_restrictions:
              description: If set, then you must have certain entitlements
              title: Enable Entitlement Restrictions
              type: boolean
            enable_expression:
              description: Whether or not to enable an expression for evaluation
              title: Enable Expression
              type: boolean
            enable_organization_restrictions:
              description: If set, you can restrict organizations
              title: Enable Organization Restrictions
              type: boolean
            enable_status_restriction:
              description: If set, you can restrict by status
              title: Enable Status Restriction
              type: boolean
            entitlement_restrictions:
              items:
                additionalProperties: false
                properties:
                  quantity:
                    description: The quantity you must have
                    format: float
                    title: Quantity
                    type: number
                  type_id:
                    description: The type of entitlement
                    title: Type
                    type: string
                required:
                  - type_id
                type: object
              type: array
            event_registration_options:
              additionalProperties: false
              properties:
                event_ids:
                  items:
                    type: string
                  title: Events
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
                registration_category_ids:
                  items:
                    type: string
                  title: Registration Categories
                  type: array
              title: Event Registration Options
              type: object
            event_registrations:
              description: If set, only people who have registered for events
              title: Event Registrations
              type: boolean
            expression:
              description: The expression
              title: Expression
              type: string
            expression_error_message:
              description: The error message to show when the expression fails
              title: Expression Error Message
              type: string
            location:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                countries:
                  description: Countries
                  items:
                    type: string
                  title: Countries
                  type: array
                negate_logic:
                  description: >-
                    If true, the logic in this section is negated; so NOT from
                    these places
                  title: Negate Logic
                  type: boolean
              title: Location
              type: object
            logic_operator:
              enum:
                - and
                - not
              title: Logic Operator
              type: string
            member_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                chapter_member_options:
                  additionalProperties: false
                  oneOf:
                    - x-required: true
                  properties:
                    chapter_ids:
                      items:
                        type: string
                      title: Chapters
                      type: array
                    chapter_type_ids:
                      items:
                        type: string
                      title: Chapter Types
                      type: array
                    logic_operator:
                      enum:
                        - and
                        - not
                      title: Logic Operator
                      type: string
                  title: Chapter Member Options
                  type: object
                chapter_members:
                  description: If set, active members who belong to a chapter can purchase
                  title: Chapter Members
                  type: boolean
                member_package_ids:
                  description: The member package
                  items:
                    type: string
                  title: Member Packages
                  type: array
                member_status_reason_ids:
                  items:
                    type: string
                  title: Member Status Reasons
                  type: array
                member_statuses:
                  items:
                    enum:
                      - active
                      - inactive
                      - suspended
                    type: string
                  title: Member Statuses
                  type: array
                member_type_ids:
                  description: The member types
                  items:
                    type: string
                  title: Member Types
                  type: array
                section_member_options:
                  additionalProperties: false
                  oneOf:
                    - x-required: true
                  properties:
                    logic_operator:
                      enum:
                        - and
                        - not
                      title: Logic Operator
                      type: string
                    section_ids:
                      items:
                        type: string
                      title: Sections
                      type: array
                    section_type_ids:
                      items:
                        type: string
                      title: Section Types
                      type: array
                  title: Section Member Options
                  type: object
                section_members:
                  description: If set, active members who belong to a section can purchase
                  title: Section Members
                  type: boolean
              title: Member Options
              type: object
            members:
              description: If set, active members can purchase this
              title: Members
              type: boolean
            non_members:
              description: If set, only nonmembers can purchase
              title: Non Members
              type: boolean
            organization_restrictions:
              additionalProperties: false
              properties:
                contact_role_ids:
                  items:
                    type: string
                  title: Contact Roles
                  type: array
                organization_type_ids:
                  items:
                    type: string
                  title: Organization Types
                  type: array
              title: Organization Restrictions
              type: object
            status_restrictions:
              description: The statuses
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Restrictions
              type: array
            use_organization_for_eligibility:
              description: >-
                If checked, a person's organization is used to check for
                eligibility, rather than the person themselves
              title: Use Organization For Eligibility
              type: boolean
          title: Eligibility Criteria
          type: object
        enable_comments:
          description: If set, users are allowed to submit comments in the directory
          title: Enable Comments
          type: boolean
        enable_custom_search_results_template:
          description: If set, a custom search results template is displayed
          title: Enable Custom Search Results Template
          type: boolean
        enable_custom_sorting:
          description: >-
            If true, the directory results will be sorted differently that the
            query
          title: Enable Custom Sorting
          type: boolean
        enable_eligibility_criteria:
          description: If set, only certain people can access this directory
          title: Enable Eligibility Criteria
          type: boolean
        enable_messaging:
          description: >-
            When true, users are able to contact other users through the
            directory
          title: Enable Messaging
          type: boolean
        enable_query_expression_filter:
          description: >-
            If set to true, an expression can be used to further filter the
            query
          title: Enable Query Expression Filter
          type: boolean
        enable_query_filter:
          description: >-
            If set to true, the directory can display a subset of records based
            on the provided filter. If false, the default filter is used
          title: Enable Query Filter
          type: boolean
        enable_radius_search:
          description: If true, the user can search across zip code radius
          title: Enable Radius Search
          type: boolean
        id:
          description: The unique, string identifier of this directory
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether or not this directory is active
          title: Is Active
          type: boolean
        is_public:
          description: >-
            If true, this is a public directory that can be accessed without
            security
          title: Is Public
          type: boolean
        name:
          description: The name of the directory
          title: Name
          type: string
        page_size:
          description: >-
            The page size, used for server side page and to combat scraping
            attacks
          format: float
          maximum: 50
          minimum: 1
          title: Page Size
          type: number
        query_filter_expression:
          description: The expression to use to filter the directory
          title: Query Filter Expression
          type: string
        query_filter_rules:
          title: Query Filter Rules
          type: object
        radius_search_options:
          additionalProperties: false
          properties:
            postal_code_field:
              description: The field to use as the basis for a radius search
              title: Postal Code Field
              type: string
            radius_options:
              description: The various default radius that can be selected
              items:
                format: float
                type: number
              minItems: 1
              title: Radius Options
              type: array
          required:
            - postal_code_field
            - radius_options
          title: Radius Search Options
          type: object
        refresh_period:
          description: >-
            The period of time (in minutes) after which the directory should
            refresh it self
          format: float
          minimum: 5
          title: Refresh Period
          type: number
        searchable_fields:
          description: The fields in the directory that are displayed as search criteria
          items:
            additionalProperties: false
            properties:
              group_name:
                description: The group/display label
                title: Group Name
                type: string
              label:
                description: The label that the field should be displayed
                title: Label
                type: string
              name:
                description: The field name
                title: Name
                type: string
            required:
              - name
            type: object
          minItems: 1
          type: array
        show_downstream_members:
          description: If true, downstream members are included in directory entries
          title: Show Downstream Members
          type: boolean
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        type:
          description: The type of members being queried
          enum:
            - all
            - custom
            - downstream
            - principal
          title: Type
          type: string
      required:
        - custom_directory_entry_template
        - custom_query_type_id
        - custom_search_results_template
        - custom_sort_fields
        - downstream_member_options
        - eligibility_criteria
        - id
        - name
        - query_filter_expression
        - radius_search_options
        - searchable_fields
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
        - type
      type: object
    DirectoryMessage:
      additionalProperties: false
      properties:
        bcc:
          description: Anyone that should be bcc'ed on the email
          title: Bcc
          type: string
        body:
          description: The email body
          title: Body
          type: string
        cc:
          description: Anyone that should be cc'ed on the email
          title: Cc
          type: string
        from:
          description: From email address
          title: From
          type: string
        from_name:
          description: From name
          title: From Name
          type: string
        reply_to:
          description: The reply to
          title: Reply To
          type: string
        subject:
          description: The email subject
          title: Subject
          type: string
      required:
        - body
        - subject
      type: object
    DirectorySearchCriteria:
      additionalProperties: false
      properties:
        criteria:
          title: Criteria
          type: object
        page:
          description: The page being requested
          format: float
          title: Page
          type: number
        radius_search:
          additionalProperties: false
          properties:
            postal_code:
              title: Postal Code
              type: string
            radius:
              format: float
              minimum: 1
              title: Radius
              type: number
          required:
            - postal_code
            - radius
          title: Radius Search
          type: object
      type: object
    DirectorySearchResults:
      additionalProperties: false
      properties:
        fields:
          items:
            additionalProperties: false
            properties:
              label:
                title: Label
                type: string
              name:
                title: Name
                type: string
              type:
                title: Type
                type: string
            type: object
          type: array
        query:
          additionalProperties: false
          properties: {}
          title: Query
          type: object
        rows:
          items:
            type: object
          type: array
        sql:
          title: Sql
          type: string
        target_service:
          description: The target service of the query
          title: Target Service
          type: string
        totalNumberOfRows:
          format: float
          title: Totalnumberofrows
          type: number
      type: object
    Election:
      additionalProperties: false
      properties:
        chapter_id:
          title: Chapter
          type: string
        close_date:
          description: The date during which the election should close
          format: date-time
          title: Close Date
          type: string
        committee_id:
          description: The committee tied to this election
          title: Committee
          type: string
        eligibility_criteria:
          additionalProperties: false
          description: The criteria to use
          properties:
            advanced_rule_error_message:
              description: The error message to show when the advanced rule fails
              title: Advanced Rule Error Message
              type: string
            advanced_rules:
              title: Advanced Rules
              type: object
            age_restrictions:
              additionalProperties: false
              properties:
                maximum_age:
                  description: The maximum age of the contact
                  format: float
                  title: Maximum Age
                  type: number
                minimum_age:
                  description: The minimum age of the contact
                  format: float
                  title: Minimum Age
                  type: number
              title: Age Restrictions
              type: object
            award_options:
              additionalProperties: false
              properties:
                award_ids:
                  items:
                    type: string
                  title: Awards
                  type: array
                award_type_ids:
                  items:
                    type: string
                  title: Award Types
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
              title: Award Options
              type: object
            award_recipients:
              description: If set, only people who have received awards
              title: Award Recipients
              type: boolean
            by_location:
              description: If true, then filter by location
              title: By Location
              type: boolean
            certificants:
              description: If set, only people with specific certifications
              title: Certificants
              type: boolean
            certification_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
                program_ids:
                  items:
                    type: string
                  title: Programs
                  type: array
              title: Certification Options
              type: object
            committee_member_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                committee_ids:
                  items:
                    type: string
                  title: Committees
                  type: array
                committee_position_ids:
                  items:
                    type: string
                  title: Committee Positions
                  type: array
                committee_type_ids:
                  items:
                    type: string
                  title: Committee Types
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
              title: Committee Member Options
              type: object
            committee_members:
              description: If set, active members who belong to a committee can purchase
              title: Committee Members
              type: boolean
            custom_logic_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                lambda_function_id:
                  description: The custom lambda function to use
                  title: Lambda Function
                  type: string
              required:
                - lambda_function_id
              title: Custom Logic Options
              type: object
            customer_type:
              enum:
                - contact
                - organization
              title: Customer Type
              type: string
            donor_options:
              additionalProperties: false
              properties:
                donor_club_ids:
                  items:
                    type: string
                  title: Donor Clubs
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
              title: Donor Options
              type: object
            donors:
              description: If true, only donors
              title: Donors
              type: boolean
            enable_advanced_rules:
              description: Enable advanced JSON rules
              title: Enable Advanced Rules
              type: boolean
            enable_age_restrictions:
              description: Age registrations
              title: Enable Age Restrictions
              type: boolean
            enable_custom_logic:
              description: >-
                If set, the order engine will call out to a custom lambda
                function to process/change the order immediately after bundle
                expansion
              title: Enable Custom Logic
              type: boolean
            enable_entitlement_restrictions:
              description: If set, then you must have certain entitlements
              title: Enable Entitlement Restrictions
              type: boolean
            enable_expression:
              description: Whether or not to enable an expression for evaluation
              title: Enable Expression
              type: boolean
            enable_organization_restrictions:
              description: If set, you can restrict organizations
              title: Enable Organization Restrictions
              type: boolean
            enable_status_restriction:
              description: If set, you can restrict by status
              title: Enable Status Restriction
              type: boolean
            entitlement_restrictions:
              items:
                additionalProperties: false
                properties:
                  quantity:
                    description: The quantity you must have
                    format: float
                    title: Quantity
                    type: number
                  type_id:
                    description: The type of entitlement
                    title: Type
                    type: string
                required:
                  - type_id
                type: object
              type: array
            event_registration_options:
              additionalProperties: false
              properties:
                event_ids:
                  items:
                    type: string
                  title: Events
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
                registration_category_ids:
                  items:
                    type: string
                  title: Registration Categories
                  type: array
              title: Event Registration Options
              type: object
            event_registrations:
              description: If set, only people who have registered for events
              title: Event Registrations
              type: boolean
            expression:
              description: The expression
              title: Expression
              type: string
            expression_error_message:
              description: The error message to show when the expression fails
              title: Expression Error Message
              type: string
            location:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                countries:
                  description: Countries
                  items:
                    type: string
                  title: Countries
                  type: array
                negate_logic:
                  description: >-
                    If true, the logic in this section is negated; so NOT from
                    these places
                  title: Negate Logic
                  type: boolean
              title: Location
              type: object
            logic_operator:
              enum:
                - and
                - not
              title: Logic Operator
              type: string
            member_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                chapter_member_options:
                  additionalProperties: false
                  oneOf:
                    - x-required: true
                  properties:
                    chapter_ids:
                      items:
                        type: string
                      title: Chapters
                      type: array
                    chapter_type_ids:
                      items:
                        type: string
                      title: Chapter Types
                      type: array
                    logic_operator:
                      enum:
                        - and
                        - not
                      title: Logic Operator
                      type: string
                  title: Chapter Member Options
                  type: object
                chapter_members:
                  description: If set, active members who belong to a chapter can purchase
                  title: Chapter Members
                  type: boolean
                member_package_ids:
                  description: The member package
                  items:
                    type: string
                  title: Member Packages
                  type: array
                member_status_reason_ids:
                  items:
                    type: string
                  title: Member Status Reasons
                  type: array
                member_statuses:
                  items:
                    enum:
                      - active
                      - inactive
                      - suspended
                    type: string
                  title: Member Statuses
                  type: array
                member_type_ids:
                  description: The member types
                  items:
                    type: string
                  title: Member Types
                  type: array
                section_member_options:
                  additionalProperties: false
                  oneOf:
                    - x-required: true
                  properties:
                    logic_operator:
                      enum:
                        - and
                        - not
                      title: Logic Operator
                      type: string
                    section_ids:
                      items:
                        type: string
                      title: Sections
                      type: array
                    section_type_ids:
                      items:
                        type: string
                      title: Section Types
                      type: array
                  title: Section Member Options
                  type: object
                section_members:
                  description: If set, active members who belong to a section can purchase
                  title: Section Members
                  type: boolean
              title: Member Options
              type: object
            members:
              description: If set, active members can purchase this
              title: Members
              type: boolean
            non_members:
              description: If set, only nonmembers can purchase
              title: Non Members
              type: boolean
            organization_restrictions:
              additionalProperties: false
              properties:
                contact_role_ids:
                  items:
                    type: string
                  title: Contact Roles
                  type: array
                organization_type_ids:
                  items:
                    type: string
                  title: Organization Types
                  type: array
              title: Organization Restrictions
              type: object
            status_restrictions:
              description: The statuses
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Restrictions
              type: array
            use_organization_for_eligibility:
              description: >-
                If checked, a person's organization is used to check for
                eligibility, rather than the person themselves
              title: Use Organization For Eligibility
              type: boolean
          title: Eligibility Criteria
          type: object
        enable_eligibility_criteria:
          description: >-
            If true, eligibility criteria determines whether this election is
            available
          title: Enable Eligibility Criteria
          type: boolean
        id:
          description: The unique, string identifier of this election
          pattern: ^[\w:|-]+$
          title: ID
          type: string
        measures:
          items:
            additionalProperties: false
            properties:
              description:
                description: A description of the measure to be approved
                title: Description
                type: string
              id:
                description: The ID of the measure
                title: ID
                type: string
              name:
                description: The measure
                title: Name
                type: string
            required:
              - description
              - id
              - name
            type: object
          type: array
        name:
          description: The name of the election
          title: Name
          type: string
        open_date:
          description: The date during which the election should be open
          format: date-time
          title: Open Date
          type: string
        positions:
          items:
            additionalProperties: false
            properties:
              candidates:
                items:
                  additionalProperties: false
                  properties:
                    contact_id:
                      description: The contact
                      title: Contact
                      type: string
                    final_vote_count:
                      description: If certified, the final vote count
                      format: float
                      title: Final Vote Count
                      type: number
                    name_on_ballot:
                      description: The name of the candidate, as it appears on the ballot
                      title: Name On Ballot
                      type: string
                  required:
                    - contact_id
                    - name_on_ballot
                  type: object
                type: array
              position_id:
                description: The position
                title: Position
                type: string
            required:
              - position_id
            type: object
          type: array
        section_id:
          title: Section
          type: string
        show_in_portal:
          description: Whether to show this election in the portal
          title: Show In Portal
          type: boolean
        status:
          enum:
            - active
            - cancelled
            - certified
            - draft
          title: Status
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        type:
          description: The type of election
          enum:
            - chapter
            - national
            - section
          title: Type
          type: string
      required:
        - chapter_id
        - close_date
        - committee_id
        - eligibility_criteria
        - id
        - name
        - open_date
        - section_id
        - status
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
        - type
      type: object
    FindNearestChaptersResult:
      items:
        additionalProperties: false
        properties:
          address:
            $ref: '#/components/schemas/Address'
          distance:
            format: float
            type: number
          id:
            type: string
          name:
            type: string
          type_id:
            type: string
        type: object
      type: array
    GroupApplicationProcess:
      additionalProperties: false
      properties:
        account_delegation_process_id:
          description: >-
            If set, the process used for account deletion if the group admin
            wants to join/renew members they do not own
          title: Account Delegation Process
          type: string
        checkout_settings:
          additionalProperties: false
          properties:
            allow_customer_to_choose_installment_plan:
              description: If true, the customer can choose their installment plan
              title: Allow Customer To Choose Installment Plan
              type: boolean
            bank_account_id:
              description: >-
                The default bank account that the store should use to receive
                payments
              title: Bank Account
              type: string
            bill_my_organization_options:
              additionalProperties: false
              properties:
                billing_address:
                  enum:
                    - do not show
                    - optional
                    - required
                  title: Billing Address
                  type: string
                purchase_order_number:
                  enum:
                    - do not show
                    - optional
                    - required
                  title: Purchase Order Number
                  type: string
                reference_number:
                  description: 'The reference #'
                  title: Reference Number
                  type: string
              title: Bill My Organization Options
              type: object
            bill_my_parent_organization_options:
              additionalProperties: false
              properties:
                billing_address:
                  enum:
                    - do not show
                    - optional
                    - required
                  title: Billing Address
                  type: string
                purchase_order_number:
                  enum:
                    - do not show
                    - optional
                    - required
                  title: Purchase Order Number
                  type: string
                reference_number:
                  description: 'The reference #'
                  title: Reference Number
                  type: string
              title: Bill My Parent Organization Options
              type: object
            business_unit_id:
              description: The business unit of the store
              title: Business Unit
              type: string
            cancellation_fee_product_id:
              description: The ID of the product used for cancellation fees
              title: Cancellation Fee Product
              type: string
            checkout_donation_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                simple_checkout_donation_options:
                  additionalProperties: false
                  oneOf:
                    - x-required: true
                  properties:
                    allow_user_to_specify_custom_amount:
                      description: If set, the user can specify their own custom donation
                      title: Allow User To Specify Custom Amount
                      type: boolean
                    donation_ask_text:
                      description: The text shown to the user when making the donation
                      title: Donation Ask Text
                      type: string
                    donation_denominations:
                      items:
                        format: double
                        type: number
                      title: Donation Denominations
                      type: array
                    donation_information:
                      description: Additional information about the donation
                      title: Donation Information
                      type: string
                    donation_product_id:
                      description: The misc product that should be used
                      title: Donation Product
                      type: string
                    override_donation_denominations:
                      description: >-
                        If set, donation denominations are specified here and
                        the defaults are not used
                      title: Override Donation Denominations
                      type: boolean
                    suggested_donation:
                      description: A suggested donation
                      format: double
                      title: Suggested Donation
                      type: number
                  required:
                    - donation_product_id
                  title: Simple Checkout Donation Options
                  type: object
                type:
                  enum:
                    - simple
                  title: Type
                  type: string
              title: Checkout Donation Options
              type: object
            credit_card_minimum_range_end:
              description: If set, the maximum amount for which credit cards can be taken
              format: float
              title: Credit Card Minimum Range End
              type: number
            credit_card_minimum_range_start:
              description: If set, the minimum amount for which credit cards can be taken
              format: float
              title: Credit Card Minimum Range Start
              type: number
            credit_card_mode:
              description: Determines whether or not credit cards are accepted
              enum:
                - disabled
                - enabled
                - range
              title: Credit Card Mode
              type: string
            credit_card_processing_fee_mode:
              description: Determines how credit card processing fees should be handled
              enum:
                - charge
                - do not charge
                - prompt user
              title: Credit Card Processing Fee Mode
              type: string
            credit_card_processing_fee_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                fee_percentage:
                  description: 'The fee percentage to charge for credit card processing '
                  format: float
                  title: Fee Percentage
                  type: number
                maximum_fee:
                  description: >-
                    The maximum amount to charge. If the fee comes out to be
                    MORE than this, than this amount will be charged
                  format: float
                  title: Maximum Fee
                  type: number
                minimum_fee:
                  description: >-
                    The minimum amount to charge. If the fee comes out to be
                    less than this, than this amount will be charged
                  format: float
                  title: Minimum Fee
                  type: number
                product_id:
                  description: The misc product to use for the credit card processing
                  title: Product
                  type: string
                prompt_sub_text:
                  description: >-
                    Additional text that is shown to the user when asking if
                    they want to pay for credit card processing fees. If not set
                    a default will be used
                  title: Prompt Sub Text
                  type: string
                prompt_text:
                  description: >-
                    The checkbox text to show the user when asking if they want
                    to pay for credit card processing fees. If not set a default
                    will be used
                  title: Prompt Text
                  type: string
              required:
                - fee_percentage
                - product_id
              title: Credit Card Processing Fee Options
              type: object
            custom_order_preprocessing_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                lambda_function_id:
                  description: The custom lambda function to use
                  title: Lambda Function
                  type: string
              required:
                - lambda_function_id
              title: Custom Order Preprocessing Options
              type: object
            custom_order_pricing_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                lambda_function_id:
                  description: The custom lambda function to use
                  title: Lambda Function
                  type: string
              required:
                - lambda_function_id
              title: Custom Order Pricing Options
              type: object
            disable_electronic_payment_vaulting:
              description: >-
                If set, in the portal people are not allowed to save credit
                cards
              title: Disable Electronic Payment Vaulting
              type: boolean
            enable_bill_my_organization:
              description: If set, the user has the option to bill their organization
              title: Enable Bill My Organization
              type: boolean
            enable_bill_my_parent_organization:
              description: >-
                If set, the user has the option to bill their organization's
                parent organization
              title: Enable Bill My Parent Organization
              type: boolean
            enable_custom_order_preprocessing:
              description: >-
                If set, the order engine will call out to a custom lambda
                function to process/change the order immediately after bundle
                expansion
              title: Enable Custom Order Preprocessing
              type: boolean
            enable_custom_order_pricing:
              description: >-
                If set, the order engine will call out to a custom lambda
                function to review the order immediately after pricing
                calculation
              title: Enable Custom Order Pricing
              type: boolean
            enable_donations_at_checkout:
              description: >-
                If selected, users will be prompted to make a donation upon
                checking out
              title: Enable Donations At Checkout
              type: boolean
            enable_electronic_checks:
              description: If set, electronic checks are allowed
              title: Enable Electronic Checks
              type: boolean
            enable_pay_later:
              description: >-
                If set, pay later is enabled on this checkout regardless of
                product settings... if not, the product settings are observed
              title: Enable Pay Later
              type: boolean
            enable_payroll_deduction:
              description: If set, payroll deduction is allowed
              title: Enable Payroll Deduction
              type: boolean
            enable_split_payments:
              description: If set, users are allowed to split payments
              title: Enable Split Payments
              type: boolean
            installment_plan_options:
              items:
                additionalProperties: false
                properties:
                  additional_cost:
                    description: The additional cost of the installment plan
                    format: double
                    title: Additional Cost
                    type: number
                  installment_plan_id:
                    description: The installment plan that this product supports
                    title: Installment Plan
                    type: string
                  is_default:
                    description: Whether this is the default installment plan option
                    title: Is Default
                    type: boolean
                required:
                  - installment_plan_id
                type: object
              minItems: 1
              oneOf:
                - x-required: true
              type: array
            invoice_payment_terms_id:
              description: The payment terms for invoices; if left blank, default is used
              title: Invoice Payment Terms
              type: string
            invoice_template_id:
              description: The template to use for invoices created during this process
              title: Invoice Template
              type: string
            merchant_account_id:
              description: >-
                The merchant account that the store should use to receive
                payments
              title: Merchant Account
              type: string
            pay_later_options:
              additionalProperties: false
              properties:
                billing_address:
                  enum:
                    - do not show
                    - optional
                    - required
                  title: Billing Address
                  type: string
                purchase_order_number:
                  enum:
                    - do not show
                    - optional
                    - required
                  title: Purchase Order Number
                  type: string
                reference_number:
                  description: 'The reference #'
                  title: Reference Number
                  type: string
              title: Pay Later Options
              type: object
            restocking_fee_product_id:
              description: The ID of the product used for restocking fees
              title: Restocking Fee Product
              type: string
            special_instructions:
              description: Instructions shown to the user
              title: Special Instructions
              type: string
            use_pro_forma_invoices:
              description: Whether to use pro forma invoices when user elects to pay later
              title: Use Pro Forma Invoices
              type: boolean
          required:
            - bank_account_id
            - business_unit_id
            - merchant_account_id
          title: Checkout Settings
          type: object
        contact_form_id:
          description: >-
            The contact form to show to group administrators when they are
            registering individuals
          pattern: ^rolodex-contacts__.*
          title: Contact Form
          type: string
        contact_role_ids:
          description: The contact roles that can perform group registration
          items:
            type: string
          title: Contact Roles
          type: array
        description:
          description: Description to display in the portal
          title: Description
          type: string
        display_in_portal:
          description: Whether or not to hide in the portal
          title: Display In Portal
          type: boolean
        display_in_portal_as:
          description: How to display this process in the portal
          title: Display In Portal As
          type: string
        eligibility_criteria:
          additionalProperties: false
          description: The criteria for eligibility
          properties:
            advanced_rule_error_message:
              description: The error message to show when the advanced rule fails
              title: Advanced Rule Error Message
              type: string
            advanced_rules:
              title: Advanced Rules
              type: object
            age_restrictions:
              additionalProperties: false
              properties:
                maximum_age:
                  description: The maximum age of the contact
                  format: float
                  title: Maximum Age
                  type: number
                minimum_age:
                  description: The minimum age of the contact
                  format: float
                  title: Minimum Age
                  type: number
              title: Age Restrictions
              type: object
            award_options:
              additionalProperties: false
              properties:
                award_ids:
                  items:
                    type: string
                  title: Awards
                  type: array
                award_type_ids:
                  items:
                    type: string
                  title: Award Types
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
              title: Award Options
              type: object
            award_recipients:
              description: If set, only people who have received awards
              title: Award Recipients
              type: boolean
            by_location:
              description: If true, then filter by location
              title: By Location
              type: boolean
            certificants:
              description: If set, only people with specific certifications
              title: Certificants
              type: boolean
            certification_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
                program_ids:
                  items:
                    type: string
                  title: Programs
                  type: array
              title: Certification Options
              type: object
            committee_member_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                committee_ids:
                  items:
                    type: string
                  title: Committees
                  type: array
                committee_position_ids:
                  items:
                    type: string
                  title: Committee Positions
                  type: array
                committee_type_ids:
                  items:
                    type: string
                  title: Committee Types
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
              title: Committee Member Options
              type: object
            committee_members:
              description: If set, active members who belong to a committee can purchase
              title: Committee Members
              type: boolean
            custom_logic_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                lambda_function_id:
                  description: The custom lambda function to use
                  title: Lambda Function
                  type: string
              required:
                - lambda_function_id
              title: Custom Logic Options
              type: object
            customer_type:
              enum:
                - contact
                - organization
              title: Customer Type
              type: string
            donor_options:
              additionalProperties: false
              properties:
                donor_club_ids:
                  items:
                    type: string
                  title: Donor Clubs
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
              title: Donor Options
              type: object
            donors:
              description: If true, only donors
              title: Donors
              type: boolean
            enable_advanced_rules:
              description: Enable advanced JSON rules
              title: Enable Advanced Rules
              type: boolean
            enable_age_restrictions:
              description: Age registrations
              title: Enable Age Restrictions
              type: boolean
            enable_custom_logic:
              description: >-
                If set, the order engine will call out to a custom lambda
                function to process/change the order immediately after bundle
                expansion
              title: Enable Custom Logic
              type: boolean
            enable_entitlement_restrictions:
              description: If set, then you must have certain entitlements
              title: Enable Entitlement Restrictions
              type: boolean
            enable_expression:
              description: Whether or not to enable an expression for evaluation
              title: Enable Expression
              type: boolean
            enable_organization_restrictions:
              description: If set, you can restrict organizations
              title: Enable Organization Restrictions
              type: boolean
            enable_status_restriction:
              description: If set, you can restrict by status
              title: Enable Status Restriction
              type: boolean
            entitlement_restrictions:
              items:
                additionalProperties: false
                properties:
                  quantity:
                    description: The quantity you must have
                    format: float
                    title: Quantity
                    type: number
                  type_id:
                    description: The type of entitlement
                    title: Type
                    type: string
                required:
                  - type_id
                type: object
              type: array
            event_registration_options:
              additionalProperties: false
              properties:
                event_ids:
                  items:
                    type: string
                  title: Events
                  type: array
                logic_operator:
                  enum:
                    - and
                    - not
                  title: Logic Operator
                  type: string
                registration_category_ids:
                  items:
                    type: string
                  title: Registration Categories
                  type: array
              title: Event Registration Options
              type: object
            event_registrations:
              description: If set, only people who have registered for events
              title: Event Registrations
              type: boolean
            expression:
              description: The expression
              title: Expression
              type: string
            expression_error_message:
              description: The error message to show when the expression fails
              title: Expression Error Message
              type: string
            location:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                countries:
                  description: Countries
                  items:
                    type: string
                  title: Countries
                  type: array
                negate_logic:
                  description: >-
                    If true, the logic in this section is negated; so NOT from
                    these places
                  title: Negate Logic
                  type: boolean
              title: Location
              type: object
            logic_operator:
              enum:
                - and
                - not
              title: Logic Operator
              type: string
            member_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                chapter_member_options:
                  additionalProperties: false
                  oneOf:
                    - x-required: true
                  properties:
                    chapter_ids:
                      items:
                        type: string
                      title: Chapters
                      type: array
                    chapter_type_ids:
                      items:
                        type: string
                      title: Chapter Types
                      type: array
                    logic_operator:
                      enum:
                        - and
                        - not
                      title: Logic Operator
                      type: string
                  title: Chapter Member Options
                  type: object
                chapter_members:
                  description: If set, active members who belong to a chapter can purchase
                  title: Chapter Members
                  type: boolean
                member_package_ids:
                  description: The member package
                  items:
                    type: string
                  title: Member Packages
                  type: array
                member_status_reason_ids:
                  items:
                    type: string
                  title: Member Status Reasons
                  type: array
                member_statuses:
                  items:
                    enum:
                      - active
                      - inactive
                      - suspended
                    type: string
                  title: Member Statuses
                  type: array
                member_type_ids:
                  description: The member types
                  items:
                    type: string
                  title: Member Types
                  type: array
                section_member_options:
                  additionalProperties: false
                  oneOf:
                    - x-required: true
                  properties:
                    logic_operator:
                      enum:
                        - and
                        - not
                      title: Logic Operator
                      type: string
                    section_ids:
                      items:
                        type: string
                      title: Sections
                      type: array
                    section_type_ids:
                      items:
                        type: string
                      title: Section Types
                      type: array
                  title: Section Member Options
                  type: object
                section_members:
                  description: If set, active members who belong to a section can purchase
                  title: Section Members
                  type: boolean
              title: Member Options
              type: object
            members:
              description: If set, active members can purchase this
              title: Members
              type: boolean
            non_members:
              description: If set, only nonmembers can purchase
              title: Non Members
              type: boolean
            organization_restrictions:
              additionalProperties: false
              properties:
                contact_role_ids:
                  items:
                    type: string
                  title: Contact Roles
                  type: array
                organization_type_ids:
                  items:
                    type: string
                  title: Organization Types
                  type: array
              title: Organization Restrictions
              type: object
            status_restrictions:
              description: The statuses
              items:
                type: string
              minItems: 1
              oneOf:
                - x-required: true
              title: Status Restrictions
              type: array
            use_organization_for_eligibility:
              description: >-
                If checked, a person's organization is used to check for
                eligibility, rather than the person themselves
              title: Use Organization For Eligibility
              type: boolean
          title: Eligibility Criteria
          type: object
        enable_account_delegation:
          description: >-
            If set, then group administrators can request to be delegates for
            contacts not tied to their organization
          title: Enable Account Delegation
          type: boolean
        enable_eligibility_criteria:
          description: If set, only certain people/organizations can use this process
          title: Enable Eligibility Criteria
          type: boolean
        enable_tiered_discounts:
          description: If set, tiered discounts are enabled
          title: Enable Tiered Discounts
          type: boolean
        group_administrator_confirmation_email:
          additionalProperties: false
          properties:
            bcc:
              description: Anyone that should be bcc'ed on the email
              title: Bcc
              type: string
            body:
              description: The email body
              title: Body
              type: string
            cc:
              description: Anyone that should be cc'ed on the email
              title: Cc
              type: string
            from:
              description: From email address
              title: From
              type: string
            from_name:
              description: From name
              title: From Name
              type: string
            reply_to:
              description: The reply to
              title: Reply To
              type: string
            subject:
              description: The email subject
              title: Subject
              type: string
          required:
            - body
            - subject
          title: Group Administrator Confirmation Email
          type: object
        group_administrator_instructions:
          description: Instructions to show to group administrators
          title: Group Administrator Instructions
          type: string
        id:
          description: The unique, string identifier of this group application process
          pattern: ^[\w:|-]+$
          title: ID
          type: string
        is_active:
          description: Whether or not this group application process is active
          title: Is Active
          type: boolean
        membership_package_ids:
          description: The membership packages that are applicable to this process
          items:
            type: string
          title: Membership Packages
          type: array
        membership_type_ids:
          description: The membership types that are applicable to this process
          items:
            type: string
          title: Membership Types
          type: array
        name:
          description: The name of the group application process
          title: Name
          type: string
        override_checkout_settings:
          description: Whether or not to override POC settings
          title: Override Checkout Settings
          type: boolean
        restrict_to_specific_contact_roles:
          description: If true, only certain contact roles can perform group registration
          title: Restrict To Specific Contact Roles
          type: boolean
        restrict_to_specific_membership_packages:
          description: >-
            If true, only certain membership packages are applicable to this
            process
          title: Restrict To Specific Membership Packages
          type: boolean
        restrict_to_specific_membership_types:
          description: >-
            If true, only certain membership types are applicable to this
            process
          title: Restrict To Specific Membership Types
          type: boolean
        send_confirmation_email_to_group_administrator:
          description: >-
            If true, an email is sent to the administrator of the group once
            registration is complete
          title: Send Confirmation Email To Group Administrator
          type: boolean
        show_instructions_to_group_administrators:
          description: If set, group administrators see instructions
          title: Show Instructions To Group Administrators
          type: boolean
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        tiered_discount_rules:
          items:
            additionalProperties: false
            properties:
              discount_amount:
                description: The amount/percentage to discount
                format: float
                title: Discount Amount
                type: number
              discount_type:
                enum:
                  - amount
                  - percentage
                title: Discount Type
                type: string
              end_range:
                description: The end range for this rule (one-based)
                format: float
                minimum: 1
                title: End Range
                type: number
              start_range:
                description: The starting range for this rule (one-based)
                format: float
                minimum: 1
                title: Start Range
                type: number
            required:
              - discount_amount
              - discount_type
              - end_range
              - start_range
            type: object
          minItems: 1
          type: array
      required:
        - account_delegation_process_id
        - checkout_settings
        - contact_form_id
        - contact_role_ids
        - eligibility_criteria
        - group_administrator_confirmation_email
        - group_administrator_instructions
        - id
        - membership_package_ids
        - membership_type_ids
        - name
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
        - tiered_discount_rules
      type: object
    IdCardTemplate:
      additionalProperties: false
      properties:
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        html_template:
          description: An HTML template for the ID card
          title: Html Template
          type: string
        id:
          description: The unique, string identifier of this id card template
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether or not this id card template is active
          title: Is Active
          type: boolean
        name:
          description: The name of the id card template
          title: Name
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
      required:
        - html_template
        - id
        - name
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    ListAddOnProductsResponse:
      properties:
        Items:
          items:
            $ref: '#/components/schemas/AddOnProduct'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    ListApplicationGroupsResponse:
      properties:
        Count:
          type: integer
        Items:
          items:
            $ref: '#/components/schemas/ApplicationGroup'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    ListApplicationsResponse:
      properties:
        Count:
          type: integer
        Items:
          items:
            $ref: '#/components/schemas/Application'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    ListBillingRunActionsResponse:
      properties:
        Count:
          type: integer
        Items:
          items:
            $ref: '#/components/schemas/BillingRunAction'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    ListBillingRunsResponse:
      properties:
        Count:
          type: integer
        Items:
          items:
            $ref: '#/components/schemas/BillingRun'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    ListChapterDuesProductsResponse:
      properties:
        Items:
          items:
            $ref: '#/components/schemas/ChapterDuesProduct'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    ListElectionsResponse:
      properties:
        Count:
          type: integer
        Items:
          items:
            $ref: '#/components/schemas/Election'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    ListMembershipsResponse:
      properties:
        Count:
          type: integer
        Items:
          items:
            $ref: '#/components/schemas/Membership'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    ListRecurringBillingRunsResponse:
      properties:
        Count:
          type: integer
        Items:
          items:
            $ref: '#/components/schemas/RecurringBillingRun'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    ListSectionDuesProductsResponse:
      properties:
        Items:
          items:
            $ref: '#/components/schemas/SectionDuesProduct'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    ListStandardQueryDefinitionsResponse:
      items:
        $ref: '#/components/schemas/StandardQueryDefinition'
      type: array
    Membership:
      additionalProperties: false
      properties:
        add_on_ids:
          description: used for reporting, DO NOT UPLOAD DATA HERE
          items:
            type: string
          title: Add Ons
          type: array
        add_on_names:
          description: 'Read only: Show the name of the add ons to this membership'
          title: Add On Names
          type: string
        add_ons:
          items:
            additionalProperties: false
            properties:
              add_on_id:
                description: The add on
                title: Add On
                type: string
              dues:
                description: Any dues paid
                format: double
                title: Dues
                type: number
              order_id:
                description: The order that created this add on
                title: Order
                type: string
              order_line_item_id:
                description: The order item
                title: Order Line Item
                type: string
              quantity:
                description: The quantity of add on
                format: float
                minimum: 1
                title: Quantity
                type: number
            required:
              - add_on_id
            type: object
          type: array
        application_id:
          description: The last application
          title: Application
          type: string
        application_process_id:
          description: The last application process
          title: Application Process
          type: string
        assigned_memberships:
          description: >-
            Memberships that have been assigned, manually, by organization
            administrators
          items:
            additionalProperties: false
            properties:
              add_on_ids:
                description: The add ons
                items:
                  type: string
                title: Add Ons
                type: array
              chapter_ids:
                description: The chapter IDs
                items:
                  type: string
                title: Chapters
                type: array
              contact_id:
                description: The contact
                title: Contact
                type: string
              section_ids:
                description: The sections IDs
                items:
                  type: string
                title: Sections
                type: array
            required:
              - contact_id
            type: object
          type: array
        bill_method:
          description: The method this member was billed
          enum:
            - auto renewal order
            - renewal notice
            - renewal order
          title: Bill Method
          type: string
        bill_organization:
          description: Whether or not to bill the organization for this membership
          title: Bill Organization
          type: boolean
        billed:
          description: Flag indicated whether the membership has been billed
          title: Billed
          type: boolean
        certificate_uri:
          description: A link to an externally created certificate of membership
          title: Certificate Uri
          type: string
        chapter_ids:
          description: used for reporting, DO NOT UPLOAD DATA HERE
          items:
            type: string
          title: Chapter IDs
          type: array
        chapter_names:
          description: 'Read only: Show the name of the chapters to which a person belongs'
          title: Chapter Names
          type: string
        chapters:
          items:
            additionalProperties: false
            properties:
              chapter_id:
                description: The chapter ID
                title: Chapter
                type: string
              dues:
                description: Any chapter dues paid
                format: double
                title: Dues
                type: number
              is_new_member:
                title: Is New Member
                type: boolean
              join_date:
                description: The original join date of the chapter
                format: date-time
                title: Join Date
                type: string
              order_id:
                description: The order that created this chapter
                title: Order
                type: string
              order_line_item_id:
                description: The order item
                title: Order Line Item
                type: string
              was_renewed:
                description: >-
                  This means the last ordered RENEWED the chapter; so cancelling
                  the item should not delete the chapter
                title: Was Renewed
                type: boolean
            type: object
          type: array
        city:
          description: The member city
          title: City
          type: string
        contact_id:
          description: The owner of this membership
          title: Contact
          type: string
        country:
          description: The member country
          title: Country
          type: string
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        customer_id:
          description: >-
            For reporting only; the contact ID if this is owned by a contact,
            the organization if this is owned by an organization
          title: Customer
          type: string
        date_last_updated_in_portal:
          description: The date that this was last updated in the portal
          format: date-time
          title: Date Last Updated In Portal
          type: string
        date_status:
          description: Whether the dates have been updated
          enum:
            - not yet updated
            - updated
          title: Date Status
          type: string
        directory_image_uri:
          description: The image that appears in the membership directory
          title: Directory Image Uri
          type: string
        do_not_drop:
          description: >-
            If set, this membership will not be dropped/terminated along
            lifecycle rules
          title: Do Not Drop
          type: boolean
        do_not_renew:
          description: If so, this membership will not renew
          title: Do Not Renew
          type: boolean
        do_not_show_in_directory:
          description: If set, the membership is not available in the directory
          title: Do Not Show In Directory
          type: boolean
        email_address:
          description: The member's email address
          title: Email Address
          type: string
        expiration_date:
          description: The date the membership expires
          title: Expiration Date
          type: string
        first_name:
          description: The member's first name
          title: First Name
          type: string
        flowdown_depth:
          description: If this is a flow down membership, the depth
          format: float
          maximum: 10
          minimum: 1
          title: Flowdown Depth
          type: number
        hidden_directory_fields:
          description: The fields that should not be shown for this member in the directory
          items:
            type: string
          title: Hidden Directory Fields
          type: array
        history:
          description: The history of membership events & activities
          items:
            additionalProperties: false
            properties:
              cancellation_id:
                description: The cancellation id
                title: Cancellation
                type: string
              end_date:
                description: >-
                  The date this history record is no longer applicable and is
                  superseded by another history record
                format: date-time
                title: End Date
                type: string
              event:
                enum:
                  - assignment
                  - cancellation
                  - downgrade
                  - drop
                  - flowdown
                  - join
                  - legacy import
                  - merge
                  - reinstatement
                  - renewal
                  - upgrade
                title: Event
                type: string
              is_inherited_membership:
                title: Is Inherited Membership
                type: boolean
              new:
                additionalProperties: false
                description: A snapshot of the membership after the event
                properties:
                  add_ons:
                    items:
                      additionalProperties: false
                      properties:
                        add_on_id:
                          description: The add on
                          title: Add On
                          type: string
                        dues:
                          description: Any dues paid
                          format: double
                          title: Dues
                          type: number
                        order_id:
                          description: The order that created this add on
                          title: Order
                          type: string
                        order_line_item_id:
                          description: The order item
                          title: Order Line Item
                          type: string
                        quantity:
                          description: The quantity of add on
                          format: float
                          minimum: 1
                          title: Quantity
                          type: number
                      required:
                        - add_on_id
                      type: object
                    type: array
                  chapter_id:
                    description: The chapter ID
                    title: Chapter
                    type: string
                  chapter_ids:
                    description: All chapter IDs
                    items:
                      type: string
                    title: Chapter IDs
                    type: array
                  chapters:
                    items:
                      additionalProperties: false
                      properties:
                        chapter_id:
                          description: The chapter ID
                          title: Chapter
                          type: string
                        dues:
                          description: Any chapter dues paid
                          format: double
                          title: Dues
                          type: number
                        is_new_member:
                          title: Is New Member
                          type: boolean
                        join_date:
                          description: The original join date of the chapter
                          format: date-time
                          title: Join Date
                          type: string
                        order_id:
                          description: The order that created this chapter
                          title: Order
                          type: string
                        order_line_item_id:
                          description: The order item
                          title: Order Line Item
                          type: string
                        was_renewed:
                          description: >-
                            This means the last ordered RENEWED the chapter; so
                            cancelling the item should not delete the chapter
                          title: Was Renewed
                          type: boolean
                      type: object
                    type: array
                  expiration_date:
                    description: The date the membership expires
                    title: Expiration Date
                    type: string
                  is_new:
                    description: Whether or not this is a new membership
                    title: Is New
                    type: boolean
                  join_date:
                    description: The date the member joined
                    title: Join Date
                    type: string
                  number:
                    description: The unique membership number
                    format: float
                    title: Number
                    type: number
                  origin:
                    enum:
                      - assigned
                      - flowdown
                      - principal
                    title: Origin
                    type: string
                  package_id:
                    description: The package id of the membership
                    title: Package
                    type: string
                  parent_membership_id:
                    description: The organization which flowed down the membership
                    title: Parent Membership
                    type: string
                  reinstatement_date:
                    description: The date the member was last reinstated
                    title: Reinstatement Date
                    type: string
                  renewal_date:
                    description: The date the member last renewed
                    title: Renewal Date
                    type: string
                  section_ids:
                    items:
                      type: string
                    title: Section IDs
                    type: array
                  sections:
                    items:
                      additionalProperties: false
                      properties:
                        dues:
                          description: Any section dues paid
                          format: double
                          title: Dues
                          type: number
                        is_new_member:
                          title: Is New Member
                          type: boolean
                        join_date:
                          description: The original join date of the section
                          format: date-time
                          title: Join Date
                          type: string
                        order_id:
                          description: The order that created this section
                          title: Order
                          type: string
                        order_line_item_id:
                          description: The order item
                          title: Order Line Item
                          type: string
                        section_id:
                          description: The section ID
                          title: Section
                          type: string
                        was_renewed:
                          description: >-
                            This means the last ordered RENEWED the section; so
                            cancelling the item should not delete the section
                          title: Was Renewed
                          type: boolean
                      type: object
                    type: array
                  status:
                    description: The member status after the event occurred
                    enum:
                      - active
                      - active without benefits
                      - inactive
                      - suspended
                    title: Status
                    type: string
                  status_reason_id:
                    description: The reason that a member is in the specific status
                    title: Status Reason
                    type: string
                  term_start_date:
                    description: >-
                      The date the most recently purchased membership type
                      starts
                    title: Term Start Date
                    type: string
                  termination_date:
                    description: The date the member was terminated
                    title: Termination Date
                    type: string
                  type_id:
                    description: The type of member
                    title: Type
                    type: string
                title: New
                type: object
              old:
                additionalProperties: false
                description: A snapshot of the membership prior to the event
                properties:
                  add_ons:
                    items:
                      additionalProperties: false
                      properties:
                        add_on_id:
                          description: The add on
                          title: Add On
                          type: string
                        dues:
                          description: Any dues paid
                          format: double
                          title: Dues
                          type: number
                        order_id:
                          description: The order that created this add on
                          title: Order
                          type: string
                        order_line_item_id:
                          description: The order item
                          title: Order Line Item
                          type: string
                        quantity:
                          description: The quantity of add on
                          format: float
                          minimum: 1
                          title: Quantity
                          type: number
                      required:
                        - add_on_id
                      type: object
                    type: array
                  chapter_id:
                    description: The chapter ID
                    title: Chapter
                    type: string
                  chapter_ids:
                    description: All chapter IDs
                    items:
                      type: string
                    title: Chapter IDs
                    type: array
                  chapters:
                    items:
                      additionalProperties: false
                      properties:
                        chapter_id:
                          description: The chapter ID
                          title: Chapter
                          type: string
                        dues:
                          description: Any chapter dues paid
                          format: double
                          title: Dues
                          type: number
                        is_new_member:
                          title: Is New Member
                          type: boolean
                        join_date:
                          description: The original join date of the chapter
                          format: date-time
                          title: Join Date
                          type: string
                        order_id:
                          description: The order that created this chapter
                          title: Order
                          type: string
                        order_line_item_id:
                          description: The order item
                          title: Order Line Item
                          type: string
                        was_renewed:
                          description: >-
                            This means the last ordered RENEWED the chapter; so
                            cancelling the item should not delete the chapter
                          title: Was Renewed
                          type: boolean
                      type: object
                    type: array
                  expiration_date:
                    description: The date the membership expires
                    title: Expiration Date
                    type: string
                  is_new:
                    description: Whether or not this is a new membership
                    title: Is New
                    type: boolean
                  join_date:
                    description: The date the member joined
                    title: Join Date
                    type: string
                  number:
                    description: The unique membership number
                    format: float
                    title: Number
                    type: number
                  origin:
                    enum:
                      - assigned
                      - flowdown
                      - principal
                    title: Origin
                    type: string
                  package_id:
                    description: The package id of the membership
                    title: Package
                    type: string
                  parent_membership_id:
                    description: The organization which flowed down the membership
                    title: Parent Membership
                    type: string
                  reinstatement_date:
                    description: The date the member was last reinstated
                    title: Reinstatement Date
                    type: string
                  renewal_date:
                    description: The date the member last renewed
                    title: Renewal Date
                    type: string
                  section_ids:
                    items:
                      type: string
                    title: Section IDs
                    type: array
                  sections:
                    items:
                      additionalProperties: false
                      properties:
                        dues:
                          description: Any section dues paid
                          format: double
                          title: Dues
                          type: number
                        is_new_member:
                          title: Is New Member
                          type: boolean
                        join_date:
                          description: The original join date of the section
                          format: date-time
                          title: Join Date
                          type: string
                        order_id:
                          description: The order that created this section
                          title: Order
                          type: string
                        order_line_item_id:
                          description: The order item
                          title: Order Line Item
                          type: string
                        section_id:
                          description: The section ID
                          title: Section
                          type: string
                        was_renewed:
                          description: >-
                            This means the last ordered RENEWED the section; so
                            cancelling the item should not delete the section
                          title: Was Renewed
                          type: boolean
                      type: object
                    type: array
                  status:
                    description: The member status after the event occurred
                    enum:
                      - active
                      - active without benefits
                      - inactive
                      - suspended
                    title: Status
                    type: string
                  status_reason_id:
                    description: The reason that a member is in the specific status
                    title: Status Reason
                    type: string
                  term_start_date:
                    description: >-
                      The date the most recently purchased membership type
                      starts
                    title: Term Start Date
                    type: string
                  termination_date:
                    description: The date the member was terminated
                    title: Termination Date
                    type: string
                  type_id:
                    description: The type of member
                    title: Type
                    type: string
                title: Old
                type: object
              order_id:
                description: The order that caused the change
                title: Order
                type: string
              order_line_item_id:
                description: The order line item that caused the change
                title: Order Line Item
                type: string
              parent_membership_id:
                title: Parent Membership
                type: string
              start_date:
                description: The date of the event
                format: date-time
                title: Start Date
                type: string
            required:
              - event
              - start_date
            type: object
          type: array
        id:
          description: The unique, string identifier of this membership
          pattern: ^[\w-|:]+$
          title: ID
          type: string
        is_new:
          description: Whether or not this is a new membership
          title: Is New
          type: boolean
        job_title:
          description: The member job title
          title: Job Title
          type: string
        join_date:
          description: The date the member joined
          title: Join Date
          type: string
        join_or_last_renewal_date:
          description: The date the member joined OR renewed
          title: Join Or Last Renewal Date
          type: string
        lapse_date:
          description: >-
            The last date that this record was terminated. Unlike termination
            date does not get erased
          title: Lapse Date
          type: string
        last_bill_date:
          description: The last time this order was billed
          format: date-time
          title: Last Bill Date
          type: string
        last_change_affiliation_date:
          description: The last date a change affiliation was run on this membership
          format: date-time
          title: Last Change Affiliation Date
          type: string
        last_expired_card_warning:
          description: The last expired card warning
          format: float
          title: Last Expired Card Warning
          type: number
        last_expired_card_warning_date:
          description: The last time a reminder was sent
          format: date-time
          title: Last Expired Card Warning Date
          type: string
        last_name:
          description: The member's last name
          title: Last Name
          type: string
        last_reminder:
          description: The last reminder number
          format: float
          title: Last Reminder
          type: number
        last_reminder_date:
          description: The last time a reminder was sent
          format: date-time
          title: Last Reminder Date
          type: string
        master_membership_id:
          description: >-
            The master organizational membership that generates the flowdown;
            when depth=1 this is the same as the parent, but supports cascading
            membership
          title: Master Membership
          type: string
        master_membership_organization_id:
          description: >-
            The master organization that owns the membership; when depth=1 this
            is the same as the parent, but supports cascading membership
          title: Master Membership Organization
          type: string
        membership_join_date:
          description: Reporting only; used to avoid collisions
          title: Membership Join Date
          type: string
        name:
          description: The member's name
          title: Name
          type: string
        notes:
          title: Notes
          type: string
        number:
          description: The unique membership number
          format: float
          title: Number
          type: number
        order_amount_paid:
          description: The amount paid
          format: double
          title: Order Amount Paid
          type: number
        order_balance_due:
          description: The balance due on the order
          format: double
          title: Order Balance Due
          type: number
        order_currency_code:
          title: Order Currency Code
          type: string
        order_currency_symbol:
          title: Order Currency Symbol
          type: string
        order_id:
          description: The order
          title: Order
          type: string
        order_line_item_id:
          description: The order line item
          title: Order Line Item
          type: string
        order_number:
          description: The order number
          format: float
          title: Order Number
          type: number
        order_status:
          enum:
            - awaiting payment
            - awaiting pickup
            - awaiting shipping
            - cancelled
            - completed
            - disputed
            - open
            - partially shipped
            - returned
            - shipped
            - void
          title: Order Status
          type: string
        order_total:
          description: The total of the order
          format: double
          title: Order Total
          type: number
        organization_id:
          description: The organizational owner of this membership
          title: Organization
          type: string
        origin:
          enum:
            - assigned
            - flowdown
            - principal
          title: Origin
          type: string
        overridden_fields:
          description: >-
            Fields that have been changed on this record, and should not be
            susceptible to flowdown
          items:
            type: string
          title: Overridden Fields
          type: array
        owner_type:
          description: The type of owner
          enum:
            - contact
            - organization
          title: Owner Type
          type: string
        package_id:
          description: The package id of the membership
          title: Package
          type: string
        parent_membership_id:
          description: The parent organization
          pattern: organization:.*
          title: Parent Membership
          type: string
        past_chapter_memberships:
          items:
            additionalProperties: false
            properties:
              chapter_id:
                description: The chapter
                title: Chapter
                type: string
              end_date:
                description: The end of the chapter membership
                format: date
                title: End Date
                type: string
              join_date:
                description: The original join date of the chapter
                format: date-time
                title: Join Date
                type: string
              start_date:
                description: The beginning of the chapter membership
                format: date
                title: Start Date
                type: string
            required:
              - chapter_id
            type: object
          type: array
        past_section_memberships:
          items:
            additionalProperties: false
            properties:
              end_date:
                description: The end of the section membership
                format: date
                title: End Date
                type: string
              join_date:
                description: The original join date of the section
                format: date-time
                title: Join Date
                type: string
              section_id:
                description: The section
                title: Section
                type: string
              start_date:
                description: The beginning of the section membership
                format: date
                title: Start Date
                type: string
            required:
              - section_id
            type: object
          type: array
        primary_chapter_id:
          description: The chapter ID (used for reporting, DO NOT UPLOAD DATA HERE
          title: Primary Chapter
          type: string
        referral_contact_id:
          description: The individual who referred this member
          title: Referral Contact
          type: string
        reinstatement_date:
          description: The date the member was last reinstated
          title: Reinstatement Date
          type: string
        renew_automatically:
          description: >-
            If set, then this membership will automatically renew with the card
            on file
          title: Renew Automatically
          type: boolean
        renewal_currency_code:
          description: The currency code to use for renewal
          enum:
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BRL
            - BSD
            - BTN
            - BWP
            - BYR
            - BZD
            - CAD
            - CDF
            - CHF
            - CLP
            - CNY
            - COP
            - CRC
            - CUC
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EEK
            - EGP
            - ERN
            - ETB
            - EUR
            - FJD
            - FKP
            - GBP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GQE
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - JPY
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LTL
            - LVL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRO
            - MUR
            - MVR
            - MWK
            - MXN
            - MYR
            - MZM
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USD
            - UYU
            - UZS
            - VEB
            - VND
            - VUV
            - WST
            - XAF
            - XCD
            - XDR
            - XOF
            - XPF
            - YER
            - ZAR
            - ZMK
            - ZWR
          title: Renewal Currency Code
          type: string
        renewal_date:
          description: The date the member last renewed
          title: Renewal Date
          type: string
        renewal_payment_card_expiration:
          description: The date that the renewal payment card expires
          format: date
          title: Renewal Payment Card Expiration
          type: string
        renewal_payment_info:
          additionalProperties: false
          description: The renewal payment info
          properties:
            card_expiration:
              description: The expiration date of the card
              title: Card Expiration
              type: string
            card_type:
              description: The type of card being used, or CHECK if electronic check
              enum:
                - american express
                - discover
                - electronic check
                - mastercard
                - other
                - visa
              title: Card Type
              type: string
            merchant_account_tokens:
              items:
                additionalProperties: false
                properties:
                  merchant_account_id:
                    description: The merchant account id
                    title: Merchant Account
                    type: string
                  token:
                    description: The token representing the card/electronic check info
                    title: Token
                    type: string
                required:
                  - merchant_account_id
                  - token
                type: object
              minItems: 1
              type: array
            payment_account:
              description: The masked payment account information
              title: Payment Account
              type: string
            payment_origin:
              description: Whether or not this is a saved payment method
              enum:
                - ad hoc
                - saved
                - single token
              title: Payment Origin
              type: string
            token:
              description: For integrated payments, the single token
              title: Token
              type: string
            type:
              description: The type of payment
              enum:
                - credit card
                - electronic check
              title: Type
              type: string
          required:
            - payment_origin
            - type
          title: Renewal Payment Info
          type: object
        section_ids:
          description: used for reporting, DO NOT UPLOAD DATA HERE
          items:
            type: string
          title: Section IDs
          type: array
        section_names:
          description: 'Read only: Show the name of the sections to which a person belongs'
          title: Section Names
          type: string
        sections:
          items:
            additionalProperties: false
            properties:
              dues:
                description: Any section dues paid
                format: double
                title: Dues
                type: number
              is_new_member:
                title: Is New Member
                type: boolean
              join_date:
                description: The original join date of the section
                format: date-time
                title: Join Date
                type: string
              order_id:
                description: The order that created this section
                title: Order
                type: string
              order_line_item_id:
                description: The order item
                title: Order Line Item
                type: string
              section_id:
                description: The section ID
                title: Section
                type: string
              was_renewed:
                description: >-
                  This means the last ordered RENEWED the section; so cancelling
                  the item should not delete the section
                title: Was Renewed
                type: boolean
            type: object
          type: array
        state:
          description: The state
          title: State
          type: string
        status:
          description: The member status
          enum:
            - active
            - active without benefits
            - inactive
            - suspended
          title: Status
          type: string
        status_reason_id:
          description: The reason that a member is in the specific status
          title: Status Reason
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        term_start_date:
          description: The date the most recently purchased membership type starts
          title: Term Start Date
          type: string
        termination_date:
          description: The date the member was terminated
          title: Termination Date
          type: string
        type_id:
          description: The type of member
          title: Type
          type: string
      required:
        - contact_id
        - flowdown_depth
        - id
        - name
        - number
        - organization_id
        - owner_type
        - package_id
        - parent_membership_id
        - renewal_payment_info
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
        - type_id
      type: object
    MembershipSearchParameters:
      additionalProperties: false
      properties:
        city:
          title: City
          type: string
        email_address:
          title: Email Address
          type: string
        expiration_date:
          items:
            format: date-time
            type: string
          maxItems: 2
          minItems: 2
          title: Expiration Date
          type: array
        id:
          description: IDs to search
          items:
            type: string
          title: ID
          type: array
        is_new:
          title: Is New
          type: string
        job_title:
          title: Job Title
          type: string
        join_date:
          items:
            format: date-time
            type: string
          maxItems: 2
          minItems: 2
          title: Join Date
          type: array
        name:
          title: Name
          type: string
        number:
          items:
            format: float
            type: number
          maxItems: 2
          minItems: 2
          title: Number
          type: array
        origin:
          items:
            type: string
          title: Origin
          type: array
        owner_type:
          title: Owner Type
          type: string
        package_id:
          items:
            type: string
          title: Package
          type: array
        renewal_date:
          items:
            format: date-time
            type: string
          maxItems: 2
          minItems: 2
          title: Renewal Date
          type: array
        state:
          title: State
          type: string
        status:
          items:
            type: string
          title: Status
          type: array
        status_reason_id:
          items:
            type: string
          title: Status Reason
          type: array
        termination_date:
          items:
            format: date-time
            type: string
          maxItems: 2
          minItems: 2
          title: Termination Date
          type: array
        type_id:
          items:
            type: string
          title: Type
          type: array
      type: object
    MembershipSearchResults:
      additionalProperties: false
      properties:
        city:
          title: City
          type: string
        email_address:
          title: Email Address
          type: string
        expiration_date:
          title: Expiration Date
          type: string
        id:
          title: ID
          type: string
        is_new:
          title: Is New
          type: string
        job_title:
          title: Job Title
          type: string
        join_date:
          title: Join Date
          type: string
        number:
          format: float
          title: Number
          type: number
        origin:
          title: Origin
          type: string
        owner_type:
          title: Owner Type
          type: string
        package_id:
          title: Package
          type: string
        renewal_date:
          title: Renewal Date
          type: string
        state:
          title: State
          type: string
        status:
          title: Status
          type: string
        status_reason_id:
          title: Status Reason
          type: string
        termination_date:
          title: Termination Date
          type: string
        type_id:
          title: Type
          type: string
      type: object
    Package:
      additionalProperties: false
      properties:
        allow_customer_to_choose_installment_plan:
          description: If true, the customer can choose their installment plan
          title: Allow Customer To Choose Installment Plan
          type: boolean
        auto_renew_by_default:
          description: >-
            If set, when this membership is created it will be set to auto
            renewal by default
          title: Auto Renew By Default
          type: boolean
        available_to:
          description: DEPRECATED - No longer supported, do not use
          enum:
            - both
            - new members
            - renewing members
          title: Available To
          type: string
        bill_organization:
          description: If set, the organization should be billed for this package
          title: Bill Organization
          type: boolean
        bulk_pricing_rules:
          items:
            additionalProperties: false
            properties:
              discount_amount:
                description: The percentage/flat rate
                format: float
                minimum: 0
                title: Discount Amount
                type: number
              discount_type:
                description: The type of discount rule
                enum:
                  - flat rate
                  - percentage
                title: Discount Type
                type: string
              ending_range:
                description: The ending range of the rule
                minimum: 0
                title: Ending Range
                type: integer
              starting_range:
                description: The starting range of the rule
                minimum: 0
                title: Starting Range
                type: integer
            required:
              - discount_amount
              - discount_type
            type: object
          minItems: 1
          type: array
        bundled_products:
          items:
            additionalProperties: false
            properties:
              member_price:
                description: The member price
                format: double
                title: Member Price
                type: number
              price:
                description: The price to bundle
                format: double
                title: Price
                type: number
              product_id:
                description: The product ID
                title: Product
                type: string
              product_type:
                description: The product type
                title: Product Type
                type: string
              quantity:
                description: The quantity to bundle
                title: Quantity
                type: integer
              type:
                enum:
                  - bundled product
                  - inline bundled product
                title: Type
                type: string
            required:
              - product_id
              - product_type
              - quantity
              - type
            type: object
          minItems: 1
          type: array
        bundled_products_inventory_handling:
          description: >-
            Whether to track inventory for the entire bundle, or for each
            product separately
          enum:
            - bundle
            - each product
          title: Bundled Products Inventory Handling
          type: string
        business_unit_id:
          description: The business unit of the product
          title: Business Unit
          type: string
        cancellation_fee:
          description: Cancellation fees associated with this product
          format: double
          title: Cancellation Fee
          type: number
        chapter_configuration:
          additionalProperties: false
          description: Allows you to override chapter configuration
          properties:
            auto_assignment:
              description: >-
                The auto assignment mode. Suggest guesses the chapter, and
                assign assigns one without giving the user an option
              enum:
                - assign
                - 'off'
                - suggest
              title: Auto Assignment
              type: string
            maximum_number_of_chapters_a_member_can_join:
              description: The maximum number of chapters a member can join
              format: float
              minimum: 1
              title: Maximum Number Of Chapters A Member Can Join
              type: number
            members_are_required_to_join_a_chapter:
              description: Whether a member is required to join a a chapter
              title: Members Are Required To Join A Chapter
              type: boolean
            mode:
              enum:
                - optional single chapter
                - required single chapter
              title: Mode
              type: string
            portal_restrictions:
              enum:
                - members cannot change chapters
                - members may add chapters
                - members may add or remove chapters
              title: Portal Restrictions
              type: string
          required:
            - maximum_number_of_chapters_a_member_can_join
          title: Chapter Configuration
          type: object
        commerce_entitlements_to_create:
          items:
            additionalProperties: false
            properties:
              expiration_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Expiration Date
                type: string
              expiration_type:
                enum:
                  - none
                  - relative date
                  - specific date
                title: Expiration Type
                type: string
              quantity:
                description: The quantity
                format: float
                title: Quantity
                type: number
              relative_expiration_date:
                additionalProperties: false
                description: The date the task is due
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Expiration Date
                type: object
              type_id:
                description: The type of entitlement
                title: Type
                type: string
            required:
              - expiration_type
              - type_id
            type: object
          type: array
        coupon_codes:
          items:
            additionalProperties: false
            properties:
              coupon_code_generation_process_id:
                description: The process by which the coupons are generated
                title: Coupon Code Generation Process
                type: string
              coupon_code_type:
                enum:
                  - multi use
                  - single use
                title: Coupon Code Type
                type: string
              coupon_id:
                title: Coupon
                type: string
              coupon_type:
                title: Coupon Type
                type: string
              expiration_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Expiration Date
                type: string
              expiration_type:
                enum:
                  - none
                  - relative date
                  - specific date
                title: Expiration Type
                type: string
              maximum_number_of_total_uses:
                description: The maximum number of total uses
                minimum: 1
                oneOf:
                  - enum:
                      - 1
                    x-required: true
                title: Maximum Number Of Total Uses
                type: integer
              maximum_number_of_uses_per_customer:
                description: The maximum number of total uses for a given customer
                minimum: 1
                oneOf:
                  - enum:
                      - 1
                    x-required: true
                title: Maximum Number Of Uses Per Customer
                type: integer
              quantity:
                description: The number of coupons to generate
                maximum: 250
                title: Quantity
                type: integer
              relative_expiration_date:
                additionalProperties: false
                description: Expiration date relative to purchase
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Expiration Date
                type: object
              restrict_to_contact:
                description: >-
                  If true, the code generated is restricted to the contact who
                  made the purchase
                title: Restrict To Contact
                type: boolean
              restrict_to_organization:
                description: >-
                  If true, the code generated is restricted to the organization
                  made the purchase
                title: Restrict To Organization
                type: boolean
            required:
              - coupon_code_generation_process_id
              - coupon_code_type
              - coupon_id
              - coupon_type
              - quantity
            type: object
          minItems: 1
          type: array
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        custom_pricing_options:
          additionalProperties: false
          properties:
            lambda_function_id:
              description: The custom lambda function to use
              title: Lambda Function
              type: string
          required:
            - lambda_function_id
          title: Custom Pricing Options
          type: object
        description:
          description: Description for the portal/online store
          title: Description
          type: string
        display_in_portal_as:
          description: Override the portal display
          title: Display In Portal As
          type: string
        display_order:
          format: float
          title: Display Order
          type: number
        document_entitlements_to_create:
          items:
            additionalProperties: false
            properties:
              expiration_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Expiration Date
                type: string
              expiration_type:
                enum:
                  - none
                  - relative date
                  - specific date
                title: Expiration Type
                type: string
              file_cabinet_id:
                description: The file cabinet
                title: File Cabinet
                type: string
              item_id:
                description: The item
                title: Item
                type: string
              library_path:
                description: >-
                  The optional path that items will be mounted onto the digital
                  library
                title: Library Path
                type: string
              relative_expiration_date:
                additionalProperties: false
                description: The date the task is due
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Expiration Date
                type: object
            required:
              - expiration_type
              - file_cabinet_id
            type: object
          type: array
        does_not_receive_member_benefits:
          description: If true, buying this package gives you member benefits
          title: Does Not Receive Member Benefits
          type: boolean
        dues_proration:
          additionalProperties: false
          properties:
            applies_to:
              enum:
                - both
                - new members
                - renewing members
              title: Applies To
              type: string
            april:
              format: float
              title: April
              type: number
            august:
              format: float
              title: August
              type: number
            december:
              format: float
              title: December
              type: number
            february:
              format: float
              title: February
              type: number
            january:
              format: float
              title: January
              type: number
            july:
              format: float
              title: July
              type: number
            june:
              format: float
              title: June
              type: number
            march:
              format: float
              title: March
              type: number
            may:
              format: float
              title: May
              type: number
            november:
              format: float
              title: November
              type: number
            october:
              format: float
              title: October
              type: number
            september:
              format: float
              title: September
              type: number
          title: Dues Proration
          type: object
        enable_bulk_pricing:
          description: Whether or not bulk pricing is enabled
          title: Enable Bulk Pricing
          type: boolean
        enable_bundled_products:
          description: Whether to enable bundled products
          title: Enable Bundled Products
          type: boolean
        enable_cancellation_fees:
          description: Whether or not cancellation fees are applicable
          title: Enable Cancellation Fees
          type: boolean
        enable_commerce_entitlement_creation:
          description: >-
            If set, document entitlements will be created to access folders or
            documents
          title: Enable Commerce Entitlement Creation
          type: boolean
        enable_coupon_code_generation:
          description: If true, purchasing this product will generate coupons
          title: Enable Coupon Code Generation
          type: boolean
        enable_custom_pricing:
          description: >-
            If set, the order engine will call out to a custom lambda function
            for custom/complex pricing
          title: Enable Custom Pricing
          type: boolean
        enable_document_entitlement_creation:
          description: >-
            If set, document entitlements will be created to access folders or
            documents
          title: Enable Document Entitlement Creation
          type: boolean
        enable_dues_proration:
          description: Enable dues proration
          title: Enable Dues Proration
          type: boolean
        enable_product_confirmation_email:
          description: If enabled, a custom email goes out whenever this product is ordered
          title: Enable Product Confirmation Email
          type: boolean
        enable_purchase_limits:
          description: If true, purchase limits are in place for this product
          title: Enable Purchase Limits
          type: boolean
        enable_purchasing_eligibility:
          description: If set, purchases of this merchandise are restricted
          title: Enable Purchasing Eligibility
          type: boolean
        enable_special_prices:
          description: Whether to enable special pricing logic
          title: Enable Special Prices
          type: boolean
        enable_task_generation:
          description: If set, tasks will be generated
          title: Enable Task Generation
          type: boolean
        expiration_options:
          additionalProperties: false
          properties:
            allow_reinstatement:
              description: Whether or not reinstatement is allowed
              title: Allow Reinstatement
              type: boolean
            anniversary_expiration_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                allow_mid_month_expirations:
                  description: >-
                    If true, a members' subscription will expire on the same day
                    it was purchased, and can expire mid month. Usually
                    sell_for_next_month_after is set to null when this option is
                    used.
                  title: Allow Mid Month Expirations
                  type: boolean
                enable_fixed_expiration_dates:
                  description: >-
                    If set, anniversary dates will be limited to specific dates
                    based on the original join date
                  title: Enable Fixed Expiration Dates
                  type: boolean
                fixed_expiration_dates:
                  items:
                    additionalProperties: false
                    properties:
                      expiration_date:
                        description: The from effective expiration date
                        pattern: \d\d-\d\d
                        title: Expiration Date
                        type: string
                      range_end:
                        description: The from month/day that ends the range
                        pattern: \d\d-\d\d
                        title: Range End
                        type: string
                      range_start:
                        description: The month/day that begins the range
                        pattern: \d\d-\d\d
                        title: Range Start
                        type: string
                    required:
                      - expiration_date
                      - range_end
                      - range_start
                    type: object
                  oneOf:
                    - x-required: true
                  type: array
                sell_for_next_month_after:
                  description: >-
                    Day of the month after which, subscription starts on the
                    next month. If null, subscription always starts in the
                    current month
                  format: float
                  maximum: 32
                  minimum: 1
                  title: Sell For Next Month After
                  type: number
                term_length:
                  description: Length of subscription
                  format: float
                  minimum: 1
                  title: Term Length
                  type: number
                term_type:
                  enum:
                    - days
                    - months
                    - quarters
                    - weeks
                    - years
                  title: Term Type
                  type: string
              title: Anniversary Expiration Options
              type: object
            calendar_expiration_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                number_of_years:
                  description: The number of years
                  format: float
                  minimum: 1
                  title: Number Of Years
                  type: number
                sell_for_next_year_after:
                  description: >-
                    The month/day after which, the subscription should extend
                    until the end of the next calendar year. Leave blank to
                    never extend until the next year
                  pattern: ^\d\d-\d\d$
                  title: Sell For Next Year After
                  type: string
                start_of_calendar_year:
                  description: >-
                    The month, from 1-12, that indicates the start of the
                    calendar year
                  format: float
                  maximum: 12
                  minimum: 1
                  title: Start Of Calendar Year
                  type: number
              required:
                - start_of_calendar_year
              title: Calendar Expiration Options
              type: object
            expiration_type:
              description: How the expiration is calculated
              enum:
                - anniversary
                - calendar
                - none
              title: Expiration Type
              type: string
            grace_period:
              description: >-
                Number of days after expiration in which this a person with this
                subscription. If not set, the global grace setting is used
              format: float
              title: Grace Period
              type: number
            reinstatement_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                give_renewal_pricing_during_reinstatement_period:
                  description: If true, a reinstated member only pays renewal pricing
                  title: Give Renewal Pricing During Reinstatement Period
                  type: boolean
                reinstatement_period:
                  description: >-
                    Number of days after termination after which a person can be
                    reinstated - leave blank for an indefinite time period
                  format: float
                  title: Reinstatement Period
                  type: number
              title: Reinstatement Options
              type: object
          required:
            - expiration_type
          title: Expiration Options
          type: object
        foreign_currency_prices:
          items:
            additionalProperties: false
            properties:
              cancellation_fee:
                description: The cancellation fee of the product for this currency
                format: double
                title: Cancellation Fee
                type: number
              currency_code:
                enum:
                  - AED
                  - AFN
                  - ALL
                  - AMD
                  - ANG
                  - AOA
                  - ARS
                  - AUD
                  - AWG
                  - AZN
                  - BAM
                  - BBD
                  - BDT
                  - BGN
                  - BHD
                  - BIF
                  - BMD
                  - BND
                  - BOB
                  - BRL
                  - BSD
                  - BTN
                  - BWP
                  - BYR
                  - BZD
                  - CAD
                  - CDF
                  - CHF
                  - CLP
                  - CNY
                  - COP
                  - CRC
                  - CUC
                  - CVE
                  - CZK
                  - DJF
                  - DKK
                  - DOP
                  - DZD
                  - EEK
                  - EGP
                  - ERN
                  - ETB
                  - EUR
                  - FJD
                  - FKP
                  - GBP
                  - GEL
                  - GHS
                  - GIP
                  - GMD
                  - GNF
                  - GQE
                  - GTQ
                  - GYD
                  - HKD
                  - HNL
                  - HRK
                  - HTG
                  - HUF
                  - IDR
                  - ILS
                  - INR
                  - IQD
                  - IRR
                  - ISK
                  - JMD
                  - JOD
                  - JPY
                  - KES
                  - KGS
                  - KHR
                  - KMF
                  - KPW
                  - KRW
                  - KWD
                  - KYD
                  - KZT
                  - LAK
                  - LBP
                  - LKR
                  - LRD
                  - LSL
                  - LTL
                  - LVL
                  - LYD
                  - MAD
                  - MDL
                  - MGA
                  - MKD
                  - MMK
                  - MNT
                  - MOP
                  - MRO
                  - MUR
                  - MVR
                  - MWK
                  - MXN
                  - MYR
                  - MZM
                  - NAD
                  - NGN
                  - NIO
                  - NOK
                  - NPR
                  - NZD
                  - OMR
                  - PAB
                  - PEN
                  - PGK
                  - PHP
                  - PKR
                  - PLN
                  - PYG
                  - QAR
                  - RON
                  - RSD
                  - RUB
                  - SAR
                  - SBD
                  - SCR
                  - SDG
                  - SEK
                  - SGD
                  - SHP
                  - SLL
                  - SOS
                  - SRD
                  - SYP
                  - SZL
                  - THB
                  - TJS
                  - TMT
                  - TND
                  - TRY
                  - TTD
                  - TWD
                  - TZS
                  - UAH
                  - UGX
                  - USD
                  - UYU
                  - UZS
                  - VEB
                  - VND
                  - VUV
                  - WST
                  - XAF
                  - XCD
                  - XDR
                  - XOF
                  - XPF
                  - YER
                  - ZAR
                  - ZMK
                  - ZWR
                title: Currency Code
                type: string
              member_price:
                description: The price of the product for a member
                format: double
                title: Member Price
                type: number
              mode:
                description: How this foreign currency should be treated
                enum:
                  - calculate price
                  - prohibit purchase
                  - set price
                title: Mode
                type: string
              price:
                description: The price of the product
                format: double
                oneOf:
                  - x-required: true
                title: Price
                type: number
              restocking_fee:
                description: The restocking fee of the product for this currency
                format: double
                title: Restocking Fee
                type: number
            required:
              - currency_code
            type: object
          type: array
        hide_from_online_store:
          description: If true, this package is not available in the online store
          title: Hide From Online Store
          type: boolean
        hide_from_portal:
          description: If set, this product should not be shown in the portal
          title: Hide From Portal
          type: boolean
        id:
          description: The unique, string identifier of this miscellaneous product
          pattern: ^[\w:|-]+$
          title: ID
          type: string
        installment_plan_options:
          items:
            additionalProperties: false
            properties:
              additional_cost:
                description: The additional cost of the installment plan
                format: double
                title: Additional Cost
                type: number
              installment_plan_id:
                description: The installment plan that this product supports
                title: Installment Plan
                type: string
              is_default:
                description: Whether this is the default installment plan option
                title: Is Default
                type: boolean
            required:
              - installment_plan_id
            type: object
          minItems: 1
          type: array
        is_active:
          description: Whether this product is active/used
          title: Is Active
          type: boolean
        member_price:
          description: The price of the product for an active member
          format: double
          title: Member Price
          type: number
        membership_type_id:
          description: The membership type this package is tied to
          title: Membership Type
          type: string
        name:
          description: The name of the miscellaneous product
          title: Name
          type: string
        notes:
          description: Notes
          title: Notes
          type: string
        organizational_membership_options:
          additionalProperties: false
          properties:
            additional_contact_purchasing_info:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                add_on_product_id:
                  description: >-
                    The addon product that should be purchased for additional
                    members
                  title: Add On Product
                  type: string
                maximum_number_of_additional_contacts:
                  description: >-
                    If set, puts a limit on how many additional contacts can be
                    purchased
                  format: float
                  title: Maximum Number Of Additional Contacts
                  type: number
              required:
                - add_on_product_id
              title: Additional Contact Purchasing Info
              type: object
            allow_for_purchase_of_additional_contacts:
              description: If true, organization members can buy additional contacts
              title: Allow For Purchase Of Additional Contacts
              type: boolean
            maximum_number_of_contacts:
              description: >-
                The maximum number of organizational contacts organizations with
                this package can have
              format: float
              title: Maximum Number Of Contacts
              type: number
          title: Organizational Membership Options
          type: object
        override_chapter_configuration:
          description: Whether or not the chapter configuration is overridden
          title: Override Chapter Configuration
          type: boolean
        override_section_configuration:
          description: Whether or not the section configuration is overridden
          title: Override Section Configuration
          type: boolean
        portal_options:
          additionalProperties: false
          properties:
            available_from:
              description: The date from which this product should be available
              format: date-time
              title: Available From
              type: string
            available_until:
              description: The date until which this product should be available
              format: date-time
              title: Available Until
              type: string
          title: Portal Options
          type: object
        price:
          description: The price of the product
          format: double
          title: Price
          type: number
        product_confirmation_email_options:
          additionalProperties: false
          properties:
            product_confirmation_email_id:
              oneOf:
                - x-required: true
              title: Product Confirmation Email
              type: string
            product_specific_email:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                bcc:
                  description: Anyone that should be bcc'ed on the email
                  title: Bcc
                  type: string
                body:
                  description: The email body
                  title: Body
                  type: string
                cc:
                  description: Anyone that should be cc'ed on the email
                  title: Cc
                  type: string
                from:
                  description: From email address
                  title: From
                  type: string
                from_name:
                  description: From name
                  title: From Name
                  type: string
                reply_to:
                  description: The reply to
                  title: Reply To
                  type: string
                subject:
                  description: The email subject
                  title: Subject
                  type: string
              required:
                - body
                - subject
              title: Product Specific Email
              type: object
            type:
              enum:
                - product specific
                - shared
              title: Type
              type: string
          title: Product Confirmation Email Options
          type: object
        product_tags_to_show_at_checkout:
          description: NOT USED - DEPRECATED
          items:
            type: string
          title: Product Tags To Show At Checkout
          type: array
        publish_to_portal:
          description: Whether or not this product should be available in the portal
          title: Publish To Portal
          type: boolean
        purchase_limits:
          additionalProperties: false
          properties:
            error_message:
              description: The error message to show
              title: Error Message
              type: string
            maximum:
              description: The maximum
              format: float
              title: Maximum
              type: number
            relative_time_window:
              additionalProperties: false
              description: the time window
              oneOf:
                - x-required: true
              properties:
                number:
                  description: The unit of time
                  format: float
                  minimum: 0
                  oneOf:
                    - {}
                  title: Number
                  type: number
                position:
                  description: How the unit relates to the reference date
                  enum:
                    - after
                    - before
                    - 'on'
                  title: Position
                  type: string
                relative_to:
                  enum:
                    - the beginning of the month
                    - the beginning of the quarter
                    - the beginning of the week
                    - the beginning of the year
                    - the end of the month
                    - the end of the quarter
                    - the end of the week
                    - the end of the year
                    - the reference date
                  title: Relative To
                  type: string
                unit_of_time:
                  enum:
                    - days
                    - months
                    - weeks
                    - years
                  oneOf:
                    - {}
                  title: Unit Of Time
                  type: string
              required:
                - number
                - position
                - relative_to
                - unit_of_time
              title: Relative Time Window
              type: object
            time_period:
              enum:
                - all time
                - sliding time window
              title: Time Period
              type: string
            type:
              enum:
                - per customer
              title: Type
              type: string
          required:
            - maximum
            - time_period
            - type
          title: Purchase Limits
          type: object
        purchasing_eligibility_criteria:
          title: Purchasing Eligibility Criteria
          type: object
        renews_with_id:
          description: >-
            The package that thiscc package should renew with - if null, the
            package renews with itself
          title: Renews With
          type: string
        section_configuration:
          additionalProperties: false
          description: Allows you to override section configuration
          properties:
            portal_restrictions:
              enum:
                - members cannot change sections
                - members may add or remove sections
                - members may add sections
              title: Portal Restrictions
              type: string
          title: Section Configuration
          type: object
        special_prices:
          items:
            additionalProperties: false
            properties:
              criteria:
                title: Criteria
                type: object
              enable_formula:
                description: >-
                  if set, a formula is used to calculate the price. If the
                  formula fails, the price is used
                title: Enable Formula
                type: boolean
              formula:
                description: The formula evaluated using the expr-eval npm package
                oneOf:
                  - x-required: true
                title: Formula
                type: string
              name:
                title: Name
                type: string
              price:
                format: float
                title: Price
                type: number
            required:
              - criteria
              - price
            type: object
          minItems: 1
          type: array
        suggest_donations:
          description: >-
            Allows you to suggestion donating to specific fundraising products
            upon checkout
          items:
            additionalProperties: false
            properties:
              product_id:
                description: The fundraising product
                title: Product
                type: string
              suggested_amount:
                description: The suggested amount to donate
                format: float
                minimum: 0
                title: Suggested Amount
                type: number
            required:
              - product_id
            type: object
          type: array
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        tasks_to_generate:
          items:
            additionalProperties: false
            properties:
              assignee_type:
                enum:
                  - assignment role
                  - queue
                  - user
                title: Assignee Type
                type: string
              assignment_role_id:
                description: The assignment role that should receive the ask
                oneOf:
                  - x-required: true
                title: Assignment Role
                type: string
              description:
                description: A description
                title: Description
                type: string
              due_date_type:
                description: Whether there is a due date
                enum:
                  - none
                  - relative date
                  - specific date
                title: Due Date Type
                type: string
              name:
                description: The name of the task
                title: Name
                type: string
              notify_assignees:
                description: Notify assignee when the task is created
                title: Notify Assignees
                type: boolean
              priority:
                enum:
                  - high
                  - low
                  - normal
                  - urgent
                title: Priority
                type: string
              queue_id:
                description: The queue that should be assigned the ask
                oneOf:
                  - x-required: true
                title: Queue
                type: string
              relative_due_date:
                additionalProperties: false
                description: The date the task is due
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Due Date
                type: object
              specific_due_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Specific Due Date
                type: string
              type_id:
                description: The type of task
                title: Type
                type: string
              user_id:
                description: The user that should be assigned the ask
                oneOf:
                  - x-required: true
                title: User
                type: string
            required:
              - assignee_type
              - due_date_type
              - name
              - type_id
            type: object
          type: array
        type:
          description: The product type
          enum:
            - membership-packages
          title: Type
          type: string
        update_dates_when:
          enum:
            - immediately
            - invoice paid in full
            - never
          title: Update Dates When
          type: string
      required:
        - bulk_pricing_rules
        - bundled_products
        - business_unit_id
        - chapter_configuration
        - coupon_codes
        - custom_pricing_options
        - dues_proration
        - id
        - installment_plan_options
        - membership_type_id
        - name
        - price
        - product_confirmation_email_options
        - purchase_limits
        - section_configuration
        - special_prices
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    PagedApplicationGroupSearchResults:
      properties:
        Items:
          items:
            $ref: '#/components/schemas/ApplicationGroupSearchResults'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    PagedApplicationSearchResults:
      properties:
        Items:
          items:
            $ref: '#/components/schemas/ApplicationSearchResults'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    PagedBillingRunSearchResults:
      properties:
        Items:
          items:
            $ref: '#/components/schemas/BillingRunSearchResults'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    PagedChapterSearchResults:
      properties:
        Items:
          items:
            $ref: '#/components/schemas/ChapterSearchResults'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    PagedMembershipSearchResults:
      properties:
        Items:
          items:
            $ref: '#/components/schemas/MembershipSearchResults'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    PagedSearchResults:
      properties:
        Items:
          items:
            type: object
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    PagedSectionSearchResults:
      properties:
        Items:
          items:
            $ref: '#/components/schemas/SectionSearchResults'
          type: array
        LastEvaluatedKey:
          type: string
      type: object
    PatchDirective:
      additionalProperties: false
      properties:
        op:
          description: The operation
          enum:
            - add
            - copy
            - move
            - remove
            - replace
            - test
          title: Op
          type: string
        path:
          description: The JSON path
          title: Path
          type: string
        value:
          title: Value
          type: string
      required:
        - op
        - path
      type: object
    PortalPermissionsResult:
      additionalProperties: false
      properties:
        access_saved_queries:
          description: >-
            If set, the applicable chapter leaders are able to access saved
            queries
          title: Access Saved Queries
          type: boolean
        chapter_page_layout_id:
          title: Chapter Page Layout
          type: string
        contact_form_id:
          title: Contact Form
          type: string
        manage_chapter_committees:
          description: If set, leaders can manage/change chapter committee positions
          title: Manage Chapter Committees
          type: boolean
        membership_page_layout_id:
          title: Membership Page Layout
          type: string
        permissions:
          description: A list of permissions by name
          items:
            type: string
          title: Permissions
          type: array
        renew_existing_members:
          description: If set, leaders can renew existing members
          title: Renew Existing Members
          type: boolean
        saved_queries:
          items:
            additionalProperties: false
            properties:
              id:
                description: The ID of the saved query
                title: ID
                type: string
              name:
                description: The name of the saved query
                title: Name
                type: string
            type: object
          type: array
        sign_up_new_members:
          description: Applicable chapter leaders can register/create new members
          title: Sign Up New Members
          type: boolean
        update_chapter_info:
          description: If true, chapter leader is able to modify chapter information
          title: Update Chapter Info
          type: boolean
        update_contact_info:
          description: >-
            Applicable chapter leaders should be able to update contact
            information. If set, a contact_form_id must be specified
          title: Update Contact Info
          type: boolean
        update_membership_info:
          description: >-
            Applicable chapter leaders can update membership profile
            information. If set, a membership_page_layout_id must be specified
          title: Update Membership Info
          type: boolean
        view_chapter_roster:
          description: >-
            If set, the applicable chapter leaders can see the committee roster
            and view membership information
          title: View Chapter Roster
          type: boolean
      type: object
    PreviewCertificateRequest:
      additionalProperties: false
      properties:
        certificate_template:
          title: Certificate Template
          type: string
        membership_id:
          title: Membership
          type: string
      required:
        - certificate_template
        - membership_id
      type: object
    PreviewEmailRequest:
      additionalProperties: false
      properties:
        destination_email_address:
          title: Destination Email Address
          type: string
        email_template:
          additionalProperties: false
          properties:
            bcc:
              description: Anyone that should be bcc'ed on the email
              title: Bcc
              type: string
            body:
              description: The email body
              title: Body
              type: string
            cc:
              description: Anyone that should be cc'ed on the email
              title: Cc
              type: string
            from:
              description: From email address
              title: From
              type: string
            from_name:
              description: From name
              title: From Name
              type: string
            reply_to:
              description: The reply to
              title: Reply To
              type: string
            subject:
              description: The email subject
              title: Subject
              type: string
          required:
            - body
            - subject
          title: Email Template
          type: object
        membership_id:
          title: Membership
          type: string
      required:
        - destination_email_address
        - membership_id
      type: object
    PreviewGroupApplicationEmailRequest:
      additionalProperties: false
      properties:
        application_group_id:
          title: Application Group
          type: string
        destination_email_address:
          title: Destination Email Address
          type: string
        email_template:
          additionalProperties: false
          properties:
            bcc:
              description: Anyone that should be bcc'ed on the email
              title: Bcc
              type: string
            body:
              description: The email body
              title: Body
              type: string
            cc:
              description: Anyone that should be cc'ed on the email
              title: Cc
              type: string
            from:
              description: From email address
              title: From
              type: string
            from_name:
              description: From name
              title: From Name
              type: string
            reply_to:
              description: The reply to
              title: Reply To
              type: string
            subject:
              description: The email subject
              title: Subject
              type: string
          required:
            - body
            - subject
          title: Email Template
          type: object
      required:
        - application_group_id
        - destination_email_address
      type: object
    PreviewIdCardRequest:
      additionalProperties: false
      properties:
        id_card_template:
          title: Id Card Template
          type: string
        membership_id:
          title: Membership
          type: string
      required:
        - id_card_template
        - membership_id
      type: object
    PublicMembershipPackagesRequest:
      properties:
        membership_package_ids:
          items:
            type: string
          minItems: 0
          title: Membership Packages
          type: array
        membership_package_restriction:
          enum:
            - exclude
            - include
            - none
          title: Membership Package Restriction
          type: string
        membership_type_ids:
          items:
            type: string
          minItems: 0
          title: Membership Types
          type: array
        membership_type_restriction:
          enum:
            - exclude
            - include
            - none
          title: Membership Type Restriction
          type: string
      required:
        - membership_package_ids
        - membership_type_ids
      type: object
    PublicMembershipPackagesResponse:
      additionalProperties: false
      properties:
        packages:
          items:
            additionalProperties: false
            properties:
              description:
                description: Description of the package
                title: Description
                type: string
              display_in_portal_as:
                description: Portal display
                title: Display In Portal As
                type: string
              enable_special_prices:
                description: Whether special prices are used
                title: Enable Special Prices
                type: boolean
              id:
                description: ID of the membership package
                title: ID
                type: string
              member_price:
                description: Renewal price of the package
                format: float
                title: Member Price
                type: number
              membership_type_id:
                description: The membership type
                title: Membership Type
                type: string
              name:
                description: Name of the membership package
                title: Name
                type: string
              price:
                description: Price of the package
                format: float
                title: Price
                type: number
            type: object
          type: array
        types:
          items:
            additionalProperties: false
            properties:
              display_in_portal_as:
                description: Portal display
                title: Display In Portal As
                type: string
              display_order:
                description: Display order for the membership type
                format: float
                title: Display Order
                type: number
              id:
                description: ID of the membership type
                title: ID
                type: string
              name:
                description: Name of the membership type
                title: Name
                type: string
              universal_shopping_cart_image_uri:
                description: Image to use for the cart
                title: Universal Shopping Cart Image Uri
                type: string
            type: object
          type: array
      type: object
    RecurringBillingRun:
      additionalProperties: false
      properties:
        errors_since_last_run:
          description: >-
            The number of errors that have occurred since the last successful
            run of this schedule
          format: float
          title: Errors Since Last Run
          type: number
        human_readable_schedule:
          description: A human readable schedule for display
          title: Human Readable Schedule
          type: string
        id:
          description: The unique, string identifier of this recurring billing run
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether this process is active
          title: Is Active
          type: boolean
        last_error:
          description: The last error on this process
          title: Last Error
          type: string
        last_error_date:
          description: The last time this process encountered an error
          format: date-time
          title: Last Error Date
          type: string
        last_run_date:
          description: The last time this process was run
          format: date-time
          title: Last Run Date
          type: string
        name:
          description: The name of the recurring billing run
          title: Name
          type: string
        pre_processing_lead_time:
          description: >-
            The number of business days before the run date that the system
            should pre process the run and allow it to be reviewed
          format: float
          minimum: 1
          title: Pre Processing Lead Time
          type: number
        schedule:
          description: The schedule which defines how often the batch should be created
          title: Schedule
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_next_processing_date:
          description: Internal system field, do not modify
          format: date-time
          title: Sys Next Processing Date
          type: string
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        template_id:
          description: The template to use
          title: Template
          type: string
      required:
        - id
        - name
        - pre_processing_lead_time
        - schedule
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
        - template_id
      type: object
    RelativeDate:
      additionalProperties: false
      properties:
        number:
          description: The unit of time
          format: float
          minimum: 0
          title: Number
          type: number
        position:
          description: How the unit relates to the reference date
          enum:
            - after
            - before
            - 'on'
          title: Position
          type: string
        relative_to:
          enum:
            - the beginning of the month
            - the beginning of the quarter
            - the beginning of the week
            - the beginning of the year
            - the end of the month
            - the end of the quarter
            - the end of the week
            - the end of the year
            - the reference date
          title: Relative To
          type: string
        unit_of_time:
          enum:
            - days
            - months
            - weeks
            - years
          title: Unit Of Time
          type: string
      required:
        - number
        - position
        - relative_to
        - unit_of_time
      type: object
    ReprocessFlowdownRequest:
      additionalProperties: false
      properties:
        notification_email:
          title: Notification Email
          type: string
      type: object
    Section:
      additionalProperties: false
      properties:
        allowed_membership_type_ids:
          description: The ids of membership types that are allowed to join this chapter
          items:
            type: string
          minItems: 1
          title: Allowed Membership Types
          type: array
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        description:
          description: A description of the section
          title: Description
          type: string
        enable_dues:
          title: Enable Dues
          type: boolean
        enable_new_member_email:
          description: >-
            Allow for new members to receive an email when they join this
            section
          title: Enable New Member Email
          type: boolean
        hide_from_portal:
          description: Whether or not this section is displayed in the portal
          title: Hide From Portal
          type: boolean
        id:
          description: The unique, string identifier of this section
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether this is an active section
          title: Is Active
          type: boolean
        name:
          description: The name of the section
          title: Name
          type: string
        new_member_email:
          additionalProperties: false
          description: The new member email
          properties:
            bcc:
              description: Anyone that should be bcc'ed on the email
              title: Bcc
              type: string
            body:
              description: The email body
              title: Body
              type: string
            cc:
              description: Anyone that should be cc'ed on the email
              title: Cc
              type: string
            from:
              description: From email address
              title: From
              type: string
            from_name:
              description: From name
              title: From Name
              type: string
            reply_to:
              description: The reply to
              title: Reply To
              type: string
            subject:
              description: The email subject
              title: Subject
              type: string
          required:
            - body
            - subject
          title: New Member Email
          type: object
        restrict_membership_types:
          description: When set, only certain membership types can join this section
          title: Restrict Membership Types
          type: boolean
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        type_id:
          description: The type of section
          title: Type
          type: string
      required:
        - allowed_membership_type_ids
        - id
        - name
        - new_member_email
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
        - type_id
      type: object
    SectionDescriptionResult:
      items:
        additionalProperties: false
        properties:
          section_type_id:
            type: string
          section_type_name:
            type: string
          section_type_portal_description:
            type: string
          sections:
            items:
              additionalProperties: false
              properties:
                currency_code:
                  type: string
                dues:
                  format: float
                  type: number
                section_id:
                  type: string
                section_name:
                  type: string
              type: object
            type: array
        type: object
      type: array
    SectionDuesProduct:
      additionalProperties: false
      properties:
        allow_customer_to_choose_installment_plan:
          description: If true, the customer can choose their installment plan
          title: Allow Customer To Choose Installment Plan
          type: boolean
        bulk_pricing_rules:
          items:
            additionalProperties: false
            properties:
              discount_amount:
                description: The percentage/flat rate
                format: float
                minimum: 0
                title: Discount Amount
                type: number
              discount_type:
                description: The type of discount rule
                enum:
                  - flat rate
                  - percentage
                title: Discount Type
                type: string
              ending_range:
                description: The ending range of the rule
                minimum: 0
                title: Ending Range
                type: integer
              starting_range:
                description: The starting range of the rule
                minimum: 0
                title: Starting Range
                type: integer
            required:
              - discount_amount
              - discount_type
            type: object
          minItems: 1
          type: array
        bundled_products:
          items:
            additionalProperties: false
            properties:
              member_price:
                description: The member price
                format: double
                title: Member Price
                type: number
              price:
                description: The price to bundle
                format: double
                title: Price
                type: number
              product_id:
                description: The product ID
                title: Product
                type: string
              product_type:
                description: The product type
                title: Product Type
                type: string
              quantity:
                description: The quantity to bundle
                title: Quantity
                type: integer
              type:
                enum:
                  - bundled product
                  - inline bundled product
                title: Type
                type: string
            required:
              - product_id
              - product_type
              - quantity
              - type
            type: object
          minItems: 1
          type: array
        bundled_products_inventory_handling:
          description: >-
            Whether to track inventory for the entire bundle, or for each
            product separately
          enum:
            - bundle
            - each product
          title: Bundled Products Inventory Handling
          type: string
        business_unit_id:
          description: The business unit of the product
          title: Business Unit
          type: string
        cancellation_fee:
          description: Cancellation fees associated with this product
          format: double
          title: Cancellation Fee
          type: number
        coupon_codes:
          items:
            additionalProperties: false
            properties:
              coupon_code_generation_process_id:
                description: The process by which the coupons are generated
                title: Coupon Code Generation Process
                type: string
              coupon_code_type:
                enum:
                  - multi use
                  - single use
                title: Coupon Code Type
                type: string
              coupon_id:
                title: Coupon
                type: string
              coupon_type:
                title: Coupon Type
                type: string
              expiration_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Expiration Date
                type: string
              expiration_type:
                enum:
                  - none
                  - relative date
                  - specific date
                title: Expiration Type
                type: string
              maximum_number_of_total_uses:
                description: The maximum number of total uses
                minimum: 1
                oneOf:
                  - enum:
                      - 1
                    x-required: true
                title: Maximum Number Of Total Uses
                type: integer
              maximum_number_of_uses_per_customer:
                description: The maximum number of total uses for a given customer
                minimum: 1
                oneOf:
                  - enum:
                      - 1
                    x-required: true
                title: Maximum Number Of Uses Per Customer
                type: integer
              quantity:
                description: The number of coupons to generate
                maximum: 250
                title: Quantity
                type: integer
              relative_expiration_date:
                additionalProperties: false
                description: Expiration date relative to purchase
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Expiration Date
                type: object
              restrict_to_contact:
                description: >-
                  If true, the code generated is restricted to the contact who
                  made the purchase
                title: Restrict To Contact
                type: boolean
              restrict_to_organization:
                description: >-
                  If true, the code generated is restricted to the organization
                  made the purchase
                title: Restrict To Organization
                type: boolean
            required:
              - coupon_code_generation_process_id
              - coupon_code_type
              - coupon_id
              - coupon_type
              - quantity
            type: object
          minItems: 1
          type: array
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        custom_pricing_options:
          additionalProperties: false
          properties:
            lambda_function_id:
              description: The custom lambda function to use
              title: Lambda Function
              type: string
          required:
            - lambda_function_id
          title: Custom Pricing Options
          type: object
        document_entitlements_to_create:
          items:
            additionalProperties: false
            properties:
              expiration_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Expiration Date
                type: string
              expiration_type:
                enum:
                  - none
                  - relative date
                  - specific date
                title: Expiration Type
                type: string
              file_cabinet_id:
                description: The file cabinet
                title: File Cabinet
                type: string
              item_id:
                description: The item
                title: Item
                type: string
              library_path:
                description: >-
                  The optional path that items will be mounted onto the digital
                  library
                title: Library Path
                type: string
              relative_expiration_date:
                additionalProperties: false
                description: The date the task is due
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Expiration Date
                type: object
            required:
              - expiration_type
              - file_cabinet_id
            type: object
          type: array
        dues_proration:
          additionalProperties: false
          properties:
            applies_to:
              enum:
                - both
                - new members
                - renewing members
              title: Applies To
              type: string
            april:
              format: float
              title: April
              type: number
            august:
              format: float
              title: August
              type: number
            december:
              format: float
              title: December
              type: number
            february:
              format: float
              title: February
              type: number
            january:
              format: float
              title: January
              type: number
            july:
              format: float
              title: July
              type: number
            june:
              format: float
              title: June
              type: number
            march:
              format: float
              title: March
              type: number
            may:
              format: float
              title: May
              type: number
            november:
              format: float
              title: November
              type: number
            october:
              format: float
              title: October
              type: number
            september:
              format: float
              title: September
              type: number
          title: Dues Proration
          type: object
        enable_bulk_pricing:
          description: Whether or not bulk pricing is enabled
          title: Enable Bulk Pricing
          type: boolean
        enable_bundled_products:
          description: Whether to enable bundled products
          title: Enable Bundled Products
          type: boolean
        enable_cancellation_fees:
          description: Whether or not cancellation fees are applicable
          title: Enable Cancellation Fees
          type: boolean
        enable_coupon_code_generation:
          description: If true, purchasing this product will generate coupons
          title: Enable Coupon Code Generation
          type: boolean
        enable_custom_pricing:
          description: >-
            If set, the order engine will call out to a custom lambda function
            for custom/complex pricing
          title: Enable Custom Pricing
          type: boolean
        enable_document_entitlement_creation:
          description: >-
            If set, document entitlements will be created to access folders or
            documents
          title: Enable Document Entitlement Creation
          type: boolean
        enable_dues_proration:
          description: Enable dues proration
          title: Enable Dues Proration
          type: boolean
        enable_product_confirmation_email:
          description: If enabled, a custom email goes out whenever this product is ordered
          title: Enable Product Confirmation Email
          type: boolean
        enable_purchase_limits:
          description: If true, purchase limits are in place for this product
          title: Enable Purchase Limits
          type: boolean
        enable_purchasing_eligibility:
          description: If set, purchases of this merchandise are restricted
          title: Enable Purchasing Eligibility
          type: boolean
        enable_special_prices:
          description: Whether to enable special pricing logic
          title: Enable Special Prices
          type: boolean
        enable_task_generation:
          description: If set, tasks will be generated
          title: Enable Task Generation
          type: boolean
        foreign_currency_prices:
          items:
            additionalProperties: false
            properties:
              cancellation_fee:
                description: The cancellation fee of the product for this currency
                format: double
                title: Cancellation Fee
                type: number
              currency_code:
                enum:
                  - AED
                  - AFN
                  - ALL
                  - AMD
                  - ANG
                  - AOA
                  - ARS
                  - AUD
                  - AWG
                  - AZN
                  - BAM
                  - BBD
                  - BDT
                  - BGN
                  - BHD
                  - BIF
                  - BMD
                  - BND
                  - BOB
                  - BRL
                  - BSD
                  - BTN
                  - BWP
                  - BYR
                  - BZD
                  - CAD
                  - CDF
                  - CHF
                  - CLP
                  - CNY
                  - COP
                  - CRC
                  - CUC
                  - CVE
                  - CZK
                  - DJF
                  - DKK
                  - DOP
                  - DZD
                  - EEK
                  - EGP
                  - ERN
                  - ETB
                  - EUR
                  - FJD
                  - FKP
                  - GBP
                  - GEL
                  - GHS
                  - GIP
                  - GMD
                  - GNF
                  - GQE
                  - GTQ
                  - GYD
                  - HKD
                  - HNL
                  - HRK
                  - HTG
                  - HUF
                  - IDR
                  - ILS
                  - INR
                  - IQD
                  - IRR
                  - ISK
                  - JMD
                  - JOD
                  - JPY
                  - KES
                  - KGS
                  - KHR
                  - KMF
                  - KPW
                  - KRW
                  - KWD
                  - KYD
                  - KZT
                  - LAK
                  - LBP
                  - LKR
                  - LRD
                  - LSL
                  - LTL
                  - LVL
                  - LYD
                  - MAD
                  - MDL
                  - MGA
                  - MKD
                  - MMK
                  - MNT
                  - MOP
                  - MRO
                  - MUR
                  - MVR
                  - MWK
                  - MXN
                  - MYR
                  - MZM
                  - NAD
                  - NGN
                  - NIO
                  - NOK
                  - NPR
                  - NZD
                  - OMR
                  - PAB
                  - PEN
                  - PGK
                  - PHP
                  - PKR
                  - PLN
                  - PYG
                  - QAR
                  - RON
                  - RSD
                  - RUB
                  - SAR
                  - SBD
                  - SCR
                  - SDG
                  - SEK
                  - SGD
                  - SHP
                  - SLL
                  - SOS
                  - SRD
                  - SYP
                  - SZL
                  - THB
                  - TJS
                  - TMT
                  - TND
                  - TRY
                  - TTD
                  - TWD
                  - TZS
                  - UAH
                  - UGX
                  - USD
                  - UYU
                  - UZS
                  - VEB
                  - VND
                  - VUV
                  - WST
                  - XAF
                  - XCD
                  - XDR
                  - XOF
                  - XPF
                  - YER
                  - ZAR
                  - ZMK
                  - ZWR
                title: Currency Code
                type: string
              member_price:
                description: The price of the product for a member
                format: double
                title: Member Price
                type: number
              mode:
                description: How this foreign currency should be treated
                enum:
                  - calculate price
                  - prohibit purchase
                  - set price
                title: Mode
                type: string
              price:
                description: The price of the product
                format: double
                oneOf:
                  - x-required: true
                title: Price
                type: number
              restocking_fee:
                description: The restocking fee of the product for this currency
                format: double
                title: Restocking Fee
                type: number
            required:
              - currency_code
            type: object
          type: array
        hide_from_portal:
          description: If set, this product should not be shown in the portal
          title: Hide From Portal
          type: boolean
        id:
          description: The unique, string identifier of this miscellaneous product
          pattern: ^[\w:|-]+$
          title: ID
          type: string
        installment_plan_options:
          items:
            additionalProperties: false
            properties:
              additional_cost:
                description: The additional cost of the installment plan
                format: double
                title: Additional Cost
                type: number
              installment_plan_id:
                description: The installment plan that this product supports
                title: Installment Plan
                type: string
              is_default:
                description: Whether this is the default installment plan option
                title: Is Default
                type: boolean
            required:
              - installment_plan_id
            type: object
          minItems: 1
          type: array
        is_active:
          description: Whether this product is active/used
          title: Is Active
          type: boolean
        member_price:
          description: The price of the product for an active member
          format: double
          title: Member Price
          type: number
        membership_package_id:
          description: The membership package associated with this product
          title: Membership Package
          type: string
        name:
          description: The name of the miscellaneous product
          title: Name
          type: string
        notes:
          description: Notes
          title: Notes
          type: string
        portal_options:
          additionalProperties: false
          properties:
            available_from:
              description: The date from which this product should be available
              format: date-time
              title: Available From
              type: string
            available_until:
              description: The date until which this product should be available
              format: date-time
              title: Available Until
              type: string
          title: Portal Options
          type: object
        price:
          description: The price of the product
          format: double
          title: Price
          type: number
        product_confirmation_email_options:
          additionalProperties: false
          properties:
            product_confirmation_email_id:
              oneOf:
                - x-required: true
              title: Product Confirmation Email
              type: string
            product_specific_email:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                bcc:
                  description: Anyone that should be bcc'ed on the email
                  title: Bcc
                  type: string
                body:
                  description: The email body
                  title: Body
                  type: string
                cc:
                  description: Anyone that should be cc'ed on the email
                  title: Cc
                  type: string
                from:
                  description: From email address
                  title: From
                  type: string
                from_name:
                  description: From name
                  title: From Name
                  type: string
                reply_to:
                  description: The reply to
                  title: Reply To
                  type: string
                subject:
                  description: The email subject
                  title: Subject
                  type: string
              required:
                - body
                - subject
              title: Product Specific Email
              type: object
            type:
              enum:
                - product specific
                - shared
              title: Type
              type: string
          title: Product Confirmation Email Options
          type: object
        publish_to_portal:
          description: Whether or not this product should be available in the portal
          title: Publish To Portal
          type: boolean
        purchase_limits:
          additionalProperties: false
          properties:
            error_message:
              description: The error message to show
              title: Error Message
              type: string
            maximum:
              description: The maximum
              format: float
              title: Maximum
              type: number
            relative_time_window:
              additionalProperties: false
              description: the time window
              oneOf:
                - x-required: true
              properties:
                number:
                  description: The unit of time
                  format: float
                  minimum: 0
                  oneOf:
                    - {}
                  title: Number
                  type: number
                position:
                  description: How the unit relates to the reference date
                  enum:
                    - after
                    - before
                    - 'on'
                  title: Position
                  type: string
                relative_to:
                  enum:
                    - the beginning of the month
                    - the beginning of the quarter
                    - the beginning of the week
                    - the beginning of the year
                    - the end of the month
                    - the end of the quarter
                    - the end of the week
                    - the end of the year
                    - the reference date
                  title: Relative To
                  type: string
                unit_of_time:
                  enum:
                    - days
                    - months
                    - weeks
                    - years
                  oneOf:
                    - {}
                  title: Unit Of Time
                  type: string
              required:
                - number
                - position
                - relative_to
                - unit_of_time
              title: Relative Time Window
              type: object
            time_period:
              enum:
                - all time
                - sliding time window
              title: Time Period
              type: string
            type:
              enum:
                - per customer
              title: Type
              type: string
          required:
            - maximum
            - time_period
            - type
          title: Purchase Limits
          type: object
        purchasing_eligibility_criteria:
          title: Purchasing Eligibility Criteria
          type: object
        section_id:
          description: The section
          title: Section
          type: string
        special_prices:
          items:
            additionalProperties: false
            properties:
              criteria:
                title: Criteria
                type: object
              enable_formula:
                description: >-
                  if set, a formula is used to calculate the price. If the
                  formula fails, the price is used
                title: Enable Formula
                type: boolean
              formula:
                description: The formula evaluated using the expr-eval npm package
                oneOf:
                  - x-required: true
                title: Formula
                type: string
              name:
                title: Name
                type: string
              price:
                format: float
                title: Price
                type: number
            required:
              - criteria
              - price
            type: object
          minItems: 1
          type: array
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        tasks_to_generate:
          items:
            additionalProperties: false
            properties:
              assignee_type:
                enum:
                  - assignment role
                  - queue
                  - user
                title: Assignee Type
                type: string
              assignment_role_id:
                description: The assignment role that should receive the ask
                oneOf:
                  - x-required: true
                title: Assignment Role
                type: string
              description:
                description: A description
                title: Description
                type: string
              due_date_type:
                description: Whether there is a due date
                enum:
                  - none
                  - relative date
                  - specific date
                title: Due Date Type
                type: string
              name:
                description: The name of the task
                title: Name
                type: string
              notify_assignees:
                description: Notify assignee when the task is created
                title: Notify Assignees
                type: boolean
              priority:
                enum:
                  - high
                  - low
                  - normal
                  - urgent
                title: Priority
                type: string
              queue_id:
                description: The queue that should be assigned the ask
                oneOf:
                  - x-required: true
                title: Queue
                type: string
              relative_due_date:
                additionalProperties: false
                description: The date the task is due
                oneOf:
                  - x-required: true
                properties:
                  number:
                    description: The unit of time
                    format: float
                    minimum: 0
                    oneOf:
                      - {}
                    title: Number
                    type: number
                  position:
                    description: How the unit relates to the reference date
                    enum:
                      - after
                      - before
                      - 'on'
                    title: Position
                    type: string
                  relative_to:
                    enum:
                      - the beginning of the month
                      - the beginning of the quarter
                      - the beginning of the week
                      - the beginning of the year
                      - the end of the month
                      - the end of the quarter
                      - the end of the week
                      - the end of the year
                      - the reference date
                    title: Relative To
                    type: string
                  unit_of_time:
                    enum:
                      - days
                      - months
                      - weeks
                      - years
                    oneOf:
                      - {}
                    title: Unit Of Time
                    type: string
                required:
                  - number
                  - position
                  - relative_to
                  - unit_of_time
                title: Relative Due Date
                type: object
              specific_due_date:
                format: date-time
                oneOf:
                  - x-required: true
                title: Specific Due Date
                type: string
              type_id:
                description: The type of task
                title: Type
                type: string
              user_id:
                description: The user that should be assigned the ask
                oneOf:
                  - x-required: true
                title: User
                type: string
            required:
              - assignee_type
              - due_date_type
              - name
              - type_id
            type: object
          type: array
        type:
          description: The product type
          enum:
            - membership-section-dues-products
          title: Type
          type: string
      required:
        - bulk_pricing_rules
        - bundled_products
        - business_unit_id
        - coupon_codes
        - custom_pricing_options
        - dues_proration
        - id
        - installment_plan_options
        - name
        - price
        - product_confirmation_email_options
        - purchase_limits
        - section_id
        - special_prices
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    SectionSearchParameters:
      additionalProperties: false
      properties:
        id:
          description: IDs to search
          items:
            type: string
          title: ID
          type: array
        is_active:
          items:
            type: boolean
          title: Is Active
          type: array
        name:
          title: Name
          type: string
        type_id:
          description: Types to search
          items:
            type: string
          title: Type
          type: array
      type: object
    SectionSearchResults:
      additionalProperties: false
      properties:
        id:
          title: ID
          type: string
        is_active:
          title: Is Active
          type: boolean
        name:
          title: Name
          type: string
        type_id:
          title: Type
          type: string
      type: object
    SectionType:
      additionalProperties: false
      properties:
        allowed_membership_type_ids:
          description: The ids of membership types that are allowed to join this chapter
          items:
            type: string
          minItems: 1
          title: Allowed Membership Types
          type: array
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        display_in_portal_as:
          description: Override to display in portal
          title: Display In Portal As
          type: string
        display_order:
          description: The order to display these types in the portal
          format: float
          title: Display Order
          type: number
        id:
          description: The unique, string identifier of this section type
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether or not this is an active section type
          title: Is Active
          type: boolean
        name:
          description: The name of the section type
          title: Name
          type: string
        portal_description:
          description: Description of this type to be displayed in the portal
          title: Portal Description
          type: string
        restrict_membership_types:
          description: When set, only certain membership types can join this section
          title: Restrict Membership Types
          type: boolean
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
      required:
        - allowed_membership_type_ids
        - id
        - name
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    Setting:
      additionalProperties: false
      properties:
        add_on_configuration:
          additionalProperties: false
          properties:
            dues_bundling:
              description: The mechanism for bundling add on dues
              enum:
                - inline
                - normal
              title: Dues Bundling
              type: string
            plural_name:
              description: The term to be used in the portal for add ons (plural)
              title: Plural Name
              type: string
            portal_restrictions:
              enum:
                - members cannot change add ons
                - members may add add-ons
                - members may add or remove add-ons
              title: Portal Restrictions
              type: string
            singular_name:
              description: The term to be used in the portal for add ons (singular)
              title: Singular Name
              type: string
          title: Add On Configuration
          type: object
        allow_committee_members_to_manage_documents:
          description: >-
            When set, committee members are able to manage documents in the
            portal
          title: Allow Committee Members To Manage Documents
          type: boolean
        allow_customer_to_choose_installment_plan:
          description: If true, the customer can choose their installment plan
          title: Allow Customer To Choose Installment Plan
          type: boolean
        allow_members_to_update_auto_renewal_settings:
          description: >-
            If true, members have the ability to update auto renewal settings in
            the portal
          title: Allow Members To Update Auto Renewal Settings
          type: boolean
        allow_members_to_update_directory_options_in_portal:
          description: >-
            If true, members can update directory information when updating
            their membership
          enum:
            - disabled
            - enabled
            - fields only
          title: Allow Members To Update Directory Options In Portal
          type: string
        bank_account_id:
          description: >-
            The default bank account that the store should use to receive
            payments
          title: Bank Account
          type: string
        bill_my_organization_options:
          additionalProperties: false
          properties:
            billing_address:
              enum:
                - do not show
                - optional
                - required
              title: Billing Address
              type: string
            purchase_order_number:
              enum:
                - do not show
                - optional
                - required
              title: Purchase Order Number
              type: string
            reference_number:
              description: 'The reference #'
              title: Reference Number
              type: string
          title: Bill My Organization Options
          type: object
        bill_my_parent_organization_options:
          additionalProperties: false
          properties:
            billing_address:
              enum:
                - do not show
                - optional
                - required
              title: Billing Address
              type: string
            purchase_order_number:
              enum:
                - do not show
                - optional
                - required
              title: Purchase Order Number
              type: string
            reference_number:
              description: 'The reference #'
              title: Reference Number
              type: string
          title: Bill My Parent Organization Options
          type: object
        business_unit_id:
          description: The business unit of the store
          title: Business Unit
          type: string
        cancellation_fee_product_id:
          description: The ID of the product used for cancellation fees
          title: Cancellation Fee Product
          type: string
        certificate_mode:
          enum:
            - automatically generate
            - create manually
            - disabled
          title: Certificate Mode
          type: string
        certificate_template:
          title: Certificate Template
          type: string
        chapter_administration_settings:
          additionalProperties: false
          properties:
            chapter_page_layout_id:
              description: The page layout to use when updating chapter information
              title: Chapter Page Layout
              type: string
            contact_form_id:
              description: >-
                The contact form to use when allowing people to update chapter
                contact info
              title: Contact Form
              type: string
            membership_page_layout_id:
              description: The page layout to use when updating membership info
              title: Membership Page Layout
              type: string
            permissions:
              items:
                additionalProperties: false
                properties:
                  access_saved_queries:
                    description: >-
                      If set, the applicable chapter leaders are able to access
                      saved queries
                    title: Access Saved Queries
                    type: boolean
                  committee_position_ids:
                    description: >-
                      The committee positions that should match this rule; leave
                      blank for anyone on a chapter committee
                    items:
                      type: string
                    title: Committee Positions
                    type: array
                  grace_period:
                    description: >-
                      A grace period (in days) during which chapter leaders
                      still have the permissions specified, even after their
                      membership expires
                    format: float
                    title: Grace Period
                    type: number
                  manage_chapter_committees:
                    description: >-
                      If set, leaders can manage/change chapter committee
                      positions
                    title: Manage Chapter Committees
                    type: boolean
                  manage_chapter_documents:
                    description: >-
                      If set, leaders can view, upload, and delete documents in
                      the file cabinet
                    title: Manage Chapter Documents
                    type: boolean
                  renew_existing_members:
                    description: If set, leaders can renew existing members
                    title: Renew Existing Members
                    type: boolean
                  saved_queries:
                    items:
                      additionalProperties: false
                      properties:
                        display_name:
                          description: >-
                            The display name of the saved query. If not set, the
                            saved query name is used
                          title: Display Name
                          type: string
                        saved_query_id:
                          description: The ID of the saved query
                          title: Saved Query
                          type: string
                      required:
                        - saved_query_id
                      type: object
                    minItems: 1
                    oneOf:
                      - x-required: true
                    type: array
                  sign_up_new_members:
                    description: Applicable chapter leaders can register/create new members
                    title: Sign Up New Members
                    type: boolean
                  update_chapter_info:
                    description: >-
                      If true, chapter leader is able to modify chapter
                      information
                    title: Update Chapter Info
                    type: boolean
                  update_contact_info:
                    description: >-
                      Applicable chapter leaders should be able to update
                      contact information. If set, a contact_form_id must be
                      specified
                    title: Update Contact Info
                    type: boolean
                  update_membership_info:
                    description: >-
                      Applicable chapter leaders can update membership profile
                      information. If set, a membership_page_layout_id must be
                      specified
                    title: Update Membership Info
                    type: boolean
                  view_chapter_roster:
                    description: >-
                      If set, the applicable chapter leaders can see the
                      committee roster and view membership information
                    title: View Chapter Roster
                    type: boolean
                type: object
              type: array
          title: Chapter Administration Settings
          type: object
        chapter_center_html_template:
          description: The template to use for showing chapter information in the portal
          title: Chapter Center Html Template
          type: string
        chapter_configuration:
          additionalProperties: false
          properties:
            auto_assignment:
              description: >-
                The auto assignment mode. Suggest guesses the chapter, and
                assign assigns one without giving the user an option
              enum:
                - assign
                - 'off'
                - suggest
              title: Auto Assignment
              type: string
            dues_bundling:
              description: The mechanism for bundling chapter dues
              enum:
                - inline
                - normal
              title: Dues Bundling
              type: string
            maximum_number_of_chapters_a_member_can_join:
              description: >-
                The maximum number of chapters a member can join - leave blank
                for an unlimited number of chapters
              format: float
              minimum: 1
              title: Maximum Number Of Chapters A Member Can Join
              type: number
            members_are_required_to_join_a_chapter:
              description: Whether a member is required to join a a chapter
              title: Members Are Required To Join A Chapter
              type: boolean
            plural_name:
              description: The term to be used in the portal for chapters (plural)
              title: Plural Name
              type: string
            portal_restrictions:
              enum:
                - members cannot change chapters
                - members may add chapters
                - members may add or remove chapters
              title: Portal Restrictions
              type: string
            renewal_pricing_strategy:
              enum:
                - all renewing members
                - previous chapter members
              title: Renewal Pricing Strategy
              type: string
            singular_name:
              description: The term to be used in the portal for chapters (singular)
              title: Singular Name
              type: string
            update_chapter_when_contact_address_changes:
              description: >-
                If true, the system will listen for changes to contact addresses
                and try to automatically update their chapter
              title: Update Chapter When Contact Address Changes
              type: boolean
          title: Chapter Configuration
          type: object
        checkout_donation_options:
          additionalProperties: false
          properties:
            simple_checkout_donation_options:
              additionalProperties: false
              oneOf:
                - x-required: true
              properties:
                allow_user_to_specify_custom_amount:
                  description: If set, the user can specify their own custom donation
                  title: Allow User To Specify Custom Amount
                  type: boolean
                donation_ask_text:
                  description: The text shown to the user when making the donation
                  title: Donation Ask Text
                  type: string
                donation_denominations:
                  items:
                    format: double
                    type: number
                  title: Donation Denominations
                  type: array
                donation_information:
                  description: Additional information about the donation
                  title: Donation Information
                  type: string
                donation_product_id:
                  description: The misc product that should be used
                  title: Donation Product
                  type: string
                override_donation_denominations:
                  description: >-
                    If set, donation denominations are specified here and the
                    defaults are not used
                  title: Override Donation Denominations
                  type: boolean
                suggested_donation:
                  description: A suggested donation
                  format: double
                  title: Suggested Donation
                  type: number
              required:
                - donation_product_id
              title: Simple Checkout Donation Options
              type: object
            type:
              enum:
                - simple
              title: Type
              type: string
          title: Checkout Donation Options
          type: object
        conflicting_membership_preference:
          description: >-
            In the case of a member that has both a principal and a
            flowdown/assigned membership, this setting determine which one is
            used
          enum:
            - organization
            - principal
          title: Conflicting Membership Preference
          type: string
        contact_role_permissions:
          items:
            additionalProperties: false
            properties:
              manage_membership_privileges:
                description: >-
                  Whether the contact role can edit/decide who should receive
                  membership benefits
                title: Manage Membership Privileges
                type: boolean
              renew_membership:
                description: Whether the contact role can renew for membership
                title: Renew Membership
                type: boolean
              role_id:
                description: The contact role
                title: Role
                type: string
              sign_up_for_membership:
                description: Whether the contact role can join as a organizational member
                title: Sign Up For Membership
                type: boolean
              update_membership_info:
                description: >-
                  Whether the contact role can update organization membership
                  info
                title: Update Membership Info
                type: boolean
            type: object
          type: array
        credit_card_minimum_range_end:
          description: If set, the maximum amount for which credit cards can be taken
          format: float
          title: Credit Card Minimum Range End
          type: number
        credit_card_minimum_range_start:
          description: If set, the minimum amount for which credit cards can be taken
          format: float
          title: Credit Card Minimum Range Start
          type: number
        credit_card_mode:
          description: Determines whether or not credit cards are accepted
          enum:
            - disabled
            - enabled
            - range
          title: Credit Card Mode
          type: string
        credit_card_processing_fee_mode:
          description: Determines how credit card processing fees should be handled
          enum:
            - charge
            - do not charge
            - prompt user
          title: Credit Card Processing Fee Mode
          type: string
        credit_card_processing_fee_options:
          additionalProperties: false
          properties:
            fee_percentage:
              description: 'The fee percentage to charge for credit card processing '
              format: float
              title: Fee Percentage
              type: number
            maximum_fee:
              description: >-
                The maximum amount to charge. If the fee comes out to be MORE
                than this, than this amount will be charged
              format: float
              title: Maximum Fee
              type: number
            minimum_fee:
              description: >-
                The minimum amount to charge. If the fee comes out to be less
                than this, than this amount will be charged
              format: float
              title: Minimum Fee
              type: number
            product_id:
              description: The misc product to use for the credit card processing
              title: Product
              type: string
            prompt_sub_text:
              description: >-
                Additional text that is shown to the user when asking if they
                want to pay for credit card processing fees. If not set a
                default will be used
              title: Prompt Sub Text
              type: string
            prompt_text:
              description: >-
                The checkbox text to show the user when asking if they want to
                pay for credit card processing fees. If not set a default will
                be used
              title: Prompt Text
              type: string
          required:
            - fee_percentage
            - product_id
          title: Credit Card Processing Fee Options
          type: object
        custom_application_generation_logic_options:
          additionalProperties: false
          properties:
            lambda_function_id:
              description: The custom lambda function to use
              title: Lambda Function
              type: string
          required:
            - lambda_function_id
          title: Custom Application Generation Logic Options
          type: object
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        custom_order_preprocessing_options:
          additionalProperties: false
          properties:
            lambda_function_id:
              description: The custom lambda function to use
              title: Lambda Function
              type: string
          required:
            - lambda_function_id
          title: Custom Order Preprocessing Options
          type: object
        custom_order_pricing_options:
          additionalProperties: false
          properties:
            lambda_function_id:
              description: The custom lambda function to use
              title: Lambda Function
              type: string
          required:
            - lambda_function_id
          title: Custom Order Pricing Options
          type: object
        default_grace_period:
          description: >-
            The default amount of time after a members expiration during which
            the are "in grace"
          format: float
          title: Default Grace Period
          type: number
        directory_opt_out_fields:
          description: The fields that users can opt out of
          items:
            type: string
          minItems: 1
          title: Directory Opt Out Fields
          type: array
        disable_electronic_payment_vaulting:
          description: If set, in the portal people are not allowed to save credit cards
          title: Disable Electronic Payment Vaulting
          type: boolean
        document_settings:
          additionalProperties: false
          properties:
            restrict_management_to_positions:
              description: If set, only certain committee positions can manage documents
              title: Restrict Management To Positions
              type: boolean
            restricted_position_ids:
              description: The positions able to manage documents
              items:
                type: string
              oneOf:
                - x-required: true
              title: Restricted Positions
              type: array
          title: Document Settings
          type: object
        enable_add_ons:
          description: Whether or not membership add-ons are enabled
          title: Enable Add Ons
          type: boolean
        enable_bill_my_organization:
          description: If set, the user has the option to bill their organization
          title: Enable Bill My Organization
          type: boolean
        enable_bill_my_parent_organization:
          description: >-
            If set, the user has the option to bill their organization's parent
            organization
          title: Enable Bill My Parent Organization
          type: boolean
        enable_chapter_administration:
          description: If set, chapters are able to administer their members in the portal
          title: Enable Chapter Administration
          type: boolean
        enable_chapters:
          description: Whether chapters are enabled
          title: Enable Chapters
          type: boolean
        enable_custom_application_generation_logic:
          description: >-
            If set, the application generation logic will call a custom lambda
            function
          title: Enable Custom Application Generation Logic
          type: boolean
        enable_custom_order_preprocessing:
          description: >-
            If set, the order engine will call out to a custom lambda function
            to process/change the order immediately after bundle expansion
          title: Enable Custom Order Preprocessing
          type: boolean
        enable_custom_order_pricing:
          description: >-
            If set, the order engine will call out to a custom lambda function
            to review the order immediately after pricing calculation
          title: Enable Custom Order Pricing
          type: boolean
        enable_directory_field_level_opt_out:
          description: If true, users can opt out of the directory specifically
          title: Enable Directory Field Level Opt Out
          type: boolean
        enable_donations_at_checkout:
          description: >-
            If selected, users will be prompted to make a donation upon checking
            out
          title: Enable Donations At Checkout
          type: boolean
        enable_electronic_checks:
          description: If set, electronic checks are allowed
          title: Enable Electronic Checks
          type: boolean
        enable_group_membership_applications:
          description: If set, group membership applications are enbabled
          title: Enable Group Membership Applications
          type: boolean
        enable_id_cards:
          description: Support for ID cards that can be downloaded in the portal
          title: Enable Id Cards
          type: boolean
        enable_no_processes_message:
          description: Enable a message that shows when a person has no processes available
          title: Enable No Processes Message
          type: boolean
        enable_pay_later:
          description: >-
            If set, pay later is enabled on this checkout regardless of product
            settings... if not, the product settings are observed
          title: Enable Pay Later
          type: boolean
        enable_payroll_deduction:
          description: If set, payroll deduction is allowed
          title: Enable Payroll Deduction
          type: boolean
        enable_reinstatement:
          description: Whether members have the ability to be reinstated after termination
          title: Enable Reinstatement
          type: boolean
        enable_sections:
          description: Whether sections are enabled
          title: Enable Sections
          type: boolean
        enable_split_payments:
          description: If set, users are allowed to split payments
          title: Enable Split Payments
          type: boolean
        id_card_settings:
          additionalProperties: false
          properties:
            allow_printing_in_portal:
              description: Whether or not ID cards can be printed in the portal
              title: Allow Printing In Portal
              type: boolean
            default_id_card_template_id:
              title: Default Id Card Template
              type: string
          required:
            - default_id_card_template_id
          title: Id Card Settings
          type: object
        include_flowdown_members_in_kpis:
          description: Enable adding flowdown memberships in KPIs
          title: Include Flowdown Members In Kpis
          type: boolean
        installment_plan_options:
          items:
            additionalProperties: false
            properties:
              additional_cost:
                description: The additional cost of the installment plan
                format: double
                title: Additional Cost
                type: number
              installment_plan_id:
                description: The installment plan that this product supports
                title: Installment Plan
                type: string
              is_default:
                description: Whether this is the default installment plan option
                title: Is Default
                type: boolean
            required:
              - installment_plan_id
            type: object
          minItems: 1
          type: array
        invoice_payment_terms_id:
          description: The payment terms for invoices; if left blank, default is used
          title: Invoice Payment Terms
          type: string
        invoice_template_id:
          description: The template to use for invoices created during this process
          title: Invoice Template
          type: string
        membership_360_screen_id:
          description: The default 360 screen for membership editing
          pattern: ^membership-memberships__.*
          title: Membership 360 Screen
          type: string
        membership_console_page_layout_id:
          description: The default page layout for membership editing
          pattern: ^membership-memberships__.*
          title: Membership Console Page Layout
          type: string
        membership_portal_page_layout_id:
          description: The default page layout for membership editing
          pattern: ^membership-memberships__.*
          title: Membership Portal Page Layout
          type: string
        merchant_account_id:
          description: The merchant account that the store should use to receive payments
          title: Merchant Account
          type: string
        no_processes_message:
          description: Message to show when no processes
          title: No Processes Message
          type: string
        notes:
          title: Notes
          type: string
        override_chapter_center_template:
          description: If true, a custom template is used for the chapter center
          title: Override Chapter Center Template
          type: boolean
        override_view_member_template:
          description: >-
            If true, a custom template is used for viewing membership
            information
          title: Override View Member Template
          type: boolean
        pay_later_options:
          additionalProperties: false
          properties:
            billing_address:
              enum:
                - do not show
                - optional
                - required
              title: Billing Address
              type: string
            purchase_order_number:
              enum:
                - do not show
                - optional
                - required
              title: Purchase Order Number
              type: string
            reference_number:
              description: 'The reference #'
              title: Reference Number
              type: string
          title: Pay Later Options
          type: object
        reinstatement_options:
          additionalProperties: false
          properties:
            calculate_reinstatement_period_using:
              description: The mechanism to use to calculate the reinstatement period
              enum:
                - expiration date
                - termination date
              title: Calculate Reinstatement Period Using
              type: string
            do_not_show_join_processes_during_reinstatement_period:
              description: >-
                If true, a user will not see Join processes during the
                reinstatement period... only reinstatement processes.
              title: Do Not Show Join Processes During Reinstatement Period
              type: boolean
            give_renewal_pricing_during_reinstatement_period:
              description: If true, a reinstated member only pays renewal pricing
              title: Give Renewal Pricing During Reinstatement Period
              type: boolean
            reinstatement_period:
              format: float
              title: Reinstatement Period
              type: number
          title: Reinstatement Options
          type: object
        restocking_fee_product_id:
          description: The ID of the product used for restocking fees
          title: Restocking Fee Product
          type: string
        section_configuration:
          additionalProperties: false
          properties:
            dues_bundling:
              description: The mechanism for bundling section dues
              enum:
                - inline
                - normal
              title: Dues Bundling
              type: string
            plural_name:
              description: The term to be used in the portal for sections (plural)
              title: Plural Name
              type: string
            portal_restrictions:
              enum:
                - members cannot change sections
                - members may add or remove sections
                - members may add sections
              title: Portal Restrictions
              type: string
            renewal_pricing_strategy:
              enum:
                - all renewing members
                - previous section members
              title: Renewal Pricing Strategy
              type: string
            singular_name:
              description: The term to be used in the portal for sections (singular)
              title: Singular Name
              type: string
          title: Section Configuration
          type: object
        special_instructions:
          description: Instructions shown to the user
          title: Special Instructions
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        update_expiration_based_on_date_of_payment:
          description: >-
            When set, the membership expiration is set based on the date that
            the membership was paid vs ordered
          title: Update Expiration Based On Date Of Payment
          type: boolean
        use_pro_forma_invoices:
          description: Whether to use pro forma invoices when user elects to pay later
          title: Use Pro Forma Invoices
          type: boolean
        view_member_html_template:
          description: The template to use for viewing membership information in the portal
          title: View Member Html Template
          type: string
      required:
        - bank_account_id
        - business_unit_id
        - certificate_template
        - chapter_center_html_template
        - checkout_donation_options
        - credit_card_processing_fee_options
        - custom_application_generation_logic_options
        - custom_order_preprocessing_options
        - custom_order_pricing_options
        - directory_opt_out_fields
        - id_card_settings
        - installment_plan_options
        - merchant_account_id
        - no_processes_message
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
        - view_member_html_template
      type: object
    StandardQueryDefinition:
      additionalProperties: false
      properties:
        category:
          title: Category
          type: string
        definition:
          additionalProperties: false
          properties: {}
          title: Definition
          type: object
        id:
          title: ID
          type: string
        name:
          title: Name
          type: string
      type: object
    Statistic:
      additionalProperties: false
      properties:
        dataSource:
          description: The datasource used to generate this value
          title: Datasource
          type: string
        error:
          description: If the cache encountered an error, this is it
          title: Error
          type: string
        id:
          description: The unique, string identifier of this statistic
          pattern: ^[\w-:%\/]+$
          title: ID
          type: string
        name:
          description: The name of the statistic
          title: Name
          type: string
        status:
          description: The description of the statistic
          enum:
            - error
            - processing
            - valid
          title: Status
          type: string
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        value:
          description: The numeric value of the statistic
          format: float
          title: Value
          type: number
        value_difference_numeric:
          description: >-
            When a value & previous value is present, this is the numeric
            difference
          format: float
          title: Value Difference Numeric
          type: number
        value_difference_percentage:
          description: >-
            When a value & previous value is present, this is the percentage
            difference
          format: float
          title: Value Difference Percentage
          type: number
        value_for_previous_period:
          description: >-
            For statistics that can compare values from a previous period, this
            is the value
          format: float
          title: Value For Previous Period
          type: number
        values:
          description: If the stat hs values in a row form, this variable contains it
          items:
            additionalProperties: false
            properties: {}
            type: object
          type: array
      required:
        - id
        - name
        - status
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
        - value
      type: object
    StatusReason:
      additionalProperties: false
      properties:
        applies_to:
          description: What status this reason is applicable to
          enum:
            - active
            - active without benefits
            - inactive
            - suspended
          title: Applies To
          type: string
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        id:
          description: The unique, string identifier of this status reason
          pattern: ^[\w|-]+$
          title: ID
          type: string
        is_active:
          description: Whether or not this reason is active
          title: Is Active
          type: boolean
        name:
          description: The name of the status reason
          title: Name
          type: string
        priority:
          description: >-
            The priority order, which is how these reasons will be displayed. If
            the status changes, the first applicable reason based on priority
            will be set. 
          format: float
          title: Priority
          type: number
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
      required:
        - id
        - name
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
    StepFunctionExecutionToken:
      additionalProperties: false
      properties:
        executionArn:
          description: The arn of the execution
          title: Executionarn
          type: string
        notification_channel:
          description: The id of the channel where progress updates will be posted
          title: Notification Channel
          type: string
        notification_publishKey:
          description: >-
            The publish key for the channel where progress updates will be
            posted
          title: Notification Publishkey
          type: string
        notification_subscribeKey:
          description: >-
            The subscribe key for the channel where progress updates will be
            posted
          title: Notification Subscribekey
          type: string
        start_date:
          description: The start date of the execution
          format: date-time
          title: Start Date
          type: string
      required:
        - executionArn
      type: object
    Type:
      additionalProperties: false
      properties:
        certificate_settings:
          additionalProperties: false
          properties:
            certificate_mode:
              enum:
                - automatically generate
                - create manually
                - disabled
              title: Certificate Mode
              type: string
            certificate_template:
              oneOf:
                - x-required: true
              title: Certificate Template
              type: string
          title: Certificate Settings
          type: object
        custom_field_values:
          items:
            $ref: '#/components/schemas/CustomFieldValue'
          title: Custom Field Values
          type: array
        custom_order_generation_options:
          additionalProperties: false
          properties:
            lambda_function_id:
              description: The custom lambda function to use
              title: Lambda Function
              type: string
          required:
            - lambda_function_id
          title: Custom Order Generation Options
          type: object
        customer_type:
          enum:
            - contact
            - organization
          title: Customer Type
          type: string
        display_in_portal_as:
          description: The name of the type, as displayed in the portal
          title: Display In Portal As
          type: string
        display_order:
          description: The order to display types
          format: float
          title: Display Order
          type: number
        enable_custom_order_generation:
          description: >-
            If set, the order engine will call out to a custom lambda function
            for custom/complex order logic
          title: Enable Custom Order Generation
          type: boolean
        enable_flowdown:
          description: Whether membership flowdown is enabled for this membership type
          title: Enable Flowdown
          type: boolean
        enable_section_restrictions:
          description: Whether section requirements are enabled for this membership type
          title: Enable Section Restrictions
          type: boolean
        flowdown_membership_type_id:
          description: The membership type for flow down contacts
          title: Flowdown Membership Type
          type: string
        flowdown_options:
          additionalProperties: false
          properties:
            contact_role_ids:
              description: The contact roles that should automatically receive membership
              items:
                type: string
              title: Contact Roles
              type: array
            enable_cascading_flowdown:
              description: Whether membership should cascade down organizations
              title: Enable Cascading Flowdown
              type: boolean
            organization_type_ids:
              description: >-
                The organization types roles that should automatically receive
                membership
              items:
                type: string
              title: Organization Types
              type: array
          title: Flowdown Options
          type: object
        hide_from_portal:
          description: Hidden from portal
          title: Hide From Portal
          type: boolean
        id:
          description: The unique, string identifier of this membership type
          pattern: ^[\w|-]+$
          title: ID
          type: string
        id_card_template_id:
          description: The ID card template for this membership type
          title: Id Card Template
          type: string
        is_active:
          description: Whether or not this type is active
          title: Is Active
          type: boolean
        membership_360_screen_id:
          description: Override the 360 screen
          pattern: ^membership-memberships__.*
          title: Membership 360 Screen
          type: string
        membership_console_page_layout_id:
          description: Override the default page layout for membership editing
          pattern: ^membership-memberships__.*
          title: Membership Console Page Layout
          type: string
        membership_portal_page_layout_id:
          description: Override the default page layout for membership editing
          pattern: ^membership-memberships__.*
          title: Membership Portal Page Layout
          type: string
        name:
          description: The name of the membership type
          title: Name
          type: string
        override_certificate_settings:
          description: >-
            If true, the default certificate settings are overridden for this
            membership
          title: Override Certificate Settings
          type: boolean
        portal_description:
          description: The description of this type in the portal
          title: Portal Description
          type: string
        section_restrictions:
          additionalProperties: false
          properties:
            maximum_number_of_sections:
              description: The maximum number of overall sections
              format: float
              title: Maximum Number Of Sections
              type: number
            minimum_number_of_sections:
              description: The minimum number of overall sections
              format: float
              title: Minimum Number Of Sections
              type: number
            section_type_restrictions:
              items:
                additionalProperties: false
                properties:
                  maximum:
                    description: 'The max # of sections'
                    format: float
                    title: Maximum
                    type: number
                  minimum:
                    description: The minimum number of sections
                    format: float
                    title: Minimum
                    type: number
                  section_type_id:
                    description: The required section type
                    title: Section Type
                    type: string
                type: object
              type: array
          title: Section Restrictions
          type: object
        sys_bulk_load_at:
          description: >-
            If this record was loaded via bulk, the timestamp when the record
            was processed
          title: Sys Bulk Load At
          type: string
        sys_bulk_load_id:
          description: If this record was loaded via bulk, the ID of the bulk load process
          title: Sys Bulk Load
          type: string
        sys_bulk_load_pk:
          description: >-
            If this record was loaded via bulk, the tenant and key of the bulk
            load process used as a partition key
          title: Sys Bulk Load Pk
          type: string
        sys_bulk_load_record_no:
          description: >-
            If this record was loaded via bulk, the record number in the source
            file
          format: float
          title: Sys Bulk Load Record No
          type: number
        sys_bulk_load_source_file:
          description: If this record was loaded via bulk, the source file
          title: Sys Bulk Load Source File
          type: string
        sys_calculated_field_error:
          description: The error associated with the calculated field
          title: Sys Calculated Field Error
          type: string
        sys_calculated_field_errors:
          items:
            additionalProperties: false
            properties:
              error:
                title: Error
                type: string
              field:
                title: Field
                type: string
            type: object
          type: array
        sys_configuration_snapshot_id:
          description: >-
            If a snapshot was restored/applies to this record, the ID of the
            snapshot
          title: Sys Configuration Snapshot
          type: string
        sys_created_at:
          description: >-
            The date/time that this record was created, expressed in ISO-8601
            date format
          format: date-time
          title: Sys Created At
          type: string
        sys_created_by_id:
          description: The ID of the user that created this record
          title: Sys Created By
          type: string
        sys_deleted_by_id:
          description: >-
            The ID of the user that deleted (or last tried to delete) this
            object
          title: Sys Deleted By
          type: string
        sys_directive:
          description: >-
            Means for passing directive information into an object processing
            logic
          title: Sys Directive
          type: string
        sys_external_id:
          description: The ID that a record has from an external system or data import
          title: Sys External
          type: string
        sys_has_files_in_s3:
          description: >-
            If true, this record has files in S3. If false, it doesnt, so no
            need to hit S3 upon deletion
          title: Sys Has Files In S3
          type: boolean
        sys_last_bulk_data_operation_id:
          description: >-
            If this record was last touched by a bulk data operation, the ID of
            that operation
          title: Sys Last Bulk Data Operation
          type: string
        sys_last_bulk_data_operation_sys_version:
          description: >-
            If this record was last touched by a bulk data operation, the
            sys_version at the time of that operation
          title: Sys Last Bulk Data Operation Sys Version
          type: string
        sys_last_modified_at:
          description: >-
            The date/time that this record record was last modified, expressed
            in ISO-8601 date format
          format: date-time
          title: Sys Last Modified At
          type: string
        sys_last_modified_by_id:
          description: The ID of the user that last modified this record
          title: Sys Last Modified By
          type: string
        sys_last_security_context:
          description: >-
            The security context of the last insert, modify, or delete performed
            on this item
          properties: {}
          title: Sys Last Security Context
          type: object
        sys_locked:
          description: If set, this record is locked and cannot be changed via the API
          title: Sys Locked
          type: boolean
        sys_snapshot_base_version:
          description: >-
            The version to use as a base when creating a configuration snapshot;
            if not set, 1 is used. Helpful when creating a sandbox
          format: float
          title: Sys Snapshot Base Version
          type: number
        sys_version:
          description: A number representing the version of this record in the database
          format: float
          title: Sys Version
          type: number
        universal_shopping_cart_image_uri:
          description: The image to display for this package when it is in the online store
          title: Universal Shopping Cart Image Uri
          type: string
      required:
        - certificate_settings
        - custom_order_generation_options
        - customer_type
        - id
        - name
        - section_restrictions
        - sys_created_at
        - sys_created_by_id
        - sys_last_modified_at
        - sys_last_modified_by_id
      type: object
  securitySchemes:
    knox-authorizer:
      bearerFormat: JWT
      scheme: bearer
      type: http
info:
  description: >
    The Membership API provides all the capabilities for managing your
    membership. Although it is most commonly used to look 

    up the membership information for a single contact or organization, it can
    also be used to approve, modify, or drop members.


    Like most of the other Rhythm apps, the Membership API includes endpoints
    for Query Definitions. These endpoints are commonly

    used to retrieve saved queries, which can then be executed using the Query
    endpoints of the System API. 
  title: Membership
  version: v1-2025-04-18
openapi: 3.0.0
paths:
  /addOnProducts/{tenantId}:
    get:
      description: >-
        This method will scan all add on products and and return them to the
        caller.
      operationId: listAddOnProducts
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AddOnProduct'
                type: array
          description: The add on productswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the add on products in the system.
      tags:
        - Add On Products
    post:
      description: >-
        This method will auto-generate an ID and create a new add on product. If
        an ID is specified for the add on product, an error will be thrown.
      operationId: createAddOnProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOnProduct'
        description: The add on product that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOnProduct'
          description: The add on product was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The add on product you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The add on product could not be saved because it refers to/depends
            on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to add add on product based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new add on product record that does not already exist.
      tags:
        - Add On Products
  /addOnProducts/{tenantId}/addOn/{add_on_id}:
    get:
      description: Returns a list of records with the specified add_on_id
      operationId: listProductsByAddOnId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: add_on_id
          required: true
          description: The add_on_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAddOnProductsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified add_on_id
      tags:
        - Add On Products
  /addOnProducts/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve add on product based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Add On Products
  /addOnProducts/{tenantId}/{id}:
    delete:
      description: This method will delete a add on product with the specified ID.
      operationId: deleteAddOnProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the add on product to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The add on product was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The add on product could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete add on product based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a add on product from the system by its ID.
      tags:
        - Add On Products
    get:
      description: >-
        This method will look up a add on product by the specified ID and return
        it back.
      operationId: getAddOnProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the add on product to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOnProduct'
          description: The add on product was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve add on product based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a add on product from the system by its ID.
      tags:
        - Add On Products
    patch:
      description: >-
        This method will patch an existing add on product with the specified ID,
        using the HTTP PATCH specification.
      operationId: patchAddOnProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the add on product to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOnProduct'
          description: The add on product was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The add on product could not be saved because it refers to/depends
            on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve add on product based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a add on product with the specified ID.
      tags:
        - Add On Products
    put:
      description: >-
        This method will update an existing add on product with the specified
        ID.
      operationId: updateAddOnProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the add on product to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOnProduct'
        description: The updated add on product that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOnProduct'
          description: The add on product was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The add on product supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The add on product could not be saved because it refers to/depends
            on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve add on product based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a add on product with the specified ID.
      tags:
        - Add On Products
  /addOnTypes/{tenantId}:
    get:
      description: >-
        This method will scan all add on types and and return them to the
        caller.
      operationId: listAddOnTypes
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AddOnType'
                type: array
          description: The add on typeswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the add on types in the system.
      tags:
        - Add On Types
    post:
      description: >-
        This method will auto-generate an ID and create a new add on type. If an
        ID is specified for the add on type, an error will be thrown.
      operationId: createAddOnType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOnType'
        description: The add on type that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOnType'
          description: The add on type was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The add on type you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The add on type could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add add on type based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new add on type record that does not already exist.
      tags:
        - Add On Types
  /addOnTypes/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve add on type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Add On Types
  /addOnTypes/{tenantId}/{id}:
    delete:
      description: This method will delete a add on type with the specified ID.
      operationId: deleteAddOnType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the add on type to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The add on type was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The add on type could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete add on type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a add on type from the system by its ID.
      tags:
        - Add On Types
    get:
      description: >-
        This method will look up a add on type by the specified ID and return it
        back.
      operationId: getAddOnType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the add on type to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOnType'
          description: The add on type was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve add on type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a add on type from the system by its ID.
      tags:
        - Add On Types
    patch:
      description: >-
        This method will patch an existing add on type with the specified ID,
        using the HTTP PATCH specification.
      operationId: patchAddOnType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the add on type to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOnType'
          description: The add on type was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The add on type could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve add on type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a add on type with the specified ID.
      tags:
        - Add On Types
    put:
      description: This method will update an existing add on type with the specified ID.
      operationId: updateAddOnType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the add on type to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOnType'
        description: The updated add on type that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOnType'
          description: The add on type was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The add on type supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The add on type could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve add on type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a add on type with the specified ID.
      tags:
        - Add On Types
  /addOns/{tenantId}:
    get:
      description: This method will scan all add ons and and return them to the caller.
      operationId: listAddOns
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AddOn'
                type: array
          description: The add onswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the add ons in the system.
      tags:
        - Add Ons
    post:
      description: >-
        This method will auto-generate an ID and create a new add on. If an ID
        is specified for the add on, an error will be thrown.
      operationId: createAddOn
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOn'
        description: The add on that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOn'
          description: The add on was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The add on you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The add on could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add add on based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new add on record that does not already exist.
      tags:
        - Add Ons
  /addOns/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve add on based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Add Ons
  /addOns/{tenantId}/portal/getApplicable/{customerType}/{contactOrOrganizationId}:
    get:
      description: List all applicable add ons for a contact
      operationId: listApplicableAddOns
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: customerType
          required: true
          description: The membership package to describe chapters
          schema:
            type: string
        - in: path
          name: contactOrOrganizationId
          required: true
          description: The membership package to describe chapters
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AddOn'
                type: array
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: List all applicable add ons for a contact
      tags:
        - Add Ons
  /addOns/{tenantId}/{id}:
    delete:
      description: This method will delete a add on with the specified ID.
      operationId: deleteAddOn
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the add on to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The add on was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The add on could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to delete add on based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a add on from the system by its ID.
      tags:
        - Add Ons
    get:
      description: >-
        This method will look up a add on by the specified ID and return it
        back.
      operationId: getAddOn
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the add on to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOn'
          description: The add on was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve add on based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a add on from the system by its ID.
      tags:
        - Add Ons
    patch:
      description: >-
        This method will patch an existing add on with the specified ID, using
        the HTTP PATCH specification.
      operationId: patchAddOn
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the add on to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOn'
          description: The add on was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The add on could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve add on based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a add on with the specified ID.
      tags:
        - Add Ons
    put:
      description: This method will update an existing add on with the specified ID.
      operationId: updateAddOn
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the add on to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddOn'
        description: The updated add on that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddOn'
          description: The add on was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The add on supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The add on could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The add on could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve add on based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a add on with the specified ID.
      tags:
        - Add Ons
  /appReferenceTypes/{tenantId}:
    get:
      description: >-
        This method will scan all app reference types and and return them to the
        caller.
      operationId: listAppReferenceTypes
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AppReferenceType'
                type: array
          description: The app reference typeswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the app reference types in the system.
      tags:
        - App Reference Types
    post:
      description: >-
        This method will auto-generate an ID and create a new app reference
        type. If an ID is specified for the app reference type, an error will be
        thrown.
      operationId: createAppReferenceType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppReferenceType'
        description: The app reference type that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppReferenceType'
          description: The app reference type was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The app reference type you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The app reference type could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to add app reference type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new app reference type record that does not already exist.
      tags:
        - App Reference Types
  /appReferenceTypes/{tenantId}/{id}:
    delete:
      description: This method will delete a app reference type with the specified ID.
      operationId: deleteAppReferenceType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the app reference type to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The app reference type was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The app reference type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The app reference type could not be deleted because other objects
            refers to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete app reference type based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a app reference type from the system by its ID.
      tags:
        - App Reference Types
    get:
      description: >-
        This method will look up a app reference type by the specified ID and
        return it back.
      operationId: getAppReferenceType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the app reference type to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppReferenceType'
          description: The app reference type was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The app reference type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve app reference type based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a app reference type from the system by its ID.
      tags:
        - App Reference Types
    patch:
      description: >-
        This method will patch an existing app reference type with the specified
        ID, using the HTTP PATCH specification.
      operationId: patchAppReferenceType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the app reference type to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppReferenceType'
          description: The app reference type was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The app reference type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The app reference type could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve app reference type based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a app reference type with the specified ID.
      tags:
        - App Reference Types
    put:
      description: >-
        This method will update an existing app reference type with the
        specified ID.
      operationId: updateAppReferenceType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the app reference type to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppReferenceType'
        description: The updated app reference type that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppReferenceType'
          description: The app reference type was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The app reference type supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The app reference type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The app reference type could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve app reference type based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a app reference type with the specified ID.
      tags:
        - App Reference Types
  /applicationGroups/{tenantId}:
    post:
      description: >-
        This method will auto-generate an ID and create a new application group.
        If an ID is specified for the application group, an error will be
        thrown.
      operationId: createApplicationGroup
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationGroup'
        description: The application group that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationGroup'
          description: The application group was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The application group you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application group could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to add application group based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new application group record that does not already exist.
      tags:
        - Application Groups
  /applicationGroups/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application group could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application group based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Application Groups
  /applicationGroups/{tenantId}/contact/{contact_id}:
    get:
      description: Returns a list of records with the specified contact_id
      operationId: listGroupsByContactId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: contact_id
          required: true
          description: The contact_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApplicationGroupsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified contact_id
      tags:
        - Application Groups
  /applicationGroups/{tenantId}/search:
    post:
      description: Searches for application groups using predefined parameters
      operationId: searchForApplicationGroups
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key for the search, for paging support
          schema:
            type: string
        - in: query
          name: fieldsToReturn
          required: false
          description: '  The fields that you want to retrieve; if omitted, the entire object is returned'
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationGroupSearchParameters'
        description: The application group that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedApplicationGroupSearchResults'
          description: The application group search was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The application group you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application group could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to add application group based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Searches for application groups using predefined parameters
      tags:
        - Application Groups
  /applicationGroups/{tenantId}/{id}:
    delete:
      description: This method will delete a application group with the specified ID.
      operationId: deleteApplicationGroup
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application group to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The application group was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application group could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application group could not be deleted because other objects
            refers to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete application group based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a application group from the system by its ID.
      tags:
        - Application Groups
    get:
      description: >-
        This method will look up a application group by the specified ID and
        return it back.
      operationId: getApplicationGroup
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application group to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationGroup'
          description: The application group was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application group could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application group based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a application group from the system by its ID.
      tags:
        - Application Groups
    patch:
      description: >-
        This method will patch an existing application group with the specified
        ID, using the HTTP PATCH specification.
      operationId: patchApplicationGroup
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application group to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationGroup'
          description: The application group was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application group could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application group could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application group based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a application group with the specified ID.
      tags:
        - Application Groups
    put:
      description: >-
        This method will update an existing application group with the specified
        ID.
      operationId: updateApplicationGroup
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application group to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationGroup'
        description: The updated application group that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationGroup'
          description: The application group was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The application group supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application group could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application group could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application group based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a application group with the specified ID.
      tags:
        - Application Groups
  /applicationProcesses/{tenantId}:
    get:
      description: >-
        This method will scan all application processes and and return them to
        the caller.
      operationId: listApplicationProcesses
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ApplicationProcess'
                type: array
          description: The application processeswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the application processes in the system.
      tags:
        - Application Processes
    post:
      description: >-
        This method will auto-generate an ID and create a new application
        process. If an ID is specified for the application process, an error
        will be thrown.
      operationId: createApplicationProcess
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationProcess'
        description: The application process that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationProcess'
          description: The application process was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The application process you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application process could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to add application process based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new application process record that does not already exist.
      tags:
        - Application Processes
  /applicationProcesses/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application process could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application process based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Application Processes
  /applicationProcesses/{tenantId}/eligible/{customerType}/{contactOrOrganizationId}:
    get:
      operationId: getEligibleProcesses
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed
          schema:
            type: string
        - in: path
          name: customerType
          required: true
          description: The contact or organization type
          schema:
            type: string
            enum:
              - contact
              - organization
        - in: path
          name: contactOrOrganizationId
          required: true
          description: The contact or organization id
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ApplicationProcess'
                type: array
          description: Processes were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Request limit exceeded... please try your request again in a few
            seconds
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: An internal server error occured.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the processes a contact/org is eligible to use
      tags:
        - Application Processes
  /applicationProcesses/{tenantId}/{id}:
    delete:
      description: This method will delete a application process with the specified ID.
      operationId: deleteApplicationProcess
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application process to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The application process was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application process could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application process could not be deleted because other objects
            refers to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete application process based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a application process from the system by its ID.
      tags:
        - Application Processes
    get:
      description: >-
        This method will look up a application process by the specified ID and
        return it back.
      operationId: getApplicationProcess
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application process to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationProcess'
          description: The application process was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application process could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application process based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a application process from the system by its ID.
      tags:
        - Application Processes
    patch:
      description: >-
        This method will patch an existing application process with the
        specified ID, using the HTTP PATCH specification.
      operationId: patchApplicationProcess
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application process to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationProcess'
          description: The application process was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application process could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application process could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application process based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a application process with the specified ID.
      tags:
        - Application Processes
    put:
      description: >-
        This method will update an existing application process with the
        specified ID.
      operationId: updateApplicationProcess
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application process to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationProcess'
        description: The updated application process that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationProcess'
          description: The application process was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The application process supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application process could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application process could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application process based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a application process with the specified ID.
      tags:
        - Application Processes
  /applicationStatusReasons/{tenantId}:
    get:
      description: >-
        This method will scan all application status reasons and and return them
        to the caller.
      operationId: listApplicationStatusReasons
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ApplicationStatusReason'
                type: array
          description: The application status reasonswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the application status reasons in the system.
      tags:
        - Application Status Reasons
    post:
      description: >-
        This method will auto-generate an ID and create a new application status
        reason. If an ID is specified for the application status reason, an
        error will be thrown.
      operationId: createApplicationStatusReason
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationStatusReason'
        description: The application status reason that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationStatusReason'
          description: The application status reason was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The application status reason you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application status reason could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to add application status reason based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: >-
        Creates a new application status reason record that does not already
        exist.
      tags:
        - Application Status Reasons
  /applicationStatusReasons/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application status reason could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application status reason based
            on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Application Status Reasons
  /applicationStatusReasons/{tenantId}/{id}:
    delete:
      description: >-
        This method will delete a application status reason with the specified
        ID.
      operationId: deleteApplicationStatusReason
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application status reason to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The application status reason was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application status reason could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application status reason could not be deleted because other
            objects refers to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete application status reason based
            on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a application status reason from the system by its ID.
      tags:
        - Application Status Reasons
    get:
      description: >-
        This method will look up a application status reason by the specified ID
        and return it back.
      operationId: getApplicationStatusReason
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application status reason to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationStatusReason'
          description: The application status reason was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application status reason could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application status reason based
            on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a application status reason from the system by its ID.
      tags:
        - Application Status Reasons
    patch:
      description: >-
        This method will patch an existing application status reason with the
        specified ID, using the HTTP PATCH specification.
      operationId: patchApplicationStatusReason
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application status reason to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationStatusReason'
          description: The application status reason was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application status reason could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application status reason could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application status reason based
            on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a application status reason with the specified ID.
      tags:
        - Application Status Reasons
    put:
      description: >-
        This method will update an existing application status reason with the
        specified ID.
      operationId: updateApplicationStatusReason
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application status reason to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationStatusReason'
        description: The updated application status reason that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationStatusReason'
          description: The application status reason was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The application status reason supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application status reason could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application status reason could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application status reason based
            on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a application status reason with the specified ID.
      tags:
        - Application Status Reasons
  /applications/{tenantId}:
    post:
      description: >-
        This method will auto-generate an ID and create a new application. If an
        ID is specified for the application, an error will be thrown.
      operationId: createApplication
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Application'
        description: The application that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
          description: The application was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The application you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add application based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new application record that does not already exist.
      tags:
        - Applications
  /applications/{tenantId}/applicationGroup/{application_group_id}:
    get:
      description: Returns a list of records with the specified application_group_id
      operationId: listApplicationsByApplicationGroupId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: application_group_id
          required: true
          description: The application_group_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApplicationsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified application_group_id
      tags:
        - Applications
  /applications/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Applications
  /applications/{tenantId}/contact/{contact_id}:
    get:
      description: Returns a list of records with the specified contact_id
      operationId: listApplicationsByContactId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: contact_id
          required: true
          description: The contact_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApplicationsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified contact_id
      tags:
        - Applications
  /applications/{tenantId}/generateApplication/{processId}/{ownerType}/{id}:
    post:
      operationId: generateApplications
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed
          schema:
            type: string
        - in: path
          name: processId
          required: true
          description: The process id
          schema:
            type: string
        - in: path
          name: ownerType
          required: true
          description: The contact or organization type
          schema:
            type: string
            enum:
              - contact
              - organization
        - in: path
          name: id
          required: true
          description: The contact or organization type
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
          description: Conflicts were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The search you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add order based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Generates an application for a contact or organization
      tags:
        - Applications
  /applications/{tenantId}/generateGroupOrder/{groupId}:
    post:
      description: >-
        This method will examine a membership application and generate an
        appropriate order
      operationId: generateGroupOrder
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed
          schema:
            type: string
        - in: path
          name: groupId
          required: true
          description: The ID of the group
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: Conflicts were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The search you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add order based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Generates an group order from a membership application
      tags:
        - Applications
  /applications/{tenantId}/generateOrder:
    post:
      description: >-
        This method will examine a membership application and generate an
        appropriate order
      operationId: generateOrder
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Application'
        description: The application to generate an order
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: Conflicts were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The search you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add order based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Generates an order from a membership application
      tags:
        - Applications
  /applications/{tenantId}/organization/{organization_id}:
    get:
      description: Returns a list of records with the specified organization_id
      operationId: listApplicationsByOrganizationId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: organization_id
          required: true
          description: The organization_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListApplicationsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified organization_id
      tags:
        - Applications
  /applications/{tenantId}/search:
    post:
      description: Searches for applications using predefined parameters
      operationId: searchForApplications
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key for the search, for paging support
          schema:
            type: string
        - in: query
          name: fieldsToReturn
          required: false
          description: '  The fields that you want to retrieve; if omitted, the entire object is returned'
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApplicationSearchParameters'
        description: The application that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedApplicationSearchResults'
          description: The application search was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The application you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add application based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Searches for applications using predefined parameters
      tags:
        - Applications
  /applications/{tenantId}/{id}:
    delete:
      description: This method will delete a application with the specified ID.
      operationId: deleteApplication
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The application was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete application based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a application from the system by its ID.
      tags:
        - Applications
    get:
      description: >-
        This method will look up a application by the specified ID and return it
        back.
      operationId: getApplication
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
          description: The application was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a application from the system by its ID.
      tags:
        - Applications
    patch:
      description: >-
        This method will patch an existing application with the specified ID,
        using the HTTP PATCH specification.
      operationId: patchApplication
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
          description: The application was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a application with the specified ID.
      tags:
        - Applications
    put:
      description: This method will update an existing application with the specified ID.
      operationId: updateApplication
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the application to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Application'
        description: The updated application that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
          description: The application was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The application supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The application could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The application could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve application based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a application with the specified ID.
      tags:
        - Applications
  /ballots/{tenantId}:
    post:
      description: >-
        This method will auto-generate an ID and create a new ballot. If an ID
        is specified for the ballot, an error will be thrown.
      operationId: createBallot
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Ballot'
        description: The ballot that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ballot'
          description: The ballot was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The ballot you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The ballot could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add ballot based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new ballot record that does not already exist.
      tags:
        - Ballots
  /ballots/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The ballot could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve ballot based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Ballots
  /ballots/{tenantId}/{id}:
    delete:
      description: This method will delete a ballot with the specified ID.
      operationId: deleteBallot
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the ballot to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The ballot was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The ballot could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The ballot could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to delete ballot based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a ballot from the system by its ID.
      tags:
        - Ballots
    get:
      description: >-
        This method will look up a ballot by the specified ID and return it
        back.
      operationId: getBallot
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the ballot to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ballot'
          description: The ballot was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The ballot could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve ballot based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a ballot from the system by its ID.
      tags:
        - Ballots
    patch:
      description: >-
        This method will patch an existing ballot with the specified ID, using
        the HTTP PATCH specification.
      operationId: patchBallot
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the ballot to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ballot'
          description: The ballot was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The ballot could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The ballot could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve ballot based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a ballot with the specified ID.
      tags:
        - Ballots
    put:
      description: This method will update an existing ballot with the specified ID.
      operationId: updateBallot
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the ballot to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Ballot'
        description: The updated ballot that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ballot'
          description: The ballot was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The ballot supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The ballot could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The ballot could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve ballot based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a ballot with the specified ID.
      tags:
        - Ballots
  /billingNotices/{tenantId}:
    get:
      description: >-
        This method will scan all billing notices and and return them to the
        caller.
      operationId: listBillingNotices
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/BillingNotice'
                type: array
          description: The billing noticeswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the billing notices in the system.
      tags:
        - Billing Notices
    post:
      description: >-
        This method will auto-generate an ID and create a new billing notice. If
        an ID is specified for the billing notice, an error will be thrown.
      operationId: createBillingNotice
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingNotice'
        description: The billing notice that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingNotice'
          description: The billing notice was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The billing notice you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing notice could not be saved because it refers to/depends
            on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to add billing notice based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new billing notice record that does not already exist.
      tags:
        - Billing Notices
  /billingNotices/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing notice could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing notice based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Billing Notices
  /billingNotices/{tenantId}/previewEmail:
    post:
      description: Sends out a preview of the CRC notification email
      operationId: previewEmail
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PreviewEmailRequest'
      responses:
        '200':
          description: The record was retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate any organizations with the specified domain
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Sends out a preview of the CRC notification email
      tags:
        - Billing Notices
  /billingNotices/{tenantId}/{id}:
    delete:
      description: This method will delete a billing notice with the specified ID.
      operationId: deleteBillingNotice
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing notice to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The billing notice was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing notice could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing notice could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete billing notice based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a billing notice from the system by its ID.
      tags:
        - Billing Notices
    get:
      description: >-
        This method will look up a billing notice by the specified ID and return
        it back.
      operationId: getBillingNotice
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing notice to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingNotice'
          description: The billing notice was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing notice could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing notice based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a billing notice from the system by its ID.
      tags:
        - Billing Notices
    patch:
      description: >-
        This method will patch an existing billing notice with the specified ID,
        using the HTTP PATCH specification.
      operationId: patchBillingNotice
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing notice to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingNotice'
          description: The billing notice was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing notice could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing notice could not be saved because it refers to/depends
            on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing notice based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a billing notice with the specified ID.
      tags:
        - Billing Notices
    put:
      description: >-
        This method will update an existing billing notice with the specified
        ID.
      operationId: updateBillingNotice
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing notice to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingNotice'
        description: The updated billing notice that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingNotice'
          description: The billing notice was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The billing notice supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing notice could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing notice could not be saved because it refers to/depends
            on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing notice based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a billing notice with the specified ID.
      tags:
        - Billing Notices
  /billingRunActions/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing run action could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing run action based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Billing Run Actions
  /billingRunActions/{tenantId}/billingRun/{billing_run_id}:
    get:
      description: Returns a list of records with the specified billing_run_id
      operationId: listActionsByBillingRunId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: billing_run_id
          required: true
          description: The billing_run_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBillingRunActionsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified billing_run_id
      tags:
        - Billing Run Actions
  /billingRunActions/{tenantId}/membership/{membership_id}:
    get:
      description: Returns a list of records with the specified membership_id
      operationId: listActionsByMembershipId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: membership_id
          required: true
          description: The membership_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBillingRunActionsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified membership_id
      tags:
        - Billing Run Actions
  /billingRunActions/{tenantId}/{id}:
    get:
      description: >-
        This method will look up a billing run action by the specified ID and
        return it back.
      operationId: getBillingRunAction
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing run action to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingRunAction'
          description: The billing run action was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing run action could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing run action based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a billing run action from the system by its ID.
      tags:
        - Billing Run Actions
    patch:
      description: >-
        This method will patch an existing billing run action with the specified
        ID, using the HTTP PATCH specification.
      operationId: patchBillingRunAction
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing run action to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingRunAction'
          description: The billing run action was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing run action could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing run action could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing run action based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a billing run action with the specified ID.
      tags:
        - Billing Run Actions
    put:
      description: >-
        This method will update an existing billing run action with the
        specified ID.
      operationId: updateBillingRunAction
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing run action to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingRunAction'
        description: The updated billing run action that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingRunAction'
          description: The billing run action was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The billing run action supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing run action could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing run action could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing run action based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a billing run action with the specified ID.
      tags:
        - Billing Run Actions
  /billingRuns/{tenantId}:
    post:
      description: >-
        This method will auto-generate an ID and create a new billing run. If an
        ID is specified for the billing run, an error will be thrown.
      operationId: createBillingRun
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingRun'
        description: The billing run that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingRun'
          description: The billing run was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The billing run you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing run could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add billing run based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new billing run record that does not already exist.
      tags:
        - Billing Runs
  /billingRuns/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing run could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing run based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Billing Runs
  /billingRuns/{tenantId}/fromTemplate/{templateId}/{referenceDate}:
    get:
      operationId: generateBillingRunFromTemplate
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: templateId
          required: true
          description: The template
          schema:
            type: string
        - in: path
          name: referenceDate
          required: true
          description: The reference date
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingRun'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Generates a billing run from a template
      tags:
        - Billing Runs
  /billingRuns/{tenantId}/recurringBillingRun/{recurring_billing_run_id}:
    get:
      description: Returns a list of records with the specified recurring_billing_run_id
      operationId: listRunsByRecurringBillingRunId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: recurring_billing_run_id
          required: true
          description: The recurring_billing_run_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListBillingRunsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified recurring_billing_run_id
      tags:
        - Billing Runs
  /billingRuns/{tenantId}/refresh/{id}:
    post:
      operationId: refreshBillingRun
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The billing_run_id to use to refresh
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StepFunctionExecutionToken'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Refreshes a billing run
      tags:
        - Billing Runs
  /billingRuns/{tenantId}/search:
    post:
      description: Searches for billing runs using predefined parameters
      operationId: searchForBillingRuns
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key for the search, for paging support
          schema:
            type: string
        - in: query
          name: fieldsToReturn
          required: false
          description: '  The fields that you want to retrieve; if omitted, the entire object is returned'
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingRunSearchParameters'
        description: The billing run that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedBillingRunSearchResults'
          description: The billing run search was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The billing run you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing run could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add billing run based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Searches for billing runs using predefined parameters
      tags:
        - Billing Runs
  /billingRuns/{tenantId}/{id}:
    delete:
      description: This method will delete a billing run with the specified ID.
      operationId: deleteBillingRun
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing run to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The billing run was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing run could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing run could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete billing run based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a billing run from the system by its ID.
      tags:
        - Billing Runs
    get:
      description: >-
        This method will look up a billing run by the specified ID and return it
        back.
      operationId: getBillingRun
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing run to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingRun'
          description: The billing run was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing run could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing run based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a billing run from the system by its ID.
      tags:
        - Billing Runs
    patch:
      description: >-
        This method will patch an existing billing run with the specified ID,
        using the HTTP PATCH specification.
      operationId: patchBillingRun
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing run to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingRun'
          description: The billing run was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing run could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing run could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing run based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a billing run with the specified ID.
      tags:
        - Billing Runs
    put:
      description: This method will update an existing billing run with the specified ID.
      operationId: updateBillingRun
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing run to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingRun'
        description: The updated billing run that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingRun'
          description: The billing run was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The billing run supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing run could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing run could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing run based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a billing run with the specified ID.
      tags:
        - Billing Runs
  /billingTemplates/{tenantId}:
    get:
      description: >-
        This method will scan all billing templates and and return them to the
        caller.
      operationId: listBillingTemplates
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/BillingTemplate'
                type: array
          description: The billing templateswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the billing templates in the system.
      tags:
        - Billing Templates
    post:
      description: >-
        This method will auto-generate an ID and create a new billing template.
        If an ID is specified for the billing template, an error will be thrown.
      operationId: createBillingTemplate
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingTemplate'
        description: The billing template that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingTemplate'
          description: The billing template was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The billing template you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing template could not be saved because it refers to/depends
            on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to add billing template based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new billing template record that does not already exist.
      tags:
        - Billing Templates
  /billingTemplates/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing template could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing template based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Billing Templates
  /billingTemplates/{tenantId}/{id}:
    delete:
      description: This method will delete a billing template with the specified ID.
      operationId: deleteBillingTemplate
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing template to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The billing template was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing template could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing template could not be deleted because other objects
            refers to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete billing template based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a billing template from the system by its ID.
      tags:
        - Billing Templates
    get:
      description: >-
        This method will look up a billing template by the specified ID and
        return it back.
      operationId: getBillingTemplate
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing template to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingTemplate'
          description: The billing template was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing template could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing template based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a billing template from the system by its ID.
      tags:
        - Billing Templates
    patch:
      description: >-
        This method will patch an existing billing template with the specified
        ID, using the HTTP PATCH specification.
      operationId: patchBillingTemplate
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing template to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingTemplate'
          description: The billing template was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing template could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing template could not be saved because it refers to/depends
            on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing template based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a billing template with the specified ID.
      tags:
        - Billing Templates
    put:
      description: >-
        This method will update an existing billing template with the specified
        ID.
      operationId: updateBillingTemplate
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the billing template to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BillingTemplate'
        description: The updated billing template that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BillingTemplate'
          description: The billing template was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The billing template supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The billing template could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The billing template could not be saved because it refers to/depends
            on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve billing template based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a billing template with the specified ID.
      tags:
        - Billing Templates
  /changeFees/{tenantId}:
    get:
      description: This method will scan all change fees and and return them to the caller.
      operationId: listChangeFees
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ChangeFee'
                type: array
          description: The change feeswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the change fees in the system.
      tags:
        - Change Fees
    post:
      description: >-
        This method will auto-generate an ID and create a new change fee. If an
        ID is specified for the change fee, an error will be thrown.
      operationId: createChangeFee
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeFee'
        description: The change fee that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeFee'
          description: The change fee was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The change fee you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The change fee could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add change fee based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new change fee record that does not already exist.
      tags:
        - Change Fees
  /changeFees/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The change fee could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve change fee based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Change Fees
  /changeFees/{tenantId}/{id}:
    delete:
      description: This method will delete a change fee with the specified ID.
      operationId: deleteChangeFee
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the change fee to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The change fee was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The change fee could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The change fee could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete change fee based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a change fee from the system by its ID.
      tags:
        - Change Fees
    get:
      description: >-
        This method will look up a change fee by the specified ID and return it
        back.
      operationId: getChangeFee
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the change fee to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeFee'
          description: The change fee was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The change fee could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve change fee based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a change fee from the system by its ID.
      tags:
        - Change Fees
    patch:
      description: >-
        This method will patch an existing change fee with the specified ID,
        using the HTTP PATCH specification.
      operationId: patchChangeFee
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the change fee to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeFee'
          description: The change fee was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The change fee could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The change fee could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve change fee based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a change fee with the specified ID.
      tags:
        - Change Fees
    put:
      description: This method will update an existing change fee with the specified ID.
      operationId: updateChangeFee
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the change fee to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeFee'
        description: The updated change fee that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChangeFee'
          description: The change fee was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The change fee supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The change fee could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The change fee could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve change fee based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a change fee with the specified ID.
      tags:
        - Change Fees
  /chapterDuesProducts/{tenantId}:
    get:
      description: >-
        This method will scan all chapter dues products and and return them to
        the caller.
      operationId: listChapterDuesProducts
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ChapterDuesProduct'
                type: array
          description: The chapter dues productswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the chapter dues products in the system.
      tags:
        - Chapter Dues Products
    post:
      description: >-
        This method will auto-generate an ID and create a new chapter dues
        product. If an ID is specified for the chapter dues product, an error
        will be thrown.
      operationId: createChapterDuesProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChapterDuesProduct'
        description: The chapter dues product that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChapterDuesProduct'
          description: The chapter dues product was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The chapter dues product you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The chapter dues product could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to add chapter dues product based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new chapter dues product record that does not already exist.
      tags:
        - Chapter Dues Products
  /chapterDuesProducts/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter dues product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve chapter dues product based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Chapter Dues Products
  /chapterDuesProducts/{tenantId}/chapter/{chapter_id}:
    get:
      description: Returns a list of records with the specified chapter_id
      operationId: listProductsByChapterId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: chapter_id
          required: true
          description: The chapter_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListChapterDuesProductsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified chapter_id
      tags:
        - Chapter Dues Products
  /chapterDuesProducts/{tenantId}/{id}:
    delete:
      description: This method will delete a chapter dues product with the specified ID.
      operationId: deleteChapterDuesProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the chapter dues product to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The chapter dues product was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter dues product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The chapter dues product could not be deleted because other objects
            refers to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete chapter dues product based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a chapter dues product from the system by its ID.
      tags:
        - Chapter Dues Products
    get:
      description: >-
        This method will look up a chapter dues product by the specified ID and
        return it back.
      operationId: getChapterDuesProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the chapter dues product to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChapterDuesProduct'
          description: The chapter dues product was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter dues product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve chapter dues product based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a chapter dues product from the system by its ID.
      tags:
        - Chapter Dues Products
    patch:
      description: >-
        This method will patch an existing chapter dues product with the
        specified ID, using the HTTP PATCH specification.
      operationId: patchChapterDuesProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the chapter dues product to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChapterDuesProduct'
          description: The chapter dues product was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter dues product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The chapter dues product could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve chapter dues product based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a chapter dues product with the specified ID.
      tags:
        - Chapter Dues Products
    put:
      description: >-
        This method will update an existing chapter dues product with the
        specified ID.
      operationId: updateChapterDuesProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the chapter dues product to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChapterDuesProduct'
        description: The updated chapter dues product that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChapterDuesProduct'
          description: The chapter dues product was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The chapter dues product supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter dues product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The chapter dues product could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve chapter dues product based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a chapter dues product with the specified ID.
      tags:
        - Chapter Dues Products
  /chapterTypes/{tenantId}:
    get:
      description: >-
        This method will scan all chapter types and and return them to the
        caller.
      operationId: listChapterTypes
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/ChapterType'
                type: array
          description: The chapter typeswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the chapter types in the system.
      tags:
        - Chapter Types
    post:
      description: >-
        This method will auto-generate an ID and create a new chapter type. If
        an ID is specified for the chapter type, an error will be thrown.
      operationId: createChapterType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChapterType'
        description: The chapter type that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChapterType'
          description: The chapter type was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The chapter type you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The chapter type could not be saved because it refers to/depends on
            a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add chapter type based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new chapter type record that does not already exist.
      tags:
        - Chapter Types
  /chapterTypes/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve chapter type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Chapter Types
  /chapterTypes/{tenantId}/{id}:
    delete:
      description: This method will delete a chapter type with the specified ID.
      operationId: deleteChapterType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the chapter type to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The chapter type was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The chapter type could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete chapter type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a chapter type from the system by its ID.
      tags:
        - Chapter Types
    get:
      description: >-
        This method will look up a chapter type by the specified ID and return
        it back.
      operationId: getChapterType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the chapter type to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChapterType'
          description: The chapter type was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve chapter type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a chapter type from the system by its ID.
      tags:
        - Chapter Types
    patch:
      description: >-
        This method will patch an existing chapter type with the specified ID,
        using the HTTP PATCH specification.
      operationId: patchChapterType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the chapter type to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChapterType'
          description: The chapter type was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The chapter type could not be saved because it refers to/depends on
            a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve chapter type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a chapter type with the specified ID.
      tags:
        - Chapter Types
    put:
      description: This method will update an existing chapter type with the specified ID.
      operationId: updateChapterType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the chapter type to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChapterType'
        description: The updated chapter type that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChapterType'
          description: The chapter type was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The chapter type supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The chapter type could not be saved because it refers to/depends on
            a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve chapter type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a chapter type with the specified ID.
      tags:
        - Chapter Types
  /chapters/{tenantId}:
    get:
      description: This method will scan all chapters and and return them to the caller.
      operationId: listChapters
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Chapter'
                type: array
          description: The chapterswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the chapters in the system.
      tags:
        - Chapters
    post:
      description: >-
        This method will auto-generate an ID and create a new chapter. If an ID
        is specified for the chapter, an error will be thrown.
      operationId: createChapter
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Chapter'
        description: The chapter that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Chapter'
          description: The chapter was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The chapter you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The chapter could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add chapter based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new chapter record that does not already exist.
      tags:
        - Chapters
  /chapters/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve chapter based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Chapters
  /chapters/{tenantId}/committee/{chapterId}/{committeeId}:
    patch:
      description: Allows for chapter administrators to change committee terms
      operationId: patchChapterCommittee
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: chapterId
          required: true
          description: The chapter id
          schema:
            type: string
        - in: path
          name: committeeId
          required: true
          description: The committee Id
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Change chapter committee terms
      tags:
        - Chapters
  /chapters/{tenantId}/committeeMembership/{chapterId}:
    post:
      description: Add a membership to a chapter committee
      operationId: createChapterCommitteeMembership
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: chapterId
          required: true
          description: The chapter id
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/updateChapterMemberMembershipMembership'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Create a chapter committee membership
      tags:
        - Chapters
  /chapters/{tenantId}/committeeMembership/{chapterId}/{id}:
    delete:
      description: Changes a chapter committee membership
      operationId: deleteChapterCommitteeMembership
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: chapterId
          required: true
          description: The chapter id
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The committee membership id
          schema:
            type: string
      responses:
        '200':
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Delete a chapter committee membership
      tags:
        - Chapters
    put:
      description: Changes a chapter committee membership
      operationId: updateChapterCommitteeMembership
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: chapterId
          required: true
          description: The chapter id
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The committee membership id
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/updateChapterMemberMembershipMembership'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Update a chapter committee membership
      tags:
        - Chapters
  /chapters/{tenantId}/contact/{chapterId}:
    post:
      description: Allows for a portal user to update the contact info of a chapter member
      operationId: createChapterMemberContact
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: chapterId
          required: true
          description: The chapter id
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/createChapterMemberContactContact'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new contact on behalf of a chapter
      tags:
        - Chapters
  /chapters/{tenantId}/contact/{chapterId}/{contactId}:
    get:
      description: Allows for a portal user to get the contact info of a chapter member
      operationId: getChapterMemberContact
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: chapterId
          required: true
          description: The chapter id
          schema:
            type: string
        - in: path
          name: contactId
          required: true
          description: The contactId
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Get chapter member contact info
      tags:
        - Chapters
    put:
      description: Allows for a portal user to update the contact info of a chapter member
      operationId: updateChapterMemberContact
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: chapterId
          required: true
          description: The chapter id
          schema:
            type: string
        - in: path
          name: contactId
          required: true
          description: The contactId
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/createChapterMemberContactContact'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Update chapter member contact info
      tags:
        - Chapters
  /chapters/{tenantId}/generateApplication/{chapterId}/{processId}/{ownerType}/{id}:
    post:
      operationId: generateChapterMembershipApplication
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed
          schema:
            type: string
        - in: path
          name: chapterId
          required: true
          description: The chapter id
          schema:
            type: string
        - in: path
          name: processId
          required: true
          description: The process id
          schema:
            type: string
        - in: path
          name: ownerType
          required: true
          description: The contact or organization type
          schema:
            type: string
            enum:
              - contact
              - organization
        - in: path
          name: id
          required: true
          description: The contact or organization type
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Application'
          description: Conflicts were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The search you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add order based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Generates an application for a contact or organization
      tags:
        - Chapters
  /chapters/{tenantId}/generateOrder/{chapterId}:
    post:
      description: >-
        This method will examine a membership application and generate an
        appropriate order
      operationId: generateChapterMembershipOrder
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed
          schema:
            type: string
        - in: path
          name: chapterId
          required: true
          description: The chapter id
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
        description: The application to generate an order
        required: true
      responses:
        '200':
          description: Conflicts were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The search you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add order based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Generates an order from a membership application
      tags:
        - Chapters
  /chapters/{tenantId}/membership/{chapterId}/{membershipId}:
    put:
      description: >-
        Allows for a portal user to update the membership info of a chapter
        member
      operationId: updateChapterMemberMembership
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: chapterId
          required: true
          description: The chapter id
          schema:
            type: string
        - in: path
          name: membershipId
          required: true
          description: The membershipId
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/updateChapterMemberMembershipMembership'
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Update chapter member membership info
      tags:
        - Chapters
  /chapters/{tenantId}/portal/describeChapters/{membershipPackageId}:
    get:
      description: Returns a list of chapters for a given membership package
      operationId: describeChaptersForMembershipPackage
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: membershipPackageId
          required: true
          description: The membership package to describe chapters
          schema:
            type: string
        - in: query
          name: currencyCode
          required: false
          description: The membership package to describe sections
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChapterDescriptionResult'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of chapters for a given membership package
      tags:
        - Chapters
  /chapters/{tenantId}/portal/describeChapters/{membershipPackageId}/{memberType}/{contactOrOrganizationId}:
    get:
      description: Returns a list of chapters for a given membership package
      operationId: describeChaptersForMembershipPackageAndMember
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: membershipPackageId
          required: true
          description: The membership package to describe chapters
          schema:
            type: string
        - in: path
          name: memberType
          required: true
          description: The membership package to describe chapters
          schema:
            type: string
        - in: path
          name: contactOrOrganizationId
          required: true
          description: The membership package to describe chapters
          schema:
            type: string
        - in: query
          name: currencyCode
          required: false
          description: The membership package to describe sections
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChapterDescriptionResult'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of chapters for a given membership package
      tags:
        - Chapters
  /chapters/{tenantId}/portal/findNearest/{latitude}/{longitude}:
    get:
      description: Returns a list of chapters for a given membership package
      operationId: findNearestChapter
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: longitude
          required: true
          description: Longitude
          schema:
            type: string
        - in: path
          name: latitude
          required: true
          description: Latitue
          schema:
            type: string
        - in: query
          name: maximumNumberOfResults
          required: false
          description: Max results
          schema:
            type: number
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindNearestChaptersResult'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Searches for the nearest chapters to the latitude and longitude supplied
      tags:
        - Chapters
  /chapters/{tenantId}/portal/getEligibleAppProcesses/{chapterId}/{contactId}:
    get:
      operationId: getEligibleAppProcesses
      parameters:
        - in: path
          name: tenantId
          required: true
          description: Parameters to the query
          schema:
            type: string
        - in: path
          name: chapterId
          required: true
          description: The chapter ID
          schema:
            type: string
        - in: path
          name: contactId
          required: true
          description: The contact ID
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: Processes were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The search you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add order based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Get eligible application processes
      tags:
        - Chapters
  /chapters/{tenantId}/portalPermissions/{chapterId}/{contactId}:
    get:
      description: Determines the permissions available in the portal for a portal user.
      operationId: getPortalPermissions
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: chapterId
          required: true
          description: The chapter id
          schema:
            type: string
        - in: path
          name: contactId
          required: true
          description: The contact id
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortalPermissionsResult'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Get portal permissions
      tags:
        - Chapters
  /chapters/{tenantId}/query/{chapterId}/{savedQueryId}/{outputFormat}:
    post:
      operationId: runChapterQuery
      parameters:
        - in: path
          name: tenantId
          required: true
          description: Parameters to the query
          schema:
            type: string
        - in: path
          name: chapterId
          required: true
          description: The saved query ID
          schema:
            type: string
        - in: path
          name: savedQueryId
          required: true
          description: The saved query ID
          schema:
            type: string
        - in: path
          name: outputFormat
          required: true
          description: The output format of the query
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: The contact was merged successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The contact supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The contact could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The contact could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to merge contact based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Runs a saved query on behalf of a chapter
      tags:
        - Chapters
  /chapters/{tenantId}/roster/{chapterId}:
    get:
      description: Allows for a portal user to view the roster
      operationId: viewChapterRoster
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: chapterId
          required: true
          description: The chapter id
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedSearchResults'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: View chapter roster
      tags:
        - Chapters
  /chapters/{tenantId}/search:
    post:
      description: Searches for chapters using predefined parameters
      operationId: searchForChapters
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key for the search, for paging support
          schema:
            type: string
        - in: query
          name: fieldsToReturn
          required: false
          description: '  The fields that you want to retrieve; if omitted, the entire object is returned'
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChapterSearchParameters'
        description: The chapter that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedChapterSearchResults'
          description: The chapter search was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The chapter you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The chapter could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add chapter based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Searches for chapters using predefined parameters
      tags:
        - Chapters
  /chapters/{tenantId}/{id}:
    delete:
      description: This method will delete a chapter with the specified ID.
      operationId: deleteChapter
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the chapter to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The chapter was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The chapter could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to delete chapter based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a chapter from the system by its ID.
      tags:
        - Chapters
    get:
      description: >-
        This method will look up a chapter by the specified ID and return it
        back.
      operationId: getChapter
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the chapter to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Chapter'
          description: The chapter was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve chapter based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a chapter from the system by its ID.
      tags:
        - Chapters
    patch:
      description: >-
        This method will patch an existing chapter with the specified ID, using
        the HTTP PATCH specification.
      operationId: patchChapter
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the chapter to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Chapter'
          description: The chapter was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The chapter could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve chapter based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a chapter with the specified ID.
      tags:
        - Chapters
    put:
      description: This method will update an existing chapter with the specified ID.
      operationId: updateChapter
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the chapter to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Chapter'
        description: The updated chapter that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Chapter'
          description: The chapter was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The chapter supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The chapter could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The chapter could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve chapter based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a chapter with the specified ID.
      tags:
        - Chapters
  /coupons/{tenantId}:
    get:
      description: This method will scan all coupons and and return them to the caller.
      operationId: listCoupons
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Coupon'
                type: array
          description: The couponswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the coupons in the system.
      tags:
        - Coupons
    post:
      description: >-
        This method will auto-generate an ID and create a new coupon. If an ID
        is specified for the coupon, an error will be thrown.
      operationId: createCoupon
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Coupon'
        description: The coupon that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Coupon'
          description: The coupon was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The coupon you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The coupon could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add coupon based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new coupon record that does not already exist.
      tags:
        - Coupons
  /coupons/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The coupon could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve coupon based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Coupons
  /coupons/{tenantId}/{id}:
    delete:
      description: This method will delete a coupon with the specified ID.
      operationId: deleteCoupon
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the coupon to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The coupon was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The coupon could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The coupon could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to delete coupon based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a coupon from the system by its ID.
      tags:
        - Coupons
    get:
      description: >-
        This method will look up a coupon by the specified ID and return it
        back.
      operationId: getCoupon
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the coupon to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Coupon'
          description: The coupon was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The coupon could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve coupon based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a coupon from the system by its ID.
      tags:
        - Coupons
    patch:
      description: >-
        This method will patch an existing coupon with the specified ID, using
        the HTTP PATCH specification.
      operationId: patchCoupon
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the coupon to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Coupon'
          description: The coupon was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The coupon could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The coupon could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve coupon based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a coupon with the specified ID.
      tags:
        - Coupons
    put:
      description: This method will update an existing coupon with the specified ID.
      operationId: updateCoupon
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the coupon to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Coupon'
        description: The updated coupon that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Coupon'
          description: The coupon was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The coupon supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The coupon could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The coupon could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve coupon based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a coupon with the specified ID.
      tags:
        - Coupons
  /directories/{tenantId}:
    get:
      description: This method will scan all directories and and return them to the caller.
      operationId: listDirectories
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Directory'
                type: array
          description: The directorieswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the directories in the system.
      tags:
        - Directories
    post:
      description: >-
        This method will auto-generate an ID and create a new directory. If an
        ID is specified for the directory, an error will be thrown.
      operationId: createDirectory
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Directory'
        description: The directory that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Directory'
          description: The directory was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The directory you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The directory could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add directory based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new directory record that does not already exist.
      tags:
        - Directories
  /directories/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The directory could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve directory based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Directories
  /directories/{tenantId}/public/entry/{id}/{entryId}:
    get:
      operationId: getDirectoryEntry
      parameters:
        - in: path
          name: tenantId
          required: true
          description: Parameters to the query
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: directory
          schema:
            type: string
        - in: path
          name: entryId
          required: true
          description: The id of the entry
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: The contact was merged successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The contact supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The contact could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The contact could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to merge contact based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      summary: Gets an entry in the directory
      tags:
        - Directories
  /directories/{tenantId}/public/search/{id}:
    post:
      operationId: searchPublicDirectory
      parameters:
        - in: path
          name: tenantId
          required: true
          description: Parameters to the query
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: directory
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/DirectorySearchCriteria'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectorySearchResults'
          description: The contact was merged successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The contact supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The contact could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The contact could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to merge contact based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      summary: Searches the directory
      tags:
        - Directories
  /directories/{tenantId}/public/sendMessage/{directoryId}/{entryId}:
    post:
      operationId: sendDirectoryMessage
      parameters:
        - in: path
          name: tenantId
          required: true
          description: Parameters to the query
          schema:
            type: string
        - in: path
          name: directoryId
          required: true
          description: directory
          schema:
            type: string
        - in: path
          name: entryId
          required: true
          description: The id of the entry
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DirectoryMessage'
        description: The message to send
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: The contact was merged successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The contact supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The contact could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The contact could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to merge contact based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      summary: Sends a message to an entry in the directory
      tags:
        - Directories
  /directories/{tenantId}/public/{id}:
    get:
      description: >-
        This method will look up a directory by the specified ID and return it
        back.
      operationId: getPublicDirectory
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the directory to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Directory'
          description: The directory was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The directory could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve directory based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      summary: Returns a directory from the system by its ID.
      tags:
        - Directories
  /directories/{tenantId}/search/{id}:
    post:
      operationId: searchDirectory
      parameters:
        - in: path
          name: tenantId
          required: true
          description: Parameters to the query
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: directory
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/DirectorySearchCriteria'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DirectorySearchResults'
          description: The contact was merged successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The contact supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The contact could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The contact could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to merge contact based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Searches the directory
      tags:
        - Directories
  /directories/{tenantId}/{id}:
    delete:
      description: This method will delete a directory with the specified ID.
      operationId: deleteDirectory
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the directory to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The directory was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The directory could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The directory could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to delete directory based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a directory from the system by its ID.
      tags:
        - Directories
    get:
      description: >-
        This method will look up a directory by the specified ID and return it
        back.
      operationId: getDirectory
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the directory to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Directory'
          description: The directory was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The directory could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve directory based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a directory from the system by its ID.
      tags:
        - Directories
    patch:
      description: >-
        This method will patch an existing directory with the specified ID,
        using the HTTP PATCH specification.
      operationId: patchDirectory
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the directory to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Directory'
          description: The directory was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The directory could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The directory could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve directory based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a directory with the specified ID.
      tags:
        - Directories
    put:
      description: This method will update an existing directory with the specified ID.
      operationId: updateDirectory
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the directory to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Directory'
        description: The updated directory that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Directory'
          description: The directory was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The directory supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The directory could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The directory could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve directory based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a directory with the specified ID.
      tags:
        - Directories
  /elections/{tenantId}:
    post:
      description: >-
        This method will auto-generate an ID and create a new election. If an ID
        is specified for the election, an error will be thrown.
      operationId: createElection
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Election'
        description: The election that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Election'
          description: The election was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The election you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The election could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add election based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new election record that does not already exist.
      tags:
        - Elections
  /elections/{tenantId}/chapter/{chapter_id}:
    get:
      description: Returns a list of records with the specified chapter_id
      operationId: listElectionsByChapterId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: chapter_id
          required: true
          description: The chapter_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListElectionsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified chapter_id
      tags:
        - Elections
  /elections/{tenantId}/committee/{committee_id}:
    get:
      description: Returns a list of records with the specified committee_id
      operationId: listElectionsByCommitteeId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: committee_id
          required: true
          description: The committee_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListElectionsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified committee_id
      tags:
        - Elections
  /elections/{tenantId}/section/{section_id}:
    get:
      description: Returns a list of records with the specified section_id
      operationId: listElectionsBySectionId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: section_id
          required: true
          description: The section_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListElectionsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified section_id
      tags:
        - Elections
  /elections/{tenantId}/{id}:
    delete:
      description: This method will delete a election with the specified ID.
      operationId: deleteElection
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the election to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The election was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The election could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The election could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to delete election based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a election from the system by its ID.
      tags:
        - Elections
    get:
      description: >-
        This method will look up a election by the specified ID and return it
        back.
      operationId: getElection
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the election to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Election'
          description: The election was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The election could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve election based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a election from the system by its ID.
      tags:
        - Elections
    patch:
      description: >-
        This method will patch an existing election with the specified ID, using
        the HTTP PATCH specification.
      operationId: patchElection
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the election to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Election'
          description: The election was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The election could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The election could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve election based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a election with the specified ID.
      tags:
        - Elections
    put:
      description: This method will update an existing election with the specified ID.
      operationId: updateElection
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the election to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Election'
        description: The updated election that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Election'
          description: The election was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The election supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The election could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The election could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve election based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a election with the specified ID.
      tags:
        - Elections
  /groupApplicationProcesses/{tenantId}:
    get:
      description: >-
        This method will scan all group application processes and and return
        them to the caller.
      operationId: listGroupApplicationProcesses
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/GroupApplicationProcess'
                type: array
          description: The group application processeswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the group application processes in the system.
      tags:
        - Group Application Processes
    post:
      description: >-
        This method will auto-generate an ID and create a new group application
        process. If an ID is specified for the group application process, an
        error will be thrown.
      operationId: createGroupApplicationProcess
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupApplicationProcess'
        description: The group application process that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupApplicationProcess'
          description: The group application process was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The group application process you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The group application process could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to add group application process based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: >-
        Creates a new group application process record that does not already
        exist.
      tags:
        - Group Application Processes
  /groupApplicationProcesses/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The group application process could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve group application process based
            on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Group Application Processes
  /groupApplicationProcesses/{tenantId}/eligible/{contactId}:
    get:
      operationId: getEligibleProcesses
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed
          schema:
            type: string
        - in: path
          name: contactId
          required: true
          description: The contact id
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/GroupApplicationProcess'
                type: array
          description: Processes were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Request limit exceeded... please try your request again in a few
            seconds
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: An internal server error occured.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the processes a contact is eligible to use
      tags:
        - Group Application Processes
  /groupApplicationProcesses/{tenantId}/{id}:
    delete:
      description: >-
        This method will delete a group application process with the specified
        ID.
      operationId: deleteGroupApplicationProcess
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the group application process to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The group application process was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The group application process could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The group application process could not be deleted because other
            objects refers to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete group application process based
            on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a group application process from the system by its ID.
      tags:
        - Group Application Processes
    get:
      description: >-
        This method will look up a group application process by the specified ID
        and return it back.
      operationId: getGroupApplicationProcess
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the group application process to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupApplicationProcess'
          description: The group application process was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The group application process could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve group application process based
            on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a group application process from the system by its ID.
      tags:
        - Group Application Processes
    patch:
      description: >-
        This method will patch an existing group application process with the
        specified ID, using the HTTP PATCH specification.
      operationId: patchGroupApplicationProcess
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the group application process to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupApplicationProcess'
          description: The group application process was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The group application process could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The group application process could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve group application process based
            on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a group application process with the specified ID.
      tags:
        - Group Application Processes
    put:
      description: >-
        This method will update an existing group application process with the
        specified ID.
      operationId: updateGroupApplicationProcess
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the group application process to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GroupApplicationProcess'
        description: The updated group application process that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GroupApplicationProcess'
          description: The group application process was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The group application process supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The group application process could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The group application process could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve group application process based
            on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a group application process with the specified ID.
      tags:
        - Group Application Processes
  /idCardTemplates/{tenantId}:
    get:
      description: >-
        This method will scan all id card templates and and return them to the
        caller.
      operationId: listIdCardTemplates
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/IdCardTemplate'
                type: array
          description: The id card templateswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the id card templates in the system.
      tags:
        - Id Card Templates
    post:
      description: >-
        This method will auto-generate an ID and create a new id card template.
        If an ID is specified for the id card template, an error will be thrown.
      operationId: createIdCardTemplate
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdCardTemplate'
        description: The id card template that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdCardTemplate'
          description: The id card template was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The id card template you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The id card template could not be saved because it refers to/depends
            on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to add id card template based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new id card template record that does not already exist.
      tags:
        - Id Card Templates
  /idCardTemplates/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The id card template could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve id card template based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Id Card Templates
  /idCardTemplates/{tenantId}/{id}:
    delete:
      description: This method will delete a id card template with the specified ID.
      operationId: deleteIdCardTemplate
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the id card template to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The id card template was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The id card template could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The id card template could not be deleted because other objects
            refers to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete id card template based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a id card template from the system by its ID.
      tags:
        - Id Card Templates
    get:
      description: >-
        This method will look up a id card template by the specified ID and
        return it back.
      operationId: getIdCardTemplate
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the id card template to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdCardTemplate'
          description: The id card template was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The id card template could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve id card template based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a id card template from the system by its ID.
      tags:
        - Id Card Templates
    patch:
      description: >-
        This method will patch an existing id card template with the specified
        ID, using the HTTP PATCH specification.
      operationId: patchIdCardTemplate
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the id card template to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdCardTemplate'
          description: The id card template was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The id card template could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The id card template could not be saved because it refers to/depends
            on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve id card template based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a id card template with the specified ID.
      tags:
        - Id Card Templates
    put:
      description: >-
        This method will update an existing id card template with the specified
        ID.
      operationId: updateIdCardTemplate
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the id card template to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IdCardTemplate'
        description: The updated id card template that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdCardTemplate'
          description: The id card template was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The id card template supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The id card template could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The id card template could not be saved because it refers to/depends
            on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve id card template based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a id card template with the specified ID.
      tags:
        - Id Card Templates
  /memberships/{tenantId}:
    post:
      description: >-
        This method will auto-generate an ID and create a new membership. If an
        ID is specified for the membership, an error will be thrown.
      operationId: createMembership
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Membership'
        description: The membership that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
          description: The membership was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The membership you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The membership could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add membership based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new membership record that does not already exist.
      tags:
        - Memberships
  /memberships/{tenantId}/activate/{application_id}:
    post:
      description: Activate membership
      operationId: activateMembership
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: application_id
          required: true
          description: The contact id
          schema:
            type: string
      responses:
        '200':
          description: The members was retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The members supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The members could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Request limit exceeded... please try your request again in a few
            seconds
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Activate membership
      tags:
        - Memberships
  /memberships/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The membership could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve membership based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Memberships
  /memberships/{tenantId}/certificate/{id}:
    get:
      description: Returns the HTML for the certificate
      operationId: downloadCertificate
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the membership
          schema:
            type: string
        - in: query
          name: downloadAsHtml
          required: false
          description: If true, return the receipt as HTML
          schema:
            type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The membership was downloaded successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The payment could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve payment based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Downloads a Certificate
      tags:
        - Memberships
  /memberships/{tenantId}/chapter/{chapter_id}:
    get:
      description: Returns a list of records with the specified chapter_id
      operationId: listMembershipsByChapterId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: chapter_id
          required: true
          description: The chapter_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: chapterStatus
          required: false
          description: Filter by chaper status
          schema:
            type: string
            enum:
              - current
              - not current
              - all
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMembershipsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified chapter_id
      tags:
        - Memberships
  /memberships/{tenantId}/contact/{contactId}:
    get:
      description: Gets a membership by contact
      operationId: getMembershipForContact
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: contactId
          required: true
          description: The contact id
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
          description: The members was retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The members supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The members could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Request limit exceeded... please try your request again in a few
            seconds
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets a membership by contact
      tags:
        - Memberships
  /memberships/{tenantId}/expirationDateCalculation/{dateToUseAsBasisForCalculation}:
    post:
      description: >-
        Given a set of expiration options, allows for the calculation of an
        expiration date
      operationId: calculateExpirationDate
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: dateToUseAsBasisForCalculation
          required: true
          description: The date that should be used as the basis for calculation
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Membership'
        description: The expiration options
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: Date was calculated successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The members supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The members could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Request limit exceeded... please try your request again in a few
            seconds
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: >-
        Given a set of expiration options, allows for the calculation of an
        expiration date
      tags:
        - Memberships
  /memberships/{tenantId}/idCard/{id}:
    get:
      description: Generates a PDF for the ID Card and returns the public link for download
      operationId: downloadIdCard
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the membership
          schema:
            type: string
        - in: query
          name: downloadAsHtml
          required: false
          description: If true, return the receipt as HTML
          schema:
            type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The membership was downloaded successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The payment could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve payment based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Generates a PDF for the ID Card and returns the public link for download
      tags:
        - Memberships
  /memberships/{tenantId}/initiateSnapshotLookback:
    post:
      description: >-
        Given a set of expiration options, allows for the calculation of an
        expiration date
      operationId: initiateSnapshotLookback
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: Date was calculated successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The members supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The members could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Request limit exceeded... please try your request again in a few
            seconds
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Generates snapshot lookback for a tenant
      tags:
        - Memberships
  /memberships/{tenantId}/order/{order_id}:
    get:
      description: Returns a list of records with the specified order_id
      operationId: listMembershipsByOrderId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: order_id
          required: true
          description: The order_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMembershipsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified order_id
      tags:
        - Memberships
  /memberships/{tenantId}/organization/{organizationId}:
    get:
      description: Gets a membership by organization
      operationId: getMembershipForOrganization
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: organizationId
          required: true
          description: The organization id
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
          description: The members was retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The members supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The members could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Request limit exceeded... please try your request again in a few
            seconds
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets a membership by organization
      tags:
        - Memberships
  /memberships/{tenantId}/parentMembership/{parent_membership_id}:
    get:
      description: Returns a list of records with the specified parent_membership_id
      operationId: listMembershipsByParentMembershipId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: parent_membership_id
          required: true
          description: The parent_membership_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMembershipsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified parent_membership_id
      tags:
        - Memberships
  /memberships/{tenantId}/portal/contact/{portalContactId}/{id}:
    get:
      description: >-
        This method will look up a membership by the specified ID and return it
        back (for a portal contact)
      operationId: getMembershipForPortal
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: portalContactId
          required: true
          description: The contact to use
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the membership to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
          description: The membership was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The membership could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve membership based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a membership from the system by its ID for a given contact.
      tags:
        - Memberships
  /memberships/{tenantId}/previewCertificate:
    post:
      description: Sends out a preview of the CRC notification certificate
      operationId: previewCertificate
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreviewCertificateRequest'
        description: The domain_name to use to for record lookup
        required: true
      responses:
        '200':
          description: The record was retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate any organizations with the specified domain
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Sends out a preview of the CRC notification certificate
      tags:
        - Memberships
  /memberships/{tenantId}/previewEmail:
    post:
      description: Sends out a preview of the CRC notification email
      operationId: previewEmail
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PreviewEmailRequest'
      responses:
        '200':
          description: The record was retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate any organizations with the specified domain
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Sends out a preview of the CRC notification email
      tags:
        - Memberships
  /memberships/{tenantId}/previewGroupApplicationEmail:
    post:
      description: Sends out a preview of the CRC notification email
      operationId: previewGroupApplicationEmail
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreviewGroupApplicationEmailRequest'
        description: The domain_name to use to for record lookup
        required: true
      responses:
        '200':
          description: The record was retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate any organizations with the specified domain
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Sends out a preview of the CRC notification email
      tags:
        - Memberships
  /memberships/{tenantId}/previewIdCard/{id}:
    post:
      description: Sends out a preview of the CRC notification email
      operationId: previewIdCard
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The membership ID
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreviewIdCardRequest'
        description: The domain_name to use to for record lookup
        required: true
      responses:
        '200':
          description: The record was retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate any organizations with the specified domain
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Sends out a preview of the CRC notification email
      tags:
        - Memberships
  /memberships/{tenantId}/reprocessFlowDown:
    post:
      description: >-
        Given a set of expiration options, allows for the calculation of an
        expiration date
      operationId: reprocessFlowdown
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReprocessFlowdownRequest'
        description: The id of the tenant being accessed.
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: Date was calculated successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The members supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The members could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Request limit exceeded... please try your request again in a few
            seconds
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Re-runs flowdown for all organizations in the system
      tags:
        - Memberships
  /memberships/{tenantId}/search:
    post:
      description: Searches for memberships using predefined parameters
      operationId: searchForMemberships
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key for the search, for paging support
          schema:
            type: string
        - in: query
          name: fieldsToReturn
          required: false
          description: '  The fields that you want to retrieve; if omitted, the entire object is returned'
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MembershipSearchParameters'
        description: The membership that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedMembershipSearchResults'
          description: The membership search was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The membership you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The membership could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add membership based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Searches for memberships using predefined parameters
      tags:
        - Memberships
  /memberships/{tenantId}/section/{section_id}:
    get:
      description: Returns a list of records with the specified section_id
      operationId: listMembershipsBySectionId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: section_id
          required: true
          description: The section_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: sectionStatus
          required: false
          description: Filter by chaper status
          schema:
            type: string
            enum:
              - current
              - not current
              - all
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMembershipsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified section_id
      tags:
        - Memberships
  /memberships/{tenantId}/{id}:
    delete:
      description: This method will delete a membership with the specified ID.
      operationId: deleteMembership
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the membership to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The membership was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The membership could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The membership could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete membership based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a membership from the system by its ID.
      tags:
        - Memberships
    get:
      description: >-
        This method will look up a membership by the specified ID and return it
        back.
      operationId: getMembership
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the membership to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
          description: The membership was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The membership could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve membership based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a membership from the system by its ID.
      tags:
        - Memberships
    patch:
      description: >-
        This method will patch an existing membership with the specified ID,
        using the HTTP PATCH specification.
      operationId: patchMembership
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the membership to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
          description: The membership was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The membership could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The membership could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve membership based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a membership with the specified ID.
      tags:
        - Memberships
    put:
      description: This method will update an existing membership with the specified ID.
      operationId: updateMembership
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the membership to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Membership'
        description: The updated membership that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
          description: The membership was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The membership supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The membership could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The membership could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve membership based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a membership with the specified ID.
      tags:
        - Memberships
  /packages/{tenantId}:
    get:
      description: This method will scan all packages and and return them to the caller.
      operationId: listPackages
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Package'
                type: array
          description: The packageswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the packages in the system.
      tags:
        - Packages
    post:
      description: >-
        This method will auto-generate an ID and create a new package. If an ID
        is specified for the package, an error will be thrown.
      operationId: createPackage
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Package'
        description: The package that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Package'
          description: The package was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The package you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The package could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add package based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new package record that does not already exist.
      tags:
        - Packages
  /packages/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The package could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve package based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Packages
  /packages/{tenantId}/public/onlineStore:
    post:
      description: Public endpoint that gets packages for use in the online store
      operationId: getPackagesForOnlineStore
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicMembershipPackagesRequest'
        description: Restrictions
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicMembershipPackagesResponse'
          description: The store was retrieved
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      summary: Get Packages for Online Store
      tags:
        - Packages
  /packages/{tenantId}/{id}:
    delete:
      description: This method will delete a package with the specified ID.
      operationId: deletePackage
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the package to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The package was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The package could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The package could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to delete package based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a package from the system by its ID.
      tags:
        - Packages
    get:
      description: >-
        This method will look up a package by the specified ID and return it
        back.
      operationId: getPackage
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the package to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Package'
          description: The package was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The package could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve package based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a package from the system by its ID.
      tags:
        - Packages
    patch:
      description: >-
        This method will patch an existing package with the specified ID, using
        the HTTP PATCH specification.
      operationId: patchPackage
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the package to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Package'
          description: The package was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The package could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The package could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve package based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a package with the specified ID.
      tags:
        - Packages
    put:
      description: This method will update an existing package with the specified ID.
      operationId: updatePackage
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the package to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Package'
        description: The updated package that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Package'
          description: The package was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The package supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The package could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The package could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve package based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a package with the specified ID.
      tags:
        - Packages
  /queryDefinitions/{tenantId}:
    get:
      description: Returns a list of records
      operationId: getQueryDefinitions
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListStandardQueryDefinitionsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records
      tags:
        - Query Definitions
  /recurringBillingRuns/{tenantId}:
    get:
      description: >-
        This method will scan all recurring billing runs and and return them to
        the caller.
      operationId: listRecurringBillingRuns
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/RecurringBillingRun'
                type: array
          description: The recurring billing runswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the recurring billing runs in the system.
      tags:
        - Recurring Billing Runs
    post:
      description: >-
        This method will auto-generate an ID and create a new recurring billing
        run. If an ID is specified for the recurring billing run, an error will
        be thrown.
      operationId: createRecurringBillingRun
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecurringBillingRun'
        description: The recurring billing run that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecurringBillingRun'
          description: The recurring billing run was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The recurring billing run you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The recurring billing run could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to add recurring billing run based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new recurring billing run record that does not already exist.
      tags:
        - Recurring Billing Runs
  /recurringBillingRuns/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The recurring billing run could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve recurring billing run based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Recurring Billing Runs
  /recurringBillingRuns/{tenantId}/template/{template_id}:
    get:
      description: Returns a list of records with the specified template_id
      operationId: listRunsByTemplateId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: template_id
          required: true
          description: The template_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListRecurringBillingRunsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified template_id
      tags:
        - Recurring Billing Runs
  /recurringBillingRuns/{tenantId}/{id}:
    delete:
      description: This method will delete a recurring billing run with the specified ID.
      operationId: deleteRecurringBillingRun
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the recurring billing run to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The recurring billing run was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The recurring billing run could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The recurring billing run could not be deleted because other objects
            refers to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete recurring billing run based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a recurring billing run from the system by its ID.
      tags:
        - Recurring Billing Runs
    get:
      description: >-
        This method will look up a recurring billing run by the specified ID and
        return it back.
      operationId: getRecurringBillingRun
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the recurring billing run to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecurringBillingRun'
          description: The recurring billing run was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The recurring billing run could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve recurring billing run based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a recurring billing run from the system by its ID.
      tags:
        - Recurring Billing Runs
    patch:
      description: >-
        This method will patch an existing recurring billing run with the
        specified ID, using the HTTP PATCH specification.
      operationId: patchRecurringBillingRun
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the recurring billing run to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecurringBillingRun'
          description: The recurring billing run was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The recurring billing run could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The recurring billing run could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve recurring billing run based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a recurring billing run with the specified ID.
      tags:
        - Recurring Billing Runs
    put:
      description: >-
        This method will update an existing recurring billing run with the
        specified ID.
      operationId: updateRecurringBillingRun
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the recurring billing run to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecurringBillingRun'
        description: The updated recurring billing run that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecurringBillingRun'
          description: The recurring billing run was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The recurring billing run supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The recurring billing run could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The recurring billing run could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve recurring billing run based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a recurring billing run with the specified ID.
      tags:
        - Recurring Billing Runs
  /sectionDuesProducts/{tenantId}:
    get:
      description: >-
        This method will scan all section dues products and and return them to
        the caller.
      operationId: listSectionDuesProducts
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SectionDuesProduct'
                type: array
          description: The section dues productswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the section dues products in the system.
      tags:
        - Section Dues Products
    post:
      description: >-
        This method will auto-generate an ID and create a new section dues
        product. If an ID is specified for the section dues product, an error
        will be thrown.
      operationId: createSectionDuesProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SectionDuesProduct'
        description: The section dues product that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionDuesProduct'
          description: The section dues product was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The section dues product you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The section dues product could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to add section dues product based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new section dues product record that does not already exist.
      tags:
        - Section Dues Products
  /sectionDuesProducts/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section dues product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve section dues product based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Section Dues Products
  /sectionDuesProducts/{tenantId}/section/{section_id}:
    get:
      description: Returns a list of records with the specified section_id
      operationId: listProductsBySectionId
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: section_id
          required: true
          description: The section_id to use to for record lookup
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: If paging, this allows you to return the next set of results
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSectionDuesProductsResponse'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of records with the specified section_id
      tags:
        - Section Dues Products
  /sectionDuesProducts/{tenantId}/{id}:
    delete:
      description: This method will delete a section dues product with the specified ID.
      operationId: deleteSectionDuesProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the section dues product to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The section dues product was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section dues product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The section dues product could not be deleted because other objects
            refers to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete section dues product based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a section dues product from the system by its ID.
      tags:
        - Section Dues Products
    get:
      description: >-
        This method will look up a section dues product by the specified ID and
        return it back.
      operationId: getSectionDuesProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the section dues product to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionDuesProduct'
          description: The section dues product was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section dues product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve section dues product based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a section dues product from the system by its ID.
      tags:
        - Section Dues Products
    patch:
      description: >-
        This method will patch an existing section dues product with the
        specified ID, using the HTTP PATCH specification.
      operationId: patchSectionDuesProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the section dues product to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionDuesProduct'
          description: The section dues product was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section dues product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The section dues product could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve section dues product based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a section dues product with the specified ID.
      tags:
        - Section Dues Products
    put:
      description: >-
        This method will update an existing section dues product with the
        specified ID.
      operationId: updateSectionDuesProduct
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the section dues product to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SectionDuesProduct'
        description: The updated section dues product that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionDuesProduct'
          description: The section dues product was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The section dues product supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section dues product could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The section dues product could not be saved because it refers
            to/depends on a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve section dues product based on
            tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a section dues product with the specified ID.
      tags:
        - Section Dues Products
  /sectionTypes/{tenantId}:
    get:
      description: >-
        This method will scan all section types and and return them to the
        caller.
      operationId: listSectionTypes
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/SectionType'
                type: array
          description: The section typeswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the section types in the system.
      tags:
        - Section Types
    post:
      description: >-
        This method will auto-generate an ID and create a new section type. If
        an ID is specified for the section type, an error will be thrown.
      operationId: createSectionType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SectionType'
        description: The section type that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionType'
          description: The section type was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The section type you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The section type could not be saved because it refers to/depends on
            a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add section type based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new section type record that does not already exist.
      tags:
        - Section Types
  /sectionTypes/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve section type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Section Types
  /sectionTypes/{tenantId}/{id}:
    delete:
      description: This method will delete a section type with the specified ID.
      operationId: deleteSectionType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the section type to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The section type was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The section type could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete section type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a section type from the system by its ID.
      tags:
        - Section Types
    get:
      description: >-
        This method will look up a section type by the specified ID and return
        it back.
      operationId: getSectionType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the section type to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionType'
          description: The section type was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve section type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a section type from the system by its ID.
      tags:
        - Section Types
    patch:
      description: >-
        This method will patch an existing section type with the specified ID,
        using the HTTP PATCH specification.
      operationId: patchSectionType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the section type to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionType'
          description: The section type was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The section type could not be saved because it refers to/depends on
            a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve section type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a section type with the specified ID.
      tags:
        - Section Types
    put:
      description: This method will update an existing section type with the specified ID.
      operationId: updateSectionType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the section type to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SectionType'
        description: The updated section type that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionType'
          description: The section type was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The section type supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The section type could not be saved because it refers to/depends on
            a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve section type based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a section type with the specified ID.
      tags:
        - Section Types
  /sections/{tenantId}:
    get:
      description: This method will scan all sections and and return them to the caller.
      operationId: listSections
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Section'
                type: array
          description: The sectionswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the sections in the system.
      tags:
        - Sections
    post:
      description: >-
        This method will auto-generate an ID and create a new section. If an ID
        is specified for the section, an error will be thrown.
      operationId: createSection
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Section'
        description: The section that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Section'
          description: The section was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The section you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The section could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add section based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new section record that does not already exist.
      tags:
        - Sections
  /sections/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve section based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Sections
  /sections/{tenantId}/portal/describeSections/{membershipPackageId}:
    get:
      description: Returns a list of sections for a given membership package
      operationId: describeSectionsForMembershipPackage
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: membershipPackageId
          required: true
          description: The membership package to describe sections
          schema:
            type: string
        - in: query
          name: currencyCode
          required: false
          description: The membership package to describe sections
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionDescriptionResult'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of sections for a given membership package
      tags:
        - Sections
  /sections/{tenantId}/portal/describeSections/{membershipPackageId}/{memberType}/{contactOrOrganizationId}:
    get:
      description: Returns a list of sections for a given membership package
      operationId: describeSectionsForMembershipPackageAndMember
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The tenant
          schema:
            type: string
        - in: path
          name: membershipPackageId
          required: true
          description: The membership package to describe sections
          schema:
            type: string
        - in: path
          name: memberType
          required: true
          description: The membership package to describe sections
          schema:
            type: string
        - in: path
          name: contactOrOrganizationId
          required: true
          description: The membership package to describe sections
          schema:
            type: string
        - in: query
          name: currencyCode
          required: false
          description: The membership package to describe sections
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SectionDescriptionResult'
          description: The records were retrieved successfully
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: Unable to locate records
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve records based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a list of sections for a given membership package
      tags:
        - Sections
  /sections/{tenantId}/search:
    post:
      description: Searches for sections using predefined parameters
      operationId: searchForSections
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key for the search, for paging support
          schema:
            type: string
        - in: query
          name: fieldsToReturn
          required: false
          description: '  The fields that you want to retrieve; if omitted, the entire object is returned'
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SectionSearchParameters'
        description: The section that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedSectionSearchResults'
          description: The section search was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The section you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The section could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add section based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Searches for sections using predefined parameters
      tags:
        - Sections
  /sections/{tenantId}/{id}:
    delete:
      description: This method will delete a section with the specified ID.
      operationId: deleteSection
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the section to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The section was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The section could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to delete section based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a section from the system by its ID.
      tags:
        - Sections
    get:
      description: >-
        This method will look up a section by the specified ID and return it
        back.
      operationId: getSection
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the section to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Section'
          description: The section was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve section based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a section from the system by its ID.
      tags:
        - Sections
    patch:
      description: >-
        This method will patch an existing section with the specified ID, using
        the HTTP PATCH specification.
      operationId: patchSection
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the section to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Section'
          description: The section was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The section could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve section based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a section with the specified ID.
      tags:
        - Sections
    put:
      description: This method will update an existing section with the specified ID.
      operationId: updateSection
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the section to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Section'
        description: The updated section that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Section'
          description: The section was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The section supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The section could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The section could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve section based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a section with the specified ID.
      tags:
        - Sections
  /settings/{tenantId}:
    delete:
      description: This method will delete a setting with the specified ID.
      operationId: deleteSetting
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The setting was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The setting could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The setting could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to delete setting based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a setting from the system by its ID.
      tags:
        - Settings
    get:
      description: >-
        This method will look up a setting by the specified ID and return it
        back.
      operationId: getSetting
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Setting'
          description: The setting was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The setting could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve setting based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a setting from the system by its ID.
      tags:
        - Settings
    patch:
      description: >-
        This method will patch an existing setting with the specified ID, using
        the HTTP PATCH specification.
      operationId: patchSetting
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Setting'
          description: The setting was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The setting could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The setting could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve setting based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a setting with the specified ID.
      tags:
        - Settings
    post:
      description: >-
        This method will auto-generate an ID and create a new setting. If an ID
        is specified for the setting, an error will be thrown.
      operationId: createSetting
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Setting'
        description: The setting that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Setting'
          description: The setting was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The setting you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The setting could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add setting based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new setting record that does not already exist.
      tags:
        - Settings
    put:
      description: This method will update an existing setting with the specified ID.
      operationId: updateSetting
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Setting'
        description: The updated setting that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Setting'
          description: The setting was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The setting supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The setting could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The setting could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve setting based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a setting with the specified ID.
      tags:
        - Settings
  /statistics/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The statistic could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve statistic based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Statistics
  /statistics/{tenantId}/{id}:
    get:
      description: >-
        This method will look up a statistic by the specified ID and return it
        back.
      operationId: getStatistic
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the statistic to return.
          schema:
            type: string
        - in: query
          name: parameters
          required: false
          description: Parameters to the query
          schema:
            type: string
        - in: query
          name: recalculate
          required: false
          description: >-
            If true, the latest statistic will be calculated and the cache will
            be updated
          schema:
            type: boolean
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Statistic'
          description: The statistic was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The statistic could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve statistic based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a statistic from the system by its ID.
      tags:
        - Statistics
  /statusReasons/{tenantId}:
    get:
      description: >-
        This method will scan all status reasons and and return them to the
        caller.
      operationId: listStatusReasons
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/StatusReason'
                type: array
          description: The status reasonswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the status reasons in the system.
      tags:
        - Status Reasons
    post:
      description: >-
        This method will auto-generate an ID and create a new status reason. If
        an ID is specified for the status reason, an error will be thrown.
      operationId: createStatusReason
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatusReason'
        description: The status reason that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusReason'
          description: The status reason was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The status reason you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The status reason could not be saved because it refers to/depends on
            a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to add status reason based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new status reason record that does not already exist.
      tags:
        - Status Reasons
  /statusReasons/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The status reason could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve status reason based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Status Reasons
  /statusReasons/{tenantId}/{id}:
    delete:
      description: This method will delete a status reason with the specified ID.
      operationId: deleteStatusReason
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the status reason to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The status reason was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The status reason could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The status reason could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to delete status reason based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a status reason from the system by its ID.
      tags:
        - Status Reasons
    get:
      description: >-
        This method will look up a status reason by the specified ID and return
        it back.
      operationId: getStatusReason
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the status reason to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusReason'
          description: The status reason was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The status reason could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve status reason based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a status reason from the system by its ID.
      tags:
        - Status Reasons
    patch:
      description: >-
        This method will patch an existing status reason with the specified ID,
        using the HTTP PATCH specification.
      operationId: patchStatusReason
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the status reason to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusReason'
          description: The status reason was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The status reason could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The status reason could not be saved because it refers to/depends on
            a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve status reason based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a status reason with the specified ID.
      tags:
        - Status Reasons
    put:
      description: This method will update an existing status reason with the specified ID.
      operationId: updateStatusReason
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the status reason to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatusReason'
        description: The updated status reason that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusReason'
          description: The status reason was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The status reason supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The status reason could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The status reason could not be saved because it refers to/depends on
            a non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: >-
            Limit exceeded... unable to retrieve status reason based on tenant
            limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a status reason with the specified ID.
      tags:
        - Status Reasons
  /types/{tenantId}:
    get:
      description: This method will scan all types and and return them to the caller.
      operationId: listTypes
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: exclusiveStartKey
          required: false
          description: The start key, if you're making a subsequent request
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Type'
                type: array
          description: The typeswere retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add contact role based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Gets all of the types in the system.
      tags:
        - Types
    post:
      description: >-
        This method will auto-generate an ID and create a new type. If an ID is
        specified for the type, an error will be thrown.
      operationId: createType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Type'
        description: The type that you would like to be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Type'
          description: The type was saved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The type you supplied was invalid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The resource could not be found
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The type could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to add type based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Creates a new type record that does not already exist.
      tags:
        - Types
  /types/{tenantId}/batch:
    post:
      description: TAllows you to perform up to 100 parallel patch/delete operations
      operationId: executeBatchOperations
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/BatchOperationRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchOperationResponse'
          description: Request completed successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve type based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Execute Batch Operations
      tags:
        - Types
  /types/{tenantId}/{id}:
    delete:
      description: This method will delete a type with the specified ID.
      operationId: deleteType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the type to delete.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: string
          description: The type was deleted successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The type could not be deleted because other objects refers
            to/depends on this one.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to delete type based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a type from the system by its ID.
      tags:
        - Types
    get:
      description: This method will look up a type by the specified ID and return it back.
      operationId: getType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the type to return.
          schema:
            type: string
        - in: query
          name: fields
          required: false
          description: >-
            The fields that you want to retrieve; if omitted, the entire object
            is returned.
          schema:
            type: string
        - in: query
          name: consistentRead
          required: false
          description: Indicates the API should force a consistent read on the data source.
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Type'
          description: The type was retrieved successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The request was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve type based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Returns a type from the system by its ID.
      tags:
        - Types
    patch:
      description: >-
        This method will patch an existing type with the specified ID, using the
        HTTP PATCH specification.
      operationId: patchType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the type to patch.
          schema:
            type: string
      requestBody:
        $ref: '#/components/requestBodies/PatchDirectiveArray'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Type'
          description: The type was patched successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The JSON patch directive you supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The type could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve type based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Partially updates a type with the specified ID.
      tags:
        - Types
    put:
      description: This method will update an existing type with the specified ID.
      operationId: updateType
      parameters:
        - in: path
          name: tenantId
          required: true
          description: The id of the tenant being accessed.
          schema:
            type: string
        - in: path
          name: id
          required: true
          description: The ID of the type to update.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Type'
        description: The updated type that will be saved.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Type'
          description: The type was updated successfully.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '400':
          description: The type supplied was not valid.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '401':
          description: Unauthorized.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '403':
          description: Forbidden.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '404':
          description: The type could not be found.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '405':
          description: The request method is not allowed.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '409':
          description: >-
            The type could not be saved because it refers to/depends on a
            non-existent object.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '429':
          description: Limit exceeded... unable to retrieve type based on tenant limits.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
        '500':
          description: General server error.
          headers:
            Access-Control-Allow-Headers:
              schema:
                type: string
            Access-Control-Allow-Methods:
              schema:
                type: string
            Access-Control-Allow-Origin:
              schema:
                type: string
      security:
        - knox-authorizer: []
      summary: Updates a type with the specified ID.
      tags:
        - Types
servers:
  - url: https://membership.api.rhythmsoftware.com
tags:
  - name: Add On Products
    description: Add On Products
  - name: Add On Types
    description: Add On Types
  - name: Add Ons
    description: Add Ons
  - name: App Reference Types
    description: App Reference Types
  - name: Application Groups
    description: Application Groups
  - name: Application Processes
    description: Application Processes
  - name: Application Status Reasons
    description: Application Status Reasons
  - name: Applications
    description: Applications
  - name: Ballots
    description: Ballots
  - name: Billing Notices
    description: Billing Notices
  - name: Billing Run Actions
    description: Billing Run Actions
  - name: Billing Runs
    description: Billing Runs
  - name: Billing Templates
    description: Billing Templates
  - name: Change Fees
    description: Change Fees
  - name: Chapter Dues Products
    description: Chapter Dues Products
  - name: Chapter Types
    description: Chapter Types
  - name: Chapters
    description: Chapters
  - name: Coupons
    description: Coupons
  - name: Directories
    description: Directories
  - name: Elections
    description: Elections
  - name: Group Application Processes
    description: Group Application Processes
  - name: Id Card Templates
    description: Id Card Templates
  - name: Memberships
    description: Memberships
  - name: Packages
    description: Packages
  - name: Query Definitions
    description: Query Definitions
  - name: Recurring Billing Runs
    description: Recurring Billing Runs
  - name: Section Dues Products
    description: Section Dues Products
  - name: Section Types
    description: Section Types
  - name: Sections
    description: Sections
  - name: Settings
    description: Settings
  - name: Statistics
    description: Statistics
  - name: Status Reasons
    description: Status Reasons
  - name: Types
    description: Types
