> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tight.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Save revenues

> Save a new (or update an existing) set of revenues



## OpenAPI

````yaml https://dev.hurdlr.com/rest/v1/devUtils/documentation?version=5&Authorization=dexfeE6aRK3zwXP4ku5aWm8w&env=sandbox post /v5/revenue/revenues
openapi: 3.0.1
info:
  title: Tight API
  contact:
    name: Hurdlr, Inc. (dba Tight)
    url: https://www.tight.com
    email: api@tight.com
  version: 6.0.0
servers:
  - url: https://sandbox.hurdlr.com/rest
    description: Staging Environment
  - url: https://prod.hurdlr.com/rest
    description: Production Environment
security:
  - accessTokenSecurity: []
  - basicSecurity: []
tags:
  - name: Authentication
  - name: Banks
  - name: Business & Client Management
  - name: Invoicing
  - name: Revenue
  - name: Investments
  - name: Payouts
  - name: Bills
  - name: Expenses
  - name: Payroll
  - name: Reports
  - name: Accounting
  - name: Mileage
  - name: Taxes
  - name: Time Tracking
  - name: Imports
  - name: Files
  - name: Accountant
  - name: Audit Trail
  - name: Support
  - name: Tax Engine Express
  - name: Interview Endpoint
  - name: Ledgering
  - name: Configuration
  - name: Templates
paths:
  /v5/revenue/revenues:
    post:
      tags:
        - Revenue
      summary: Save revenues
      description: Save a new (or update an existing) set of revenues
      operationId: postRevenues
      requestBody:
        description: revenues object
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TRAX_POST_BODYRevenueEntryPostDTOV5List'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FormRetVal'
      security:
        - accessTokenSecurity: []
