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

# Passthrough

> Rare escape hatch for sending raw QuickBooks Desktop qbXML request objects directly. Prefer Conductor's native QuickBooks Desktop endpoints whenever possible: Conductor already exposes more than 250 typed QBD endpoints, covers nearly the entire underlying qbXML API surface, returns all documented response fields in a stable typed JSON shape, and powers Conductor SDK types, documentation, IDE autocomplete, and the API Playground. Use passthrough only when you need one of the few qbXML operations that is not yet available as a native Conductor endpoint, or while testing an unsupported qbXML operation. Known gaps are listed in [Missing QBD types](/api-ref/missing-qbd-types).



## OpenAPI

````yaml POST /end-users/{id}/passthrough/{integrationSlug}
openapi: 3.1.0
info:
  title: Conductor API
  version: 0.0.1
servers:
  - url: https://api.conductor.is/v1
security:
  - BearerAuth: []
paths:
  /end-users/{id}/passthrough/{integrationSlug}:
    post:
      summary: Passthrough
      description: >-
        Rare escape hatch for sending raw QuickBooks Desktop qbXML request
        objects directly. Prefer Conductor's native QuickBooks Desktop endpoints
        whenever possible: Conductor already exposes more than 250 typed QBD
        endpoints, covers nearly the entire underlying qbXML API surface,
        returns all documented response fields in a stable typed JSON shape, and
        powers Conductor SDK types, documentation, IDE autocomplete, and the API
        Playground. Use passthrough only when you need one of the few qbXML
        operations that is not yet available as a native Conductor endpoint, or
        while testing an unsupported qbXML operation. Known gaps are listed in
        [Missing QBD types](/api-ref/missing-qbd-types).
      parameters:
        - in: path
          name: id
          schema:
            type: string
            description: The ID of the end-user who owns the integration connection.
            example: end_usr_1234567abcdefg
          required: true
          description: The ID of the end-user who owns the integration connection.
        - in: path
          name: integrationSlug
          schema:
            type: string
            enum:
              - quickbooks_desktop
            description: The integration identifier for the end-user's connection.
          required: true
          description: The integration identifier for the end-user's connection.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties: {}
              additionalProperties: true
              description: >-
                The raw qbXML request object to send to the integration
                connection. For QuickBooks Desktop, use a qbXML request wrapper
                such as `InvoiceQueryRq` or `CustomerQueryRq`. This body is
                forwarded directly and does not use Conductor field names.
              minProperties: 1
      responses:
        '200':
          description: Returns the raw response from the integration connection.
          headers:
            Conductor-Request-Id:
              required: true
              description: The unique identifier for this API request.
              schema:
                type: string
                description: The unique identifier for this API request.
                example: req_1234567abcdefg
          content:
            application/json:
              schema:
                type: object
                properties: {}
                additionalProperties: true
                description: >-
                  The raw response from the integration connection. For
                  QuickBooks Desktop, this is the qbXML response converted to
                  JSON.
      security:
        - BearerAuth: []
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import Conductor from 'conductor-node';


            const conductor = new Conductor({
              apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
            });


            const response = await
            conductor.endUsers.passthrough('quickbooks_desktop', {
              id: 'end_usr_1234567abcdefg',
              qbd_payload: { foo: 'bar' },
            });


            console.log(response);
        - lang: Python
          source: |-
            import os
            from conductor import Conductor

            conductor = Conductor(
                api_key=os.environ.get("CONDUCTOR_SECRET_KEY"),  # This is the default and can be omitted
            )
            response = conductor.end_users.passthrough(
                integration_slug="quickbooks_desktop",
                id="end_usr_1234567abcdefg",
                qbd_payload={
                    "foo": "bar"
                },
            )
            print(response)
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your Conductor secret key using Bearer auth (e.g., `"Authorization:
        Bearer {{YOUR_SECRET_KEY}}"`).

````

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