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

# List Business Terms

> Returns the terms a business has accepted.

To check a business's status, pass `termsType`. You get one entry per requested term, in the order you requested them. `accepted` is `true` only when the business has accepted the term's current catalog version; `version` is omitted when `accepted` is `false`.

Without `termsType`, you get every acceptance record for the business, newest first. Every entry has `accepted: true`, but entries are not deduplicated and not checked against the current catalog version, so an acceptance of an older version still appears.

With a Platform API token, send the business's tenant key in `X-MultiTenantKey`. A business that doesn't exist or doesn't belong to your API key's tenant returns `404`.



## OpenAPI

````yaml /openapi/workforce-management.yaml get /v1/businesses/{businessId}/terms
openapi: 3.0.0
info:
  description: APIs for interacting with Cadana Payroll Platform
  version: 1.0.0
  title: Business Workforce Management
  termsOfService: https://cadanapay.com/terms-and-conditions
  contact:
    email: api@cadanapay.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - url: https://api.cadanapay.com
    description: Prod Server
  - url: https://dev-api.cadanapay.com
    description: Dev Server
security:
  - Authorization: []
tags:
  - name: Custom Auth
    description: APIs for interacting with Custom Authentication
  - name: Persons
    description: APIs for interacting with the HR module
  - name: Milestones
    description: APIs for milestone-based contractor pay
  - name: Instant Pay
    description: APIs for interacting with Instant Pay functionality
  - name: Users
    description: APIs for interacting with employee/contractor Cadana accounts
  - name: Files
    description: APIs for interacting with file uploads
  - name: Payrolls
    description: APIs for interacting with Payroll
  - name: Platform
    description: Platform APIs for interacting with businesses
  - name: Businesses
    description: APIs for interacting with Business
  - name: Treasury
    description: APIs for business balances, funding, and withdrawals
  - name: KYB
    description: APIs for business verification
  - name: Terms
    description: >-
      APIs for the business terms catalog and recording a business's acceptance
      of terms
  - name: Contracts
    description: APIs for interacting with contracts
  - name: Sandbox
    description: APIs for relevant sandbox simulations
  - name: Invoices
    description: APIs for interacting with invoices
  - name: Reimbursements
    description: APIs for interacting with reimbursements
  - name: Entities
    description: >-
      APIs for managing legal sub-entities (subsidiaries, branches) under a
      parent business
paths:
  /v1/businesses/{businessId}/terms:
    get:
      tags:
        - Terms
      summary: List Business Terms
      description: >-
        Returns the terms a business has accepted.


        To check a business's status, pass `termsType`. You get one entry per
        requested term, in the order you requested them. `accepted` is `true`
        only when the business has accepted the term's current catalog version;
        `version` is omitted when `accepted` is `false`.


        Without `termsType`, you get every acceptance record for the business,
        newest first. Every entry has `accepted: true`, but entries are not
        deduplicated and not checked against the current catalog version, so an
        acceptance of an older version still appears.


        With a Platform API token, send the business's tenant key in
        `X-MultiTenantKey`. A business that doesn't exist or doesn't belong to
        your API key's tenant returns `404`.
      operationId: listBusinessTerms
      parameters:
        - $ref: '#/components/parameters/businessId'
        - $ref: '#/components/parameters/XMultiTenantKey'
        - name: termsType
          in: query
          required: false
          description: >-
            Comma-separated term names from [List
            Terms](/api-reference/workforce/terms/list-terms) to check.
            Recommended: with it, each requested term comes back with `accepted`
            `true` or `false` at the current version.
          schema:
            type: string
            example: >-
              PRIVACY_NOTICE,FUNDS_AVAILABILITY_DISCLOSURE,ACH_AUTHORIZATION,STRIPE_TERMS
      responses:
        '200':
          $ref: '#/components/responses/ListAcceptedTermsResponse'
        '400':
          description: '`businessId` isn''t a UUID.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '404':
          description: >-
            The business doesn't exist or doesn't belong to your API key's
            tenant.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        5XX:
          $ref: '#/components/responses/InternalError'
      security:
        - Authorization: []
components:
  parameters:
    businessId:
      name: businessId
      in: path
      description: The unique identifier for the business
      required: true
      schema:
        type: string
    XMultiTenantKey:
      name: X-MultiTenantKey
      in: header
      required: false
      schema:
        type: string
      description: >-
        Required when using a Platform API token. The tenant key identifying
        which business to operate on.
  responses:
    ListAcceptedTermsResponse:
      description: list accepted terms response
      content:
        application/json:
          schema:
            type: array
            items:
              $ref: '#/components/schemas/AcceptedTermStatus'
          examples:
            withTermsType:
              summary: Checking specific terms with termsType
              value:
                - accepted: true
                  type: PRIVACY_NOTICE
                  version: '2026-05-21'
                - accepted: true
                  type: FUNDS_AVAILABILITY_DISCLOSURE
                  version: '2026-07-29'
                - accepted: true
                  type: ACH_AUTHORIZATION
                  version: '2026-07-29'
                - accepted: false
                  type: STRIPE_TERMS
            withoutTermsType:
              summary: Every acceptance record, newest first
              value:
                - accepted: true
                  type: ACH_AUTHORIZATION
                  version: '2026-07-29'
                - accepted: true
                  type: FUNDS_AVAILABILITY_DISCLOSURE
                  version: '2026-07-29'
                - accepted: true
                  type: PRIVACY_NOTICE
                  version: '2026-05-21'
    InternalError:
      description: Internal error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalError'
  schemas:
    BadRequestError:
      description: Bad input provided by client
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            params:
              description: A map for meta data around the error that occurred
              type: object
      example:
        code: invalid_request_body
        message: The request body provided is not valid
        params:
          field: Value is invalid.
    NotFoundError:
      description: Not Found
      allOf:
        - $ref: '#/components/schemas/Error'
      example:
        code: resource_not_found
        message: Requested resource could not be found.
    AcceptedTermStatus:
      type: object
      properties:
        accepted:
          type: boolean
          description: >-
            Whether the business has accepted the term. When you pass
            `termsType`, this is `true` only for the term's current catalog
            version.
          example: true
        type:
          type: string
          description: The term name
          example: PRIVACY_NOTICE
        version:
          type: string
          description: The accepted version. Omitted when `accepted` is `false`.
          example: '2026-05-21'
    Error:
      type: object
      properties:
        code:
          description: A machine parsable error code
          type: string
          enum:
            - invalid_request_body
            - resource_not_found
            - forbidden
            - internal_error
        message:
          description: A human readable message describing the error
          type: string
    InternalError:
      description: Internal server error
      allOf:
        - $ref: '#/components/schemas/Error'
      example:
        code: internal_error
        message: An unexpected error occurred. Please try again later.
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      bearerFormat: API_SECRET_KEY

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.