openapi: 3.0.0
info:
  title: ows-moneyhub
  version: 1.0.0
paths:
  /account/{account_id}/activity-periods:
    get:
      tags:
      - account
      summary: Get Activity Periods By Account
      description: GET activity periods for a specified account.
      operationId: get_activity_periods_by_account_account__account_id__activity_periods_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: Account to get periods for
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: Optional subaccount to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: Whether the request is made by a subaccount
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountActivityPeriodSchema'
                title: Response Get Activity Periods By Account Account  Account Id  Activity
                  Periods Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/statement-periods:
    get:
      tags:
      - account
      summary: Get Account Statements By Account Id
      description: GET ledger info per statement period for a specified account.
      operationId: get_account_statements_by_account_id_account__account_id__statement_periods_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      - name: order_dir
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/OrderDirection'
          default: asc
        description: Sort direction for statement IDs
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountStatementPeriodDetailSchema'
                title: Response Get Account Statements By Account Id Account  Account
                  Id  Statement Periods Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/statements:
    get:
      tags:
      - account
      summary: Get Statements By Account Id
      description: GET statements info per statement period for a specified account.
      operationId: get_statements_by_account_id_account__account_id__statements_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
        description: Number of records to return (pagination)
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
        description: Number of records to skip (pagination)
      - name: order_dir
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/OrderDirection'
          default: asc
        description: Sort direction (ASC or DESC)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedAccountStatementPeriodDetailSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/statement-period/{statement_period_id}/payments:
    get:
      tags:
      - account
      summary: Get Account Statement Period Payments
      description: Get payments by an account_id and statement_period_id.
      operationId: get_account_statement_period_payments_account__account_id__statement_period__statement_period_id__payments_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: The id of statement period
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountStatementPeriodPaymentDetailSchema'
                title: Response Get Account Statement Period Payments Account  Account
                  Id  Statement Period  Statement Period Id  Payments Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/statement-period/{statement_period_id}/vat:
    get:
      tags:
      - account
      summary: Get Account Statement Period Vat
      description: Get the VAT numbers for a given account and statement period.
      operationId: get_account_statement_period_vat_account__account_id__statement_period__statement_period_id__vat_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The ID of an account
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: The ID of statement period
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/AccountStatementPeriodVatDetailSchema'
                - type: 'null'
                title: Response Get Account Statement Period Vat Account  Account
                  Id  Statement Period  Statement Period Id  Vat Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/statement-period/{statement_period_id}/balance:
    get:
      tags:
      - account
      summary: Get Account Statement Period Balance
      description: Get the balance numbers for a given account and statement period.
      operationId: get_account_statement_period_balance_account__account_id__statement_period__statement_period_id__balance_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The ID of an account
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: The ID of statement period
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/AccountStatementPeriodBalanceSchema'
                - type: 'null'
                title: Response Get Account Statement Period Balance Account  Account
                  Id  Statement Period  Statement Period Id  Balance Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/stores:
    get:
      tags:
      - account
      summary: Get Stores By Account Id
      description: GET a list of stores for a specified account.
      operationId: get_stores_by_account_id_account__account_id__stores_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: the id of an account
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: whether to not a subaccount is making the request
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StoreSchema'
                title: Response Get Stores By Account Id Account  Account Id  Stores
                  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/transaction-types:
    get:
      tags:
      - account
      summary: Get Transaction Types By Account
      description: Get transaction types for a specified account and optionally subaccount.
      operationId: get_transaction_types_by_account_account__account_id__transaction_types_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of the account
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TransactionTypeSchema'
                title: Response Get Transaction Types By Account Account  Account
                  Id  Transaction Types Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/projects:
    get:
      tags:
      - account
      summary: Get Projects By Account
      description: Get projects for a specified account with optional search and limit.
      operationId: get_projects_by_account_account__account_id__projects_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of the account
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
        description: maximum number of projects to return
      - name: search_term
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: integer
          - type: 'null'
          title: Search Term
        description: search term to filter projects by name
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountProjectSchema'
                title: Response Get Projects By Account Account  Account Id  Projects
                  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/imprints:
    get:
      tags:
      - account
      summary: Get Imprints By Account
      description: Get imprints for a specified account with optional search and limit.
      operationId: get_imprints_by_account_account__account_id__imprints_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of the account
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
        description: maximum number of imprints to return
      - name: search_term
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: integer
          - type: 'null'
          title: Search Term
        description: search term to filter imprints by name
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountImprintSchema'
                title: Response Get Imprints By Account Account  Account Id  Imprints
                  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/products:
    get:
      tags:
      - account
      summary: Get Products By Account
      description: Get products for a specified account with optional search and limit.
      operationId: get_products_by_account_account__account_id__products_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of the account
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
        description: maximum number of products to return
      - name: search_term
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search Term
        description: search term to filter products by name, UPC, or exact ID
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountProductSchema'
                title: Response Get Products By Account Account  Account Id  Products
                  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/artists:
    get:
      tags:
      - account
      summary: Get Artists By Account
      description: Get artists for a specified account with optional search and limit.
      operationId: get_artists_by_account_account__account_id__artists_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of the account
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
        description: maximum number of artists to return
      - name: search_term
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: integer
          - type: 'null'
          title: Search Term
        description: search term to filter artists by name
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountArtistSchema'
                title: Response Get Artists By Account Account  Account Id  Artists
                  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/tracks:
    get:
      tags:
      - account
      summary: Get Tracks By Account
      description: Get tracks for a specified account with optional search and limit.
      operationId: get_tracks_by_account_account__account_id__tracks_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of the account
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
        description: maximum number of tracks to return
      - name: search_term
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: integer
          - type: 'null'
          title: Search Term
        description: search term to filter tracks by name or ISRC
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountTrackSchema'
                title: Response Get Tracks By Account Account  Account Id  Tracks
                  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/recordings:
    get:
      tags:
      - account
      summary: Get Recordings By Account
      description: Get recordings for a specified account with optional search and
        limit.
      operationId: get_recordings_by_account_account__account_id__recordings_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of the account
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
        description: maximum number of recordings to return
      - name: search_term
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search Term
        description: search term to filter recordings by title
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract to filter by
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountRecordingSchema'
                title: Response Get Recordings By Account Account  Account Id  Recordings
                  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/dataloader/artists:
    post:
      tags:
      - account
      summary: Load Artists
      description: Dataload artist names for a specified artist IDs.
      operationId: load_artists_account__account_id__dataloader_artists_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account (for permissions checking only)
      - name: is_subaccount
        in: query
        required: false
        schema:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Subaccount
        description: a boolean flag to check if the resource is a subaccount (for
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: The id of a subaccount (for permissions checking only)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ArtistDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountArtistSchema'
                title: Response Load Artists Account  Account Id  Dataloader Artists
                  Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/account-statement-periods:
    get:
      tags:
      - account
      summary: Get Statement Periods By Account Id
      description: GET statement periods for a specified account.
      operationId: get_statement_periods_by_account_id_account__account_id__account_statement_periods_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      - name: order_dir
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/OrderDirection'
          default: asc
        description: Sort direction order
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountStatementPeriodSchema'
                title: Response Get Statement Periods By Account Id Account  Account
                  Id  Account Statement Periods Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/activity:
    get:
      tags:
      - account
      summary: Get Account Activity
      description: Get the activity for a given account - whether it has any adjustments,
        expenses, or revenue.
      operationId: get_account_activity_account__account_id__activity_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: Whether the request is made by a subaccount
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountActivitySchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/dataloader/contracts:
    post:
      tags:
      - account
      summary: Load Account Contracts
      description: Dataload contracts info for a specified account.
      operationId: load_account_contracts_account__account_id__dataloader_contracts_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountContractsDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountContractsSchema'
                title: Response Load Account Contracts Account  Account Id  Dataloader
                  Contracts Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/dataloader/imprints:
    post:
      tags:
      - account
      summary: Load Imprints By Account
      description: Dataload imprints for a given account.
      operationId: load_imprints_by_account_account__account_id__dataloader_imprints_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of the account
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountImprintsDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountImprintSchema'
                title: Response Load Imprints By Account Account  Account Id  Dataloader
                  Imprints Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/dataloader/recordings:
    post:
      tags:
      - account
      summary: Load Account Recordings
      description: Dataload recording names for a specified account.
      operationId: load_account_recordings_account__account_id__dataloader_recordings_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RecordingDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RecordingSchema'
                title: Response Load Account Recordings Account  Account Id  Dataloader
                  Recordings Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account/{account_id}/dataloader/activity-periods:
    post:
      tags:
      - account
      summary: Load Activity Periods By Account
      description: Load activity periods for a specified account.
      operationId: load_activity_periods_by_account_account__account_id__dataloader_activity_periods_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: Account to get periods for
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: Optional ID of a subaccount to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: Whether the request is made by a subaccount
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountActivityPeriodsDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountActivityPeriodSchema'
                title: Response Load Activity Periods By Account Account  Account
                  Id  Dataloader Activity Periods Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /hello/:
    get:
      tags:
      - base
      summary: Health Check
      description: GET health check status.
      operationId: health_check_hello__get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                additionalProperties: true
                type: object
                title: Response Health Check Hello  Get
  /ecs/dbt-refresh:
    post:
      tags:
      - ecs_task
      summary: Trigger Dbt Refresh
      description: Trigger a dbt refresh task via Step Functions and ECS.
      operationId: trigger_dbt_refresh_ecs_dbt_refresh_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DbtRefreshRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DbtRefreshResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /expenses/account/{account_id}:
    get:
      tags:
      - expenses
      summary: Get Expenses By Account Id
      description: GET ledger adjustments expenses for a specified account.
      operationId: get_expenses_by_account_id_expenses_account__account_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of the account
      - name: limit
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Limit
        description: how many entities to retrieve.
      - name: offset
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Offset
        description: the offset (for pagination).
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: ID of the contract to get expenses for
      - name: statement_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id Start
        description: Start of the period range
      - name: statement_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id End
        description: End of the period range
      - name: upc
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Upc
        description: UPC to filter expenses by
      - name: expense_type_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Expense Type Id
        description: Expense type to filter expenses by
      - name: distribution_type
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Distribution Type
        description: Distribution type to filter expenses by
      - name: artist_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Artist Id
        description: Artist id to filter expenses by
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: Subaccount id to filter by
      - name: group_by
        in: query
        required: false
        schema:
          anyOf:
          - $ref: '#/components/schemas/GroupBy'
          - type: 'null'
          title: Group By
        description: Optional dimension to group expenses by
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/PaginatedExpenseSchema'
                - type: array
                  items:
                    $ref: '#/components/schemas/ExpenseSchema'
                title: Response Get Expenses By Account Id Expenses Account  Account
                  Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /expenses/account/{account_id}/artists:
    get:
      tags:
      - expenses
      summary: Get Expenses Artists By Account Id
      description: GET associated artists for expenses for a given account.
      operationId: get_expenses_artists_by_account_id_expenses_account__account_id__artists_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of an account
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LedgerAdjustmentExpenseArtistSchema'
                title: Response Get Expenses Artists By Account Id Expenses Account  Account
                  Id  Artists Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /expenses/account/{account_id}/upcs:
    get:
      tags:
      - expenses
      summary: Get Expenses Upcs By Account Id
      description: GET associated UPCs for expenses for a given account.
      operationId: get_expenses_upcs_by_account_id_expenses_account__account_id__upcs_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of an account
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LedgerAdjustmentExpenseUPCsSchema'
                title: Response Get Expenses Upcs By Account Id Expenses Account  Account
                  Id  Upcs Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /expenses/account/{account_id}/types:
    get:
      tags:
      - expenses
      summary: Get Expenses Types By Account Id
      description: GET associated expenses types for expenses for a given account.
      operationId: get_expenses_types_by_account_id_expenses_account__account_id__types_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of an account
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReferenceAdjustmentType'
                title: Response Get Expenses Types By Account Id Expenses Account  Account
                  Id  Types Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /expenses/account/{account_id}/subaccounts:
    get:
      tags:
      - expenses
      summary: Get Expenses Subaccounts By Account Id
      description: GET associated expenses subaccounts for expenses for a given account.
      operationId: get_expenses_subaccounts_by_account_id_expenses_account__account_id__subaccounts_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of an account
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ExpenseSubaccountSchema'
                title: Response Get Expenses Subaccounts By Account Id Expenses Account  Account
                  Id  Subaccounts Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /expenses/account/{account_id}/statement-period/{statement_period_id}:
    get:
      tags:
      - expenses
      summary: Get Expenses By Account And Statement Period
      description: GET aggregated expenses for a specified account.
      operationId: get_expenses_by_account_and_statement_period_expenses_account__account_id__statement_period__statement_period_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: The id of the statement period
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/LedgerAdjustmentExpenseSchema'
                - type: 'null'
                title: Response Get Expenses By Account And Statement Period Expenses
                  Account  Account Id  Statement Period  Statement Period Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /ledger-adjustments/account/{account_id}:
    get:
      tags:
      - ledger_adjustments
      summary: Get Ledger Adjustments By Account Id
      description: GET ledger adjustments for a specified account.
      operationId: get_ledger_adjustments_by_account_id_ledger_adjustments_account__account_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      - name: statement_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id Start
        description: the id of the start of a statement period
      - name: statement_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id End
        description: the id of the end of a statement period
      - name: adjustment_type_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Adjustment Type Id
        description: the id of the adjustment_type
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LedgerAdjustmentSchema'
                title: Response Get Ledger Adjustments By Account Id Ledger Adjustments
                  Account  Account Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /ledger-adjustments/account/{account_id}/types:
    get:
      tags:
      - ledger_adjustments
      summary: Get Ledger Adjustments Types By Account Id
      description: GET associated adjustments types for adjustments for a given account.
      operationId: get_ledger_adjustments_types_by_account_id_ledger_adjustments_account__account_id__types_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of an account
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReferenceAdjustmentType'
                title: Response Get Ledger Adjustments Types By Account Id Ledger
                  Adjustments Account  Account Id  Types Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /ledger-adjustments/account/{account_id}/statement-period/{statement_period_id}:
    get:
      tags:
      - ledger_adjustments
      summary: Get Adjustments By Account And Statement Period
      description: GET ledger adjustments for a specified account.
      operationId: get_adjustments_by_account_and_statement_period_ledger_adjustments_account__account_id__statement_period__statement_period_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: The id of the statement period
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/LedgerAdjustmentAppliedSchema'
                - type: 'null'
                title: Response Get Adjustments By Account And Statement Period Ledger
                  Adjustments Account  Account Id  Statement Period  Statement Period
                  Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /applied-advances/account/{account_id}/statement-period/{statement_period_id}:
    get:
      tags:
      - applied_advanced
      summary: Get By Account And Statement Period
      description: GET applied advances for a specified account.
      operationId: get_by_account_and_statement_period_applied_advances_account__account_id__statement_period__statement_period_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: The id of the statement period
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AdvanceSchema'
                title: Response Get By Account And Statement Period Applied Advances
                  Account  Account Id  Statement Period  Statement Period Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /reserve-release-schedules/account/{account_id}/statement-period/{statement_period_id}:
    get:
      tags:
      - ledger_reserve_release_schedule
      summary: Get Ledger Reserve Release Schedules By Account Id
      description: GET ledger reserve release schedules for a specified account.
      operationId: get_ledger_reserve_release_schedules_by_account_id_reserve_release_schedules_account__account_id__statement_period__statement_period_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: The id of a statement period
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LedgerReserveReleaseScheduleSchema'
                title: Response Get Ledger Reserve Release Schedules By Account Id
                  Reserve Release Schedules Account  Account Id  Statement Period  Statement
                  Period Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /reports/custom/account/{account_id}:
    post:
      tags:
      - report_custom
      summary: Create Report
      description: Create a new custom report.
      operationId: create_report_reports_custom_account__account_id__post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of the account creating the report
      - name: correlation-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Correlation-Id
        description: The correlation ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportCustomCreateSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportCustomDetailSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - report_custom
      summary: Get Custom Reports
      description: Get custom reports by an account_id.
      operationId: get_custom_reports_reports_custom_account__account_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of the account
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: Contract to filter by
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: Optional subaccount to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: Whether to filter by subaccount_id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReportCustomDetailSchema'
                title: Response Get Custom Reports Reports Custom Account  Account
                  Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /reports/custom/{report_custom_id}:
    get:
      tags:
      - report_custom
      summary: Get Custom Report
      description: Get a custom report by ID.
      operationId: get_custom_report_reports_custom__report_custom_id__get
      parameters:
      - name: report_custom_id
        in: path
        required: true
        schema:
          type: integer
          title: Report Custom Id
        description: ID of the report
      - name: orchard-profile-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Orchard-Profile-Id
      - name: orchard-profile-type
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Orchard-Profile-Type
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportCustomDetailSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - report_custom
      summary: Update Custom Report
      description: Update a custom report by ID.
      operationId: update_custom_report_reports_custom__report_custom_id__put
      parameters:
      - name: report_custom_id
        in: path
        required: true
        schema:
          type: integer
          title: Report Custom Id
        description: ID of the report
      - name: orchard-profile-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Orchard-Profile-Id
        description: Profile Identifier
      - name: orchard-profile-type
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Orchard-Profile-Type
        description: Type of profile
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportCustomUpdateSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportCustomDetailSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - report_custom
      summary: Delete Custom Report
      description: Delete a custom report by ID.
      operationId: delete_custom_report_reports_custom__report_custom_id__delete
      parameters:
      - name: report_custom_id
        in: path
        required: true
        schema:
          type: integer
          title: Report Custom Id
        description: ID of the report
      - name: orchard-profile-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Orchard-Profile-Id
        description: Profile Identifier
      - name: orchard-profile-type
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Orchard-Profile-Type
        description: Type of profil
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /reports/custom/{report_custom_id}/download:
    get:
      tags:
      - report_custom
      summary: Get Report Presigned Url
      description: Get presigned S3 URL for downloading report.
      operationId: get_report_presigned_url_reports_custom__report_custom_id__download_get
      parameters:
      - name: report_custom_id
        in: path
        required: true
        schema:
          type: integer
          title: Report Custom Id
        description: The id of custom report
      - name: orchard-profile-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Orchard-Profile-Id
        description: Profile Identifier
      - name: orchard-profile-type
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Orchard-Profile-Type
        description: Type of profile
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response Get Report Presigned Url Reports Custom  Report Custom
                  Id  Download Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /reports/custom/statement-period/{statement_period_id}/regenerate:
    post:
      tags:
      - report_custom
      summary: Regenerate Custom Reports
      description: Regenerate custom reports.
      operationId: regenerate_custom_reports_reports_custom_statement_period__statement_period_id__regenerate_post
      parameters:
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: ID of the statement period to regenerate reports for
      - name: correlation-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Correlation-Id
        description: The correlation ID of the request
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReportCustomDetailSchema'
                title: Response Regenerate Custom Reports Reports Custom Statement
                  Period  Statement Period Id  Regenerate Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /reference-signing-entity/contract/{contract_id}:
    get:
      tags:
      - reference_signing_entity
      summary: Get Reference Signing Entity By Contract Id
      description: Get reference signing entity by contract ID.
      operationId: get_reference_signing_entity_by_contract_id_reference_signing_entity_contract__contract_id__get
      parameters:
      - name: contract_id
        in: path
        required: true
        schema:
          type: integer
          title: Contract Id
        description: id of the contract
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/ReferenceSigningEntitySchema'
                - type: 'null'
                title: Response Get Reference Signing Entity By Contract Id Reference
                  Signing Entity Contract  Contract Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /statement-attachment/{statement_attachment_id}:
    get:
      tags:
      - statement_attachments
      summary: Get Statement Attachment
      description: Get a statement attachment by ID.
      operationId: get_statement_attachment_statement_attachment__statement_attachment_id__get
      parameters:
      - name: statement_attachment_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Attachment Id
        description: ID of the attachment
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/StatementAttachmentDetailSchema'
                - $ref: '#/components/schemas/StatementAttachmentLegacyReportSchema'
                title: Response Get Statement Attachment Statement Attachment  Statement
                  Attachment Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - statement_attachments
      summary: Delete Statement Attachment
      description: Delete a statement attachment.
      operationId: delete_statement_attachment_statement_attachment__statement_attachment_id__delete
      parameters:
      - name: statement_attachment_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Attachment Id
        description: ID of the statement attachment to delete
      responses:
        '204':
          description: Successful Response
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    put:
      tags:
      - statement_attachments
      summary: Update Statement Attachment
      description: Update statement attachment by statement_attachment_id.
      operationId: update_statement_attachment_statement_attachment__statement_attachment_id__put
      parameters:
      - name: statement_attachment_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Attachment Id
        description: The id of statement attachment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatementAttachmentPutSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatementAttachmentDetailSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /statement-attachment/account/{account_id}/statement-period/{statement_period_id}:
    get:
      tags:
      - statement_attachments
      summary: Get Statement Attachments
      description: Get statement attachments by an account_id and statement_period_id.
      operationId: get_statement_attachments_statement_attachment_account__account_id__statement_period__statement_period_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: The id of statement period
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: Optional id of the subaccount
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  anyOf:
                  - $ref: '#/components/schemas/StatementAttachmentDetailSchema'
                  - $ref: '#/components/schemas/StatementAttachmentLegacyReportSchema'
                title: Response Get Statement Attachments Statement Attachment Account  Account
                  Id  Statement Period  Statement Period Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /statement-attachment/account/{account_id}:
    get:
      tags:
      - statement_attachments
      summary: Get Statement Attachments By Account
      description: Get statement attachments by an account_id.
      operationId: get_statement_attachments_by_account_statement_attachment_account__account_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: Optional id of the subaccount
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  anyOf:
                  - $ref: '#/components/schemas/StatementAttachmentDetailSchema'
                  - $ref: '#/components/schemas/StatementAttachmentLegacyReportSchema'
                title: Response Get Statement Attachments By Account Statement Attachment
                  Account  Account Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /statement-attachment/account/{account_id}/statement-period/{statement_period_id}/revenue-detail:
    post:
      tags:
      - statement_attachments
      summary: Create Revenue Detail Reports
      description: Create revenue detail reports for an account and statement period.
      operationId: create_revenue_detail_reports_statement_attachment_account__account_id__statement_period__statement_period_id__revenue_detail_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: Account to make the report for
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: Period to make the report for
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: Optional id of the subaccount
      - name: correlation-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Correlation-Id
        description: Request correlation ID
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StatementAttachmentDetailSchema'
                title: Response Create Revenue Detail Reports Statement Attachment
                  Account  Account Id  Statement Period  Statement Period Id  Revenue
                  Detail Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /statement-attachment/account/{account_id}/statement-period/{statement_period_id}/collection-summary:
    post:
      tags:
      - statement_attachments
      summary: Create Statement Period Collection Summary Documents
      description: Create collection summary documents for an account and statement
        period.
      operationId: create_statement_period_collection_summary_documents_statement_attachment_account__account_id__statement_period__statement_period_id__collection_summary_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: Account to make the report for
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: Period to make the report for
      - name: correlation-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Correlation-Id
        description: Request correlation ID
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StatementAttachmentDetailSchema'
                title: Response Create Statement Period Collection Summary Documents
                  Statement Attachment Account  Account Id  Statement Period  Statement
                  Period Id  Collection Summary Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /statement-attachment/account/{account_id}/statement-period/{statement_period_id}/legacy-revenue-report:
    post:
      tags:
      - statement_attachments
      summary: Create Legacy Revenue Report
      description: Create legacy revenue reports for an account, contract and statement
        period.
      operationId: create_legacy_revenue_report_statement_attachment_account__account_id__statement_period__statement_period_id__legacy_revenue_report_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: Account to make the report for
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: Period to make the report for
      - name: report_type
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/StatementAttachmentType'
        description: the type of legacy revenue report
      - name: file_type
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/StatementAttachmentFileType'
        description: the requested file type
      - name: number_format
        in: query
        required: true
        schema:
          $ref: '#/components/schemas/NumberFormat'
        description: Format for numbers ('us' or 'eu')
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: Contract id to make the report for
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: Optional id of the subaccount
      - name: statement_period_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Statement Period Ids
        description: Optional list of statement period ids
      - name: correlation-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Correlation-Id
        description: Request correlation ID
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/StatementAttachmentFiltersSchema'
              - type: 'null'
              title: Filters
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StatementAttachmentLegacyReportSchema'
                title: Response Create Legacy Revenue Report Statement Attachment
                  Account  Account Id  Statement Period  Statement Period Id  Legacy
                  Revenue Report Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /statement-attachment/statement-period/{statement_period_id}:
    post:
      tags:
      - statement_attachments
      summary: Create Statement Attachments
      description: Create statement attachments for a specified statement period.
      operationId: create_statement_attachments_statement_attachment_statement_period__statement_period_id__post
      parameters:
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: The id of statement period
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  anyOf:
                  - $ref: '#/components/schemas/StatementAttachmentDetailSchema'
                  - $ref: '#/components/schemas/StatementAttachmentLegacyReportSchema'
                title: Response Create Statement Attachments Statement Attachment
                  Statement Period  Statement Period Id  Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /statement-attachment/account/{account_id}/statement-period/{statement_period_id}/internal-attachment:
    post:
      tags:
      - statement_attachments
      summary: Create Internal Attachment
      description: Create internal file statement attachments.
      operationId: create_internal_attachment_statement_attachment_account__account_id__statement_period__statement_period_id__internal_attachment_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of the account.
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: The id of statement period.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InternalAttachmentPostSchema'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/StatementAttachmentDetailSchema'
                - type: 'null'
                title: Response Create Internal Attachment Statement Attachment Account  Account
                  Id  Statement Period  Statement Period Id  Internal Attachment Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /statement-attachment/statement-period/{statement_period_id}/regenerate:
    post:
      tags:
      - statement_attachments
      summary: Regenerate Statement Attachments
      description: Regenerate statement attachments for a specified statement period.
      operationId: regenerate_statement_attachments_statement_attachment_statement_period__statement_period_id__regenerate_post
      parameters:
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: The ID of statement period
      - name: correlation-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Correlation-Id
        description: Optional request correlation ID
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StatementAttachmentRegenerateSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StatementAttachmentDetailSchema'
                title: Response Regenerate Statement Attachments Statement Attachment
                  Statement Period  Statement Period Id  Regenerate Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /statement-attachment/statement-period/{statement_period_id}/generate:
    post:
      tags:
      - statement_attachments
      summary: Generate Statement Attachments
      description: Generate statement attachments by statement_period_id.
      operationId: generate_statement_attachments_statement_attachment_statement_period__statement_period_id__generate_post
      parameters:
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: Statement period ID to generate attachments for
      - name: account_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Account Id
        description: Optional account to generate attachments for
      - name: correlation-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Correlation-Id
        description: Correlation Id from the header
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response Generate Statement Attachments Statement Attachment
                  Statement Period  Statement Period Id  Generate Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /statement-attachment/{statement_attachment_id}/download:
    get:
      tags:
      - statement_attachments
      summary: Get Invoice Presigned Url
      description: Get presigned S3 URL for downloading invoice.
      operationId: get_invoice_presigned_url_statement_attachment__statement_attachment_id__download_get
      parameters:
      - name: statement_attachment_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Attachment Id
        description: The id of statement attachment
      - name: orchard-profile-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Orchard-Profile-Id
        description: Profile Identifier
      - name: orchard-profile-type
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Orchard-Profile-Type
        description: Type of profile
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
                title: Response Get Invoice Presigned Url Statement Attachment  Statement
                  Attachment Id  Download Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /invoices/statement-period/{statement_period_id}:
    get:
      tags:
      - invoices
      summary: Get Invoice Statement Attachments
      description: GET all invoice types for a specified payment entity id and statement
        period.
      operationId: get_invoice_statement_attachments_invoices_statement_period__statement_period_id__get
      parameters:
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: the id of a statement period
      - name: payment_entity_id
        in: query
        required: true
        schema:
          type: integer
          title: Payment Entity Id
        description: The id of a payment entity
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StatementAttachmentInvoiceDetailSchema'
                title: Response Get Invoice Statement Attachments Invoices Statement
                  Period  Statement Period Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /invoices/payment-entity/{payment_entity_id}/statement-period/{statement_period_id}:
    post:
      tags:
      - invoices
      summary: Create Invoice Statement Attachments
      description: Create invoices for a payment entity and statement period.
      operationId: create_invoice_statement_attachments_invoices_payment_entity__payment_entity_id__statement_period__statement_period_id__post
      parameters:
      - name: payment_entity_id
        in: path
        required: true
        schema:
          type: integer
          title: Payment Entity Id
        description: The id of a payment entity
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: Period to make the report for
      - name: correlation-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Correlation-Id
        description: Request correlation ID
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StatementAttachmentDetailSchema'
                title: Response Create Invoice Statement Attachments Invoices Payment
                  Entity  Payment Entity Id  Statement Period  Statement Period Id  Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /invoices/payment-entity/{payment_entity_id}/statement-period/{statement_period_id}/retry:
    post:
      tags:
      - invoices
      summary: Retry Invoice Statement Attachments
      description: Retry creating failed invoices for a payment entity and statement
        period.
      operationId: retry_invoice_statement_attachments_invoices_payment_entity__payment_entity_id__statement_period__statement_period_id__retry_post
      parameters:
      - name: payment_entity_id
        in: path
        required: true
        schema:
          type: integer
          title: Payment Entity Id
        description: The id of a payment entity
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: Period to make the report for
      - name: correlation-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Correlation-Id
        description: Request correlation ID
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StatementAttachmentDetailSchema'
                title: Response Retry Invoice Statement Attachments Invoices Payment
                  Entity  Payment Entity Id  Statement Period  Statement Period Id  Retry
                  Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /statement-reserves/account/{account_id}/statement-period/{statement_period_id}:
    get:
      tags:
      - statement_reserves
      summary: Get Statement Reserves By Account Id
      description: GET statement reserves totals for a specified account.
      operationId: get_statement_reserves_by_account_id_statement_reserves_account__account_id__statement_period__statement_period_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: The id of the statement period
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/StatementReservesSchema'
                - type: 'null'
                title: Response Get Statement Reserves By Account Id Statement Reserves
                  Account  Account Id  Statement Period  Statement Period Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /revenue-analysis/account/{account_id}/product:
    get:
      tags:
      - revenue_analysis
      summary: Get Revenue Analysis By Product
      description: GET revenue analysis by product for a specified account.
      operationId: get_revenue_analysis_by_product_revenue_analysis_account__account_id__product_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: the id of an account
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
        description: how many entities to retrieve.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
        description: the offset (for pagination).
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract to filter by
      - name: statement_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id Start
        description: Start of the period range
      - name: statement_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id End
        description: End of the period range
      - name: activity_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id Start
        description: Start of the activity period range
      - name: activity_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id End
        description: End of the activity period range
      - name: artist_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Artist Id
        description: the id of an artist to filter by
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: order_by
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: product_id
          title: Order By
        description: Key to sort by (defaults to no sorting)
      - name: order_dir
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/OrderDirection'
          default: asc
        description: Direction to sort by (ASC or DESC)
      - name: search_term
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search Term
        description: query to search by
      - name: store_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Store Ids
        description: list of store IDs to filter by
      - name: country_codes
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          title: Country Codes
        description: list of country codes to filter by
      - name: transaction_type_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Transaction Type Ids
        description: list of transaction type IDs to filter by
      - name: imprint_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Imprint Ids
        description: list of imprint IDs to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: whether this is for a subaccount
      - name: project_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Project Id
        description: the id of a project to filter by
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRevenueByProductSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /revenue-analysis/account/{account_id}/recording:
    get:
      tags:
      - revenue_analysis
      summary: Get Revenue Analysis By Recording
      description: GET revenue analysis by recording for a specified account.
      operationId: get_revenue_analysis_by_recording_revenue_analysis_account__account_id__recording_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: the id of an account
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
        description: how many entities to retrieve.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
        description: the offset (for pagination).
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract to filter by
      - name: statement_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id Start
        description: Start of the period range
      - name: statement_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id End
        description: End of the period range
      - name: recording_title
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Recording Title
        description: recording name to filter by
      - name: order_by
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: recording_id
          title: Order By
        description: Key to sort by (defaults to no sorting)
      - name: order_dir
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/OrderDirection'
          default: asc
        description: Direction to sort by (ASC or DESC)
      - name: activity_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id Start
        description: Start of the activity period range
      - name: activity_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id End
        description: End of the activity period range
      - name: store_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Store Ids
        description: list of store IDs to filter by
      - name: country_codes
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          title: Country Codes
        description: list of country codes to filter by
      - name: imprint_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Imprint Ids
        description: list of imprint IDs to filter by
      - name: transaction_type_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Transaction Type Ids
        description: list of transaction type IDs to filter by
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRevenueByRecordingSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /revenue-analysis/account/{account_id}/statement-period:
    get:
      tags:
      - revenue_analysis
      summary: Get Revenue Analysis By Statement Period
      description: GET revenue analysis by statement period for a specified account.
      operationId: get_revenue_analysis_by_statement_period_revenue_analysis_account__account_id__statement_period_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of the account
      - name: statement_period_id_start
        in: query
        required: true
        schema:
          type: integer
          title: Statement Period Id Start
        description: Start of the period range
      - name: statement_period_id_end
        in: query
        required: true
        schema:
          type: integer
          title: Statement Period Id End
        description: End of the period range
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: ID of a contract to filter by
      - name: artist_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Artist Id
        description: ID of an artist to filter by
      - name: product_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Product Id
        description: the id of a product to filter by
      - name: track_unique_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Track Unique Id
        description: the id of a track to filter by
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: whether this is for a subaccount
      - name: activity_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id Start
        description: Start of the activity period range
      - name: activity_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id End
        description: End of the activity period range
      - name: store_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Store Ids
        description: list of store IDs to filter by
      - name: country_codes
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          title: Country Codes
        description: list of country codes to filter by
      - name: imprint_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Imprint Ids
        description: list of imprint IDs to filter by
      - name: transaction_type_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Transaction Type Ids
        description: list of transaction type IDs to filter by
      - name: project_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RevenueByStatementPeriodSchema'
                title: Response Get Revenue Analysis By Statement Period Revenue Analysis
                  Account  Account Id  Statement Period Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /revenue-analysis/account/{account_id}/store:
    get:
      tags:
      - revenue_analysis
      summary: Get Revenue Analysis By Store
      description: GET revenue analysis by store for a specified account.
      operationId: get_revenue_analysis_by_store_revenue_analysis_account__account_id__store_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: the id of an account
      - name: artist_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Artist Id
        description: the id of an artist to filter by
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 5
          title: Limit
        description: how many records to retrieve.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
        description: the offset (for pagination).
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract to filter by
      - name: product_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Product Id
        description: the id of a product to filter by
      - name: track_unique_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Track Unique Id
        description: the id of a track to filter by
      - name: statement_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id Start
        description: start of the period range
      - name: statement_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id End
        description: end of the period range
      - name: order_by
        in: query
        required: false
        schema:
          type: string
          default: net_revenue_payee_currency
          title: Order By
        description: field to sort by (defaults to net revenue payee currency)
      - name: order_dir
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/OrderDirection'
          default: desc
        description: direction to sort by (ASC or DESC)
      - name: search_term
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search Term
        description: query to search by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: whether this is for a subaccount
      - name: activity_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id Start
        description: start of the period range
      - name: activity_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id End
        description: end of the period range
      - name: store_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Store Ids
      - name: country_codes
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          title: Country Codes
      - name: imprint_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Imprint Ids
      - name: transaction_type_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Transaction Type Ids
      - name: project_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRevenueByStoreSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /revenue-analysis/account/{account_id}/project:
    post:
      tags:
      - revenue_analysis
      summary: Get Revenue Analysis By Project
      description: POST revenue analysis by project for a specified account.
      operationId: get_revenue_analysis_by_project_revenue_analysis_account__account_id__project_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: the id of an account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RevenueByProjectRequestSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRevenueByProjectSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /revenue-analysis/account/{account_id}/country:
    get:
      tags:
      - revenue_analysis
      summary: Get Revenue Analysis By Country
      description: GET revenue analysis by country for a specified account.
      operationId: get_revenue_analysis_by_country_revenue_analysis_account__account_id__country_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: the id of an account
      - name: artist_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Artist Id
        description: the id of an artist to filter by
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: product_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Product Id
        description: the id of a product to filter by
      - name: track_unique_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Track Unique Id
        description: the id of a track to filter by
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract to filter by
      - name: statement_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id Start
        description: Start of the period range
      - name: statement_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id End
        description: End of the period range
      - name: activity_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id Start
        description: Start of the activity period range
      - name: activity_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id End
        description: End of the activity period range
      - name: store_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Store Ids
        description: list of store IDs to filter by
      - name: country_codes
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          title: Country Codes
        description: list of countries to filter by
      - name: imprint_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Imprint Ids
        description: list of imprint IDs to filter by
      - name: transaction_type_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Transaction Type Ids
        description: list of transaction type IDs to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: Whether the request is made by a subaccount
      - name: project_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RevenueByCountrySchema'
                title: Response Get Revenue Analysis By Country Revenue Analysis Account  Account
                  Id  Country Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /revenue-analysis/account/{account_id}/transaction-type:
    get:
      tags:
      - revenue_analysis
      summary: Get Revenue Analysis By Transaction Type
      description: Get revenue analysis by transaction type for a specified account.
      operationId: get_revenue_analysis_by_transaction_type_revenue_analysis_account__account_id__transaction_type_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of the account
      - name: artist_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Artist Id
        description: the id of an artist to filter by
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: ID of a contract to filter by
      - name: statement_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id Start
        description: Start of the period range
      - name: statement_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id End
        description: End of the period range
      - name: activity_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id Start
        description: Start of the activity period range
      - name: activity_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id End
        description: End of the activity period range
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: order_by
        in: query
        required: false
        schema:
          type: string
          default: net_revenue_payee_currency
          title: Order By
        description: Key to sort by (defaults to sorting by net revenue)
      - name: order_dir
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/OrderDirection'
          default: desc
        description: Direction to sort by (defaults to DESC)
      - name: search_term
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search Term
        description: query to search by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: whether this is for a subaccount
      - name: product_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Product Id
        description: The id of the product to filter by
      - name: track_unique_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Track Unique Id
        description: the ID of the track to filter by
      - name: store_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Store Ids
        description: list of store IDs to filter by
      - name: country_codes
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          title: Country Codes
        description: list of country codes to filter by
      - name: imprint_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Imprint Ids
        description: list of imprint IDs to filter by
      - name: transaction_type_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Transaction Type Ids
        description: list of transaction type IDs to filter by
      - name: project_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseRevenueByTransactionTypeSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /revenue-analysis/account/{account_id}/track:
    get:
      tags:
      - revenue_analysis
      summary: Get Revenue Analysis By Track
      description: GET revenue analysis by track for a specified account.
      operationId: get_revenue_analysis_by_track_revenue_analysis_account__account_id__track_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: the id of an account
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
        description: how many entities to retrieve.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
        description: the offset (for pagination).
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract to filter by
      - name: statement_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id Start
        description: Start of the period range
      - name: statement_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id End
        description: End of the period range
      - name: activity_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id Start
        description: Start of the activity period range
      - name: activity_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id End
        description: End of the activity period range
      - name: artist_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Artist Id
        description: the id of an artist to filter by
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: product_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Product Id
        description: the id of a product to filter by
      - name: order_by
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: track_unique_id
          title: Order By
        description: Key to sort by (defaults to no sorting)
      - name: order_dir
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/OrderDirection'
          default: asc
        description: Direction to sort by (ASC or DESC)
      - name: search_term
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search Term
        description: query to search by
      - name: store_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Store Ids
        description: list of store IDs to filter by
      - name: country_codes
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          title: Country Codes
        description: list of country codes to filter by
      - name: transaction_type_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Transaction Type Ids
        description: list of transaction type IDs to filter by
      - name: imprint_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Imprint Ids
        description: list of imprint IDs to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: Whether the request is made by a subaccount
      - name: project_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Project Id
        description: the id of a project to filter by
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRevenueByTrackSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /revenue-analysis/account/{account_id}/artist:
    get:
      tags:
      - revenue_analysis
      summary: Get Revenue Analysis By Artist
      description: GET revenue analysis by artist for a specified account.
      operationId: get_revenue_analysis_by_artist_revenue_analysis_account__account_id__artist_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: the id of an account
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
        description: how many entities to retrieve.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
        description: the offset (for pagination).
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract to filter by
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: statement_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id Start
        description: Start of the period range
      - name: statement_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id End
        description: End of the period range
      - name: activity_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id Start
        description: Start of the activity period range
      - name: activity_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id End
        description: End of the activity period range
      - name: order_by
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: artist_name
          title: Order By
        description: Key to sort by (defaults to no sorting)
      - name: order_dir
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/OrderDirection'
          default: asc
        description: Direction to sort by (ASC or DESC)
      - name: search_term
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search Term
        description: query to search by
      - name: store_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Store Ids
        description: list of store IDs to filter by
      - name: country_codes
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          title: Country Codes
        description: list of country codes to filter by
      - name: transaction_type_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Transaction Type Ids
        description: list of transaction type IDs to filter by
      - name: imprint_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Imprint Ids
        description: list of imprint IDs to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: whether this is for a subaccount
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRevenueByArtistSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /revenue-analysis/account/{account_id}/subaccount:
    get:
      tags:
      - revenue_analysis
      summary: Get Revenue Analysis By Subaccount
      description: GET revenue analysis by subaccount for a specified account.
      operationId: get_revenue_analysis_by_subaccount_revenue_analysis_account__account_id__subaccount_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: the id of an account
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
        description: how many entities to retrieve.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
        description: the offset (for pagination).
      - name: artist_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Artist Id
        description: the id of an artist to filter by
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract to filter by
      - name: store_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Store Ids
        description: Optional stores to filter by
      - name: activity_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id Start
        description: Optional activity period range start
      - name: activity_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id End
        description: Optional activity period range end
      - name: imprint_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Imprint Ids
        description: Optional imprints to filter by
      - name: transaction_type_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Transaction Type Ids
        description: Optional transaction types to filter by
      - name: country_codes
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          title: Country Codes
        description: Optional country codes to filter by
      - name: statement_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id Start
        description: Start of the period range
      - name: statement_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id End
        description: End of the period range
      - name: order_by
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: subaccount_id
          title: Order By
        description: Key to sort by (defaults to no sorting)
      - name: order_dir
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/OrderDirection'
          default: asc
        description: Direction to sort by (ASC or DESC)
      - name: search_term
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search Term
        description: query to search by
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRevenueBySubaccountSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /revenue-analysis/account/{account_id}/imprint:
    get:
      tags:
      - revenue_analysis
      summary: Get Revenue Analysis By Imprint
      description: GET revenue analysis by imprint for a specified account.
      operationId: get_revenue_analysis_by_imprint_revenue_analysis_account__account_id__imprint_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: the id of an account
      - name: artist_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Artist Id
        description: the id of an artist to filter by
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 50
          title: Limit
        description: how many entities to retrieve.
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
        description: the offset (for pagination).
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract to filter by
      - name: statement_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id Start
        description: Start of the period range
      - name: statement_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id End
        description: End of the period range
      - name: activity_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id Start
        description: Start of the activity period range
      - name: activity_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id End
        description: End of the activity period range
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: ID of the subaccount
      - name: order_by
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          default: imprint
          title: Order By
        description: Key to sort by (defaults to no sorting)
      - name: order_dir
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/OrderDirection'
          default: asc
        description: Direction to sort by (ASC or DESC)
      - name: search_term
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Search Term
      - name: store_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Store Ids
        description: list of store IDs to filter by
      - name: country_codes
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          title: Country Codes
        description: list of country codes to filter by
      - name: imprint_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Imprint Ids
        description: list of imprints to filter by
      - name: transaction_type_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Transaction Type Ids
        description: list of transaction type IDs to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: whether this is for a subaccount
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRevenueByImprintSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /revenue-analysis/account/{account_id}/statement_period/{statement_period}/all-time-revenue:
    get:
      tags:
      - revenue_analysis
      summary: Get All Time Revenue Account Id
      description: GET total revenue for a specified account.
      operationId: get_all_time_revenue_account_id_revenue_analysis_account__account_id__statement_period__statement_period__all_time_revenue_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: statement_period
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period
        description: used by the cache key to identify new statement periods
      - name: is_open_statement_period
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Is Open Statement Period
        description: a boolean flag used by the cache to skip open periods
      - name: artist_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Artist Id
        description: the id of an artist to filter by
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: whether this is for a subaccount
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountRevenueSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /revenue-analysis/account/{account_id}/statement_period/{statement_period}:
    get:
      tags:
      - revenue_analysis
      summary: Get Latest Revenue By Account Statement Period
      description: GET latest revenue for a specified account.
      operationId: get_latest_revenue_by_account_statement_period_revenue_analysis_account__account_id__statement_period__statement_period__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: statement_period
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period
        description: latest statement period to filter by
      - name: artist_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Artist Id
        description: the id of an artist to filter by
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: product_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Product Id
        description: the id of a product to filter by
      - name: track_unique_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Track Unique Id
        description: the id of a track to filter by
      - name: is_open_statement_period
        in: query
        required: false
        schema:
          type: boolean
          default: true
          title: Is Open Statement Period
        description: a boolean flag used by the cache to skip open periods
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: whether this is for a subaccount
      - name: project_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountStatementPeriodRevenueSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /revenue-analysis/account/{account_id}/activity-month:
    get:
      tags:
      - revenue_analysis
      summary: Get Revenue Analysis By Activity Month
      description: GET revenue analysis by activity month for a specified account.
      operationId: get_revenue_analysis_by_activity_month_revenue_analysis_account__account_id__activity_month_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: the id of an account
      - name: limit
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Limit
        description: how many entities to retrieve.
      - name: offset
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Offset
        description: the offset (for pagination).
      - name: artist_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Artist Id
        description: the id of an artist to filter by
      - name: subaccount_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        description: the id of a subaccount to filter by
      - name: product_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Product Id
        description: the id of a product to filter by
      - name: track_unique_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Track Unique Id
        description: the id of a track to filter by
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract to filter by
      - name: statement_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id Start
        description: Start of the period range
      - name: statement_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id End
        description: End of the period range
      - name: activity_period_id_start
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id Start
        description: Start of the activity period range
      - name: activity_period_id_end
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id End
        description: End of the activity period range
      - name: store_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Store Ids
        description: list of store IDs to filter by
      - name: country_codes
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: string
          - type: 'null'
          title: Country Codes
        description: list of country codes to filter by
      - name: transaction_type_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Transaction Type Ids
        description: list of transaction type IDs to filter by
      - name: imprint_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: array
            items:
              type: integer
          - type: 'null'
          title: Imprint Ids
        description: list of imprint IDs to filter by
      - name: is_subaccount
        in: query
        required: false
        schema:
          type: boolean
          default: false
          title: Is Subaccount
        description: bool flag to check who is making the request
      - name: project_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Project Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedRevenueByActivityMonthSchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /ledger-vat-summary/account/{account_id}/statement-period/{statement_period_id}:
    get:
      tags:
      - ledger_vat
      summary: Get Ledger Vat Summary By Account
      description: GET ledger vat for a specified account and statement period.
      operationId: get_ledger_vat_summary_by_account_ledger_vat_summary_account__account_id__statement_period__statement_period_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: the id of a statement period
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      - name: vat_categories
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Vat Categories
        description: vat categories to filter
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LedgerVatSummarySchema'
                title: Response Get Ledger Vat Summary By Account Ledger Vat Summary
                  Account  Account Id  Statement Period  Statement Period Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /ledger-vat-summary/account/{account_id}/activity-statement-period/{statement_period_id}:
    get:
      tags:
      - ledger_vat
      summary: Get Ledger Vat Summary By Activity Period
      description: GET ledger vat for a specified account and activity statement period.
      operationId: get_ledger_vat_summary_by_activity_period_ledger_vat_summary_account__account_id__activity_statement_period__statement_period_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: the id of a statement period
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      - name: vat_categories
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Vat Categories
        description: vat categories to filter
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LedgerVatSummarySchema'
                title: Response Get Ledger Vat Summary By Activity Period Ledger Vat
                  Summary Account  Account Id  Activity Statement Period  Statement
                  Period Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /ledger-vat-summary/statement-period/{statement_period_id}/backfill:
    post:
      tags:
      - ledger_vat
      summary: Backfill Ledger Vat Summary
      description: Backfill entries to the VAT summary table.
      operationId: backfill_ledger_vat_summary_ledger_vat_summary_statement_period__statement_period_id__backfill_post
      parameters:
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: ID of the statement period to backfill entries for
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/LedgerVatSummaryBackfillSchema'
              title: Payload
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LedgerVatSummarySchema'
                title: Response Backfill Ledger Vat Summary Ledger Vat Summary Statement
                  Period  Statement Period Id  Backfill Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /ledger-vat-summary/vat-summary-file/{vat_summary_file_id}:
    get:
      tags:
      - ledger_vat
      summary: Get Ledger Vat Summary By Vat Summary File
      description: Get ledger VAT summary entries associated with a VAT summary file.
      operationId: get_ledger_vat_summary_by_vat_summary_file_ledger_vat_summary_vat_summary_file__vat_summary_file_id__get
      parameters:
      - name: vat_summary_file_id
        in: path
        required: true
        schema:
          type: integer
          title: Vat Summary File Id
        description: ID of the VAT summary file
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Limit
        description: how many entities to retrieve
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
          title: Offset
        description: the offset (for pagination)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedLedgerVatSummarySchema'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /payment-entity/{payment_entity_id}/statement-period/{statement_period_id}/vat:
    get:
      tags:
      - payment_entity
      summary: Get Vat Data By Payment Entity And Statement Period
      description: Check vat data by payment entity and statement period.
      operationId: get_vat_data_by_payment_entity_and_statement_period_payment_entity__payment_entity_id__statement_period__statement_period_id__vat_get
      parameters:
      - name: payment_entity_id
        in: path
        required: true
        schema:
          type: integer
          title: Payment Entity Id
        description: id of the payment entity
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: id of the statement period
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentEntityVatDataActivity'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /reserves/account/{account_id}/statement-period/{statement_period_id}/schedules:
    get:
      tags:
      - reserves
      summary: Get Ledger Reserve Release Schedules By Account Id
      description: GET ledger reserve release schedules for a specified account.
      operationId: get_ledger_reserve_release_schedules_by_account_id_reserves_account__account_id__statement_period__statement_period_id__schedules_get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: The id of a statement period
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LedgerReserveReleaseScheduleSchema'
                title: Response Get Ledger Reserve Release Schedules By Account Id
                  Reserves Account  Account Id  Statement Period  Statement Period
                  Id  Schedules Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /reserves/account/{account_id}/statement-period/{statement_period_id}:
    get:
      tags:
      - reserves
      summary: Get Statement Reserves By Account Id
      description: GET statement reserves totals for a specified account.
      operationId: get_statement_reserves_by_account_id_reserves_account__account_id__statement_period__statement_period_id__get
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      - name: statement_period_id
        in: path
        required: true
        schema:
          type: integer
          title: Statement Period Id
        description: The id of the statement period
      - name: contract_id
        in: query
        required: false
        schema:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        description: the id of a contract
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/StatementReservesSchema'
                - type: 'null'
                title: Response Get Statement Reserves By Account Id Reserves Account  Account
                  Id  Statement Period  Statement Period Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account-statements/dataloader/account/{account_id}/ledger-adjustments:
    post:
      tags:
      - account_statements
      summary: Load Adjustments By Account And Statement Periods
      description: Dataload ledger adjustments for a specified account.
      operationId: load_adjustments_by_account_and_statement_periods_account_statements_dataloader_account__account_id__ledger_adjustments_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountStatementsDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LedgerAdjustmentAppliedSchema'
                title: Response Load Adjustments By Account And Statement Periods
                  Account Statements Dataloader Account  Account Id  Ledger Adjustments
                  Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account-statements/dataloader/account/{account_id}/reserves:
    post:
      tags:
      - account_statements
      summary: Load Reserves By Account And Statement Periods
      description: Dataload physical reserves for a specified account.
      operationId: load_reserves_by_account_and_statement_periods_account_statements_dataloader_account__account_id__reserves_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountStatementsDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountStatementsReservesSchema'
                title: Response Load Reserves By Account And Statement Periods Account
                  Statements Dataloader Account  Account Id  Reserves Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account-statements/dataloader/account/{account_id}/statement-attachments:
    post:
      tags:
      - account_statements
      summary: Load Statement Attachments By Account And Statement Periods
      description: Dataload statement attachments for a specified account.
      operationId: load_statement_attachments_by_account_and_statement_periods_account_statements_dataloader_account__account_id__statement_attachments_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountStatementsDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StatementAttachmentDetailSchema'
                title: Response Load Statement Attachments By Account And Statement
                  Periods Account Statements Dataloader Account  Account Id  Statement
                  Attachments Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account-statements/dataloader/account/{account_id}/payments:
    post:
      tags:
      - account_statements
      summary: Load Payments By Account And Statement Periods
      description: Dataload payments for a specified account.
      operationId: load_payments_by_account_and_statement_periods_account_statements_dataloader_account__account_id__payments_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountStatementsDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountStatementPeriodPaymentDetailSchema'
                title: Response Load Payments By Account And Statement Periods Account
                  Statements Dataloader Account  Account Id  Payments Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account-statements/dataloader/account/{account_id}/payment-allocations:
    post:
      tags:
      - account_statements
      summary: Load Payment Allocation Details
      description: Dataload payment allocations for a specified contract.
      operationId: load_payment_allocation_details_account_statements_dataloader_account__account_id__payment_allocations_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of the account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountStatementsDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PaymentAllocationDetailSchema'
                title: Response Load Payment Allocation Details Account Statements
                  Dataloader Account  Account Id  Payment Allocations Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account-statements/dataloader/account/{account_id}/payment-details:
    post:
      tags:
      - account_statements
      summary: Load Payment Details By Account And Statement Periods
      description: Dataload payment details for a specified account and statement
        period.
      operationId: load_payment_details_by_account_and_statement_periods_account_statements_dataloader_account__account_id__payment_details_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of the account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountStatementsDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountPaymentDetailStatusSchema'
                title: Response Load Payment Details By Account And Statement Periods
                  Account Statements Dataloader Account  Account Id  Payment Details
                  Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account-statements/dataloader/account/{account_id}/expenses:
    post:
      tags:
      - account_statements
      summary: Load Expenses By Account And Statement Periods
      description: Dataload expenses for a specified account.
      operationId: load_expenses_by_account_and_statement_periods_account_statements_dataloader_account__account_id__expenses_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountStatementsDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LedgerAdjustmentExpenseSchema'
                title: Response Load Expenses By Account And Statement Periods Account
                  Statements Dataloader Account  Account Id  Expenses Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account-statements/dataloader/account/{account_id}/balance:
    post:
      tags:
      - account_statements
      summary: Load Balances By Account And Statement Periods
      description: Dataload balances for a specified account.
      operationId: load_balances_by_account_and_statement_periods_account_statements_dataloader_account__account_id__balance_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountStatementsDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                anyOf:
                - type: array
                  items:
                    $ref: '#/components/schemas/AccountStatementPeriodBalanceSchema'
                - type: 'null'
                title: Response Load Balances By Account And Statement Periods Account
                  Statements Dataloader Account  Account Id  Balance Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account-statements/dataloader/account/{account_id}/applied-advances:
    post:
      tags:
      - account_statements
      summary: Load Advances By Account And Statement Periods
      description: Dataload applied advances for a specified account.
      operationId: load_advances_by_account_and_statement_periods_account_statements_dataloader_account__account_id__applied_advances_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountStatementsDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AdvanceSchema'
                title: Response Load Advances By Account And Statement Periods Account
                  Statements Dataloader Account  Account Id  Applied Advances Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account-statements/dataloader/account/{account_id}/vat:
    post:
      tags:
      - account_statements
      summary: Load Vat By Account And Statement Periods
      description: Dataload VAT specified account.
      operationId: load_vat_by_account_and_statement_periods_account_statements_dataloader_account__account_id__vat_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: The id of an account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountStatementsDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AccountStatementPeriodVatDetailSchema'
                title: Response Load Vat By Account And Statement Periods Account
                  Statements Dataloader Account  Account Id  Vat Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /account-statements/dataloader/account/{account_id}/flowthrough-balances:
    post:
      tags:
      - account_statements
      summary: Load Flowthrough Payable Balances
      description: Dataload flowthrough balance for an account, contract, and statement
        periods.
      operationId: load_flowthrough_payable_balances_account_statements_dataloader_account__account_id__flowthrough_balances_post
      parameters:
      - name: account_id
        in: path
        required: true
        schema:
          type: integer
          title: Account Id
        description: ID of the account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountStatementsDataloaderSchema'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FlowthroughPayableBalanceSchema'
                title: Response Load Flowthrough Payable Balances Account Statements
                  Dataloader Account  Account Id  Flowthrough Balances Post
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    AccountActivityPeriodSchema:
      properties:
        activity_period_id:
          type: integer
          title: Activity Period Id
        activity_month_name:
          type: string
          title: Activity Month Name
      type: object
      required:
      - activity_period_id
      - activity_month_name
      title: AccountActivityPeriodSchema
      description: Account activity period response.
    AccountActivityPeriodsDataloaderSchema:
      properties:
        activity_period_ids:
          items:
            type: integer
          type: array
          title: Activity Period Ids
      type: object
      required:
      - activity_period_ids
      title: AccountActivityPeriodsDataloaderSchema
      description: Account activity periods dataloader request body.
    AccountActivitySchema:
      properties:
        adjustments:
          type: boolean
          title: Adjustments
        advances:
          type: boolean
          title: Advances
        expenses:
          type: boolean
          title: Expenses
        mechanicals:
          type: boolean
          title: Mechanicals
        physical_reserves:
          type: boolean
          title: Physical Reserves
        publishing_revenue:
          type: boolean
          title: Publishing Revenue
        revenue:
          type: boolean
          title: Revenue
        taxes:
          type: boolean
          title: Taxes
      type: object
      required:
      - adjustments
      - advances
      - expenses
      - mechanicals
      - physical_reserves
      - publishing_revenue
      - revenue
      - taxes
      title: AccountActivitySchema
      description: Account activity response.
    AccountArtistSchema:
      properties:
        artist_id:
          type: integer
          title: Artist Id
        artist_name:
          type: string
          title: Artist Name
      type: object
      required:
      - artist_id
      - artist_name
      title: AccountArtistSchema
      description: Artist schema for account filters.
    AccountContractsDataloaderSchema:
      properties:
        contract_ids:
          items:
            type: integer
          type: array
          title: Contract Ids
      type: object
      required:
      - contract_ids
      title: AccountContractsDataloaderSchema
      description: Account contracts dataloader request body.
    AccountContractsSchema:
      properties:
        account_id:
          type: integer
          title: Account Id
        contract_id:
          type: integer
          title: Contract Id
        contract_name:
          type: string
          title: Contract Name
      type: object
      required:
      - account_id
      - contract_id
      - contract_name
      title: AccountContractsSchema
      description: Account contracts schema.
    AccountImprintSchema:
      properties:
        imprintid:
          type: integer
          title: Imprintid
        imprint:
          type: string
          title: Imprint
        account_id:
          type: integer
          title: Account Id
      type: object
      required:
      - imprintid
      - imprint
      - account_id
      title: AccountImprintSchema
      description: Imprint schema for account filters.
    AccountImprintsDataloaderSchema:
      properties:
        imprint_ids:
          items:
            type: integer
          type: array
          title: Imprint Ids
      type: object
      required:
      - imprint_ids
      title: AccountImprintsDataloaderSchema
      description: Account imprints dataloader request body.
    AccountPaymentDetailStatusSchema:
      properties:
        worksheet_account_contract_closing_balance_id:
          type: integer
          title: Worksheet Account Contract Closing Balance Id
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        closing_balance_statement_period:
          type: integer
          title: Closing Balance Statement Period
        closing_balance_amount:
          type: number
          title: Closing Balance Amount
        payable_amount_pre_tax:
          type: number
          title: Payable Amount Pre Tax
        tax_withholding_amount:
          anyOf:
          - type: number
          - type: 'null'
          title: Tax Withholding Amount
        vat_amount:
          anyOf:
          - type: number
          - type: 'null'
          title: Vat Amount
        payable_amount_post_tax:
          type: number
          title: Payable Amount Post Tax
        currency_code:
          type: string
          title: Currency Code
        batch_status:
          type: string
          title: Batch Status
        individual_payment_status:
          type: string
          title: Individual Payment Status
        payment_statement_period_id:
          type: integer
          title: Payment Statement Period Id
        created_at:
          type: string
          format: date
          title: Created At
        last_modified:
          type: string
          format: date
          title: Last Modified
      type: object
      required:
      - worksheet_account_contract_closing_balance_id
      - closing_balance_statement_period
      - closing_balance_amount
      - payable_amount_pre_tax
      - payable_amount_post_tax
      - currency_code
      - batch_status
      - individual_payment_status
      - payment_statement_period_id
      - created_at
      - last_modified
      title: AccountPaymentDetailStatusSchema
      description: Account statement period payment detail response.
    AccountProductSchema:
      properties:
        product_id:
          type: integer
          title: Product Id
        product_name:
          type: string
          title: Product Name
        display_upc:
          type: string
          title: Display Upc
      type: object
      required:
      - product_id
      - product_name
      - display_upc
      title: AccountProductSchema
      description: Product schema for account filters.
    AccountProjectSchema:
      properties:
        project_id:
          type: integer
          title: Project Id
      type: object
      required:
      - project_id
      title: AccountProjectSchema
      description: Project schema for account filters.
    AccountRecordingSchema:
      properties:
        recording_id:
          type: string
          title: Recording Id
        recording_title:
          type: string
          title: Recording Title
        isrc:
          anyOf:
          - type: string
          - type: 'null'
          title: Isrc
      type: object
      required:
      - recording_id
      - recording_title
      title: AccountRecordingSchema
      description: Recording schema for account filters.
    AccountRevenueSchema:
      properties:
        since_statement_period_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Since Statement Period Id
        currency_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Currency Code
        gross_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Gross Revenue Payee Currency
        net_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Net Revenue Payee Currency
        subaccount_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Subaccount Revenue
      type: object
      title: AccountRevenueSchema
      description: Account total revenue response.
    AccountStatementPeriodBalanceSchema:
      properties:
        closing_balance:
          type: number
          title: Closing Balance
        currency_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Currency Code
        opening_balance:
          type: number
          title: Opening Balance
        ledger_amount:
          anyOf:
          - type: number
          - type: 'null'
          title: Ledger Amount
        payable_balance:
          anyOf:
          - type: number
          - type: 'null'
          title: Payable Balance
        statement_period_id:
          type: integer
          title: Statement Period Id
      type: object
      required:
      - closing_balance
      - opening_balance
      - statement_period_id
      title: AccountStatementPeriodBalanceSchema
      description: Account statement period balance detail response.
    AccountStatementPeriodDetailSchema:
      properties:
        account_id:
          type: integer
          title: Account Id
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        statement_period_id:
          type: integer
          title: Statement Period Id
        currency_code:
          type: string
          title: Currency Code
        total_gross_revenue_amount:
          anyOf:
          - type: number
          - type: 'null'
          title: Total Gross Revenue Amount
        total_net_revenue_amount:
          anyOf:
          - type: number
          - type: 'null'
          title: Total Net Revenue Amount
        distribution_fee:
          anyOf:
          - type: number
          - type: 'null'
          title: Distribution Fee
        mechanical_deduction_total:
          anyOf:
          - type: number
          - type: 'null'
          title: Mechanical Deduction Total
        mechanical_deduction_admin_fee_total:
          anyOf:
          - type: number
          - type: 'null'
          title: Mechanical Deduction Admin Fee Total
      type: object
      required:
      - account_id
      - statement_period_id
      - currency_code
      title: AccountStatementPeriodDetailSchema
      description: Account statement period detail response.
    AccountStatementPeriodPaymentDetailSchema:
      properties:
        ledger_account_id:
          anyOf:
          - type: integer
          - type: string
          title: Ledger Account Id
        statement_period_id:
          type: integer
          title: Statement Period Id
        account_id:
          type: integer
          title: Account Id
        action_status:
          anyOf:
          - type: string
          - type: 'null'
          title: Action Status
        contract_id:
          type: integer
          title: Contract Id
        currency_code:
          type: string
          title: Currency Code
        currency_amount:
          type: number
          title: Currency Amount
        created_at:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Created At
        event_name:
          type: string
          title: Event Name
        withholding_tax_ledger_account_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Withholding Tax Ledger Account Id
        withholding_tax_currency_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Withholding Tax Currency Code
        withholding_tax_currency_amount:
          anyOf:
          - type: number
          - type: 'null'
          title: Withholding Tax Currency Amount
        withholding_tax_created_at:
          anyOf:
          - type: string
            format: date
          - type: 'null'
          title: Withholding Tax Created At
      type: object
      required:
      - ledger_account_id
      - statement_period_id
      - account_id
      - contract_id
      - currency_code
      - currency_amount
      - event_name
      title: AccountStatementPeriodPaymentDetailSchema
      description: Account statement period payments detail response.
    AccountStatementPeriodRevenueSchema:
      properties:
        currency_code:
          type: string
          title: Currency Code
        gross_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Gross Revenue Payee Currency
        net_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Net Revenue Payee Currency
        gross_publishing_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Gross Publishing Revenue Payee Currency
        net_publishing_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Net Publishing Revenue Payee Currency
        statement_period_id:
          type: integer
          title: Statement Period Id
        subaccount_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Subaccount Revenue
      type: object
      required:
      - currency_code
      - statement_period_id
      title: AccountStatementPeriodRevenueSchema
      description: Account statement period revenue response.
    AccountStatementPeriodSchema:
      properties:
        statement_period_id:
          type: integer
          title: Statement Period Id
        statement_period_name:
          type: string
          title: Statement Period Name
        statement_period_status:
          $ref: '#/components/schemas/StatementPeriodStatus'
        currency_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Currency Code
        statement_year:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Year
        statement_month:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Month
      type: object
      required:
      - statement_period_id
      - statement_period_name
      - statement_period_status
      title: AccountStatementPeriodSchema
      description: Account statement period response.
    AccountStatementPeriodVatDetailSchema:
      properties:
        statement_period_id:
          type: integer
          title: Statement Period Id
        account_id:
          type: integer
          title: Account Id
        payee_currency_code:
          type: string
          title: Payee Currency Code
        base_amount_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Base Amount Payee Currency
        vat_amount_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Vat Amount Payee Currency
        net_amount_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Net Amount Payee Currency
        currency_code:
          type: string
          title: Currency Code
        gross_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Gross Revenue
        net_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Net Revenue
        distribution_fee:
          anyOf:
          - type: number
          - type: 'null'
          title: Distribution Fee
        gross_vat_rate:
          anyOf:
          - type: number
          - type: 'null'
          title: Gross Vat Rate
        distribution_vat_rate:
          anyOf:
          - type: number
          - type: 'null'
          title: Distribution Vat Rate
        gross_vat:
          anyOf:
          - type: number
          - type: 'null'
          title: Gross Vat
        distribution_vat:
          anyOf:
          - type: number
          - type: 'null'
          title: Distribution Vat
        adjusted_net_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Adjusted Net Revenue
      type: object
      required:
      - statement_period_id
      - account_id
      - payee_currency_code
      - currency_code
      title: AccountStatementPeriodVatDetailSchema
      description: Account statement period vat detail response.
    AccountStatementsDataloaderSchema:
      properties:
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        statement_period_ids:
          items:
            type: integer
          type: array
          title: Statement Period Ids
      type: object
      required:
      - statement_period_ids
      title: AccountStatementsDataloaderSchema
      description: Account statements dataloader request body.
    AccountStatementsReservesSchema:
      properties:
        account_id:
          type: integer
          title: Account Id
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        ledger_reserve_release_total:
          anyOf:
          - type: number
          - type: 'null'
          title: Ledger Reserve Release Total
        ledger_reserve_taken_total:
          anyOf:
          - type: number
          - type: 'null'
          title: Ledger Reserve Taken Total
        ledger_reserve_total:
          anyOf:
          - type: number
          - type: 'null'
          title: Ledger Reserve Total
        statement_period_id:
          type: integer
          title: Statement Period Id
      type: object
      required:
      - account_id
      - statement_period_id
      title: AccountStatementsReservesSchema
      description: Account statement period detail response.
    AccountTrackSchema:
      properties:
        track_unique_id:
          type: integer
          title: Track Unique Id
        track_name:
          type: string
          title: Track Name
        isrc:
          anyOf:
          - type: string
          - type: 'null'
          title: Isrc
      type: object
      required:
      - track_unique_id
      - track_name
      title: AccountTrackSchema
      description: Track schema for account filters.
    AdvanceSchema:
      properties:
        advance_id:
          type: string
          title: Advance Id
        account_id:
          type: integer
          title: Account Id
        contract_id:
          type: integer
          title: Contract Id
        statement_period_id:
          type: integer
          title: Statement Period Id
        advance_amount:
          type: number
          title: Advance Amount
        advance_currency_code:
          type: string
          title: Advance Currency Code
        advance_amount_payee_currency:
          type: number
          title: Advance Amount Payee Currency
        advance_payee_currency_code:
          type: string
          title: Advance Payee Currency Code
        advance_description:
          anyOf:
          - type: string
          - type: 'null'
          title: Advance Description
      type: object
      required:
      - advance_id
      - account_id
      - contract_id
      - statement_period_id
      - advance_amount
      - advance_currency_code
      - advance_amount_payee_currency
      - advance_payee_currency_code
      title: AdvanceSchema
      description: Advance schema model.
    ArtistDataloaderSchema:
      properties:
        artist_ids:
          items:
            type: integer
          type: array
          title: Artist Ids
      type: object
      required:
      - artist_ids
      title: ArtistDataloaderSchema
      description: Artist dataloader schema.
    BreakdownItemSchema:
      properties:
        adjustment_total_payee_currency:
          type: number
          title: Adjustment Total Payee Currency
        adjustment_payee_currency_code:
          type: string
          title: Adjustment Payee Currency Code
        reference_adjustment_type_id:
          type: integer
          title: Reference Adjustment Type Id
        reference_adjustment_type_name:
          type: string
          title: Reference Adjustment Type Name
      type: object
      required:
      - adjustment_total_payee_currency
      - adjustment_payee_currency_code
      - reference_adjustment_type_id
      - reference_adjustment_type_name
      title: BreakdownItemSchema
      description: Breakdown item base model.
    DbtRefreshRequest:
      properties:
        full_refresh:
          type: boolean
          title: Full Refresh
          description: Whether or not to run a full refresh
          default: true
        select_models:
          type: string
          title: Select Models
          description: Specify which models should be run (--select)
          default: ledger_summary_dbt account_statement_periods_dbt combined_expenses_dbt
            combined_expenses_by_artist_dbt expenses_by_subaccount_dbt combined_advances_dbt
            combined_adjustments_dbt combined_adjustments_by_type_dbt combined_payments_dbt
        exclude_models:
          type: string
          title: Exclude Models
          description: Specify which models should be excluded (--exclude)
          default: abacus_fact_sales_unified_dbt workstation_fact_sales_unified_dbt
      type: object
      title: DbtRefreshRequest
      description: Request schema for triggering dbt refresh tasks.
    DbtRefreshResponse:
      properties:
        execution_arn:
          type: string
          title: Execution Arn
          description: ARN of the triggered Step Function execution
        start_date:
          type: string
          title: Start Date
          description: ISO format timestamp of when the execution started
        status:
          type: string
          title: Status
          description: Current status of the Step Function execution
          default: RUNNING
        message:
          type: string
          title: Message
          description: Message about the task trigger including parameter details
      type: object
      required:
      - execution_arn
      - start_date
      - message
      title: DbtRefreshResponse
      description: Response schema for dbt refresh task trigger via Step Functions.
    DistributionType:
      type: string
      enum:
      - digital
      - physical
      title: DistributionType
      description: Distribution type.
    ExpenseSchema:
      properties:
        account_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Account Id
        worksheet_adjustment_detail_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Worksheet Adjustment Detail Id
        apply_to_statement_period_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Apply To Statement Period Id
        adjustment_amount_payee_currency:
          type: number
          title: Adjustment Amount Payee Currency
        adjustment_payee_currency_code:
          type: string
          title: Adjustment Payee Currency Code
        artist_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Artist Id
        artist_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Artist Name
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        distribution_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Distribution Type
        imprint:
          anyOf:
          - type: string
          - type: 'null'
          title: Imprint
        imprint_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Imprint Id
        note:
          anyOf:
          - type: string
          - type: 'null'
          title: Note
        reference_adjustment_type_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Reference Adjustment Type Id
        reference_adjustment_type_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Reference Adjustment Type Name
        subaccount_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        subaccount_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Subaccount Name
        upc:
          anyOf:
          - type: string
          - type: 'null'
          title: Upc
      type: object
      required:
      - adjustment_amount_payee_currency
      - adjustment_payee_currency_code
      title: ExpenseSchema
      description: Expense model.
    ExpenseSubaccountSchema:
      properties:
        account_id:
          type: integer
          title: Account Id
        subaccount_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        subaccount_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Subaccount Name
      type: object
      required:
      - account_id
      - subaccount_id
      - subaccount_name
      title: ExpenseSubaccountSchema
      description: Subaccount ID and name for a subaccount associated with an expense.
    FlowthroughPayableBalanceSchema:
      properties:
        amount:
          type: number
          title: Amount
        currency_code:
          type: string
          title: Currency Code
        statement_period_id:
          type: integer
          title: Statement Period Id
      type: object
      required:
      - amount
      - currency_code
      - statement_period_id
      title: FlowthroughPayableBalanceSchema
      description: Flowthrough payable balance amount.
    GroupBy:
      type: string
      enum:
      - artist_id
      - expense_type_id
      - imprint_id
      - subaccount_id
      - upc
      title: GroupBy
      description: Group By column names.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    InternalAttachmentPostSchema:
      properties:
        file_type:
          $ref: '#/components/schemas/StatementAttachmentFileType'
        file_location:
          type: string
          title: File Location
        upload_date:
          type: string
          format: date-time
          title: Upload Date
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
      type: object
      required:
      - file_type
      - file_location
      - upload_date
      title: InternalAttachmentPostSchema
      description: Statement attachment POST request body.
    LedgerAdjustmentAppliedSchema:
      properties:
        adjustment_total_payee_currency:
          type: number
          title: Adjustment Total Payee Currency
        adjustment_payee_currency_code:
          type: string
          title: Adjustment Payee Currency Code
        breakdown_items:
          items:
            $ref: '#/components/schemas/LedgerAdjustmentBreakdownItemSchema'
          type: array
          title: Breakdown Items
        statement_period_id:
          type: integer
          title: Statement Period Id
      type: object
      required:
      - adjustment_total_payee_currency
      - adjustment_payee_currency_code
      - breakdown_items
      - statement_period_id
      title: LedgerAdjustmentAppliedSchema
      description: Aggregate value of applied adjustments to a statement period.
    LedgerAdjustmentBreakdownItemSchema:
      properties:
        adjustment_total_payee_currency:
          type: number
          title: Adjustment Total Payee Currency
        adjustment_payee_currency_code:
          type: string
          title: Adjustment Payee Currency Code
        reference_adjustment_type_id:
          type: integer
          title: Reference Adjustment Type Id
        reference_adjustment_type_name:
          type: string
          title: Reference Adjustment Type Name
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
      type: object
      required:
      - adjustment_total_payee_currency
      - adjustment_payee_currency_code
      - reference_adjustment_type_id
      - reference_adjustment_type_name
      title: LedgerAdjustmentBreakdownItemSchema
      description: Ledger adjustment model.
    LedgerAdjustmentExpenseArtistSchema:
      properties:
        artist_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Artist Id
        artist_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Artist Name
      type: object
      required:
      - artist_id
      - artist_name
      title: LedgerAdjustmentExpenseArtistSchema
      description: Artist ID and name for an artist associated with an expense.
    LedgerAdjustmentExpenseSchema:
      properties:
        amount:
          type: number
          title: Amount
        currency_code:
          type: string
          title: Currency Code
        breakdown_items:
          items:
            $ref: '#/components/schemas/BreakdownItemSchema'
          type: array
          title: Breakdown Items
        statement_period_id:
          type: integer
          title: Statement Period Id
      type: object
      required:
      - amount
      - currency_code
      - breakdown_items
      - statement_period_id
      title: LedgerAdjustmentExpenseSchema
      description: Aggregate value of expenses for a period.
    LedgerAdjustmentExpenseUPCsSchema:
      properties:
        account_id:
          type: integer
          title: Account Id
        upc:
          type: string
          title: Upc
        distribution_type:
          $ref: '#/components/schemas/DistributionType'
      type: object
      required:
      - account_id
      - upc
      - distribution_type
      title: LedgerAdjustmentExpenseUPCsSchema
      description: UPC and distribution type used to identify a product associated
        with an expense.
    LedgerAdjustmentSchema:
      properties:
        worksheet_adjustment_id:
          type: integer
          title: Worksheet Adjustment Id
        account_id:
          type: integer
          title: Account Id
        activity_statement_period_id:
          type: integer
          title: Activity Statement Period Id
        adjustment_amount_payee_currency:
          type: number
          title: Adjustment Amount Payee Currency
        adjustment_payee_currency_code:
          type: string
          title: Adjustment Payee Currency Code
        apply_to_statement_period_id:
          type: integer
          title: Apply To Statement Period Id
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        reference_adjustment_type_id:
          type: integer
          title: Reference Adjustment Type Id
        reference_adjustment_type_name:
          type: string
          title: Reference Adjustment Type Name
        note:
          anyOf:
          - type: string
          - type: 'null'
          title: Note
      type: object
      required:
      - worksheet_adjustment_id
      - account_id
      - activity_statement_period_id
      - adjustment_amount_payee_currency
      - adjustment_payee_currency_code
      - apply_to_statement_period_id
      - reference_adjustment_type_id
      - reference_adjustment_type_name
      title: LedgerAdjustmentSchema
      description: Ledger adjustment model.
    LedgerReserveReleaseScheduleSchema:
      properties:
        abacus_event_id:
          type: integer
          title: Abacus Event Id
        account_id:
          type: integer
          title: Account Id
        contract_id:
          type: integer
          title: Contract Id
        currency_code:
          type: string
          title: Currency Code
        current_period_reserve_total:
          type: number
          title: Current Period Reserve Total
        early_release_date:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Early Release Date
        ledger_reserve_taken_id:
          type: integer
          title: Ledger Reserve Taken Id
        liquidation_end_period_id:
          type: integer
          title: Liquidation End Period Id
        liquidation_end_period_name:
          type: string
          title: Liquidation End Period Name
        liquidation_start_period_id:
          type: integer
          title: Liquidation Start Period Id
        liquidation_start_period_name:
          type: string
          title: Liquidation Start Period Name
        prior_period_reserve_total:
          type: number
          title: Prior Period Reserve Total
        reserves_remaining:
          type: number
          title: Reserves Remaining
        reserve_total:
          type: number
          title: Reserve Total
        taken_statement_period_id:
          type: integer
          title: Taken Statement Period Id
        taken_statement_period_name:
          type: string
          title: Taken Statement Period Name
      type: object
      required:
      - abacus_event_id
      - account_id
      - contract_id
      - currency_code
      - current_period_reserve_total
      - ledger_reserve_taken_id
      - liquidation_end_period_id
      - liquidation_end_period_name
      - liquidation_start_period_id
      - liquidation_start_period_name
      - prior_period_reserve_total
      - reserves_remaining
      - reserve_total
      - taken_statement_period_id
      - taken_statement_period_name
      title: LedgerReserveReleaseScheduleSchema
      description: Ledger reserve release schedule model.
    LedgerVatSummaryBackfillSchema:
      properties:
        account_id:
          type: integer
          title: Account Id
        contract_id:
          type: integer
          title: Contract Id
        vat_category:
          $ref: '#/components/schemas/VatCategory'
        payee_currency_code:
          type: string
          title: Payee Currency Code
        vat_currency_code:
          type: string
          title: Vat Currency Code
        base_amount_payee_currency:
          type: number
          title: Base Amount Payee Currency
        vat_rate:
          anyOf:
          - type: number
          - type: 'null'
          title: Vat Rate
        vat_amount_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Vat Amount Payee Currency
        vat_amount_vat_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Vat Amount Vat Currency
        wht_amount_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Wht Amount Payee Currency
        wht_amount_vat_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Wht Amount Vat Currency
        wht_rate:
          anyOf:
          - type: number
          - type: 'null'
          title: Wht Rate
        net_amount_payee_currency:
          type: number
          title: Net Amount Payee Currency
      type: object
      required:
      - account_id
      - contract_id
      - vat_category
      - payee_currency_code
      - vat_currency_code
      - base_amount_payee_currency
      - net_amount_payee_currency
      title: LedgerVatSummaryBackfillSchema
      description: Ledger VAT summary backfill schema.
    LedgerVatSummarySchema:
      properties:
        ledger_vat_summary_id:
          type: integer
          title: Ledger Vat Summary Id
        statement_period_id:
          type: integer
          title: Statement Period Id
        activity_statement_period_id:
          type: integer
          title: Activity Statement Period Id
        abacus_event_id:
          type: integer
          title: Abacus Event Id
        account_id:
          type: integer
          title: Account Id
        contract_id:
          type: integer
          title: Contract Id
        description:
          anyOf:
          - type: string
          - type: 'null'
          title: Description
        vat_category:
          $ref: '#/components/schemas/VatCategory'
        payee_currency_code:
          type: string
          title: Payee Currency Code
        vat_currency_code:
          type: string
          title: Vat Currency Code
        base_amount_payee_currency:
          type: number
          title: Base Amount Payee Currency
        vat_rate:
          anyOf:
          - type: number
          - type: 'null'
          title: Vat Rate
        vat_amount_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Vat Amount Payee Currency
        vat_amount_vat_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Vat Amount Vat Currency
        wht_amount_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Wht Amount Payee Currency
        wht_amount_vat_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Wht Amount Vat Currency
        wht_rate:
          anyOf:
          - type: number
          - type: 'null'
          title: Wht Rate
        net_amount_payee_currency:
          type: number
          title: Net Amount Payee Currency
        abacus_exempt_reason:
          anyOf:
          - type: string
          - type: 'null'
          title: Abacus Exempt Reason
        is_reporting_only:
          type: boolean
          title: Is Reporting Only
        created_by:
          type: string
          title: Created By
        created_at:
          type: string
          format: date-time
          title: Created At
        last_modified_by:
          type: string
          title: Last Modified By
        last_modified:
          type: string
          format: date-time
          title: Last Modified
      type: object
      required:
      - ledger_vat_summary_id
      - statement_period_id
      - activity_statement_period_id
      - abacus_event_id
      - account_id
      - contract_id
      - vat_category
      - payee_currency_code
      - vat_currency_code
      - base_amount_payee_currency
      - net_amount_payee_currency
      - is_reporting_only
      - created_by
      - created_at
      - last_modified_by
      - last_modified
      title: LedgerVatSummarySchema
      description: Ledger vat summary model.
    NumberFormat:
      type: string
      enum:
      - eu
      - us
      title: NumberFormat
      description: File Numbers Format.
    OrderDirection:
      type: string
      enum:
      - asc
      - desc
      title: OrderDirection
      description: Enum for order Direction.
    PaginatedAccountStatementPeriodDetailSchema:
      properties:
        items:
          items:
            anyOf:
            - $ref: '#/components/schemas/AccountStatementPeriodDetailSchema'
            - type: 'null'
          type: array
          title: Items
        pagination:
          $ref: '#/components/schemas/PaginationSchema'
      type: object
      required:
      - items
      - pagination
      title: PaginatedAccountStatementPeriodDetailSchema
      description: Account statement period detail paginated response.
    PaginatedExpenseSchema:
      properties:
        items:
          items:
            $ref: '#/components/schemas/ExpenseSchema'
          type: array
          title: Items
        pagination:
          $ref: '#/components/schemas/PaginationSchema'
      type: object
      required:
      - items
      - pagination
      title: PaginatedExpenseSchema
      description: Expense aggregated with pagination.
    PaginatedLedgerVatSummarySchema:
      properties:
        items:
          items:
            $ref: '#/components/schemas/LedgerVatSummarySchema'
          type: array
          title: Items
        pagination:
          $ref: '#/components/schemas/PaginationSchema'
      type: object
      required:
      - items
      - pagination
      title: PaginatedLedgerVatSummarySchema
      description: Ledger VAT summary entries with pagination.
    PaginatedRevenueByActivityMonthSchema:
      properties:
        items:
          items:
            $ref: '#/components/schemas/RevenueByActivityMonthSchema'
          type: array
          title: Items
        pagination:
          $ref: '#/components/schemas/PaginationSchema'
      type: object
      required:
      - items
      - pagination
      title: PaginatedRevenueByActivityMonthSchema
      description: Revenue aggregated by activity month with pagination.
    PaginatedRevenueByArtistSchema:
      properties:
        items:
          items:
            $ref: '#/components/schemas/RevenueByArtistSchema'
          type: array
          title: Items
        pagination:
          $ref: '#/components/schemas/PaginationSchema'
      type: object
      required:
      - items
      - pagination
      title: PaginatedRevenueByArtistSchema
      description: Revenue aggregated by artist with pagination.
    PaginatedRevenueByImprintSchema:
      properties:
        items:
          items:
            $ref: '#/components/schemas/RevenueByImprintSchema'
          type: array
          title: Items
        pagination:
          $ref: '#/components/schemas/PaginationSchema'
      type: object
      required:
      - items
      - pagination
      title: PaginatedRevenueByImprintSchema
      description: Revenue aggregated by imprint with pagination.
    PaginatedRevenueByProductSchema:
      properties:
        items:
          items:
            $ref: '#/components/schemas/RevenueByProductSchema'
          type: array
          title: Items
        pagination:
          $ref: '#/components/schemas/PaginationSchema'
      type: object
      required:
      - items
      - pagination
      title: PaginatedRevenueByProductSchema
      description: Revenue aggregated by product with pagination.
    PaginatedRevenueByProjectSchema:
      properties:
        items:
          items:
            $ref: '#/components/schemas/RevenueByProjectSchema'
          type: array
          title: Items
        pagination:
          $ref: '#/components/schemas/PaginationSchema'
      type: object
      required:
      - items
      - pagination
      title: PaginatedRevenueByProjectSchema
      description: Revenue aggregated by project with pagination.
    PaginatedRevenueByRecordingSchema:
      properties:
        items:
          items:
            $ref: '#/components/schemas/RevenueByRecordingSchema'
          type: array
          title: Items
        pagination:
          $ref: '#/components/schemas/PaginationSchema'
      type: object
      required:
      - items
      - pagination
      title: PaginatedRevenueByRecordingSchema
      description: Revenue aggregated by recording with pagination.
    PaginatedRevenueByStoreSchema:
      properties:
        items:
          items:
            $ref: '#/components/schemas/RevenueByStoreSchema'
          type: array
          title: Items
        totals:
          $ref: '#/components/schemas/RevenuePayeeCurrencyTotalsSchema'
        pagination:
          $ref: '#/components/schemas/PaginationSchema'
      type: object
      required:
      - items
      - totals
      - pagination
      title: PaginatedRevenueByStoreSchema
      description: Revenue aggregated by recording with pagination.
    PaginatedRevenueBySubaccountSchema:
      properties:
        items:
          items:
            $ref: '#/components/schemas/RevenueBySubaccountSchema'
          type: array
          title: Items
        pagination:
          $ref: '#/components/schemas/PaginationSchema'
      type: object
      required:
      - items
      - pagination
      title: PaginatedRevenueBySubaccountSchema
      description: Revenue aggregated by subaccount with pagination.
    PaginatedRevenueByTrackSchema:
      properties:
        items:
          items:
            $ref: '#/components/schemas/RevenueByTrackSchema'
          type: array
          title: Items
        pagination:
          $ref: '#/components/schemas/PaginationSchema'
      type: object
      required:
      - items
      - pagination
      title: PaginatedRevenueByTrackSchema
      description: Revenue aggregated by track with pagination.
    PaginationSchema:
      properties:
        pagination_type:
          type: string
          const: standard
          title: Pagination Type
        total_records:
          type: integer
          title: Total Records
      type: object
      required:
      - pagination_type
      - total_records
      title: PaginationSchema
      description: Pagination schema.
    PaymentAllocationDetailSchema:
      properties:
        reference_adjustment_type_id:
          type: integer
          title: Reference Adjustment Type Id
        apply_to_statement_period_id:
          type: integer
          title: Apply To Statement Period Id
        reference_adjustment_type:
          type: string
          title: Reference Adjustment Type
        adjustment_amount:
          type: number
          title: Adjustment Amount
        currency_code:
          type: string
          title: Currency Code
      type: object
      required:
      - reference_adjustment_type_id
      - apply_to_statement_period_id
      - reference_adjustment_type
      - adjustment_amount
      - currency_code
      title: PaymentAllocationDetailSchema
      description: Payment Allocation detail response for a contract.
    PaymentEntityVatDataActivity:
      properties:
        vat_data:
          type: boolean
          title: Vat Data
      type: object
      required:
      - vat_data
      title: PaymentEntityVatDataActivity
      description: Payment entity vat data activity schema.
    RecordingDataloaderSchema:
      properties:
        recording_ids:
          items:
            type: string
          type: array
          title: Recording Ids
      type: object
      required:
      - recording_ids
      title: RecordingDataloaderSchema
      description: Recording dataloader request body.
    RecordingSchema:
      properties:
        recording_id:
          type: string
          title: Recording Id
        recording_title:
          anyOf:
          - type: string
          - type: 'null'
          title: Recording Title
        isrc:
          anyOf:
          - type: string
          - type: 'null'
          title: Isrc
      type: object
      required:
      - recording_id
      title: RecordingSchema
      description: Recording schema.
    ReferenceAdjustmentType:
      properties:
        oa_category_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Oa Category Name
        reference_adjustment_type_id:
          type: integer
          title: Reference Adjustment Type Id
        type_name:
          type: string
          title: Type Name
      type: object
      required:
      - reference_adjustment_type_id
      - type_name
      title: ReferenceAdjustmentType
      description: Reference Adjustment Type model.
    ReferenceSigningEntitySchema:
      properties:
        reference_signing_entity_id:
          type: integer
          title: Reference Signing Entity Id
        company_code:
          type: string
          title: Company Code
        tax_entity_company_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Tax Entity Company Code
        legal_name:
          type: string
          title: Legal Name
        vat_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Vat Number
        company_registration_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Company Registration Number
        address:
          anyOf:
          - type: string
          - type: 'null'
          title: Address
      type: object
      required:
      - reference_signing_entity_id
      - company_code
      - legal_name
      title: ReferenceSigningEntitySchema
      description: Reference Signing Entity model.
    ReportCustomColumnDimension:
      type: string
      enum:
      - statement_period
      - territory
      - financial_detail
      title: ReportCustomColumnDimension
      description: Custom report column dimension.
    ReportCustomCreateSchema:
      properties:
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        subaccount_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        statement_period_ids:
          items:
            type: integer
          type: array
          title: Statement Period Ids
        revenue_type:
          $ref: '#/components/schemas/RevenueType'
        revenue_display_type:
          $ref: '#/components/schemas/RevenueDisplayType'
          default: net
        dimension_column:
          $ref: '#/components/schemas/ReportCustomColumnDimension'
        dimension_row:
          $ref: '#/components/schemas/ReportCustomRowDimension'
        number_format:
          $ref: '#/components/schemas/NumberFormat'
          default: us
        file_type:
          $ref: '#/components/schemas/ReportCustomFileType'
          default: csv
        filters:
          anyOf:
          - $ref: '#/components/schemas/ReportCustomFiltersSchema'
          - type: 'null'
      type: object
      required:
      - statement_period_ids
      - revenue_type
      - dimension_column
      - dimension_row
      title: ReportCustomCreateSchema
      description: Custom report create request body.
    ReportCustomDetailSchema:
      properties:
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        subaccount_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        statement_period_ids:
          items:
            type: integer
          type: array
          title: Statement Period Ids
        revenue_type:
          $ref: '#/components/schemas/RevenueType'
        revenue_display_type:
          $ref: '#/components/schemas/RevenueDisplayType'
          default: net
        dimension_column:
          $ref: '#/components/schemas/ReportCustomColumnDimension'
        dimension_row:
          $ref: '#/components/schemas/ReportCustomRowDimension'
        number_format:
          $ref: '#/components/schemas/NumberFormat'
          default: us
        file_type:
          $ref: '#/components/schemas/ReportCustomFileType'
          default: csv
        filters:
          anyOf:
          - $ref: '#/components/schemas/ReportCustomFiltersSchema'
          - type: 'null'
        report_custom_id:
          type: integer
          title: Report Custom Id
        account_id:
          type: integer
          title: Account Id
        report_custom_status:
          $ref: '#/components/schemas/ReportCustomStatus'
        file_location:
          anyOf:
          - type: string
          - type: 'null'
          title: File Location
        created_at:
          type: string
          format: date-time
          title: Created At
        created_by:
          type: string
          title: Created By
      type: object
      required:
      - statement_period_ids
      - revenue_type
      - dimension_column
      - dimension_row
      - report_custom_id
      - account_id
      - report_custom_status
      - created_at
      - created_by
      title: ReportCustomDetailSchema
      description: Custom report detail response.
    ReportCustomFileType:
      type: string
      enum:
      - csv
      - xls
      - txt
      title: ReportCustomFileType
      description: File type for custom reports.
    ReportCustomFiltersSchema:
      properties:
        activity_period_ids:
          items:
            type: integer
          type: array
          title: Activity Period Ids
          default: []
        artist_ids:
          items:
            type: integer
          type: array
          title: Artist Ids
          default: []
        country_codes:
          items:
            type: string
          type: array
          title: Country Codes
          default: []
        imprint_ids:
          items:
            type: integer
          type: array
          title: Imprint Ids
          default: []
        product_ids:
          items:
            type: integer
          type: array
          title: Product Ids
          default: []
        project_ids:
          items:
            type: integer
          type: array
          title: Project Ids
          default: []
        store_ids:
          items:
            type: integer
          type: array
          title: Store Ids
          default: []
        subaccount_ids:
          items:
            type: integer
          type: array
          title: Subaccount Ids
          default: []
        recording_ids:
          items:
            type: string
          type: array
          title: Recording Ids
          default: []
        track_unique_ids:
          items:
            type: integer
          type: array
          title: Track Unique Ids
          default: []
        transaction_type_ids:
          items:
            type: integer
          type: array
          title: Transaction Type Ids
          default: []
      type: object
      title: ReportCustomFiltersSchema
      description: Custom report filters.
    ReportCustomRowDimension:
      type: string
      enum:
      - product
      - recording
      - service
      - statement_period
      - territory
      - product_artist
      - collection_society
      - track
      - transaction_type
      - imprint
      - subaccount
      - project
      title: ReportCustomRowDimension
      description: Custom report row dimension.
    ReportCustomStatus:
      type: string
      enum:
      - in_progress
      - complete
      - error
      title: ReportCustomStatus
      description: Custom report status.
    ReportCustomUpdateSchema:
      properties:
        file_location:
          anyOf:
          - type: string
          - type: 'null'
          title: File Location
        report_custom_status:
          $ref: '#/components/schemas/ReportCustomStatus'
      type: object
      required:
      - report_custom_status
      title: ReportCustomUpdateSchema
      description: Custom report update request body.
    ResponseRevenueByTransactionTypeSchema:
      properties:
        items:
          items:
            $ref: '#/components/schemas/RevenueByTransactionTypeSchema'
          type: array
          title: Items
        totals:
          $ref: '#/components/schemas/RevenuePayeeCurrencyTotalsSchema'
      type: object
      required:
      - items
      - totals
      title: ResponseRevenueByTransactionTypeSchema
      description: Response model for aggregated revenue by transaction type.
    RevenueByActivityMonthSchema:
      properties:
        account_payee_currency:
          type: string
          title: Account Payee Currency
        activity_month_name:
          type: string
          title: Activity Month Name
        activity_period_id:
          type: integer
          title: Activity Period Id
        net_share_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Net Share Payee Currency
        gross_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Gross Revenue Payee Currency
        net_publishing_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Net Publishing Revenue Payee Currency
        gross_publishing_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Gross Publishing Revenue Payee Currency
        subaccount_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Subaccount Revenue
      type: object
      required:
      - account_payee_currency
      - activity_month_name
      - activity_period_id
      title: RevenueByActivityMonthSchema
      description: Revenue aggregated by activity month.
    RevenueByArtistSchema:
      properties:
        account_id:
          type: integer
          title: Account Id
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        subaccount_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        artist_id:
          type: integer
          title: Artist Id
        artist_name:
          type: string
          title: Artist Name
        account_payee_currency:
          type: string
          title: Account Payee Currency
        mechanical_deduction_amount_payee_currency:
          type: number
          title: Mechanical Deduction Amount Payee Currency
        publisher_admin_fee_payee_currency:
          type: number
          title: Publisher Admin Fee Payee Currency
        net_revenue_payee_currency:
          type: number
          title: Net Revenue Payee Currency
        gross_revenue_payee_currency:
          type: number
          title: Gross Revenue Payee Currency
        subaccount_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Subaccount Revenue
      type: object
      required:
      - account_id
      - artist_id
      - artist_name
      - account_payee_currency
      - mechanical_deduction_amount_payee_currency
      - publisher_admin_fee_payee_currency
      - net_revenue_payee_currency
      - gross_revenue_payee_currency
      title: RevenueByArtistSchema
      description: Revenue aggregated by artist.
    RevenueByCountrySchema:
      properties:
        account_id:
          type: integer
          title: Account Id
        account_payee_currency:
          type: string
          title: Account Payee Currency
        country_code:
          type: string
          title: Country Code
        net_revenue_payee_currency:
          type: number
          title: Net Revenue Payee Currency
        gross_revenue_payee_currency:
          type: number
          title: Gross Revenue Payee Currency
        subaccount_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Subaccount Revenue
      type: object
      required:
      - account_id
      - account_payee_currency
      - country_code
      - net_revenue_payee_currency
      - gross_revenue_payee_currency
      title: RevenueByCountrySchema
      description: Revenue aggregated by country.
    RevenueByImprintSchema:
      properties:
        account_id:
          type: integer
          title: Account Id
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        imprintid:
          type: integer
          title: Imprintid
        imprint:
          type: string
          title: Imprint
        account_payee_currency:
          type: string
          title: Account Payee Currency
        net_share_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Net Share Payee Currency
        mechanical_deduction_amount_payee_currency:
          type: number
          title: Mechanical Deduction Amount Payee Currency
        publisher_admin_fee_payee_currency:
          type: number
          title: Publisher Admin Fee Payee Currency
        gross_revenue_payee_currency:
          type: number
          title: Gross Revenue Payee Currency
        subaccount_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        subaccount_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Subaccount Revenue
      type: object
      required:
      - account_id
      - imprintid
      - imprint
      - account_payee_currency
      - mechanical_deduction_amount_payee_currency
      - publisher_admin_fee_payee_currency
      - gross_revenue_payee_currency
      title: RevenueByImprintSchema
      description: Revenue aggregated by imprint.
    RevenueByProductSchema:
      properties:
        product_id:
          type: integer
          title: Product Id
        account_payee_currency:
          type: string
          title: Account Payee Currency
        project_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Project Name
        net_share_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Net Share Payee Currency
        mechanical_deduction_amount_payee_currency:
          type: number
          title: Mechanical Deduction Amount Payee Currency
        publisher_admin_fee_payee_currency:
          type: number
          title: Publisher Admin Fee Payee Currency
        gross_revenue_payee_currency:
          type: number
          title: Gross Revenue Payee Currency
        subaccount_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Subaccount Revenue
      type: object
      required:
      - product_id
      - account_payee_currency
      - mechanical_deduction_amount_payee_currency
      - publisher_admin_fee_payee_currency
      - gross_revenue_payee_currency
      title: RevenueByProductSchema
      description: Revenue aggregated by product.
    RevenueByProjectRequestSchema:
      properties:
        limit:
          type: integer
          title: Limit
          default: 50
        offset:
          type: integer
          title: Offset
          default: 0
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        subaccount_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        statement_period_id_start:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id Start
        statement_period_id_end:
          anyOf:
          - type: integer
          - type: 'null'
          title: Statement Period Id End
        order_by:
          anyOf:
          - type: string
          - type: 'null'
          title: Order By
          default: project_id
        order_dir:
          $ref: '#/components/schemas/OrderDirection'
          default: desc
        search_term:
          anyOf:
          - type: string
          - type: 'null'
          title: Search Term
        is_subaccount:
          type: boolean
          title: Is Subaccount
          default: false
        activity_period_id_start:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id Start
        activity_period_id_end:
          anyOf:
          - type: integer
          - type: 'null'
          title: Activity Period Id End
        store_ids:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Store Ids
        country_codes:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Country Codes
        imprint_ids:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Imprint Ids
        transaction_type_ids:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Transaction Type Ids
      type: object
      title: RevenueByProjectRequestSchema
      description: Request body for revenue by project endpoint.
    RevenueByProjectSchema:
      properties:
        project_id:
          type: integer
          title: Project Id
        project_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Project Name
        project_code:
          anyOf:
          - type: string
          - type: 'null'
          title: Project Code
        project_artist:
          anyOf:
          - type: string
          - type: 'null'
          title: Project Artist
        product_count:
          type: integer
          title: Product Count
        account_payee_currency:
          type: string
          title: Account Payee Currency
        net_share_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Net Share Payee Currency
        gross_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Gross Revenue Payee Currency
        subaccount_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Subaccount Revenue
      type: object
      required:
      - project_id
      - product_count
      - account_payee_currency
      title: RevenueByProjectSchema
      description: Revenue aggregated by project.
    RevenueByRecordingSchema:
      properties:
        recording_id:
          type: string
          title: Recording Id
        recording_title:
          type: string
          title: Recording Title
        artist:
          type: string
          title: Artist
        version:
          anyOf:
          - type: string
          - type: 'null'
          title: Version
        isrc:
          anyOf:
          - type: string
          - type: 'null'
          title: Isrc
        account_id:
          type: integer
          title: Account Id
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        account_payee_currency:
          type: string
          title: Account Payee Currency
        net_share_payee_currency:
          type: number
          title: Net Share Payee Currency
        gross_revenue_payee_currency:
          type: number
          title: Gross Revenue Payee Currency
      type: object
      required:
      - recording_id
      - recording_title
      - artist
      - account_id
      - account_payee_currency
      - net_share_payee_currency
      - gross_revenue_payee_currency
      title: RevenueByRecordingSchema
      description: Revenue aggregated by recording.
    RevenueByStatementPeriodSchema:
      properties:
        statement_period_id:
          type: integer
          title: Statement Period Id
        account_payee_currency:
          type: string
          title: Account Payee Currency
        net_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Net Revenue Payee Currency
        gross_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Gross Revenue Payee Currency
        net_publishing_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Net Publishing Revenue Payee Currency
        gross_publishing_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Gross Publishing Revenue Payee Currency
        subaccount_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Subaccount Revenue
      type: object
      required:
      - statement_period_id
      - account_payee_currency
      title: RevenueByStatementPeriodSchema
      description: Revenue aggregated by statement period.
    RevenueByStoreSchema:
      properties:
        store_id:
          type: integer
          title: Store Id
        store_name:
          type: string
          title: Store Name
        account_payee_currency:
          type: string
          title: Account Payee Currency
        net_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Net Revenue Payee Currency
        gross_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Gross Revenue Payee Currency
        subaccount_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Subaccount Revenue
      type: object
      required:
      - store_id
      - store_name
      - account_payee_currency
      title: RevenueByStoreSchema
      description: Revenue aggregated by store.
    RevenueBySubaccountSchema:
      properties:
        account_id:
          type: integer
          title: Account Id
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        subaccount_id:
          type: integer
          title: Subaccount Id
        subaccount_name:
          type: string
          title: Subaccount Name
        account_payee_currency:
          type: string
          title: Account Payee Currency
        mechanical_deduction_amount_payee_currency:
          type: number
          title: Mechanical Deduction Amount Payee Currency
        publisher_admin_fee_payee_currency:
          type: number
          title: Publisher Admin Fee Payee Currency
        net_revenue_payee_currency:
          type: number
          title: Net Revenue Payee Currency
        gross_revenue_payee_currency:
          type: number
          title: Gross Revenue Payee Currency
      type: object
      required:
      - account_id
      - subaccount_id
      - subaccount_name
      - account_payee_currency
      - mechanical_deduction_amount_payee_currency
      - publisher_admin_fee_payee_currency
      - net_revenue_payee_currency
      - gross_revenue_payee_currency
      title: RevenueBySubaccountSchema
      description: Revenue aggregated by subacount.
    RevenueByTrackSchema:
      properties:
        account_id:
          type: integer
          title: Account Id
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        subaccount_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        track_unique_id:
          type: integer
          title: Track Unique Id
        track_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Track Name
        isrc:
          type: string
          title: Isrc
        account_payee_currency:
          type: string
          title: Account Payee Currency
        project_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Project Name
        mechanical_deduction_amount_payee_currency:
          type: number
          title: Mechanical Deduction Amount Payee Currency
        publisher_admin_fee_payee_currency:
          type: number
          title: Publisher Admin Fee Payee Currency
        net_revenue_payee_currency:
          type: number
          title: Net Revenue Payee Currency
        gross_revenue_payee_currency:
          type: number
          title: Gross Revenue Payee Currency
        subaccount_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Subaccount Revenue
      type: object
      required:
      - account_id
      - track_unique_id
      - isrc
      - account_payee_currency
      - mechanical_deduction_amount_payee_currency
      - publisher_admin_fee_payee_currency
      - net_revenue_payee_currency
      - gross_revenue_payee_currency
      title: RevenueByTrackSchema
      description: Revenue aggregated by track.
    RevenueByTransactionTypeSchema:
      properties:
        account_payee_currency:
          type: string
          title: Account Payee Currency
        transaction_type_id:
          type: integer
          title: Transaction Type Id
        transaction_type_desc:
          type: string
          title: Transaction Type Desc
        transaction_type_group_name:
          type: string
          title: Transaction Type Group Name
        quantity:
          type: integer
          title: Quantity
        net_revenue_payee_currency:
          type: number
          title: Net Revenue Payee Currency
        gross_revenue_payee_currency:
          type: number
          title: Gross Revenue Payee Currency
        subaccount_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Subaccount Revenue
      type: object
      required:
      - account_payee_currency
      - transaction_type_id
      - transaction_type_desc
      - transaction_type_group_name
      - quantity
      - net_revenue_payee_currency
      - gross_revenue_payee_currency
      title: RevenueByTransactionTypeSchema
      description: Revenue aggregated by transaction type.
    RevenueDisplayType:
      type: string
      enum:
      - net
      - gross
      title: RevenueDisplayType
      description: Revenue display type for custom reports.
    RevenuePayeeCurrencyTotalsSchema:
      properties:
        net_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Net Revenue Payee Currency
        gross_revenue_payee_currency:
          anyOf:
          - type: number
          - type: 'null'
          title: Gross Revenue Payee Currency
        subaccount_revenue:
          anyOf:
          - type: number
          - type: 'null'
          title: Subaccount Revenue
      type: object
      title: RevenuePayeeCurrencyTotalsSchema
      description: Revenue payee currency totals.
    RevenueType:
      type: string
      enum:
      - distribution
      - neighbouring_rights
      title: RevenueType
      description: Revenue type.
    RevenueVariant:
      type: string
      enum:
      - physical
      - digital
      - other
      - all
      title: RevenueVariant
      description: Revenue variant for filtering.
    StatementAttachmentDetailSchema:
      properties:
        account_id:
          type: integer
          title: Account Id
        subaccount_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        displayed_file_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Displayed File Name
        file_location:
          anyOf:
          - type: string
          - type: 'null'
          title: File Location
        file_type:
          $ref: '#/components/schemas/StatementAttachmentFileType'
        number_format:
          $ref: '#/components/schemas/NumberFormat'
        invoice_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Invoice Number
        statement_attachment_id:
          type: integer
          title: Statement Attachment Id
        statement_attachment_status:
          $ref: '#/components/schemas/StatementAttachmentStatus'
        statement_attachment_type:
          $ref: '#/components/schemas/StatementAttachmentType'
        failure_reason:
          anyOf:
          - $ref: '#/components/schemas/StatementAttachmentFailureReason'
          - type: 'null'
        statement_period_id:
          type: integer
          title: Statement Period Id
        statement_period_ids:
          anyOf:
          - type: string
          - type: 'null'
          title: Statement Period Ids
        created_at:
          type: string
          format: date-time
          title: Created At
        created_by:
          type: string
          title: Created By
      type: object
      required:
      - account_id
      - file_type
      - number_format
      - statement_attachment_id
      - statement_attachment_status
      - statement_attachment_type
      - statement_period_id
      - created_at
      - created_by
      title: StatementAttachmentDetailSchema
      description: Statement attachment detail response.
    StatementAttachmentFailureReason:
      type: string
      enum:
      - missing_tax_information
      - missing_bank_information
      - system_error
      title: StatementAttachmentFailureReason
      description: Statement attachment failure reason.
    StatementAttachmentFileType:
      type: string
      enum:
      - pdf
      - csv
      - xls
      - xlsx
      - png
      - jpg
      - doc
      - docx
      - txt
      title: StatementAttachmentFileType
      description: File type for statement attachments.
    StatementAttachmentFiltersSchema:
      properties:
        transaction_type_group_ids:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Transaction Type Group Ids
        transaction_type_ids:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Transaction Type Ids
        exclude_transaction_type_group_ids:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Exclude Transaction Type Group Ids
        exclude_transaction_type_ids:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Exclude Transaction Type Ids
        variant:
          anyOf:
          - $ref: '#/components/schemas/RevenueVariant'
          - type: 'null'
      type: object
      title: StatementAttachmentFiltersSchema
      description: Statement attachment filters.
    StatementAttachmentInvoiceDetailSchema:
      properties:
        account_id:
          type: integer
          title: Account Id
        subaccount_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        displayed_file_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Displayed File Name
        file_location:
          anyOf:
          - type: string
          - type: 'null'
          title: File Location
        file_type:
          $ref: '#/components/schemas/StatementAttachmentFileType'
        number_format:
          $ref: '#/components/schemas/NumberFormat'
        invoice_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Invoice Number
        statement_attachment_id:
          type: integer
          title: Statement Attachment Id
        statement_attachment_status:
          $ref: '#/components/schemas/StatementAttachmentStatus'
        statement_attachment_type:
          $ref: '#/components/schemas/StatementAttachmentType'
        failure_reason:
          anyOf:
          - $ref: '#/components/schemas/StatementAttachmentFailureReason'
          - type: 'null'
        statement_period_id:
          type: integer
          title: Statement Period Id
        statement_period_ids:
          anyOf:
          - type: string
          - type: 'null'
          title: Statement Period Ids
        created_at:
          type: string
          format: date-time
          title: Created At
        created_by:
          type: string
          title: Created By
        account_name:
          type: string
          title: Account Name
      type: object
      required:
      - account_id
      - file_type
      - number_format
      - statement_attachment_id
      - statement_attachment_status
      - statement_attachment_type
      - statement_period_id
      - created_at
      - created_by
      - account_name
      title: StatementAttachmentInvoiceDetailSchema
      description: Statement invoice detail response.
    StatementAttachmentLegacyReportSchema:
      properties:
        account_id:
          type: integer
          title: Account Id
        subaccount_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Subaccount Id
        contract_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Contract Id
        displayed_file_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Displayed File Name
        file_location:
          anyOf:
          - type: string
          - type: 'null'
          title: File Location
        file_type:
          $ref: '#/components/schemas/StatementAttachmentFileType'
        number_format:
          $ref: '#/components/schemas/NumberFormat'
        invoice_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Invoice Number
        statement_attachment_id:
          type: integer
          title: Statement Attachment Id
        statement_attachment_status:
          $ref: '#/components/schemas/StatementAttachmentStatus'
        statement_attachment_type:
          $ref: '#/components/schemas/StatementAttachmentType'
        failure_reason:
          anyOf:
          - $ref: '#/components/schemas/StatementAttachmentFailureReason'
          - type: 'null'
        statement_period_id:
          type: integer
          title: Statement Period Id
        statement_period_ids:
          anyOf:
          - type: string
          - type: 'null'
          title: Statement Period Ids
        created_at:
          type: string
          format: date-time
          title: Created At
        created_by:
          type: string
          title: Created By
        filters:
          anyOf:
          - $ref: '#/components/schemas/StatementAttachmentFiltersSchema'
          - type: 'null'
      type: object
      required:
      - account_id
      - file_type
      - number_format
      - statement_attachment_id
      - statement_attachment_status
      - statement_attachment_type
      - statement_period_id
      - created_at
      - created_by
      title: StatementAttachmentLegacyReportSchema
      description: Statement invoice detail response.
    StatementAttachmentPutSchema:
      properties:
        file_location:
          anyOf:
          - type: string
          - type: 'null'
          title: File Location
        statement_attachment_status:
          anyOf:
          - $ref: '#/components/schemas/StatementAttachmentStatus'
          - type: 'null'
        failure_reason:
          anyOf:
          - $ref: '#/components/schemas/StatementAttachmentFailureReason'
          - type: 'null'
      type: object
      title: StatementAttachmentPutSchema
      description: Statement attachment PUT request body.
    StatementAttachmentRegenerateSchema:
      properties:
        account_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Account Id
        statement_attachment_type:
          anyOf:
          - $ref: '#/components/schemas/StatementAttachmentType'
          - type: 'null'
      type: object
      title: StatementAttachmentRegenerateSchema
      description: Payload for regenerating statement attachments.
    StatementAttachmentStatus:
      type: string
      enum:
      - in_progress
      - complete
      - error
      - retry
      title: StatementAttachmentStatus
      description: Statement attachment status.
    StatementAttachmentType:
      type: string
      enum:
      - distribution_fee_invoice
      - revenue_detail
      - self_billing_invoice
      - nr_label_revenue
      - nr_performer_revenue
      - collection_summary_label
      - collection_summary_performer
      - publishing_detail
      - internal_upload
      - legacy_revenue_detail_full
      - legacy_revenue_detail_physical
      - royalty_share_statement
      title: StatementAttachmentType
      description: Statement attachment type.
    StatementPeriodStatus:
      type: string
      enum:
      - open
      - closed
      - current
      title: StatementPeriodStatus
      description: Statement period status.
    StatementReservesSchema:
      properties:
        ledger_reserve_release_total:
          anyOf:
          - type: number
          - type: 'null'
          title: Ledger Reserve Release Total
        ledger_reserve_taken_total:
          anyOf:
          - type: number
          - type: 'null'
          title: Ledger Reserve Taken Total
        ledger_reserve_total:
          anyOf:
          - type: number
          - type: 'null'
          title: Ledger Reserve Total
      type: object
      title: StatementReservesSchema
      description: Account statement period detail response.
    StoreSchema:
      properties:
        store_id:
          type: integer
          title: Store Id
        store_name:
          type: string
          title: Store Name
      type: object
      required:
      - store_id
      - store_name
      title: StoreSchema
      description: Store schema.
    TransactionTypeSchema:
      properties:
        transaction_type_id:
          type: integer
          title: Transaction Type Id
        transaction_type_desc:
          type: string
          title: Transaction Type Desc
        transaction_type_group_name:
          type: string
          title: Transaction Type Group Name
      type: object
      required:
      - transaction_type_id
      - transaction_type_desc
      - transaction_type_group_name
      title: TransactionTypeSchema
      description: Transaction type schema.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    VatCategory:
      type: string
      enum:
      - gross_revenue
      - distribution_fee
      - closing_balance
      - commission
      - custom_payment
      title: VatCategory
      description: Vat category.
servers:
- url: https://qa-ows-moneyhub.theorchard.io
  description: QA server
