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

# Get approval requests



## OpenAPI

````yaml /.tooling/schemas/rest/tags/product-finops.json get /finops/v1/approval-requests
openapi: 3.1.0
info:
  title: Tesouro Partner API
  version: '2026-09-24'
  description: The Tesouro REST API, for Tesouro partners to integrate with our solution.
  termsOfService: https://tesouro.com/terms
  contact:
    name: Tesouro team
    url: https://tesouro.com/about/
    email: developers@tesouro.com
servers:
  - url: https://api.sandbox.tesouro.com
    description: Sandbox
security: []
tags:
  - name: Accounting connections
  - name: Accounting data pull
  - name: Accounting synchronized records
  - name: Accounting tax rates
  - name: Analytics
  - name: Approval policies
  - name: Approval requests
  - name: Bank details
  - name: Comments
  - name: Cost centers
  - name: Counterpart addresses
  - name: Counterpart bank accounts
  - name: Counterpart contacts
  - name: Counterpart VAT IDs
  - name: Counterparts
  - name: Credit notes
  - name: Custom tax rates
  - name: Delivery notes
  - name: Departments
  - name: Disclosures
  - name: Documents
  - name: Events
  - name: Files
  - name: Ledger accounts
  - name: Locations
  - name: Mail templates
  - name: Mailbox domains
  - name: Mailboxes
  - name: Measure units
  - name: OCR
  - name: OIDC applications
  - name: Organizations
  - name: Overdue reminders
  - name: Payable duplicates
  - name: Payable line items
  - name: Payables
  - name: Payment intents
  - name: Payment links
  - name: Payment methods
  - name: Payment records
  - name: Payment reminders
  - name: Payment terms
  - name: PDF templates
  - name: Products
  - name: Projects
  - name: Purchase orders
  - name: Receipts
  - name: Receivables
  - name: Recurrences
  - name: Roles
  - name: Tags
  - name: Text templates
  - name: Transactions
  - name: Users
  - name: Webhook deliveries
  - name: Webhook subscriptions
paths:
  /finops/v1/approval-requests:
    get:
      tags:
        - Approval requests
      summary: Get approval requests
      operationId: get_approval-requests
      parameters:
        - required: true
          schema:
            type: string
            format: date
          example: '2026-09-24'
          name: x-finops-version
          in: header
        - name: order
          in: query
          required: false
          schema:
            $ref: '#/components/schemas/OrderEnum'
            default: asc
          description: >-
            Sort order (ascending by default). Typically used together with the
            `sort` parameter.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            default: 100
          description: >-
            The number of items (0 .. 100) to return in a single page of the
            response. The response may contain fewer items if it is the last or
            only page.
        - name: pagination_token
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
          description: >-
            A pagination token obtained from a previous call to this endpoint.
            Use it to get the next or previous page of results for your initial
            query. If `pagination_token` is specified, all other query
            parameters are ignored and inferred from the initial query.


            If not specified, the first page of results will be returned.
        - name: sort
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/ApprovalRequestCursorFields'
              - type: 'null'
          description: >-
            The field to sort the results by. Typically used together with the
            `order` parameter.
        - name: created_at__gt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
        - name: created_at__lt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
        - name: created_at__gte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
        - name: created_at__lte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
        - name: updated_at__gt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
        - name: updated_at__lt
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
        - name: updated_at__gte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
        - name: updated_at__lte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
        - name: object_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
        - name: object_id__in
          in: query
          required: false
          schema:
            anyOf:
              - items:
                  type: string
                  format: uuid
                type: array
              - type: 'null'
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/ApprovalRequestStatus'
              - type: 'null'
        - name: status__in
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  $ref: '#/components/schemas/ApprovalRequestStatus'
              - type: 'null'
        - name: user_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
        - name: object_type
          in: query
          required: false
          schema:
            anyOf:
              - $ref: '#/components/schemas/ObjectType'
              - type: 'null'
        - name: object_type__in
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  $ref: '#/components/schemas/ObjectType'
              - type: 'null'
        - name: created_by
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
        - name: x-organization-id
          in: header
          required: true
          schema:
            type: string
            format: uuid
            examples:
              - 9d2b4c8f-2087-4738-ba91-7359683c49a4
          description: The ID of the entity that owns the requested resource.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalRequestResourceList'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '405':
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '406':
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorSchemaResponse'
      security:
        - HTTPBearer: []
