Constructors

  • Parameters

    • Optional options: Partial<{
          appToken: string;
          autoRenewTempTokens: boolean;
          connectionLimit: number;
          connectionLimitPeriod: number;
          errorOnConnectionLimit: boolean;
          proxy: false | {
              auth?: {
                  password: string;
                  username: string;
              };
              host: string;
              port: number;
          };
          realm: string;
          retryOnQuotaExceeded: boolean;
          server: string;
          tempToken: string;
          tempTokenDbid: string;
          userAgent: string;
          userToken: string;
          version: string;
      }>

    Returns QuickBase

Properties

CLASS_NAME: string = 'QuickBase'
_id: number = 0

The internal numerical id for API calls.

Increments by 1 with each request.

settings: Required<Partial<{
    appToken: string;
    autoRenewTempTokens: boolean;
    connectionLimit: number;
    connectionLimitPeriod: number;
    errorOnConnectionLimit: boolean;
    proxy: false | {
        auth?: {
            password: string;
            username: string;
        };
        host: string;
        port: number;
    };
    realm: string;
    retryOnQuotaExceeded: boolean;
    server: string;
    tempToken: string;
    tempTokenDbid: string;
    userAgent: string;
    userToken: string;
    version: string;
}>>

The QuickBase instance settings

throttle: Throttle

The internal throttler for rate-limiting API calls

CLASS_NAME: string = 'QuickBase'
VERSION: string = VERSION
defaults: Required<Partial<{
    appToken: string;
    autoRenewTempTokens: boolean;
    connectionLimit: number;
    connectionLimitPeriod: number;
    errorOnConnectionLimit: boolean;
    proxy: false | {
        auth?: {
            password: string;
            username: string;
        };
        host: string;
        port: number;
    };
    realm: string;
    retryOnQuotaExceeded: boolean;
    server: string;
    tempToken: string;
    tempTokenDbid: string;
    userAgent: string;
    userToken: string;
    version: string;
}>> = ...

The default settings of a QuickBase instance

