### GET /tables Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Gets a list of all the tables that exist in a specific application. The properties for each table are the same as what is returned in Get table. ```markdown ### Parameters - **appId** (string, query, required): The unique identifier of an app - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): This is entered by the person or utility invoking the API. You might custom create this or use the default one of your toolkit. Being descriptive here may offer more identification and troubleshooting capabilities. ### Responses #### 200 - Success - Array of object ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//tables?appId=string" ``` ``` -------------------------------- ### GET /solutions/fromrecord Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Creates a solution using the QBL from the specified record. We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/sections/26699387198228-QBL-Versions) in our QBL documentation. ```markdown ### Parameters - **tableId** (string, query, required): The unique identifier (dbid) of the table. - **fieldId** (unknown, query, required): The unique identifier (fid) of the field. It needs to be a file attachment field. - **recordId** (unknown, query, required): The unique identifier of the record. - **X-QBL-Errors-As-Success** (boolean, header, optional): If this header is set to true, the API will return a 207 status code even if errors occur. The response will contain X-QBL-ORIGINAL-STATUS header with the original error code, and the response body will include the error details. - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): Information is entered by the person or utility invoking the API. Choose between the default in your toolkit or custom create it. Being as descriptive as possible will help in identification and troubleshooting. ### Responses #### 200 - Success #### 400 - Bad request. For example: Missing required headers, Missing required parameters, Malformed QBL and others. Message should provide more information, reach out to support if there's lack of clarity. #### 401 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot create apps and others. Message should provide more information. #### 403 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot create apps and others. Message should provide more information. #### 404 - A resource is missing. For example: The supplied solution, field or record does not exist. #### 4XX - Non-common error, reach out to support if there's lack of clarity. #### 5XX - Non-common error, reach out to support if there's lack of clarity. ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//solutions/fromrecord?tableId=string&fieldId=value&recordId=value" ``` ``` -------------------------------- ### GET /solutions/{solutionId} Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Returns the QBL for the specified solution. Learn more about [QBL syntax](https://help.quickbase.com/docs/qbl-definition-structure-and-syntax). We are releasing schema coverage for QBL in stages. See [what's supported today](https://help.quickbase.com/docs/qbl-versions) in our QBL documentation. ```markdown ### Parameters - **solutionId** (string, path, required): The unique identifier (UUID) or the alias of the solution. - **QBL-Version** (string, header, optional): The QBL version to be used for the export. If not specified the default would be used. - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): Information is entered by the person or utility invoking the API. Choose between the default in your toolkit or custom create it. Being as descriptive as possible will help in identification and troubleshooting. ### Responses #### 200 - Success #### 400 - Bad request. For example: Missing required headers, Missing required parameters, Malformed QBL and others. Message should provide more information, reach out to support if there's lack of clarity. #### 401 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot create apps and others. Message should provide more information. #### 403 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot create apps and others. Message should provide more information. #### 404 - Solution does not exist. The supplied solution ID was not found. #### 4XX - Non-common error, reach out to support if there's lack of clarity. #### 5XX - Non-common error, reach out to support if there's lack of clarity. ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//solutions/{solutionId}" ``` ``` -------------------------------- ### GET /apps/{appId} Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Returns the main properties of an application, including application variables. ```markdown ### Parameters - **appId** (string, path, required): The unique identifier of an app - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): Information is entered by the person or utility invoking the API. Choose between the default in your toolkit or custom create it. Being as descriptive as possible will help in identification and troubleshooting. ### Responses #### 200 - Success - **ancestorId** (string): The id of the app from which this app was copied - **name** (string) (required): The app name. You are allowed to create multiple apps with the same name, in the same realm, because they will have different dbid values. We urge you to be careful about doing this. - **description** (string): The description for the app. If this property is left out, the app description will be blank. - **created** (string): The time and date the app was created, in the ISO 8601 time format YYYY-MM-DDThh:mm:ss.sssZ (in UTC time zone). - **updated** (string): The time and date the app was last updated, in the ISO 8601 time format YYYY-MM-DDThh:mm:ss.sssZ (in UTC time zone). - **dateFormat** (string): A description of the format used when displaying date values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the API Guide for how time values are returned in API calls. See [About Localizing Dates](https://help.quickbase.com/user-assistance/about_localizing_dates_numbers.html) to set the app's date format. - **timeZone** (string): A description of the time zone used when displaying time values in this app. Note that this is a browser-only parameter - see the [Field type details](../fieldInfo) page in the portal for how time values are returned in API calls. See [Set the Time Zone for Both the Application and the Account](https://help.quickbase.com/user-assistance/application_local_timezone.html) to set the application's time zone. - **memoryInfo** (object): Application memory info - **id** (string): The unique identifier for this application. - **hasEveryoneOnTheInternet** (boolean): Indicates whether app includes Everyone On The Internet access. See [Sharing apps with Everyone on the Internet (EOTI).](https://help.quickbase.com/user-assistance/share_with_everyone_on_internet.html) - **variables** (array (object)): The app variables. See [About Application Variables](https://help.quickbase.com/docs/creating-and-using-application-variables) - **dataClassification** (string): The Data Classification label assigned to the application. If Data Classification is not turned on, this will not be returned. If Data Classification is turned on, but application is not labeled, we return “None". Data Classification labels can be added in the Admin Console by a Realm Administrator for Platform+ plans. - **securityProperties** (object): Security properties of the application ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//apps/{appId}" ``` ``` -------------------------------- ### GET /fields Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Gets the properties for all fields in a specific table. The properties for each field are the same as in Get field. ```markdown ### Parameters - **tableId** (string, query, required): The unique identifier (dbid) of the table. - **includeFieldPerms** (boolean, query, optional): Set to 'true' if you'd like to get back the custom permissions for the field(s). - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): This is entered by the person or utility invoking the API. You might custom create this or use the default one of your toolkit. Being descriptive here may offer more identification and troubleshooting capabilities. ### Responses #### 200 - Success - Array of object ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//fields?tableId=string&includeFieldPerms=false" ``` ``` -------------------------------- ### GET /solutions/{solutionId}/fromrecord Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Updates a solution using the QBL from the specified record. We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/sections/26699387198228-QBL-Versions) in our QBL documentation. ```markdown ### Parameters - **solutionId** (string, path, required): The unique identifier of the solution. - **tableId** (string, query, required): The unique identifier (dbid) of the table. - **fieldId** (unknown, query, required): The unique identifier (fid) of the field. It needs to be a file attachment field. - **recordId** (unknown, query, required): The unique identifier of the record. - **X-QBL-Errors-As-Success** (boolean, header, optional): If this header is set to true, the API will return a 207 status code even if errors occur. The response will contain X-QBL-ORIGINAL-STATUS header with the original error code, and the response body will include the error details. - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): Information is entered by the person or utility invoking the API. Choose between the default in your toolkit or custom create it. Being as descriptive as possible will help in identification and troubleshooting. ### Responses #### 200 - Success #### 400 - Bad request. For example: Missing required headers, Missing required parameters, Malformed QBL and others. Message should provide more information, reach out to support if there's lack of clarity. #### 401 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot create apps and others. Message should provide more information. #### 403 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot create apps and others. Message should provide more information. #### 404 - A resource is missing. For example: The supplied solution, field or record does not exist. #### 4XX - Non-common error, reach out to support if there's lack of clarity. #### 5XX - Non-common error, reach out to support if there's lack of clarity. ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//solutions/{solutionId}/fromrecord?tableId=string&fieldId=value&recordId=value" ``` ``` -------------------------------- ### GET /solutions/{solutionId}/torecord Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Exports the solution and outputs the resulting QBL in a new record in the specified table. The QBL will be saved to a file in the file attachment field that is specified. The table cannot have any required fields besides the file attachment field. We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/sections/26699387198228-QBL-Versions) in our QBL documentation. ```markdown ### Parameters - **solutionId** (string, path, required): The unique identifier of the solution. - **tableId** (string, query, required): The unique identifier (dbid) of the table. - **fieldId** (unknown, query, required): The unique identifier (fid) of the field. It needs to be a file attachment field. - **X-QBL-Errors-As-Success** (boolean, header, optional): If this header is set to true, the API will return a 207 status code even if errors occur. The response will contain X-QBL-ORIGINAL-STATUS header with the original error code, and the response body will include the error details. - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **QBL-Version** (string, header, optional): The QBL version to be used for the export. If not specified the default would be used. - **User-Agent** (string, header, optional): Information is entered by the person or utility invoking the API. Choose between the default in your toolkit or custom create it. Being as descriptive as possible will help in identification and troubleshooting. ### Responses #### 200 - Success #### 400 - Bad request. For example: Missing required headers, Missing required parameters, Malformed QBL and others. Message should provide more information, reach out to support if there's lack of clarity. #### 401 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot create apps and others. Message should provide more information. #### 403 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot create apps and others. Message should provide more information. #### 404 - A resource is missing. For example: The supplied solution or field does not exist. #### 4XX - Non-common error, reach out to support if there's lack of clarity. #### 5XX - Non-common error, reach out to support if there's lack of clarity. ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//solutions/{solutionId}/torecord?tableId=string&fieldId=value" ``` ``` -------------------------------- ### GET /solutions/{solutionId}/resources Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Returns the metadata and resource information for a solution, including both real and logical IDs of apps and pipelines contained within the solution. This endpoint provides programmatic access to solution structure information. ```markdown ### Parameters - **solutionId** (string, path, required): The unique identifier (UUID) or the alias of the solution. - **X-QBL-Errors-As-Success** (boolean, header, optional): If this header is set to true, the API will return a 207 status code even if errors occur. The response will contain X-QBL-Original-Status header with the original error code, and the response body will include the error details. - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): Information is entered by the person or utility invoking the API. Choose between the default in your toolkit or custom create it. Being as descriptive as possible will help in identification and troubleshooting. ### Responses #### 200 - Success #### 400 - Bad request. For example: Missing required headers, Missing required parameters, Invalid solution ID format and others. Message should provide more information, reach out to support if there's lack of clarity. #### 401 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot access the solution and others. Message should provide more information. #### 404 - Solution does not exist. The supplied solution ID was not found. #### 500 - Internal server error. An unexpected error occurred while processing the request. ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//solutions/{solutionId}/resources" ``` ``` -------------------------------- ### POST /users Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml 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'). ```markdown ### Parameters - **accountId** (number, query, optional): The account id being used to get users. If no value is specified, the first account associated with the requesting user token is chosen. - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): This is entered by the person or utility invoking the API. You might custom create this or use the default one of your toolkit. Being descriptive here may offer more identification and troubleshooting capabilities. ### Responses #### 200 - Success - **users** (array (object)) (required): A list of users found in an account with the given criterias - **metadata** (object) (required): Additional request information ### Example Usage ```bash curl -X POST "https://api.quickbase.com/v1//users?accountId=0" ``` ``` -------------------------------- ### GET /fields/usage Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Get all the field usage statistics for a table. This is a summary of the information that can be found in the usage table of field properties. ```markdown ### Parameters - **tableId** (string, query, required): The unique identifier (dbid) of the table. - **skip** (integer, query, optional): The number of fields to skip from the list. - **top** (integer, query, optional): The maximum number of fields to return. - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): This is entered by the person or utility invoking the API. You might custom create this or use the default one of your toolkit. Being descriptive here may offer more identification and troubleshooting capabilities. ### Responses #### 200 - Success - Array of object ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//fields/usage?tableId=string&skip=0&top=0" ``` ``` -------------------------------- ### GET /tables/{tableId} Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Gets the properties of an individual table that is part of an application. ```markdown ### Parameters - **appId** (string, query, required): The unique identifier of an app - **tableId** (string, path, required): The unique identifier (dbid) of the table. - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): This is entered by the person or utility invoking the API. You might custom create this or use the default one of your toolkit. Being descriptive here may offer more identification and troubleshooting capabilities. ### Responses #### 200 - Success - **name** (string): The name of the table. - **id** (string): The unique identifier (dbid) of the table. - **alias** (string): The automatically-created table alias for the table. - **description** (string): The description of the table, as configured by an application administrator. - **created** (string): The time and date when the table was created, in the ISO 8601 time format YYYY-MM-DDThh:mm:ss.sssZ (in UTC time zone). - **updated** (string): The time and date when the table schema or data was last updated, in the ISO 8601 time format YYYY-MM-DDThh:mm:ss.sssZ (in UTC time zone). - **nextRecordId** (integer): The incremental Record ID that will be used when the next record is created, as determined when the API call was ran. - **nextFieldId** (integer): The incremental Field ID that will be used when the next field is created, as determined when the API call was ran. - **defaultSortFieldId** (integer): The id of the field that is configured for default sorting. - **defaultSortOrder** (string (ASC|DESC)): The configuration of the default sort order on the table. ("ASC"|"DESC") - **keyFieldId** (integer): The id of the field that is configured to be the key on this table, which is usually the Quickbase Record ID. - **singleRecordName** (string): The builder-configured singular noun of the table. - **pluralRecordName** (string): The builder-configured plural noun of the table. - **sizeLimit** (string): The size limit for the table. - **spaceUsed** (string): The amount of space currently being used by the table. - **spaceRemaining** (string): The amount of space remaining for use by the table. ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//tables/{tableId}?appId=string" ``` ``` -------------------------------- ### GET /apps/{appId}/roles Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Retrieves all of the roles for an application. Requires admin access to an app. ```markdown ### Parameters - **appId** (string, path, required): The unique identifier of an app - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): Information is entered by the person or utility invoking the API. Choose between the default in your toolkit or custom create it. Being as descriptive as possible will help in identification and troubleshooting. ### Responses #### 200 - Success - Array of object ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//apps/{appId}/roles" ``` ``` -------------------------------- ### GET /apps/{appId}/events Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Get a list of events that can be triggered based on data or user actions in this application, includes: Email notification, Reminders, Subscriptions, QB Actions, Webhooks, record change triggered Automations (does not include scheduled). ```markdown ### Parameters - **appId** (string, path, required): The unique identifier of an app - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): Information is entered by the person or utility invoking the API. Choose between the default in your toolkit or custom create it. Being as descriptive as possible will help in identification and troubleshooting. ### Responses #### 200 - Success - Array of object ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//apps/{appId}/events" ``` ``` -------------------------------- ### GET /docTemplates/{templateId}/generate Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Generates a document from a template. After changing a template, allow up to 15 minutes for documents generated via the API to reflect the changes. This feature is only available on business or enterprise plans. ```markdown ### Parameters - **templateId** (number, path, required): This is the ID of document template. - **tableId** (string, query, required): The unique identifier of the table. - **recordId** (number, query, optional): The ID of the record - **filename** (string, query, required): File name for the downloaded file - **QB-Realm-Hostname** (unknown, header, optional): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): Information is entered by the person or utility invoking the API. Choose between the default in your toolkit or custom create it. Being as descriptive as possible will help in identification and troubleshooting. - **format** (unknown, query, optional): The format of the file that is returned. Default is "pdf". - **margin** (unknown, query, optional): Margin formatted as top right bottom left, separated by spaces. Add to override the value set in the template builder. - **unit** (unknown, query, optional): Unit of measurement for the margin. Default is "in". Add to override the value set in the template builder. - **pageSize** (unknown, query, optional): Page size. Default is "A4". Add to override the value set in the template builder. - **orientation** (unknown, query, optional): Page orientation. Default is "portrait". Add to override the value set in the template builder. - **realm** (unknown, query, optional): Your Quickbase domain, for example demo.quickbase.com ### Responses #### 200 - Success - **fileName** (string): The file name. - **data** (string): Base64 encoded file content. - **contentType** (string): The document content type. ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//docTemplates/{templateId}/generate?tableId=string&recordId=0&filename=string&format=value&margin=value&unit=value&pageSize=value&orientation=value&realm=value" ``` ``` -------------------------------- ### GET /solutions/{solutionId}/changeset/fromrecord Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Returns a list of changes that would occur if the QBL from the provided record were to be applied. We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/sections/26699387198228-QBL-Versions) in our QBL documentation. ```markdown ### Parameters - **solutionId** (string, path, required): The unique identifier of the solution. - **tableId** (string, query, required): The unique identifier (dbid) of the table. - **fieldId** (unknown, query, required): The unique identifier (fid) of the field. It needs to be a file attachment field. - **recordId** (unknown, query, required): The unique identifier of the record. - **X-QBL-Errors-As-Success** (boolean, header, optional): If this header is set to true, the API will return a 207 status code even if errors occur. The response will contain X-QBL-ORIGINAL-STATUS header with the original error code, and the response body will include the error details. - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): Information is entered by the person or utility invoking the API. Choose between the default in your toolkit or custom create it. Being as descriptive as possible will help in identification and troubleshooting. ### Responses #### 200 - Success #### 400 - Bad request. For example: Missing required headers, Missing required parameters, Malformed QBL and others. Message should provide more information, reach out to support if there's lack of clarity. #### 401 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot create apps and others. Message should provide more information. #### 403 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot create apps and others. Message should provide more information. #### 404 - A resource is missing. For example: The supplied solution, field or record does not exist. #### 4XX - Non-common error, reach out to support if there's lack of clarity. #### 5XX - Non-common error, reach out to support if there's lack of clarity. ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//solutions/{solutionId}/changeset/fromrecord?tableId=string&fieldId=value&recordId=value" ``` ``` -------------------------------- ### GET /files/{tableId}/{recordId}/{fieldId}/{versionNumber} Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml 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. ```markdown ### Parameters - **tableId** (string, path, required): The unique identifier of the table. - **recordId** (integer, path, required): The unique identifier of the record. - **fieldId** (integer, path, required): The unique identifier of the field. - **versionNumber** (integer, path, required): The file attachment version number. - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): Information is entered by the person or utility invoking the API. Choose between the default in your toolkit or custom create it. Being as descriptive as possible will help in identification and troubleshooting. ### Responses #### 200 - Success ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//files/{tableId}/{recordId}/{fieldId}/{versionNumber}" ``` ``` -------------------------------- ### POST /audit Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml 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. ```markdown ### Parameters - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): This is entered by the person or utility invoking the API. You might custom create this or use the default one of your toolkit. Being descriptive here may offer more identification and troubleshooting capabilities. ### Responses #### 200 - Query ran successfully and has returned the events for the given time period. - **queryId** (string) (required): Query id of the requested audit log. - **events** (array (object)): All events of the audit log. - **nextToken** (string): Token to fetch the next 1000 logs. #### 202 - Query still being processed. Pass the queryId back to the API to check for results. - **queryId** (string) (required): Query id of the requested audit log. ### Example Usage ```bash curl -X POST "https://api.quickbase.com/v1//audit" ``` ``` -------------------------------- ### POST /formula/run Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Allows running a formula via an API call. Use this method in custom code to get the value back of a formula without a discrete field on a record. ```markdown ### Parameters - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): This is entered by the person or utility invoking the API. You might custom create this or use the default one of your toolkit. Being descriptive here may offer more identification and troubleshooting capabilities. ### Responses #### 200 - Success - **result** (string): The formula execution result. ### Example Usage ```bash curl -X POST "https://api.quickbase.com/v1//formula/run" ``` ``` -------------------------------- ### GET /app/{appId}/trustees Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Returns the list of trustees for a specific application. Trustees include users, groups and email domain groups. ```markdown ### Parameters - **appId** (string, path, required): The unique identifier of an app - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): Information is entered by the person or utility invoking the API. Choose between the default in your toolkit or custom create it. Being as descriptive as possible will help in identification and troubleshooting. ### Responses #### 200 - Success - Array of object - **id** (string) (required): The ID of the user, group, or email domain group to be added as a trustee. For users and groups, this is the user's or group's ID in Quickbase. For email domain groups, this is the email domain. (example: "123456.ab1s") - **roleId** (integer) (required): The ID of the role to be assigned or currently assigned to the trustee. (example: 10) - **type** (string (user|group|dom-group)) (required): The type of trustee being added. This can be a user, group, or email domain group. (example: "user") ("user"|"group"|"dom-group") ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//app/{appId}/trustees" ``` ``` -------------------------------- ### POST /analytics/events/summaries Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Get event summaries for any span of days up to one year and excluding future dates. **Note:** This API is available for enterprise users only. Data is updated hourly; to ensure accuracy, query dates should be at least one hour in the past. Transactional rate limits are 100 per hour. ```markdown ### Parameters - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com. - **User-Agent** (string, header, optional): This is entered by the person or utility invoking the API. You might custom create this or use the default one of your toolkit. Being descriptive here may offer more identification and troubleshooting capabilities. - **accountId** (number, query, optional): The ID of the account to query. If no value is specified, the first account matching the provided domain is chosen. ### Responses #### 200 - Event summaries returned succesfully - **data** (object) (required) - **eventsSummaries** (object) (required) - **accountId** (string) (required): The ID of the account the events are associated with. - **start** (string (date-time)) (required): The start date and time of the requested summaries in ISO 8601 time format. - **end** (string (date-time)) (required): The end date and time of the requested summaries in ISO 8601 time format. - **groupBy** (string (app|user)) (required): How the events should be grouped. ("app"|"user") - **where** (array (object)) (required) Array items: - **id** (string) (required): Id of the item to filter by. - **type** (string (app|user)) (required): The type of item to filter by. ("app"|"user") - **results** (array (object)) (required): An array of objects that contains Application/User information and an events object with summaries by event type. Array items: - **id** (string) (required): Id of the Application/User. - **name** (string) (required): Name of the Application/User. - **totals** (object) (required): Totals by billing category for the event grouping. - **integration** (number) - **user** (number) - **all** (number) - **eventTypes** (array (object)) (required): An array of events that contains specific information associated with an Application/User broken down by event type. Array items: - **eventType** (string): Event type - **count** (integer): Count of events associated with that event type and Application/User. - **billingCategory** (string (user|integration)): Billing category of the event type. ("user"|"integration") - **metadata** (object) (required): Additional information about the results that may be helpful. - **nextToken** (string) (required): Supply this token in a subsequent request to fetch the next page of results. - **totals** (object) (required): Totals by billing category for all queried events. - **integration** (number) - **user** (number) - **all** (number) ### Example Usage ```bash curl -X POST "https://api.quickbase.com/v1//analytics/events/summaries?accountId=0" ``` ``` -------------------------------- ### POST /solutions Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Creates a solution using the provided QBL. Learn more about [QBL syntax](https://help.quickbase.com/hc/en-us/articles/24845511223828-What-is-QBL). We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/sections/26699387198228-QBL-Versions) in our QBL documentation. ```markdown ### Parameters - **X-QBL-Errors-As-Success** (boolean, header, optional): If this header is set to true, the API will return a 207 status code even if errors occur. The response will contain X-QBL-ORIGINAL-STATUS header with the original error code, and the response body will include the error details. - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): Information is entered by the person or utility invoking the API. Choose between the default in your toolkit or custom create it. Being as descriptive as possible will help in identification and troubleshooting. ### Responses #### 200 - Success #### 400 - Bad request. For example: Missing required headers, Missing required parameters, Malformed QBL and others. Message should provide more information, reach out to support if there's lack of clarity. #### 401 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot create apps and others. Message should provide more information. #### 403 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot create apps and others. Message should provide more information. #### 4XX - Non-common error, reach out to support if there's lack of clarity. #### 5XX - Non-common error, reach out to support if there's lack of clarity. ### Example Usage ```bash curl -X POST "https://api.quickbase.com/v1//solutions" ``` ``` -------------------------------- ### GET /reports/{reportId} Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Get the schema (properties) of an individual report. ```markdown ### Parameters - **tableId** (string, query, required): The unique identifier of table. - **reportId** (string, path, required): The identifier of the report, unique to the table. - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): This is entered by the person or utility invoking the API. You might custom create this or use the default one of your toolkit. Being descriptive here may offer more identification and troubleshooting capabilities. ### Responses #### 200 - Success - **id** (string): The identifier of the report, unique to the table. - **name** (string): The configured name of the report. - **type** (string): The type of report in Quickbase (e.g., chart). - **description** (string): The configured description of a report. - **ownerId** (integer): Optional, showed only for personal reports. The user ID of report owner. - **query** (object): The query definition as configured in Quickbase that gets executed when the report is run. - **properties** (object): A list of properties specific to the report type. To see a detailed description of the properties for each report type, See [Report Types.](../reportTypes) - **usedLast** (string): The instant at which a report was last used. - **usedCount** (integer): The number of times a report has been used. ### Example Usage ```bash curl -X GET "https://api.quickbase.com/v1//reports/{reportId}?tableId=string" ``` ``` -------------------------------- ### PUT /solutions/{solutionId} Source: https://raw.githubusercontent.com/jtorrence1/qb-openapi-spec/refs/heads/main/openapi.yaml Updates the solution using the provided QBL. Learn more about [QBL syntax](https://help.quickbase.com/hc/en-us/articles/24845511223828-What-is-QBL). We are releasing schema coverage for QBL in stages. See [what's supported today](https://helpv2.quickbase.com/hc/en-us/sections/26699387198228-QBL-Versions) in our QBL documentation. ```markdown ### Parameters - **solutionId** (string, path, required): The unique identifier (UUID) or the alias of the solution. - **X-QBL-Errors-As-Success** (boolean, header, optional): If this header is set to true, the API will return a 207 status code even if errors occur. The response will contain X-QBL-ORIGINAL-STATUS header with the original error code, and the response body will include the error details. - **QB-Realm-Hostname** (string, header, required): Your Quickbase domain, for example demo.quickbase.com - **User-Agent** (string, header, optional): Information is entered by the person or utility invoking the API. Choose between the default in your toolkit or custom create it. Being as descriptive as possible will help in identification and troubleshooting. ### Responses #### 200 - Success #### 400 - Bad request. For example: Missing required headers, Missing required parameters, Malformed QBL and others. Message should provide more information, reach out to support if there's lack of clarity. #### 401 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot create apps and others. Message should provide more information. #### 403 - Insufficient access. This could be for many reasons such as: User doesn't have SolutionHub access, User is not the owner or a contributor for the solution, User cannot create apps and others. Message should provide more information. #### 4XX - Non-common error, reach out to support if there's lack of clarity. #### 5XX - Non-common error, reach out to support if there's lack of clarity. ### Example Usage ```bash curl -X PUT "https://api.quickbase.com/v1//solutions/{solutionId}" ``` ```