components:
  schemas:
    TRAX_POST_BODYRevenueEntryPostDTOV5List:
      properties:
        revenues:
          type: array
          items:
            $ref: '#/components/schemas/RevenueEntryPostDTOV5'
    FormRetVal:
      type: object
      properties:
        result:
          type: string
          description: The result of the action performed
          enum:
            - SUCCESS
            - FAILURE
        errors:
          $ref: '#/components/schemas/ValidationRetVal'
        id:
          type: string
          description: Id of the entity being acted upon
        webhook:
          $ref: '#/components/schemas/EntityUpdateEvent'
      description: Object containing details about result of the action performed
    RevenueEntryPostDTOV5:
      required:
        - amount
        - bankAccountId
      type: object
      properties:
        id:
          type: integer
          description: Id of the revenue, required when updating an existing revenue
          format: int64
        status:
          type: string
          description: Status of the revenue
          readOnly: true
          enum:
            - ACTIVE
            - INACTIVE
        reviewStatus:
          type: string
          description: Review status of the revenue
          enum:
            - PARTNER_REVIEW_REQUIRED
            - USER_REVIEW_REQUIRED
            - ACCOUNTANT_REVIEW_REQUIRED
            - RECONCILIATION_STAGED
            - RECONCILED
            - RECONCILIATION_DISCREPANCY
            - ADJUSTMENT_USER_REVIEW_REQUIRED
            - ADJUSTMENT_ACCOUNTANT_REVIEW_REQUIRED
            - ADJUSTMENT_RECONCILIATION_STAGED
            - RECONCILIATION_AWAITING
            - PARTNER_REVIEW_REQUIRED
            - USER_REVIEW_REQUIRED
            - ACCOUNTANT_REVIEW_REQUIRED
            - RECONCILIATION_STAGED
            - RECONCILED
            - RECONCILIATION_DISCREPANCY
            - ADJUSTMENT_USER_REVIEW_REQUIRED
            - ADJUSTMENT_ACCOUNTANT_REVIEW_REQUIRED
            - ADJUSTMENT_RECONCILIATION_STAGED
        userAccess:
          type: string
          description: >-
            Access level for the user. This field uses the default configuration
            for the Partner; however, it can be overridden to manipulate how a
            user can interact with this revenue.
          enum:
            - NONE
            - READ_ONLY
            - READ_WRITE
            - NONE
            - READ_ONLY
            - READ_WRITE
        accountantAccess:
          type: string
          description: >-
            Access level for the accountant. This field uses the default
            configuration for the Partner; however, it can be overridden to
            manipulate how an accountant can interact with this revenue.
          enum:
            - NONE
            - READ_ONLY
            - READ_WRITE
            - NONE
            - READ_ONLY
            - READ_WRITE
        type:
          type: string
          description: Type of the revenue
          enum:
            - BUSINESS
            - NOT_BUSINESS
            - INVOICE_PAYMENT
            - BANK_RECONCILED
            - PENDING
        date:
          type: string
          description: Date of the revenue
          format: date-time
          example: '2022-01-04T10:20:00Z'
        amount:
          type: number
          description: Amount of the revenue
          example: 50.01
        state:
          type: string
          description: >-
            State in which this revenue was received, used to calculate sales
            tax amount
          enum:
            - UNKNOWN
            - AL
            - AK
            - AS
            - AZ
            - AR
            - CA
            - CO
            - CT
            - DE
            - DC
            - FM
            - FL
            - GA
            - GU
            - HI
            - ID
            - IL
            - IN
            - IA
            - KS
            - KY
            - LA
            - ME
            - MD
            - MH
            - MA
            - MI
            - MN
            - MS
            - MO
            - MT
            - NE
            - NV
            - NH
            - NJ
            - NM
            - NY
            - NC
            - ND
            - MP
            - OH
            - OK
            - OR
            - PW
            - PA
            - PR
            - RI
            - SC
            - SD
            - TN
            - TX
            - UT
            - VT
            - VI
            - VA
            - WA
            - WV
            - WI
            - WY
            - AB
            - BC
            - MB
            - NB
            - NL
            - NT
            - NS
            - NU
            - 'ON'
            - PE
            - QC
            - SK
            - YT
        salesTaxAmount:
          type: number
          description: Sales tax amount for the revenue
          example: 1.01
        description:
          type: string
          description: Description of the revenue
          example: Gas purchase
        businessId:
          type: integer
          description: >-
            Id of the business assigned to this revenue, required for BUSINESS
            revenues
          format: int64
        clientId:
          type: integer
          description: Id of the client assigned to this revenue
          format: int64
        clientName:
          type: string
          description: Name of the client assigned to this revenue
        businessName:
          type: string
          description: Name of this business assigned to this revenue
          readOnly: true
        originalBusinessName:
          type: string
          description: Name of the original business on associated API
          readOnly: true
        invoiceId:
          type: integer
          description: Id of the invoice associated with this revenue
          format: int64
          readOnly: true
        apiPaymentId:
          type: string
          description: Id of the payment on associated API
        apiAccountId:
          type: string
          description: Id of the user's bank account on associated API
          readOnly: true
        apiAccountNo:
          type: string
          description: >-
            Mask of the user's bank account, often the last 4 digits of the
            account number
          readOnly: true
        apiAccountName:
          type: string
          description: Display name for the bank account from which this income originated
          readOnly: true
        apiInstitutionId:
          type: string
          description: Name or id of the institution from which this transaction originated
          readOnly: true
        bankAccountId:
          type: integer
          description: id of the user's bank account
          format: int64
        bankTransferId:
          type: integer
          description: Id of the bank transfer to convert to a revenue
          format: int64
        bankDescription:
          type: string
          description: >-
            Transaction description, similar to what will show on the user's
            bank statement
          readOnly: true
        currencyType:
          type: string
          description: 'Type of currency on this revenue '
          enum:
            - USD
            - CAD
            - EUR
            - GBP
            - JPY
            - AED
            - AFN
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AWG
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BIF
            - BMD
            - BND
            - BOB
            - BOV
            - BRL
            - BSD
            - BTN
            - BWP
            - BYN
            - BZD
            - CDF
            - CHE
            - CHF
            - CHW
            - CLF
            - CLP
            - CNY
            - COP
            - COU
            - CRC
            - CUC
            - CUP
            - CVE
            - CZK
            - DJF
            - DKK
            - DOP
            - DZD
            - EGP
            - ERN
            - ETB
            - FJD
            - FKP
            - GEL
            - GHS
            - GIP
            - GMD
            - GNF
            - GTQ
            - GYD
            - HKD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - IQD
            - IRR
            - ISK
            - JMD
            - JOD
            - KES
            - KGS
            - KHR
            - KMF
            - KPW
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LBP
            - LKR
            - LRD
            - LSL
            - LYD
            - MAD
            - MDL
            - MGA
            - MKD
            - MMK
            - MNT
            - MOP
            - MRU
            - MUR
            - MVR
            - MWK
            - MXN
            - MXV
            - MYR
            - MZN
            - NAD
            - NGN
            - NIO
            - NOK
            - NPR
            - NZD
            - OMR
            - PAB
            - PEN
            - PGK
            - PHP
            - PKR
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SBD
            - SCR
            - SDG
            - SEK
            - SGD
            - SHP
            - SLL
            - SOS
            - SRD
            - SSP
            - STN
            - SVC
            - SYP
            - SZL
            - THB
            - TJS
            - TMT
            - TND
            - TOP
            - TRY
            - TTD
            - TWD
            - TZS
            - UAH
            - UGX
            - USN
            - UYI
            - UYU
            - UYW
            - UZS
            - VED
            - VES
            - VND
            - VUV
            - WST
            - XAF
            - XAG
            - XAU
            - XBA
            - XBB
            - XBC
            - XBD
            - XCD
            - XDR
            - XOF
            - XPD
            - XPF
            - XPT
            - XSU
            - XTS
            - XUA
            - XXX
            - YER
            - ZAR
            - ZMW
            - ZWL
        revenueAccountId:
          type: integer
          description: >-
            Id of the GL account this revenue belongs to, defaults to the id of
            the 'Services Income' account
          format: int64
        revenueRuleId:
          type: integer
          description: Id of the rule that automatically classified this revenue
          format: int64
          readOnly: true
        customData:
          type: object
          description: >-
            Custom JSON in which you can store any data with max length of 2000
            characters
        v6EntityId:
          type: string
          description: Entity id on the v6 API for this revenue
        apiOrderId:
          type: string
          description: Id of the order associated with this revenue
        expenseId:
          type: integer
          description: Id of the expense to convert to a revenue
          format: int64
        taxPaymentId:
          type: integer
          description: Id of the tax payment to convert to a revenue
          format: int64
    ValidationRetVal:
      type: object
      properties:
        fieldErrors:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/ValidationError'
          description: Map of field-level errors, often originating from validation errors
        globalErrors:
          type: array
          description: List of higher-level errors
          items:
            $ref: '#/components/schemas/ValidationError'
      description: Error object containing details errors incurred, if any
    EntityUpdateEvent:
      type: object
      properties:
        userId:
          type: string
        accountantUserId:
          type: string
        type:
          type: string
          enum:
            - ENTITY_UPDATE
            - LIFECYCLE_EVENT
            - LIFECYCLE
    ValidationError:
      type: object
      properties:
        type:
          type: string
          description: A broad categorization of the error
          enum:
            - DUPLICATE
            - REQUIRED
            - DELETE
            - INVALID_VALUE
            - NOT_MODIFIABLE
            - GENERAL
            - INVALID_FORMAT
        errorMessage:
          type: string
          description: Human-friendly message describing this error
        message:
          type: string
          writeOnly: true
          enum:
            - DUPLICATE
            - REQUIRED
            - DELETE
            - INVALID_VALUE
            - NOT_MODIFIABLE
            - GENERAL
            - INVALID_FORMAT
            - INVALID_MAPPING
      description: List of higher-level errors
  securitySchemes:
    accessTokenSecurity:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: /auth/account
          scopes:
            write: ''

````