components:
  schemas:
    OrderEnum:
      type: string
      enum:
        - asc
        - desc
    ApprovalRequestCursorFields:
      type: string
      enum:
        - created_at
        - updated_at
    ApprovalRequestStatus:
      type: string
      enum:
        - waiting
        - approved
        - rejected
        - canceled
    ObjectType:
      type: string
      enum:
        - account
        - accounting_config
        - accounting_tax_rate
        - approval
        - approval_request
        - approval_policy
        - approval_policy_process
        - audit_trail
        - bank_account
        - comment
        - cost_center
        - counterpart
        - counterpart_address
        - counterpart_bank_account
        - counterpart_contact_person
        - counterpart_partner_metadata
        - counterpart_tax_id
        - counterpart_vat_id
        - delivery_note
        - einvoicing
        - entity
        - entity_bank_account
        - entity_settings
        - entity_token
        - entity_user
        - entity_user_token
        - entity_vat_ids
        - export
        - ledger_account
        - mailbox
        - monitescript_process
        - ocr_task
        - onboarding
        - overdue_reminder
        - partner
        - partner_internal_config
        - partner_settings
        - partner_token
        - payable
        - payable_line_item
        - payables_credit_note
        - payables_purchase_order
        - payment
        - payment_intent
        - payment_link
        - payment_record
        - payment_reminder
        - person
        - product
        - project
        - receivable
        - reconciliation
        - recurrence
        - receipt
        - role
        - tag
        - todo_task
        - todo_task_mute
        - transaction
        - transaction_validation
        - webhook
        - workflow
        - workflow_pipeline
    ApprovalRequestResourceList:
      properties:
        data:
          items:
            $ref: '#/components/schemas/ApprovalRequestResourceForCaller'
          type: array
        next_pagination_token:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            A token that can be sent in the `pagination_token` query parameter
            to get the next page of results, or `null` if there is no next page
            (i.e. you've reached the last page).
        prev_pagination_token:
          anyOf:
            - type: string
            - type: 'null'
          description: >-
            A token that can be sent in the `pagination_token` query parameter
            to get the previous page of results, or `null` if there is no
            previous page (i.e. you've reached the first page).
      additionalProperties: false
      type: object
      required:
        - data
    ErrorSchemaResponse:
      properties:
        error:
          $ref: '#/components/schemas/ErrorSchema'
      type: object
      required:
        - error
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
      type: object
    ApprovalRequestResourceForCaller:
      properties:
        id:
          type: string
          format: uuid
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        approval_type:
          $ref: '#/components/schemas/ApprovalTypeEnum'
        approved_by:
          items:
            type: string
            format: uuid
          type: array
        caller_is_policy_approver:
          type: boolean
          description: >-
            Whether the approval policy on this request routes it to the calling
            user. Answered per caller, so it must not be cached against the
            approval request id alone. It is also the only thing that governs
            approving and rejecting here: a caller this reports `false` for is
            refused, whatever permissions they hold. Force approve is a separate
            action on the service that owns the object.
          default: false
          examples:
            - true
        created_by:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          description: >-
            ID of the user who created the approval request, or None if it was
            created by the system (e.g. by an approval policy worker).
          examples:
            - ea837e28-509b-4b6a-a600-d54b6aa0b1f5
        object_id:
          type: string
          format: uuid
        object_type:
          $ref: '#/components/schemas/ObjectType'
        reject_reason:
          anyOf:
            - type: string
            - type: 'null'
        rejected_by:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
        required_approval_count:
          type: integer
          minimum: 1
        role_ids:
          anyOf:
            - items:
                type: string
                format: uuid
              type: array
            - type: 'null'
        status:
          $ref: '#/components/schemas/ApprovalRequestStatus'
        submitted_by:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
        user_ids:
          items:
            type: string
            format: uuid
          type: array
      type: object
      required:
        - object_type
        - object_id
        - required_approval_count
        - status
        - approval_type
        - user_ids
        - approved_by
        - id
        - created_at
        - updated_at
      description: >-
        An approval request as seen by one particular caller.


        Read endpoints only. The write actions keep returning
        `ApprovalRequestResourceWithMetadata`,

        so they neither carry a value that is stale by the time it is read nor
        pay for the lookup.
    ErrorSchema:
      properties:
        message:
          type: string
      type: object
      required:
        - message
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
        msg:
          type: string
        type:
          type: string
      type: object
      required:
        - loc
        - msg
        - type
    ApprovalTypeEnum:
      type: string
      enum:
        - user_ids
        - role
        - reporting_manager
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer

````