Methods

  • Type Parameters

    • T = any

    Parameters

    • actOptions: AxiosRequestConfig<any>
    • Optional reqOptions: AxiosRequestConfig<any>

    Returns Promise<AxiosResponse<T, any>>

  • Parameters

    • Optional headers: AxiosHeaders | Partial<RawAxiosHeaders & {
          Accept: AxiosHeaderValue;
          Authorization: AxiosHeaderValue;
          Content-Encoding: AxiosHeaderValue;
          Content-Length: AxiosHeaderValue;
          User-Agent: AxiosHeaderValue;
      } & {}> & Partial<{
          delete: AxiosHeaders;
          get: AxiosHeaders;
          head: AxiosHeaders;
          link: AxiosHeaders;
          options: AxiosHeaders;
          patch: AxiosHeaders;
          post: AxiosHeaders;
          purge: AxiosHeaders;
          put: AxiosHeaders;
          unlink: AxiosHeaders;
      } & {}>
    • addToken: boolean = true

    Returns AxiosHeaders | Partial<RawAxiosHeaders & {
        Accept: AxiosHeaderValue;
        Authorization: AxiosHeaderValue;
        Content-Encoding: AxiosHeaderValue;
        Content-Length: AxiosHeaderValue;
        User-Agent: AxiosHeaderValue;
    } & {}> & Partial<{
        delete: AxiosHeaders;
        get: AxiosHeaders;
        head: AxiosHeaders;
        link: AxiosHeaders;
        options: AxiosHeaders;
        patch: AxiosHeaders;
        post: AxiosHeaders;
        purge: AxiosHeaders;
        put: AxiosHeaders;
        unlink: AxiosHeaders;
    } & {}>

  • Get audit logs

    Gathers the audit logs for a single day from a realm. By default, this API returns 10,000 entries. This can be changed with the numRows parameter. Integrators can iterate through batches to get an entire day's worth of logs. Each realm has a maximum entitlement of querying 1,000 days per year (allowing lookbacks for up to two years). Requests for paginated data do not count towards the annual limit. Transactional rate limits are 10 per 10 seconds.
    Note: This API is available for enterprise users only.

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          date: string;
          nextToken: string;
          numRows: number;
          queryId: string;
      } & {
          returnAxios?: false;
      }

      Get audit logs method options object

    Returns Promise<QuickBaseResponseAudit>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          date: string;
          nextToken: string;
          numRows: number;
          queryId: string;
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<QuickBaseResponseAudit, any>>

  • Copy an app

    Copies the specified application. The new application will have the same schema as the original. See below for additional copy options.

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          appId: string;
          description?: string;
          name: string;
          properties?: {
              assignUserToken: boolean;
              excludeFiles: boolean;
              keepData: boolean;
              usersAndRoles: boolean;
          };
      } & {
          returnAxios?: false;
      }

      Copy an app method options object

    Returns Promise<QuickBaseResponseCopyApp>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          appId: string;
          description?: string;
          name: string;
          properties?: {
              assignUserToken: boolean;
              excludeFiles: boolean;
              keepData: boolean;
              usersAndRoles: boolean;
          };
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<QuickBaseResponseCopyApp, any>>

  • Create an app

    Creates an application in an account. You must have application creation rights in the respective account. Main properties and application variables can be set with this API.

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          assignToken?: boolean;
          description?: string;
          name: string;
          securityProperties?: {
              allowClone: boolean;
              allowExport: boolean;
              enableAppTokens: boolean;
              hideFromPublic: boolean;
              mustBeRealmApproved: boolean;
              useIPFilter: boolean;
          };
          variables?: {
              name: string;
              value: string;
          }[];
      } & {
          returnAxios?: false;
      }

      Create an app method options object

    Returns Promise<QuickBaseResponseCreateApp>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          assignToken?: boolean;
          description?: string;
          name: string;
          securityProperties?: {
              allowClone: boolean;
              allowExport: boolean;
              enableAppTokens: boolean;
              hideFromPublic: boolean;
              mustBeRealmApproved: boolean;
              useIPFilter: boolean;
          };
          variables?: {
              name: string;
              value: string;
          }[];
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<QuickBaseResponseCreateApp, any>>

  • Create a field

    Creates a field within a table, including the custom permissions of that field.

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          addToForms?: boolean;
          appearsByDefault?: boolean;
          audited?: boolean;
          bold?: boolean;
          fieldHelp?: string;
          fieldType: "numeric" | "percent" | "file" | "address" | "url" | "text" | "email" | "user" | "currency" | "date" | "text-multiple-choice" | "text-multi-line" | "rich-text" | "rating" | "multitext" | "duration" | "datetime" | "timestamp" | "timeofday" | "checkbox" | "multiuser" | "phone";
          findEnabled?: boolean;
          label: string;
          noWrap?: boolean;
          permissions?: {
              permissionType: "None" | "View" | "Modify";
              role: string;
              roleId: number;
          }[];
          properties?: {
              abbreviate?: boolean;
              allowNewChoices?: boolean;
              appearsAs?: string;
              appendOnly?: boolean;
              autoSave?: boolean;
              blankIsZero?: boolean;
              carryChoices?: boolean;
              choices?: string[];
              commaStart?: number;
              comments?: string;
              compositeFields?: number[];
              coverText?: string;
              currencyFormat?: "left" | "right" | "middle";
              currencySymbol?: string;
              decimalPlaces?: number;
              defaultCountryCode?: string;
              defaultDomain?: string;
              defaultKind?: string;
              defaultToday?: boolean;
              defaultValue?: string;
              defaultValueLuid?: number;
              displayAsLink?: boolean;
              displayCheckboxAsText?: boolean;
              displayDayOfWeek?: boolean;
              displayEmail?: string;
              displayMonth?: string;
              displayRelative?: boolean;
              displayTime?: boolean;
              displayTimezone?: boolean;
              displayUser?: string;
              doesAverage?: boolean;
              doesTotal?: boolean;
              exact?: boolean;
              format?: number;
              formula?: string;
              hasExtension?: boolean;
              hours24?: boolean;
              linkText?: string;
              maxLength?: number;
              maxVersions?: number;
              numLines?: number;
              numberFormat?: number;
              openTargetIn?: "sameWindow" | "newWindow" | "popup";
              parentFieldId?: number;
              seeVersions?: boolean;
              snapFieldId?: number;
              sortAlpha?: boolean;
              sortAsGiven?: boolean;
              sourceFieldId?: number;
              targetFieldId?: number;
              targetTableId?: string;
              targetTableName?: string;
              units?: string;
              useI18NFormat?: boolean;
              useNewWindow?: boolean;
              versionMode?: "keepallversions" | "keeplastversions";
              width?: number;
          };
          tableId: string;
      } & {
          returnAxios?: false;
      }

      Create a field method options object

    Returns Promise<QuickBaseResponseCreateField>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          addToForms?: boolean;
          appearsByDefault?: boolean;
          audited?: boolean;
          bold?: boolean;
          fieldHelp?: string;
          fieldType: "numeric" | "percent" | "file" | "address" | "url" | "text" | "email" | "user" | "currency" | "date" | "text-multiple-choice" | "text-multi-line" | "rich-text" | "rating" | "multitext" | "duration" | "datetime" | "timestamp" | "timeofday" | "checkbox" | "multiuser" | "phone";
          findEnabled?: boolean;
          label: string;
          noWrap?: boolean;
          permissions?: {
              permissionType: "None" | "View" | "Modify";
              role: string;
              roleId: number;
          }[];
          properties?: {
              abbreviate?: boolean;
              allowNewChoices?: boolean;
              appearsAs?: string;
              appendOnly?: boolean;
              autoSave?: boolean;
              blankIsZero?: boolean;
              carryChoices?: boolean;
              choices?: string[];
              commaStart?: number;
              comments?: string;
              compositeFields?: number[];
              coverText?: string;
              currencyFormat?: "left" | "right" | "middle";
              currencySymbol?: string;
              decimalPlaces?: number;
              defaultCountryCode?: string;
              defaultDomain?: string;
              defaultKind?: string;
              defaultToday?: boolean;
              defaultValue?: string;
              defaultValueLuid?: number;
              displayAsLink?: boolean;
              displayCheckboxAsText?: boolean;
              displayDayOfWeek?: boolean;
              displayEmail?: string;
              displayMonth?: string;
              displayRelative?: boolean;
              displayTime?: boolean;
              displayTimezone?: boolean;
              displayUser?: string;
              doesAverage?: boolean;
              doesTotal?: boolean;
              exact?: boolean;
              format?: number;
              formula?: string;
              hasExtension?: boolean;
              hours24?: boolean;
              linkText?: string;
              maxLength?: number;
              maxVersions?: number;
              numLines?: number;
              numberFormat?: number;
              openTargetIn?: "sameWindow" | "newWindow" | "popup";
              parentFieldId?: number;
              seeVersions?: boolean;
              snapFieldId?: number;
              sortAlpha?: boolean;
              sortAsGiven?: boolean;
              sourceFieldId?: number;
              targetFieldId?: number;
              targetTableId?: string;
              targetTableName?: string;
              units?: string;
              useI18NFormat?: boolean;
              useNewWindow?: boolean;
              versionMode?: "keepallversions" | "keeplastversions";
              width?: number;
          };
          tableId: string;
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<QuickBaseResponseCreateField, any>>

  • Create a relationship

    Creates a relationship in a table as well as lookup/summary fields. Relationships can only be created for tables within the same app.

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          childTableId: string;
          foreignKeyField?: {
              label: string;
          };
          lookupFieldIds?: number[];
          parentTableId: string;
          summaryFields?: {
              accumulationType: "AVG" | "SUM" | "MAX" | "MIN" | "STD-DEV" | "COUNT" | "COMBINED-TEXT" | "DISTINCT-COUNT";
              label?: string;
              summaryFid?: number;
              where?: string;
          }[];
      } & {
          returnAxios?: false;
      }

      Create a relationship method options object

    Returns Promise<QuickBaseResponseCreateRelationship>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          childTableId: string;
          foreignKeyField?: {
              label: string;
          };
          lookupFieldIds?: number[];
          parentTableId: string;
          summaryFields?: {
              accumulationType: "AVG" | "SUM" | "MAX" | "MIN" | "STD-DEV" | "COUNT" | "COMBINED-TEXT" | "DISTINCT-COUNT";
              label?: string;
              summaryFid?: number;
              where?: string;
          }[];
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<QuickBaseResponseCreateRelationship, any>>

  • Download file

    Downloads the file attachment, with the file attachment content encoded in base64 format. The API response returns the file name in the Content-Disposition header. Meta-data about files can be retrieved from the /records and /reports endpoints, where applicable. Use those endpoints to get the necessary information to fetch files.

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          fieldId: number;
          recordId: number;
          tableId: string;
          versionNumber: number;
      } & {
          returnAxios?: false;
      }

      Download file method options object

    Returns Promise<string>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          fieldId: number;
          recordId: number;
          tableId: string;
          versionNumber: number;
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<string, any>>

  • Exchange an SSO token

    Use this endpoint to exchange a SAML assertion for a Quickbase token following RFC 8693. Callers can choose to return a token compatible with SCIM, XML, or RESTful APIs. The token duration is determined by the SAML timeout session time. You must be able to create a SAML assertion in your code to use this endpoint. The SAML assertion is verified against the configuration on the realm. Learn more about about SAML assertions.

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          grant_type: "urn:ietf:params:oauth:grant-type:token-exchange";
          requested_token_type: "urn:quickbase:params:oauth:token-type:temp_ticket" | "urn:quickbase:params:oauth:token-type:temp_token";
          subject_token: string;
          subject_token_type: "urn:ietf:params:oauth:token-type:saml2";
      } & {
          returnAxios?: false;
      }

      Exchange an SSO token method options object

    Returns Promise<QuickBaseResponseExchangeSsoToken>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          grant_type: "urn:ietf:params:oauth:grant-type:token-exchange";
          requested_token_type: "urn:quickbase:params:oauth:token-type:temp_ticket" | "urn:quickbase:params:oauth:token-type:temp_token";
          subject_token: string;
          subject_token_type: "urn:ietf:params:oauth:token-type:saml2";
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<QuickBaseResponseExchangeSsoToken, any>>

  • Export a solution

    Returns the QBL for the specified solution. See QBL documentation

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          solutionId: string;
      } & {
          returnAxios?: false;
      }

      Export a solution method options object

    Returns Promise<any>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          solutionId: string;
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<any, any>>

  • Rebuild the QuickBase instance from serialized JSON

    Parameters

    • json: string | Partial<{
          appToken: string;
          autoRenewTempTokens: boolean;
          connectionLimit: number;
          connectionLimitPeriod: number;
          errorOnConnectionLimit: boolean;
          proxy: false | {
              auth?: {
                  password: string;
                  username: string;
              };
              host: string;
              port: number;
          };
          realm: string;
          retryOnQuotaExceeded: boolean;
          server: string;
          tempToken: string;
          tempTokenDbid: string;
          userAgent: string;
          userToken: string;
          version: string;
      }>

      QuickBase class options

    Returns QuickBase

  • Returns {
        baseURL: string;
        headers: {
            Content-Type: string;
            QB-Realm-Hostname: string;
        };
        method: string;
        proxy: false | {
            auth?: {
                password: string;
                username: string;
            };
            host: string;
            port: number;
        };
    }

    • baseURL: string
    • headers: {
          Content-Type: string;
          QB-Realm-Hostname: string;
      }
      • Content-Type: string
      • QB-Realm-Hostname: string
    • method: string
    • proxy: false | {
          auth?: {
              password: string;
              username: string;
          };
          host: string;
          port: number;
      }
  • Get users

    Get all users in an account or narrowed down list of users filtered by email(s). The returned users may be paginated depending on the user count. The count of the returned users may vary. When nextPageToken value in the response is not empty, that indicates that there are more results to be returned, you can use this value to get the next result set ('page').

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          accountId?: number;
          appIds: string[];
          emails: string[];
          nextPageToken: string;
      } & {
          returnAxios?: false;
      }

      Get users method options object

    Returns Promise<QuickBaseResponseGetUsers>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          accountId?: number;
          appIds: string[];
          emails: string[];
          nextPageToken: string;
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<QuickBaseResponseGetUsers, any>>

  • Type Parameters

    • T = any

    Parameters

    • options: AxiosRequestConfig<any>
    • attempt: number = 0

    Returns Promise<AxiosResponse<T, any>>

  • Query for data

    Pass in a query in the Quickbase query language. Returns record data with intelligent pagination based on the approximate size of each record. The metadata object will include the necessary information to iterate over the response and gather more data.

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          groupBy?: {
              fieldId: number;
              grouping: "1" | "10" | "equal-values" | "first-word" | "first-letter" | "1000000" | "100000" | "10000" | "1000" | "100" | ".1" | ".01" | ".001";
          }[];
          options?: {
              compareWithAppLocalTime?: boolean;
              skip: number;
              top: number;
          };
          select?: number[];
          sortBy?: false | {
              fieldId: number;
              order: "ASC" | "DESC" | "equal-values";
          }[];
          tableId: string;
          where?: string;
      } & {
          returnAxios?: false;
      }

      Query for data method options object

    Returns Promise<QuickBaseResponseRunQuery>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          groupBy?: {
              fieldId: number;
              grouping: "1" | "10" | "equal-values" | "first-word" | "first-letter" | "1000000" | "100000" | "10000" | "1000" | "100" | ".1" | ".01" | ".001";
          }[];
          options?: {
              compareWithAppLocalTime?: boolean;
              skip: number;
              top: number;
          };
          select?: number[];
          sortBy?: false | {
              fieldId: number;
              order: "ASC" | "DESC" | "equal-values";
          }[];
          tableId: string;
          where?: string;
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<QuickBaseResponseRunQuery, any>>

  • Run a report

    Runs a report, based on an ID and returns the underlying data associated with it. The format of the data will vary based on the report type. Reports that focus on record-level data (table, calendar, etc.) return the individual records. Aggregate reports (summary, chart) will return the summarized information as configured in the report. UI-specific elements are not returned, such as totals, averages and visualizations. Returns data with intelligent pagination based on the approximate size of each record. The metadata object will include the necessary information to iterate over the response and gather more data.

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          reportId: string;
          skip?: number;
          tableId: string;
          top?: number;
      } & {
          returnAxios?: false;
      }

      Run a report method options object

    Returns Promise<QuickBaseResponseRunReport>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          reportId: string;
          skip?: number;
          tableId: string;
          top?: number;
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<QuickBaseResponseRunReport, any>>

  • Set the internally stored tempToken for use in subsequent API calls

    Example:

    qb.setTempToken('xxxx.xxx[...]xxx', 'xxxxxxxxx');
    

    Parameters

    • dbid: string

      Quickbase Application ID or Table ID

    • tempToken: string

      Temporary Quickbase Authentication Token

    Returns QuickBase

  • Serialize the QuickBase instance into JSON

    Returns Required<Partial<{
        appToken: string;
        autoRenewTempTokens: boolean;
        connectionLimit: number;
        connectionLimitPeriod: number;
        errorOnConnectionLimit: boolean;
        proxy: false | {
            auth?: {
                password: string;
                username: string;
            };
            host: string;
            port: number;
        };
        realm: string;
        retryOnQuotaExceeded: boolean;
        server: string;
        tempToken: string;
        tempTokenDbid: string;
        userAgent: string;
        userToken: string;
        version: string;
    }>>

  • Update an app

    Updates the main properties and/or application variables for a specific application. Any properties of the app that you do not specify in the request body will remain unchanged.

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          appId: string;
          description?: string;
          name?: string;
          securityProperties?: {
              allowClone: boolean;
              allowExport: boolean;
              enableAppTokens: boolean;
              hideFromPublic: boolean;
              mustBeRealmApproved: boolean;
              useIPFilter: boolean;
          };
          variables?: {
              name: string;
              value: string;
          }[];
      } & {
          returnAxios?: false;
      }

      Update an app method options object

    Returns Promise<QuickBaseResponseUpdateApp>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          appId: string;
          description?: string;
          name?: string;
          securityProperties?: {
              allowClone: boolean;
              allowExport: boolean;
              enableAppTokens: boolean;
              hideFromPublic: boolean;
              mustBeRealmApproved: boolean;
              useIPFilter: boolean;
          };
          variables?: {
              name: string;
              value: string;
          }[];
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<QuickBaseResponseUpdateApp, any>>

  • Update a field

    Updates the properties and custom permissions of a field. The attempt to update certain properties might cause existing data to no longer obey the field’s new properties and may be rejected. See the descriptions of required, unique, and choices, below, for specific situations. Any properties of the field that you do not specify in the request body will remain unchanged.

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          addToForms?: boolean;
          appearsByDefault?: boolean;
          audited?: boolean;
          bold?: boolean;
          fieldHelp?: string;
          fieldId: number;
          findEnabled?: boolean;
          label?: string;
          noWrap?: boolean;
          permissions?: {
              permissionType: "None" | "View" | "Modify";
              role: string;
              roleId: number;
          }[];
          properties?: {
              abbreviate?: boolean;
              allowNewChoices?: boolean;
              appearsAs?: string;
              appendOnly?: boolean;
              autoSave?: boolean;
              blankIsZero?: boolean;
              carryChoices?: boolean;
              choices?: string[];
              commaStart?: number;
              comments?: string;
              compositeFields?: number[];
              coverText?: string;
              currencyFormat?: "left" | "right" | "middle";
              currencySymbol?: string;
              decimalPlaces?: number;
              defaultCountryCode?: string;
              defaultDomain?: string;
              defaultKind?: string;
              defaultToday?: boolean;
              defaultValue?: string;
              defaultValueLuid?: number;
              displayAsLink?: boolean;
              displayCheckboxAsText?: boolean;
              displayDayOfWeek?: boolean;
              displayEmail?: string;
              displayMonth?: string;
              displayRelative?: boolean;
              displayTime?: boolean;
              displayTimezone?: boolean;
              displayUser?: string;
              doesAverage?: boolean;
              doesTotal?: boolean;
              exact?: boolean;
              format?: number;
              formula?: string;
              hasExtension?: boolean;
              hours24?: boolean;
              linkText?: string;
              lookupReferenceFieldId?: number;
              lookupTargetFieldId?: number;
              maxLength?: number;
              maxVersions?: number;
              numLines?: number;
              numberFormat?: number;
              openTargetIn?: "sameWindow" | "newWindow" | "popup";
              parentFieldId?: number;
              seeVersions?: boolean;
              snapFieldId?: number;
              sortAlpha?: boolean;
              sortAsGiven?: boolean;
              sourceFieldId?: number;
              summaryFunction?: "AVG" | "SUM" | "MAX" | "MIN" | "STD-DEV" | "COUNT" | "COMBINED-TEXT" | "DISTINCT-COUNT";
              summaryQuery?: string;
              summaryReferenceFieldId?: number;
              summaryTableId?: string;
              summaryTargetFieldId?: number;
              targetFieldId?: number;
              targetTableId?: string;
              targetTableName?: string;
              units?: string;
              useI18NFormat?: boolean;
              useNewWindow?: boolean;
              versionMode?: "keepallversions" | "keeplastversions";
              width?: number;
          };
          required?: boolean;
          tableId: string;
          unique?: boolean;
      } & {
          returnAxios?: false;
      }

      Update a field method options object

    Returns Promise<QuickBaseResponseUpdateField>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          addToForms?: boolean;
          appearsByDefault?: boolean;
          audited?: boolean;
          bold?: boolean;
          fieldHelp?: string;
          fieldId: number;
          findEnabled?: boolean;
          label?: string;
          noWrap?: boolean;
          permissions?: {
              permissionType: "None" | "View" | "Modify";
              role: string;
              roleId: number;
          }[];
          properties?: {
              abbreviate?: boolean;
              allowNewChoices?: boolean;
              appearsAs?: string;
              appendOnly?: boolean;
              autoSave?: boolean;
              blankIsZero?: boolean;
              carryChoices?: boolean;
              choices?: string[];
              commaStart?: number;
              comments?: string;
              compositeFields?: number[];
              coverText?: string;
              currencyFormat?: "left" | "right" | "middle";
              currencySymbol?: string;
              decimalPlaces?: number;
              defaultCountryCode?: string;
              defaultDomain?: string;
              defaultKind?: string;
              defaultToday?: boolean;
              defaultValue?: string;
              defaultValueLuid?: number;
              displayAsLink?: boolean;
              displayCheckboxAsText?: boolean;
              displayDayOfWeek?: boolean;
              displayEmail?: string;
              displayMonth?: string;
              displayRelative?: boolean;
              displayTime?: boolean;
              displayTimezone?: boolean;
              displayUser?: string;
              doesAverage?: boolean;
              doesTotal?: boolean;
              exact?: boolean;
              format?: number;
              formula?: string;
              hasExtension?: boolean;
              hours24?: boolean;
              linkText?: string;
              lookupReferenceFieldId?: number;
              lookupTargetFieldId?: number;
              maxLength?: number;
              maxVersions?: number;
              numLines?: number;
              numberFormat?: number;
              openTargetIn?: "sameWindow" | "newWindow" | "popup";
              parentFieldId?: number;
              seeVersions?: boolean;
              snapFieldId?: number;
              sortAlpha?: boolean;
              sortAsGiven?: boolean;
              sourceFieldId?: number;
              summaryFunction?: "AVG" | "SUM" | "MAX" | "MIN" | "STD-DEV" | "COUNT" | "COMBINED-TEXT" | "DISTINCT-COUNT";
              summaryQuery?: string;
              summaryReferenceFieldId?: number;
              summaryTableId?: string;
              summaryTargetFieldId?: number;
              targetFieldId?: number;
              targetTableId?: string;
              targetTableName?: string;
              units?: string;
              useI18NFormat?: boolean;
              useNewWindow?: boolean;
              versionMode?: "keepallversions" | "keeplastversions";
              width?: number;
          };
          required?: boolean;
          tableId: string;
          unique?: boolean;
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<QuickBaseResponseUpdateField, any>>

  • Update a relationship

    Use this endpoint to add lookup fields and summary fields to an existing relationship. Updating a relationship will not delete existing lookup/summary fields.

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          childTableId: string;
          lookupFieldIds?: number[];
          relationshipId: number;
          summaryFields?: {
              accumulationType: "AVG" | "SUM" | "MAX" | "MIN" | "STD-DEV" | "COUNT" | "COMBINED-TEXT" | "DISTINCT-COUNT";
              label?: string;
              summaryFid?: number;
              where?: string;
          }[];
      } & {
          returnAxios?: false;
      }

      Update a relationship method options object

    Returns Promise<QuickBaseResponseUpdateRelationship>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          childTableId: string;
          lookupFieldIds?: number[];
          relationshipId: number;
          summaryFields?: {
              accumulationType: "AVG" | "SUM" | "MAX" | "MIN" | "STD-DEV" | "COUNT" | "COMBINED-TEXT" | "DISTINCT-COUNT";
              label?: string;
              summaryFid?: number;
              where?: string;
          }[];
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<QuickBaseResponseUpdateRelationship, any>>

  • Update a solution

    Updates the solution using the provided QBL. See QBL documentation

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          solutionId: string;
      } & {
          returnAxios?: false;
      }

      Update a solution method options object

    Returns Promise<any>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          solutionId: string;
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<any, any>>

  • Update a table

    Updates the main properties of a specific table. Any properties of the table that you do not specify in the request body will remain unchanged.

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          appId: string;
          description?: string;
          name?: string;
          pluralRecordName?: string;
          singleRecordName?: string;
          tableId: string;
      } & {
          returnAxios?: false;
      }

      Update a table method options object

    Returns Promise<QuickBaseResponseUpdateTable>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          appId: string;
          description?: string;
          name?: string;
          pluralRecordName?: string;
          singleRecordName?: string;
          tableId: string;
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<QuickBaseResponseUpdateTable, any>>

  • Insert/Update record(s)

    Insert and/or update record(s) in a table. In this single API call, inserts and updates can be submitted. Update can use the key field on the table, or any other supported unique field. Refer to the Field types page for more information about how each field type should be formatted. This operation allows for incremental processing of successful records, even when some of the records fail.
    Note: This endpoint supports a maximum payload size of 25MB.

    Quickbase Documentation

    Parameters

    • options: QuickBaseRequest & {
          data?: Record<string, {
              value: any;
          }>[];
          fieldsToReturn?: number[];
          mergeFieldId?: number;
          tableId: string;
      } & {
          returnAxios?: false;
      }

      Insert/Update record(s) method options object

    Returns Promise<QuickBaseResponseUpsert>

  • Parameters

    • __namedParameters: QuickBaseRequest & {
          data?: Record<string, {
              value: any;
          }>[];
          fieldsToReturn?: number[];
          mergeFieldId?: number;
          tableId: string;
      } & {
          returnAxios: true;
      }

    Returns Promise<AxiosResponse<QuickBaseResponseUpsert, any>>

  • Create a new QuickBase instance from serialized JSON

    Parameters

    • json: string | Partial<{
          appToken: string;
          autoRenewTempTokens: boolean;
          connectionLimit: number;
          connectionLimitPeriod: number;
          errorOnConnectionLimit: boolean;
          proxy: false | {
              auth?: {
                  password: string;
                  username: string;
              };
              host: string;
              port: number;
          };
          realm: string;
          retryOnQuotaExceeded: boolean;
          server: string;
          tempToken: string;
          tempTokenDbid: string;
          userAgent: string;
          userToken: string;
          version: string;
      }>

      QuickBase class options

    Returns QuickBase