{ "openapi": "3.0.3", "info": { "title": "Quick Base API", "version": "1.0.0", "description": "QuickBase JSON RESTful API" }, "servers": [ { "url": "https://api.quickbase.com/v1/", "description": "QuickBase API" } ], "paths": { "/apps": { "post": { "operationId": "createApp", "summary": "Create an app", "description": "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.", "tags": [ "Apps" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "description": "The example below shows all the properties that can be set with this request. Additional properties that you can see, with the corresponding GET request, cannot be set through this API. See individual property descriptions below for details on how to set or change each.", "example": { "value": { "name": "My App", "description": "My first app", "assignToken": true, "securityProperties": { "allowClone": false, "allowExport": false, "enableAppTokens": false, "hideFromPublic": false, "mustBeRealmApproved": true, "useIPFilter": true }, "variables": [ { "name": "Variable1", "value": "Value1" } ] } }, "type": "object", "additionalProperties": false, "required": [ "name" ], "properties": { "assignToken": { "description": "Set to true if you would like to assign the app to the user token you used to create the application. The default is false.", "example": false, "type": "boolean" }, "variables": { "description": "The app variables. A maximum of 10 variables can be inserted at a time. See [About Application Variables](https://help.quickbase.com/user-assistance/variables.html)", "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "name", "value" ], "properties": { "name": { "description": "The name for the variable.", "type": "string" }, "value": { "description": "The value for the variable.", "type": "string" } } } }, "name": { "description": "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.", "type": "string" }, "securityProperties": { "description": "Application security properties.", "type": "object", "additionalProperties": false, "properties": { "hideFromPublic": { "description": "Hide from public application searches", "type": "boolean" }, "mustBeRealmApproved": { "description": "Only \"approved\" users may access this application", "type": "boolean" }, "allowClone": { "description": "Allow users who are not administrators to copy", "type": "boolean" }, "useIPFilter": { "description": "Only users logging in from \"approved\" IP addresses may access this application", "type": "boolean" }, "allowExport": { "description": "Allow users who are not administrators to export data", "type": "boolean" }, "enableAppTokens": { "description": "Require Application Tokens", "type": "boolean" } } }, "description": { "description": "The description for the app. If this property is left out, the app description will be blank.", "type": "string" } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "x-amf-examples": { "Simple Application": { "created": "2020-03-27T18:34:12Z", "dateFormat": "MM-DD-YYYY", "description": "My testing app", "hasEveryoneOnTheInternet": true, "id": "bpqe82s1", "memoryInfo": { "estMemory": 1, "estMemoryInclDependentApps": 2 }, "name": "Testing App", "securityProperties": { "allowClone": false, "allowExport": false, "enableAppTokens": false, "hideFromPublic": false, "mustBeRealmApproved": true, "useIPFilter": true }, "timeZone": "(UTC-08:00) Pacific Time (US & Canada)", "updated": "2020-04-03T19:12:20Z", "dataClassification": "Confidential" }, "Application with defined variables": { "description": "This examples shows the response of an application that contains one or more variables.", "value": { "created": "2020-03-27T18:34:12Z", "dateFormat": "MM-DD-YYYY", "description": "My testing app", "hasEveryoneOnTheInternet": true, "id": "bpqe82s1", "memoryInfo": { "estMemory": 1, "estMemoryInclDependentApps": 2 }, "name": "Testing App", "securityProperties": { "allowClone": false, "allowExport": false, "enableAppTokens": false, "hideFromPublic": false, "mustBeRealmApproved": true, "useIPFilter": true }, "timeZone": "(UTC-08:00) Pacific Time (US & Canada)", "variables": [ { "name": "Project End Date", "value": "7-16-2025" }, { "name": "Project Manager Email", "value": "p.diaz@company.com" } ], "updated": "2020-04-03T19:12:20Z" } } }, "type": "object", "additionalProperties": true, "required": [ "name" ], "properties": { "name": { "description": "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.", "type": "string" }, "description": { "description": "The description for the app. If this property is left out, the app description will be blank.", "type": "string" }, "created": { "description": "The time and date the app was created, in the ISO 8601 time format YYYY-MM-DDThh:mm:ss.sssZ (in UTC time zone).", "type": "string" }, "updated": { "description": "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).", "type": "string" }, "dateFormat": { "description": "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/docs/how-to-localize-dates) to set the app's date format.", "type": "string" }, "timeZone": { "description": "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/docs/set-the-time-zone-for-both-the-application-and-the-account) to set the application's time zone.", "type": "string" }, "memoryInfo": { "$ref": "#/components/schemas/CreateAppMemoryInfo" }, "id": { "description": "The unique identifier for this application.", "type": "string" }, "hasEveryoneOnTheInternet": { "description": "Indicates whether app includes Everyone On The Internet access. See [Sharing apps with Everyone on the Internet (EOTI).](https://help.quickbase.com/docs/sharing-apps-publicly)", "type": "boolean" }, "variables": { "description": "The app variables. See [About Application Variables](https://help.quickbase.com/user-assistance/variables.html)", "type": "array", "items": { "$ref": "#/components/schemas/CreateAppVariablesItem" } }, "dataClassification": { "description": "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.", "type": "string" }, "securityProperties": { "$ref": "#/components/schemas/CreateAppSecurityProperties" } } } } } } } } }, "/apps/{appId}": { "get": { "operationId": "getApp", "summary": "Get an app", "description": "Returns the main properties of an application, including application variables.", "tags": [ "Apps" ], "parameters": [ { "name": "appId", "in": "path", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "x-amf-examples": { "Simple Application": { "ancestorId": "bqhskthaq", "created": "2020-03-27T18:34:12Z", "dateFormat": "MM-DD-YYYY", "description": "My testing app", "hasEveryoneOnTheInternet": true, "memoryInfo": { "estMemory": 1, "estMemoryInclDependentApps": 2 }, "id": "bpqe82s1", "name": "Testing App", "securityProperties": { "allowClone": false, "allowExport": false, "enableAppTokens": false, "hideFromPublic": false, "mustBeRealmApproved": true, "useIPFilter": true }, "timeZone": "(UTC-08:00) Pacific Time (US & Canada)", "updated": "2020-04-03T19:12:20Z", "dataClassification": "Confidential" }, "Application with defined variables": { "description": "This examples shows the response of an application that contains one or more variables.", "value": { "ancestorId": "bqhskthaq", "created": "2020-03-27T18:34:12Z", "dateFormat": "MM-DD-YYYY", "description": "My testing app", "hasEveryoneOnTheInternet": true, "id": "bpqe82s1", "memoryInfo": { "estMemory": 1, "estMemoryInclDependentApps": 2 }, "name": "Testing App", "securityProperties": { "allowClone": false, "allowExport": false, "enableAppTokens": false, "hideFromPublic": false, "mustBeRealmApproved": true, "useIPFilter": true }, "timeZone": "(UTC-08:00) Pacific Time (US & Canada)", "variables": [ { "name": "Project End Date", "value": "7-16-2025" }, { "name": "Project Manager Email", "value": "p.diaz@company.com" } ], "updated": "2020-04-03T19:12:20Z" } } }, "type": "object", "additionalProperties": true, "required": [ "name" ], "properties": { "ancestorId": { "description": "The id of the app from which this app was copied", "type": "string" }, "name": { "description": "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.", "type": "string" }, "description": { "description": "The description for the app. If this property is left out, the app description will be blank.", "type": "string" }, "created": { "description": "The time and date the app was created, in the ISO 8601 time format YYYY-MM-DDThh:mm:ss.sssZ (in UTC time zone).", "type": "string" }, "updated": { "description": "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).", "type": "string" }, "dateFormat": { "description": "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.", "type": "string" }, "timeZone": { "description": "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.", "type": "string" }, "memoryInfo": { "$ref": "#/components/schemas/GetAppMemoryInfo" }, "id": { "description": "The unique identifier for this application.", "type": "string" }, "hasEveryoneOnTheInternet": { "description": "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)", "type": "boolean" }, "variables": { "description": "The app variables. See [About Application Variables](https://help.quickbase.com/docs/creating-and-using-application-variables)", "type": "array", "items": { "$ref": "#/components/schemas/GetAppVariablesItem" } }, "dataClassification": { "description": "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.", "type": "string" }, "securityProperties": { "$ref": "#/components/schemas/GetAppSecurityProperties" } } } } } } } }, "post": { "operationId": "updateApp", "summary": "Update an app", "description": "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.", "tags": [ "Apps" ], "parameters": [ { "name": "appId", "in": "path", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "description": "The example below shows all the properties that can be changed with this request. Additional properties that you can see with the corresponding GET request cannot be set through this API. See individual property descriptions below for details on how to set or change each.", "example": { "value": { "name": "My App", "description": "My first app", "variables": [ { "name": "Variable1", "value": "Value1" } ] } }, "type": "object", "additionalProperties": false, "properties": { "variables": { "description": "The app variables. A maximum of 10 variables can be updated at a time. See [About Application Variables](https://help.quickbase.com/user-assistance/variables.html)", "type": "array", "items": { "type": "object", "additionalProperties": false, "required": [ "name", "value" ], "properties": { "name": { "description": "The name for the variable.", "type": "string" }, "value": { "description": "The value for the variable.", "type": "string" } } } }, "name": { "description": "The name for the app.", "type": "string" }, "securityProperties": { "description": "Security properties of the application", "type": "object", "additionalProperties": false, "properties": { "hideFromPublic": { "description": "Hide from public application searches", "type": "boolean" }, "mustBeRealmApproved": { "description": "Only \"approved\" users may access this application", "type": "boolean" }, "allowClone": { "description": "Allow users who are not administrators to copy", "type": "boolean" }, "useIPFilter": { "description": "Only users logging in from \"approved\" IP addresses may access this application", "type": "boolean" }, "allowExport": { "description": "Allow users who are not administrators to export data", "type": "boolean" }, "enableAppTokens": { "description": "Require Application Tokens", "type": "boolean" } } }, "description": { "description": "The description for the app.", "type": "string" } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "x-amf-examples": { "Simple Application": { "ancestorId": "bqhskthaq", "created": "2020-03-27T18:34:12Z", "dateFormat": "MM-DD-YYYY", "description": "My testing app", "hasEveryoneOnTheInternet": true, "memoryInfo": { "estMemory": 1, "estMemoryInclDependentApps": 2 }, "id": "bpqe82s1", "name": "Testing App", "securityProperties": { "allowClone": false, "allowExport": false, "enableAppTokens": false, "hideFromPublic": false, "mustBeRealmApproved": true, "useIPFilter": true }, "timeZone": "(UTC-08:00) Pacific Time (US & Canada)", "updated": "2020-04-03T19:12:20Z", "dataClassification": "Confidential" }, "Application with defined variables": { "description": "This examples shows the response of an application that contains one or more variables.", "value": { "ancestorId": "bqhskthaq", "created": "2020-03-27T18:34:12Z", "dateFormat": "MM-DD-YYYY", "description": "My testing app", "hasEveryoneOnTheInternet": true, "id": "bpqe82s1", "memoryInfo": { "estMemory": 1, "estMemoryInclDependentApps": 2 }, "name": "Testing App", "securityProperties": { "allowClone": false, "allowExport": false, "enableAppTokens": false, "hideFromPublic": false, "mustBeRealmApproved": true, "useIPFilter": true }, "timeZone": "(UTC-08:00) Pacific Time (US & Canada)", "variables": [ { "name": "Project End Date", "value": "7-16-2025" }, { "name": "Project Manager Email", "value": "p.diaz@company.com" } ], "updated": "2020-04-03T19:12:20Z" } } }, "type": "object", "additionalProperties": true, "required": [ "name" ], "properties": { "ancestorId": { "description": "The id of the app from which this app was copied", "type": "string" }, "name": { "description": "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.", "type": "string" }, "description": { "description": "The description for the app. If this property is left out, the app description will be blank.", "type": "string" }, "created": { "description": "The time and date the app was created, in the ISO 8601 time format YYYY-MM-DDThh:mm:ss.sssZ (in UTC time zone).", "type": "string" }, "updated": { "description": "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).", "type": "string" }, "dateFormat": { "description": "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.", "type": "string" }, "timeZone": { "description": "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.", "type": "string" }, "memoryInfo": { "$ref": "#/components/schemas/UpdateAppMemoryInfo" }, "id": { "description": "The unique identifier for this application.", "type": "string" }, "hasEveryoneOnTheInternet": { "description": "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)", "type": "boolean" }, "variables": { "description": "The app variables. See [About Application Variables](https://help.quickbase.com/user-assistance/variables.html)", "type": "array", "items": { "$ref": "#/components/schemas/UpdateAppVariablesItem" } }, "dataClassification": { "description": "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.", "type": "string" }, "securityProperties": { "$ref": "#/components/schemas/UpdateAppSecurityProperties" } } } } } } } }, "delete": { "operationId": "deleteApp", "summary": "Delete an app", "description": "Deletes an entire application, including all of the tables and data.", "tags": [ "Apps" ], "parameters": [ { "name": "appId", "in": "path", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "example": { "name": "Name of an application to delete" }, "type": "object", "additionalProperties": false, "required": [ "name" ], "properties": { "name": { "description": "To confirm application deletion we ask for application name.", "type": "string" } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "deletedAppId": "bqhskthaq" }, "type": "object", "additionalProperties": true, "properties": { "deletedAppId": { "description": "An ID of deleted application.", "type": "string" } } } } } } } } }, "/apps/{appId}/events": { "get": { "operationId": "getAppEvents", "summary": "Get app events", "description": "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).", "tags": [ "Apps" ], "parameters": [ { "name": "appId", "in": "path", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": [ { "type": "qb-action", "owner": { "email": "jsmith@quickbase.com", "id": "123456.ab1s", "name": "Juliet Smith", "userName": "jsmith" }, "isActive": true, "tableId": "bqwriv8bw", "name": "Quick Base Action" }, { "type": "webhook", "owner": { "email": "tanderson@quickbase.com", "id": "654321.ab1s", "name": "Thomas A. Anderson", "userName": "tanderson" }, "isActive": false, "tableId": "bqwriv8bw", "name": "Webhook" }, { "type": "email-notification", "owner": { "email": "jsmith@quickbase.com", "id": "123456.ab1s", "name": "Juliet Smith", "userName": "jsmith" }, "isActive": false, "tableId": "bqwriv8bw", "name": "Notification" }, { "type": "subscription", "owner": { "email": "tanderson@quickbase.com", "id": "654321.ab1s", "name": "Thomas A. Anderson", "userName": "tanderson" }, "isActive": true, "tableId": "bqwriv8bw", "name": "Subscription" }, { "type": "reminder", "owner": { "email": "jsmith@quickbase.com", "id": "123456.ab1s", "name": "Juliet Smith", "userName": "jsmith" }, "isActive": true, "tableId": "bqwriv8bw", "name": "Reminder" }, { "type": "automation", "owner": { "email": "tanderson@quickbase.com", "id": "654321.ab1s", "name": "Thomas A. Anderson", "userName": "tanderson" }, "isActive": true, "tableId": "bqwriv8bw", "url": "https://realm.quickbase.com/ui/automation/qb/db/bqwria893/automations/70eecab9-634f-42d9-9037-9340a1a9e8ce" } ], "type": "array", "items": { "$ref": "#/components/schemas/GetAppEventsItem" } } } } } } } }, "/apps/{appId}/copy": { "post": { "operationId": "copyApp", "summary": "Copy an app", "description": "Copies the specified application. The new application will have the same schema as the original. See below for additional copy options.", "tags": [ "Apps" ], "parameters": [ { "name": "appId", "in": "path", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "example": { "name": "my copied app", "description": "copied from my original app", "properties": { "keepData": false, "excludeFiles": true, "usersAndRoles": false, "assignUserToken": true } }, "type": "object", "additionalProperties": false, "required": [ "name" ], "properties": { "name": { "description": "The name of the newly copied app", "type": "string" }, "description": { "description": "The description of the newly copied app", "type": "string" }, "properties": { "description": "The configuration properties for performing the app copy", "type": "object", "additionalProperties": false, "properties": { "assignUserToken": { "description": "Whether to add the user token used to make this request to the new app", "type": "boolean" }, "excludeFiles": { "description": "If keepData is true, whether to copy the file attachments as well. If keepData is false, this property is ignored", "type": "boolean" }, "keepData": { "description": "Whether to copy the app's data along with the schema", "type": "boolean" }, "usersAndRoles": { "description": "If true, users will be copied along with their assigned roles. If false, users and roles will be copied but roles will not be assigned", "type": "boolean" } } } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "ancestorId": "bqhskthaq", "created": "2020-03-27T18:34:12Z", "dateFormat": "MM-DD-YYYY", "description": "My testing app", "hasEveryoneOnTheInternet": true, "id": "bpqe82s1", "name": "Testing App", "timeZone": "(UTC-08:00) Pacific Time (US & Canada)", "updated": "2020-04-03T19:12:20Z", "dataClassification": "None" }, "type": "object", "additionalProperties": true, "required": [ "name" ], "properties": { "name": { "description": "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.", "type": "string" }, "description": { "description": "The description for the app", "type": "string" }, "created": { "description": "The time and date the app was created, in the ISO 8601 time format YYYY-MM-DDThh:mm:ss.sssZ (in UTC time zone).", "type": "string" }, "updated": { "description": "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).", "type": "string" }, "dateFormat": { "description": "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.", "type": "string" }, "timeZone": { "description": "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.", "type": "string" }, "id": { "description": "The unique identifier for this application.", "type": "string" }, "hasEveryoneOnTheInternet": { "description": "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)", "type": "boolean" }, "variables": { "description": "The app variables. See [About Application Variables](https://help.quickbase.com/user-assistance/variables.html)", "type": "array", "items": { "$ref": "#/components/schemas/CopyAppVariablesItem" } }, "ancestorId": { "description": "The id of the app from which this app was copied", "type": "string" }, "dataClassification": { "description": "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.", "type": "string" } } } } } } } } }, "/apps/{appId}/roles": { "get": { "operationId": "getRoles", "summary": "Get app roles", "description": "Retrieves all of the roles for an application. Requires admin access to an app.", "tags": [ "Apps" ], "parameters": [ { "name": "appId", "in": "path", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": [ { "access": { "id": 3, "type": "Basic Access" }, "id": 10, "name": "Viewer" }, { "access": { "id": 2, "type": "Basic Access with Share" }, "id": 11, "name": "Participant" } ], "type": "array", "items": { "$ref": "#/components/schemas/GetRolesItem" } } } } } } } }, "/tables": { "get": { "operationId": "getAppTables", "summary": "Get tables for an app", "description": "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.", "tags": [ "Tables" ], "parameters": [ { "name": "appId", "in": "query", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": [ { "name": "Example Table #0", "created": "2020-03-27T18:34:40Z", "updated": "2020-04-03T19:12:40Z", "alias": "_dbid_example_table_#0", "description": "Table zero as an example.", "id": "bpqe82s1", "nextRecordId": 1, "nextFieldId": 1, "defaultSortFieldId": 2, "defaultSortOrder": "ASC", "keyFieldId": 3, "singleRecordName": "Example Record", "pluralRecordName": "Example Records", "sizeLimit": "150 MB", "spaceUsed": "17 MB", "spaceRemaining": "133 MB" }, { "name": "Example Table #2", "created": "2020-03-27T18:34:40Z", "updated": "2020-04-03T19:12:40Z", "alias": "_dbid_example_table_#2", "description": "Table two as an example.", "id": "bpqe82z1", "nextRecordId": 10, "nextFieldId": 111, "defaultSortFieldId": 12, "defaultSortOrder": "DESC", "keyFieldId": 33, "singleRecordName": "Another Record", "pluralRecordName": "More Records", "sizeLimit": "150 MB", "spaceUsed": "22 MB", "spaceRemaining": "128 MB" } ], "type": "array", "items": { "$ref": "#/components/schemas/GetAppTablesItem" } } } } } } }, "post": { "operationId": "createTable", "summary": "Create a table", "description": "Creates a table in an application.", "tags": [ "Tables" ], "parameters": [ { "name": "appId", "in": "query", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "description": "The example below shows all the properties that can be changed with this request. Additional properties that you can see with the corresponding GET request cannot be set through this API.", "example": { "name": "My table", "description": "my first table", "singleRecordName": "record", "pluralRecordName": "records" }, "type": "object", "additionalProperties": true, "required": [ "name" ], "properties": { "name": { "description": "The name for the table.", "type": "string", "minLength": 1 }, "pluralRecordName": { "description": "The plural noun for records in the table. If this value is not passed the default value is 'Records'.", "type": "string" }, "singleRecordName": { "description": "The singular noun for records in the table. If this value is not passed the default value is 'Record'.", "type": "string" }, "description": { "description": "The description for the table. If this value is not passed the default value is blank.", "type": "string" } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "name": "Example Table", "created": "2020-03-27T18:34:40Z", "updated": "2020-04-03T19:12:40Z", "alias": "_dbid_example_table", "description": "Table as an example.", "id": "bpqe82s0", "nextRecordId": 1, "nextFieldId": 1, "defaultSortFieldId": 2, "defaultSortOrder": "ASC", "keyFieldId": 3, "singleRecordName": "Example Record", "pluralRecordName": "Example Records", "sizeLimit": "150 MB", "spaceUsed": "17 MB", "spaceRemaining": "133 MB" }, "type": "object", "additionalProperties": true, "properties": { "name": { "description": "The name of the table.", "type": "string" }, "id": { "description": "The unique identifier (dbid) of the table.", "type": "string" }, "alias": { "description": "The automatically-created table alias for the table.", "type": "string" }, "description": { "description": "The description of the table, as configured by an application administrator.", "type": "string" }, "created": { "description": "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).", "type": "string" }, "updated": { "description": "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).", "type": "string" }, "nextRecordId": { "description": "The incremental Record ID that will be used when the next record is created, as determined when the API call was ran.", "type": "integer" }, "nextFieldId": { "description": "The incremental Field ID that will be used when the next field is created, as determined when the API call was ran.", "type": "integer" }, "defaultSortFieldId": { "description": "The id of the field that is configured for default sorting.", "type": "integer" }, "defaultSortOrder": { "description": "The configuration of the default sort order on the table.", "enum": [ "ASC", "DESC" ], "type": "string" }, "keyFieldId": { "description": "The id of the field that is configured to be the key on this table, which is usually the Quickbase Record ID.", "type": "integer" }, "singleRecordName": { "description": "The builder-configured singular noun of the table.", "type": "string" }, "pluralRecordName": { "description": "The builder-configured plural noun of the table.", "type": "string" }, "sizeLimit": { "description": "The size limit for the table.", "type": "string" }, "spaceUsed": { "description": "The amount of space currently being used by the table.", "type": "string" }, "spaceRemaining": { "description": "The amount of space remaining for use by the table.", "type": "string" } } } } } } } } }, "/tables/{tableId}": { "get": { "operationId": "getTable", "summary": "Get a table", "description": "Gets the properties of an individual table that is part of an application.", "tags": [ "Tables" ], "parameters": [ { "name": "appId", "in": "query", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } }, { "name": "tableId", "in": "path", "description": "The unique identifier (dbid) of the table.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "name": "Example Table", "created": "2020-03-27T18:34:40Z", "updated": "2020-04-03T19:12:40Z", "alias": "_dbid_example_table", "description": "Table as an example.", "id": "bpqe82s0", "nextRecordId": 1, "nextFieldId": 1, "defaultSortFieldId": 2, "defaultSortOrder": "ASC", "keyFieldId": 3, "singleRecordName": "Example Record", "pluralRecordName": "Example Records", "sizeLimit": "150 MB", "spaceUsed": "17 MB", "spaceRemaining": "133 MB" }, "type": "object", "additionalProperties": true, "properties": { "name": { "description": "The name of the table.", "type": "string" }, "id": { "description": "The unique identifier (dbid) of the table.", "type": "string" }, "alias": { "description": "The automatically-created table alias for the table.", "type": "string" }, "description": { "description": "The description of the table, as configured by an application administrator.", "type": "string" }, "created": { "description": "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).", "type": "string" }, "updated": { "description": "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).", "type": "string" }, "nextRecordId": { "description": "The incremental Record ID that will be used when the next record is created, as determined when the API call was ran.", "type": "integer" }, "nextFieldId": { "description": "The incremental Field ID that will be used when the next field is created, as determined when the API call was ran.", "type": "integer" }, "defaultSortFieldId": { "description": "The id of the field that is configured for default sorting.", "type": "integer" }, "defaultSortOrder": { "description": "The configuration of the default sort order on the table.", "enum": [ "ASC", "DESC" ], "type": "string" }, "keyFieldId": { "description": "The id of the field that is configured to be the key on this table, which is usually the Quickbase Record ID.", "type": "integer" }, "singleRecordName": { "description": "The builder-configured singular noun of the table.", "type": "string" }, "pluralRecordName": { "description": "The builder-configured plural noun of the table.", "type": "string" }, "sizeLimit": { "description": "The size limit for the table.", "type": "string" }, "spaceUsed": { "description": "The amount of space currently being used by the table.", "type": "string" }, "spaceRemaining": { "description": "The amount of space remaining for use by the table.", "type": "string" } } } } } } } }, "post": { "operationId": "updateTable", "summary": "Update a table", "description": "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.", "tags": [ "Tables" ], "parameters": [ { "name": "appId", "in": "query", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } }, { "name": "tableId", "in": "path", "description": "The unique identifier (dbid) of the table.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "description": "The example below shows all the properties that can be changed with this request. Additional properties that you can see with the corresponding GET request cannot be set through this API.", "example": { "name": "My table", "description": "my first table", "singleRecordName": "record", "pluralRecordName": "records" }, "type": "object", "additionalProperties": true, "properties": { "name": { "description": "The name for the table.", "type": "string" }, "pluralRecordName": { "description": "The plural noun for records in the table. If this value is not passed the default value is 'Records'.", "type": "string" }, "singleRecordName": { "description": "The singular noun for records in the table. If this value is not passed the default value is 'Record'.", "type": "string" }, "description": { "description": "The description for the table. If this value is not passed the default value is blank.", "type": "string" } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "name": "Example Table", "created": "2020-03-27T18:34:40Z", "updated": "2020-04-03T19:12:40Z", "alias": "_dbid_example_table", "description": "Table as an example.", "id": "bpqe82s0", "nextRecordId": 1, "nextFieldId": 1, "defaultSortFieldId": 2, "defaultSortOrder": "ASC", "keyFieldId": 3, "singleRecordName": "Example Record", "pluralRecordName": "Example Records", "sizeLimit": "150 MB", "spaceUsed": "17 MB", "spaceRemaining": "133 MB" }, "type": "object", "additionalProperties": true, "properties": { "name": { "description": "The name of the table.", "type": "string" }, "id": { "description": "The unique identifier (dbid) of the table.", "type": "string" }, "alias": { "description": "The automatically-created table alias for the table.", "type": "string" }, "description": { "description": "The description of the table, as configured by an application administrator.", "type": "string" }, "created": { "description": "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).", "type": "string" }, "updated": { "description": "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).", "type": "string" }, "nextRecordId": { "description": "The incremental Record ID that will be used when the next record is created, as determined when the API call was ran.", "type": "integer" }, "nextFieldId": { "description": "The incremental Field ID that will be used when the next field is created, as determined when the API call was ran.", "type": "integer" }, "defaultSortFieldId": { "description": "The id of the field that is configured for default sorting.", "type": "integer" }, "defaultSortOrder": { "description": "The configuration of the default sort order on the table.", "enum": [ "ASC", "DESC" ], "type": "string" }, "keyFieldId": { "description": "The id of the field that is configured to be the key on this table, which is usually the Quickbase Record ID.", "type": "integer" }, "singleRecordName": { "description": "The builder-configured singular noun of the table.", "type": "string" }, "pluralRecordName": { "description": "The builder-configured plural noun of the table.", "type": "string" }, "sizeLimit": { "description": "The size limit for the table.", "type": "string" }, "spaceUsed": { "description": "The amount of space currently being used by the table.", "type": "string" }, "spaceRemaining": { "description": "The amount of space remaining for use by the table.", "type": "string" } } } } } } } }, "delete": { "operationId": "deleteTable", "summary": "Delete a table", "description": "Deletes a specific table in an application, including all of the data within it.", "tags": [ "Tables" ], "parameters": [ { "name": "appId", "in": "query", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } }, { "name": "tableId", "in": "path", "description": "The unique identifier (dbid) of the table.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "deletedTableId": "bck7gp3q2" }, "type": "object", "additionalProperties": true, "properties": { "deletedTableId": { "description": "The deleted table id.", "type": "string" } } } } } } } } }, "/tables/{tableId}/relationships": { "get": { "operationId": "getRelationships", "summary": "Get all relationships", "description": "Get a list of all relationships, and their definitions, for a specific table. Details are provided for the child side of relationships within a given application. Limited details are returned for cross-application relationships.", "tags": [ "Tables" ], "parameters": [ { "name": "skip", "in": "query", "description": "The number of relationships to skip.", "required": false, "schema": { "type": "integer" } }, { "name": "tableId", "in": "path", "description": "The unique identifier (dbid) of the child table.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "metadata": { "numRelationships": 1, "skip": 0, "totalRelationships": 1 }, "relationships": [ { "childTableId": "bqqjnwsuy", "foreignKeyField": { "id": 6, "label": "Related record", "type": "numeric" }, "id": 6, "isCrossApp": false, "lookupFields": [ { "id": 3, "label": "Name", "type": "text" } ], "parentTableId": "bck7gp3q2", "summaryFields": [ { "id": 8, "label": "my summary field", "type": "numeric" } ] } ] }, "type": "object", "additionalProperties": true, "required": [ "relationships" ], "properties": { "relationships": { "description": "The relationships in a table.", "type": "array", "items": { "$ref": "#/components/schemas/GetRelationshipsRelationshipsItem" } }, "metadata": { "$ref": "#/components/schemas/GetRelationshipsMetadata" } } } } } } } } }, "/tables/{tableId}/relationship": { "post": { "operationId": "createRelationship", "summary": "Create a relationship", "description": "Creates a relationship in a table as well as lookup/summary fields. Relationships can only be created for tables within the same app.", "tags": [ "Tables" ], "parameters": [ { "name": "tableId", "in": "path", "description": "The unique identifier (dbid) of the table. This will be the child table.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "example": { "parentTableId": "bck7gp3q2", "foreignKeyField": { "label": "my relationship field" }, "lookupFieldIds": [ 1, 2, 3 ], "summaryFields": [ { "summaryFid": 3, "label": "my first summary field", "accumulationType": "AVG", "where": "{'3'.EX.1}" }, { "summaryFid": 4, "label": "my second summary field", "accumulationType": "SUM" } ] }, "type": "object", "additionalProperties": false, "required": [ "parentTableId" ], "properties": { "summaryFields": { "description": "Array of summary field objects which will turn into summary fields in the parent table. When you specify the 'COUNT' accumulation type, you have to specify 0 as the summaryFid (or not set it in the request). 'DISTINCT-COUNT' requires that summaryFid be set to an actual fid.", "type": "array", "items": { "type": "object", "additionalProperties": true, "required": [ "accumulationType" ], "properties": { "summaryFid": { "description": "The field id to summarize.", "type": "number" }, "label": { "description": "The label for the summary field.", "type": "string" }, "accumulationType": { "description": "The accumulation type for the summary field.", "enum": [ "AVG", "SUM", "MAX", "MIN", "STD-DEV", "COUNT", "COMBINED-TEXT", "COMBINED-USER", "DISTINCT-COUNT" ], "type": "string" }, "where": { "description": "The filter, using the Quickbase query language, which determines the records to return.", "type": "string" } } } }, "lookupFieldIds": { "description": "Array of field IDs in the parent table that will become lookup fields in the child table.", "type": "array", "items": { "type": "integer" } }, "parentTableId": { "description": "The parent table id for the relationship.", "type": "string" }, "foreignKeyField": { "description": "This property is optional. If it is not provided, the foreign key field will be created with the label ‘Related ', where is the name of a record in the parent table.", "type": "object", "additionalProperties": true, "properties": { "label": { "description": "The label for the foreign key field.", "type": "string" } } } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "id": 6, "foreignKeyField": { "id": 6, "label": "Related record", "type": "numeric" }, "lookupFields": [ { "id": 7, "label": "record - text field", "type": "text" } ], "isCrossApp": false, "parentTableId": "bck7gp3q2", "childTableId": "bck7gp3q3", "summaryFields": [ { "id": 8, "label": "Summary of Record ID#2", "type": "numeric" } ] }, "type": "object", "additionalProperties": true, "required": [ "id", "parentTableId", "childTableId", "isCrossApp" ], "properties": { "id": { "description": "The relationship id (foreign key field id).", "type": "integer" }, "parentTableId": { "description": "The parent table id of the relationship.", "type": "string" }, "childTableId": { "description": "The child table id of the relationship.", "type": "string" }, "foreignKeyField": { "$ref": "#/components/schemas/CreateRelationshipForeignKeyField" }, "isCrossApp": { "description": "Whether this is a cross-app relationship.", "type": "boolean" }, "lookupFields": { "description": "The lookup fields array.", "type": "array", "items": { "$ref": "#/components/schemas/CreateRelationshipLookupFieldsItem" } }, "summaryFields": { "description": "The summary fields array.", "type": "array", "items": { "$ref": "#/components/schemas/CreateRelationshipSummaryFieldsItem" } } } } } } } } } }, "/tables/{tableId}/relationship/{relationshipId}": { "post": { "operationId": "updateRelationship", "summary": "Update a relationship", "description": "Use this endpoint to add lookup fields and summary fields to an existing relationship. Updating a relationship will not delete existing lookup/summary fields.", "tags": [ "Tables" ], "parameters": [ { "name": "tableId", "in": "path", "description": "The unique identifier (dbid) of the table. This will be the child table.", "required": true, "schema": { "type": "string" } }, { "name": "relationshipId", "in": "path", "description": "The relationship id. This is the field id of the reference field on the child table.", "required": true, "schema": { "type": "number" } } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "example": { "lookupFieldIds": [ 4, 5, 6 ], "summaryFields": [ { "summaryFid": 3, "label": "my summary field", "accumulationType": "COUNT", "where": "{'3'.EX.1}" } ] }, "type": "object", "additionalProperties": false, "properties": { "summaryFields": { "description": "An array of objects, each representing a configuration of one field from the child table, that will become summary fields on the parent table. When you specify the 'COUNT' accumulation type, you have to specify 0 as the summaryFid (or not set it in the request). 'DISTINCT-COUNT' requires that summaryFid be set to an actual fid.", "type": "array", "items": { "type": "object", "additionalProperties": true, "required": [ "accumulationType" ], "properties": { "summaryFid": { "description": "The field id to summarize.", "type": "number" }, "label": { "description": "The label for the summary field.", "type": "string" }, "accumulationType": { "description": "The accumulation type for the summary field.", "enum": [ "AVG", "SUM", "MAX", "MIN", "STD-DEV", "COUNT", "COMBINED-TEXT", "COMBINED-USER", "DISTINCT-COUNT" ], "type": "string" }, "where": { "description": "The filter, using the Quickbase query language, which determines the records to return.", "type": "string" } } } }, "lookupFieldIds": { "description": "An array of field IDs on the parent table that will become lookup fields on the child table.", "type": "array", "items": { "type": "integer" } } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "id": 6, "foreignKeyField": { "id": 6, "label": "Related record", "type": "numeric" }, "lookupFields": [ { "id": 7, "label": "record - text field", "type": "text" } ], "isCrossApp": false, "parentTableId": "bck7gp3q2", "childTableId": "bck7gp3q3", "summaryFields": [ { "id": 8, "label": "Summary of Record ID#2", "type": "numeric" } ] }, "type": "object", "additionalProperties": true, "required": [ "id", "parentTableId", "childTableId", "isCrossApp" ], "properties": { "id": { "description": "The relationship id (foreign key field id).", "type": "integer" }, "parentTableId": { "description": "The parent table id of the relationship.", "type": "string" }, "childTableId": { "description": "The child table id of the relationship.", "type": "string" }, "foreignKeyField": { "$ref": "#/components/schemas/UpdateRelationshipForeignKeyField" }, "isCrossApp": { "description": "Whether this is a cross-app relationship.", "type": "boolean" }, "lookupFields": { "description": "The lookup fields array.", "type": "array", "items": { "$ref": "#/components/schemas/UpdateRelationshipLookupFieldsItem" } }, "summaryFields": { "description": "The summary fields array.", "type": "array", "items": { "$ref": "#/components/schemas/UpdateRelationshipSummaryFieldsItem" } } } } } } } } }, "delete": { "operationId": "deleteRelationship", "summary": "Delete a relationship", "description": "Use this endpoint to delete an entire relationship, including all lookup and summary fields. The reference field in the relationship will not be deleted.", "tags": [ "Tables" ], "parameters": [ { "name": "tableId", "in": "path", "description": "The unique identifier (dbid) of the table. This will be the child table.", "required": true, "schema": { "type": "string" } }, { "name": "relationshipId", "in": "path", "description": "The relationship id. This is the field id of the reference field on the child table.", "required": true, "schema": { "type": "number" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "relationshipId": 6 }, "type": "object", "additionalProperties": true, "required": [ "relationshipId" ], "properties": { "relationshipId": { "description": "The relationship id.", "type": "integer" } } } } } } } } }, "/reports": { "get": { "operationId": "getTableReports", "summary": "Get reports for a table", "description": "Get the schema (properties) of all reports for a table. If the user running the API is an application administrator, the API will also return all personal reports with owner's user id.", "tags": [ "Reports" ], "parameters": [ { "name": "tableId", "in": "query", "description": "The unique identifier of the table.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "description": "This is simple example of report schema for more details please refer [Report types page](../reportTypes)", "type": "array", "items": { "$ref": "#/components/schemas/GetTableReportsItem" } } } } } } } }, "/reports/{reportId}": { "get": { "operationId": "getReport", "summary": "Get a report", "description": "Get the schema (properties) of an individual report.", "tags": [ "Reports" ], "parameters": [ { "name": "tableId", "in": "query", "description": "The unique identifier of table.", "required": true, "schema": { "type": "string" } }, { "name": "reportId", "in": "path", "description": "The identifier of the report, unique to the table.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "value": { "id": "5", "name": "table-report", "type": "table", "description": "This is Table report.", "query": { "tableId": "bpweef42b", "filter": "{6.CT.'FilterByThisValue'}", "formulaFields": [ { "id": -100, "label": "NumericField", "fieldType": "numeric", "formula": "1+1", "decimalPrecision": 4 } ], "fields": [ 7 ], "sortBy": [ { "fieldId": 28, "order": "ASC" }, { "fieldId": 3, "order": "ASC" } ], "groupBy": [ { "fieldId": 3, "grouping": "equal-values" } ] }, "properties": { "displayOnlyNewOrChangedRecords": true, "columnProperties": [ { "fieldId": -100, "labelOverride": "Numeric Field Label" } ] }, "usedLast": "2020-09-20T20:23:00Z", "usedCount": 7 } }, "type": "object", "additionalProperties": true, "properties": { "id": { "description": "The identifier of the report, unique to the table.", "type": "string" }, "name": { "description": "The configured name of the report.", "type": "string" }, "type": { "description": "The type of report in Quickbase (e.g., chart).", "type": "string" }, "description": { "description": "The configured description of a report.", "type": "string" }, "ownerId": { "$ref": "#/components/schemas/OwnerId" }, "query": { "$ref": "#/components/schemas/GetReportQuery" }, "properties": { "description": "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)", "type": "object", "additionalProperties": true }, "usedLast": { "description": "The instant at which a report was last used.", "type": "string" }, "usedCount": { "description": "The number of times a report has been used.", "type": "integer" } } } } } } } } }, "/reports/{reportId}/run": { "post": { "operationId": "runReport", "summary": "Run a report", "description": "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.", "tags": [ "Reports" ], "parameters": [ { "name": "tableId", "in": "query", "description": "The identifier of the table for the report.", "required": true, "schema": { "type": "string" } }, { "name": "skip", "in": "query", "description": "The number of records to skip. You can set this value when paginating through a set of results.", "required": false, "schema": { "type": "integer" } }, { "name": "top", "in": "query", "description": "The maximum number of records to return. You can override the default Quickbase pagination to get more or fewer results. If your requested value here exceeds the dynamic maximums, we will return a subset of results and the rest can be gathered in subsequent API calls.", "required": false, "schema": { "type": "integer" } }, { "name": "reportId", "in": "path", "description": "The identifier of the report, unique to the table.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": false, "content": { "application/json": { "schema": {} } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "value": { "data": [ { "6": { "value": "Jamie Stein" }, "7": { "value": 10 }, "8": { "value": "2019-12-18T08:00:00Z" } } ], "fields": [ { "id": 6, "label": "Full Name", "type": "text" }, { "id": 7, "label": "Amount", "labelOverride": "Total Amount", "type": "numeric" }, { "id": 8, "label": "Date time", "type": "date time" } ], "metadata": { "totalRecords": 10, "numRecords": 1, "numFields": 3, "skip": 0, "top": 1 } } }, "type": "object", "additionalProperties": true, "properties": { "fields": { "description": "An array of objects that contains limited meta-data of each field displayed in the report. This assists in building logic that depends on field types and IDs.", "type": "array", "items": { "$ref": "#/components/schemas/RunReportFieldsItem" } }, "data": { "description": "An array of objects that either represents the record data or summarized values, depending on the report type.", "type": "array", "items": { "$ref": "#/components/schemas/QuickbaseRecord" } }, "metadata": { "$ref": "#/components/schemas/RunReportMetadata" } } } } } } } } }, "/fields": { "get": { "operationId": "getFields", "summary": "Get fields for a table", "description": "Gets the properties for all fields in a specific table. The properties for each field are the same as in Get field.", "tags": [ "Fields" ], "parameters": [ { "name": "tableId", "in": "query", "description": "The unique identifier (dbid) of the table.", "required": true, "schema": { "type": "string" } }, { "name": "includeFieldPerms", "in": "query", "description": "Set to 'true' if you'd like to get back the custom permissions for the field(s).", "required": false, "schema": { "type": "boolean", "default": false } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": [ { "id": 1, "label": "Field1", "fieldType": "text", "noWrap": false, "bold": false, "required": false, "appearsByDefault": false, "findEnabled": false, "unique": false, "doesDataCopy": false, "fieldHelp": "field help", "audited": false, "properties": { "primaryKey": false, "foreignKey": false, "numLines": 1, "maxLength": 0, "appendOnly": false, "allowHTML": false, "allowMentions": false, "sortAsGiven": false, "carryChoices": true, "allowNewChoices": false, "formula": "", "defaultValue": "" }, "permissions": [ { "permissionType": "View", "role": "Viewer", "roleId": 10 }, { "permissionType": "None", "role": "Participant", "roleId": 11 }, { "permissionType": "Modify", "role": "Administrator", "roleId": 12 } ] }, { "id": 2, "label": "Numeric Field", "fieldType": "numeric", "appearsByDefault": true, "audited": false, "bold": false, "fieldHelp": "This is a numeric field", "findEnabled": false, "addToForms": true, "properties": { "numberFormat": 3, "decimalPlaces": 2, "doesAverage": true, "doesTotal": true, "blankIsZero": true }, "permissions": [ { "role": "Viewer", "permissionType": "View", "roleId": 10 }, { "role": "Participant", "permissionType": "Modify", "roleId": 11 }, { "role": "Administrator", "permissionType": "Modify", "roleId": 12 } ] } ], "type": "array", "items": { "$ref": "#/components/schemas/GetFieldsItem" } } } } } } }, "post": { "operationId": "createField", "summary": "Create a field", "description": "Creates a field within a table, including the custom permissions of that field.", "tags": [ "Fields" ], "parameters": [ { "name": "tableId", "in": "query", "description": "The unique identifier of the table.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "description": "The example below shows all the properties that can be changed with this request. Additional properties that you can see with the corresponding GET request cannot be set through this API.", "example": { "label": "Field1", "fieldType": "text", "noWrap": false, "bold": false, "appearsByDefault": false, "findEnabled": false, "fieldHelp": "field help", "addToForms": true, "properties": { "maxLength": 0, "appendOnly": false, "sortAsGiven": false }, "permissions": [ { "role": "Viewer", "permissionType": "View", "roleId": 10 }, { "role": "Participant", "permissionType": "None", "roleId": 11 }, { "role": "Administrator", "permissionType": "Modify", "roleId": 12 } ] }, "type": "object", "additionalProperties": false, "required": [ "fieldType", "label" ], "properties": { "audited": { "description": "Indicates if the field is being tracked as part of Quickbase Audit Logs. You can only set this property to \"true\" if the app has audit logs enabled. See Enable data change logs under [Quickbase Audit Logs](https://help.quickbase.com/docs/audit-logs). Defaults to false.", "type": "boolean" }, "fieldHelp": { "description": "The configured help text shown to users within the product.", "type": "string" }, "bold": { "description": "Indicates if the field is configured to display in bold in the product. Defaults to false.", "type": "boolean" }, "properties": { "description": "Specific field properties.", "type": "object", "additionalProperties": false, "properties": { "allowMentions": { "description": "If someone can @mention users in the rich text field to generate an email notification.", "type": "boolean" }, "comments": { "description": "The comments entered on the field properties by an administrator.", "type": "string" }, "doesTotal": { "description": "Whether this field totals in reports within the product.", "type": "boolean" }, "autoSave": { "description": "Whether the link field will auto save.", "type": "boolean" }, "defaultValueLuid": { "description": "Default user id value.", "type": "integer" }, "useI18NFormat": { "description": "Whether phone numbers should be in E.164 standard international format", "type": "boolean" }, "maxVersions": { "description": "The maximum number of versions configured for a file attachment.", "type": "integer", "format": "int32", "minimum": 1 }, "format": { "description": "The format to display time.", "type": "integer" }, "carryChoices": { "description": "Whether the field should carry its multiple choice fields when copied.", "type": "boolean" }, "maxLength": { "description": "The maximum number of characters allowed for entry in Quickbase for this field.", "type": "integer" }, "linkText": { "description": "The configured text value that replaces the URL that users see within the product.", "type": "string" }, "parentFieldId": { "description": "The id of the parent composite field, when applicable.", "type": "integer" }, "displayTimezone": { "description": "Indicates whether to display the timezone within the product.", "type": "boolean" }, "allowNewChoices": { "description": "Indicates if users can add new choices to a selection list.", "type": "boolean" }, "defaultToday": { "description": "Indicates if the field value is defaulted today for new records.", "type": "boolean" }, "units": { "description": "The units label.", "type": "string" }, "openTargetIn": { "description": "Indicates which target the URL should open in when a user clicks it within the product.", "enum": [ "sameWindow", "newWindow", "popup" ], "type": "string" }, "sourceFieldId": { "description": "The id of the source field.", "type": "integer" }, "doesAverage": { "description": "Whether this field averages in reports within the product.", "type": "boolean" }, "formula": { "description": "The formula of the field as configured in Quickbase.", "type": "string" }, "decimalPlaces": { "description": "The number of decimal places displayed in the product for this field.", "type": "integer" }, "defaultCountryCode": { "description": "Controls the default country shown on international phone widgets on forms. Country code should be entered in the ISO 3166-1 alpha-2 format.", "type": "string" }, "displayMonth": { "description": "How to display months.", "type": "string" }, "seeVersions": { "description": "Indicates if the user can see other versions, aside from the most recent, of a file attachment within the product.", "type": "boolean" }, "numLines": { "description": "The number of lines shown in Quickbase for this text field.", "type": "integer" }, "defaultKind": { "description": "The user default type.", "type": "string" }, "displayEmail": { "description": "How the email is displayed.", "type": "string" }, "coverText": { "description": "An alternate user friendly text that can be used to display a link in the browser.", "type": "string" }, "currencySymbol": { "description": "The current symbol used when displaying field values within the product.", "type": "string" }, "targetFieldId": { "description": "The id of the target field.", "type": "integer" }, "displayUser": { "description": "The configured option for how users display within the product.", "type": "string" }, "blankIsZero": { "description": "Whether a blank value is treated the same as 0 in calculations within the product.", "type": "boolean" }, "exact": { "description": "Whether an exact match is required for a report link.", "type": "boolean" }, "defaultDomain": { "description": "Default email domain.", "type": "string" }, "defaultValue": { "description": "The default value configured for a field when a new record is added.", "type": "string" }, "abbreviate": { "description": "Don't show the URL protocol when showing the URL.", "type": "boolean" }, "numberFormat": { "description": "The format used for displaying numeric values in the product (decimal, separators, digit group).", "type": "integer" }, "targetTableName": { "description": "The field's target table name.", "type": "string" }, "appearsAs": { "description": "The link text, if empty, the url will be used as link text.", "type": "string" }, "width": { "description": "The field's html input width in the product.", "type": "integer" }, "currencyFormat": { "description": "The currency format used when displaying field values within the product.", "enum": [ "left", "right", "middle" ], "type": "string" }, "displayDayOfWeek": { "description": "Indicates whether to display the day of the week within the product.", "type": "boolean" }, "commaStart": { "description": "The number of digits before commas display in the product, when applicable.", "type": "integer" }, "choices": { "description": "An array of entries that exist for a field that offers choices to the user. Note that these choices refer to the valid values of any records added in the future. You are allowed to remove values from the list of choices even if there are existing records with those values in this field. They will be displayed in red when users look at the data in the browser but there is no other effect. While updating a field with this property, the old choices are removed and replaced by the new choices.", "type": "array", "items": { "type": "string" } }, "targetTableId": { "description": "The id of the target table.", "type": "string" }, "displayRelative": { "description": "Whether to display time as relative.", "type": "boolean" }, "compositeFields": { "description": "An array of the fields that make up a composite field (e.g., address).", "type": "array", "items": { "oneOf": [ { "type": "integer" }, { "type": "object" } ] } }, "displayCheckboxAsText": { "description": "Indicates whether the checkbox values will be shown as text in reports.", "type": "boolean" }, "displayTime": { "description": "Indicates whether to display the time, in addition to the date.", "type": "boolean" }, "versionMode": { "description": "Version modes for files. Keep all versions vs keep last version.", "enum": [ "keepallversions", "keeplastversions" ], "type": "string" }, "snapFieldId": { "description": "The id of the field that is used to snapshot values from, when applicable.", "type": "integer" }, "hours24": { "description": "Indicates whether or not to display time in the 24-hour format within the product.", "type": "boolean" }, "sortAlpha": { "description": "Whether to sort alphabetically, default sort is by record ID.", "type": "boolean" }, "sortAsGiven": { "description": "Indicates if the listed entries sort as entered vs alphabetically.", "type": "boolean" }, "hasExtension": { "description": "Whether this field has a phone extension.", "type": "boolean" }, "useNewWindow": { "description": "Indicates if the file should open a new window when a user clicks it within the product.", "type": "boolean" }, "postTempToken": { "type": "boolean", "description": "POSTs a temporary token to the first URL when clicked by a user. [Learn more](https://help.quickbase.com/docs/post-temporary-token-from-a-quickbase-field)" }, "appendOnly": { "description": "Whether this field is append only.", "type": "boolean" }, "displayAsLink": { "description": "Indicates if a field that is part of the relationship should be shown as a hyperlink to the parent record within the product.", "type": "boolean" } } }, "appearsByDefault": { "description": "Indicates if the field is marked as a default in reports. Defaults to true.", "type": "boolean" }, "fieldType": { "description": "The [field types](https://help.quickbase.com/docs/field-types), click on any of the field type links for more info.", "enum": [ "text", "text-multiple-choice", "text-multi-line", "rich-text", "numeric", "currency", "rating", "percent", "multitext", "email", "url", "duration", "date", "datetime", "timestamp", "timeofday", "checkbox", "user", "multiuser", "address", "phone", "file" ], "type": "string" }, "permissions": { "description": "Field Permissions for different roles.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "role": { "description": "The role associated with a given permission for the field", "type": "string" }, "permissionType": { "description": "The permission given to the role for this field", "type": "string" }, "roleId": { "description": "The Id of the given role", "type": "integer" } } } }, "addToForms": { "description": "Whether the field you are adding should appear on forms. Defaults to false.", "type": "boolean" }, "label": { "description": "The label (name) of the field.", "type": "string" }, "findEnabled": { "description": "Indicates if the field is marked as searchable. Defaults to true.", "type": "boolean" }, "noWrap": { "description": "Indicates if the field is configured to not wrap when displayed in the product. Defaults to false.", "type": "boolean" } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "id": 123, "label": "Field1", "fieldType": "text", "mode": "", "noWrap": false, "bold": false, "required": false, "appearsByDefault": false, "findEnabled": false, "unique": false, "doesDataCopy": false, "fieldHelp": "field help", "audited": false, "properties": { "primaryKey": false, "foreignKey": false, "numLines": 1, "maxLength": 0, "appendOnly": false, "allowHTML": false, "allowMentions": false, "sortAsGiven": false, "carryChoices": true, "allowNewChoices": false, "formula": "", "defaultValue": "" }, "permissions": [ { "permissionType": "View", "role": "Viewer", "roleId": 10 }, { "permissionType": "None", "role": "Participant", "roleId": 11 }, { "permissionType": "Modify", "role": "Administrator", "roleId": 12 } ] }, "type": "object", "additionalProperties": true, "required": [ "id" ], "properties": { "id": { "description": "The id of the field, unique to this table.", "type": "integer", "format": "int64" }, "fieldType": { "description": "The type of field, as described [here](https://help.quickbase.com/user-assistance/field_types.html).", "type": "string" }, "mode": { "description": "For derived fields, this will be 'lookup', 'summary', or 'formula', to indicate the type of derived field. For non-derived fields, this will be blank.", "type": "string" }, "label": { "description": "The label (name) of the field.", "type": "string" }, "noWrap": { "description": "Indicates if the field is configured to not wrap when displayed in the product.", "type": "boolean" }, "bold": { "description": "Indicates if the field is configured to display in bold in the product.", "type": "boolean" }, "required": { "description": "Indicates if the field is marked required.", "type": "boolean" }, "appearsByDefault": { "description": "Indicates if the field is marked as a default in reports.", "type": "boolean" }, "findEnabled": { "description": "Indicates if the field is marked as searchable.", "type": "boolean" }, "unique": { "description": "Indicates if the field is marked unique.", "type": "boolean" }, "doesDataCopy": { "description": "Indicates if the field data will copy when a user copies the record.", "type": "boolean" }, "fieldHelp": { "description": "The configured help text shown to users within the product.", "type": "string" }, "audited": { "description": "Indicates if the field is being tracked as part of Quickbase Audit Logs.", "type": "boolean" }, "properties": { "$ref": "#/components/schemas/CreateFieldProperties" }, "permissions": { "description": "Field Permissions for different roles.", "type": "array", "items": { "$ref": "#/components/schemas/CreateFieldPermissionsItem" } } } } } } } } }, "delete": { "operationId": "deleteFields", "summary": "Delete field(s)", "description": "Deletes one or many fields in a table, based on field id. This will also permanently delete any data or calculations in that field.", "tags": [ "Fields" ], "parameters": [ { "name": "tableId", "in": "query", "description": "The unique identifier of the table.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "example": { "fieldIds": [ 6, 7, 8 ] }, "type": "object", "additionalProperties": true, "required": [ "fieldIds" ], "properties": { "fieldIds": { "description": "List of field IDs to be deleted.", "type": "array", "items": { "type": "integer" } } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "deletedFieldIds": [ 6, 8 ], "errors": [ "Error found with fid: 7" ] }, "type": "object", "additionalProperties": true, "required": [ "deletedFieldIds", "errors" ], "properties": { "deletedFieldIds": { "description": "List of field IDs to were deleted.", "type": "array", "items": { "type": "integer" } }, "errors": { "description": "List of errors found.", "type": "array", "items": { "type": "string" } } } } } } } } } }, "/fields/{fieldId}": { "get": { "operationId": "getField", "summary": "Get field", "description": "Gets the properties of an individual field, based on field id. \nProperties present on all field types are returned at the top level. Properties unique to a specific type of field are returned under the 'properties' attribute. Please see [Field types page](../fieldInfo) for more details on the properties for each field type.", "tags": [ "Fields" ], "parameters": [ { "name": "tableId", "in": "query", "description": "The unique identifier (dbid) of the table.", "required": true, "schema": { "type": "string" } }, { "name": "includeFieldPerms", "in": "query", "description": "Set to 'true' if you'd like to get back the custom permissions for the field(s).", "required": false, "schema": { "type": "boolean", "default": false } }, { "name": "fieldId", "in": "path", "description": "The unique identifier (fid) of the field.", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "id": 123, "label": "Field1", "fieldType": "text", "mode": "", "noWrap": false, "bold": false, "required": false, "appearsByDefault": false, "findEnabled": false, "unique": false, "doesDataCopy": false, "fieldHelp": "field help", "audited": false, "properties": { "primaryKey": false, "foreignKey": false, "numLines": 1, "maxLength": 0, "appendOnly": false, "allowHTML": false, "allowMentions": false, "sortAsGiven": false, "carryChoices": true, "allowNewChoices": false, "formula": "", "defaultValue": "" }, "permissions": [ { "permissionType": "View", "role": "Viewer", "roleId": 10 }, { "permissionType": "None", "role": "Participant", "roleId": 11 }, { "permissionType": "Modify", "role": "Administrator", "roleId": 12 } ] }, "type": "object", "additionalProperties": true, "required": [ "id" ], "properties": { "id": { "description": "The id of the field, unique to this table.", "type": "integer", "format": "int64" }, "fieldType": { "description": "The type of field, as described [here](https://help.quickbase.com/user-assistance/field_types.html).", "type": "string" }, "mode": { "description": "For derived fields, this will be 'lookup', 'summary', or 'formula', to indicate the type of derived field. For non-derived fields, this will be blank.", "type": "string" }, "label": { "description": "The label (name) of the field.", "type": "string" }, "noWrap": { "description": "Indicates if the field is configured to not wrap when displayed in the product.", "type": "boolean" }, "bold": { "description": "Indicates if the field is configured to display in bold in the product.", "type": "boolean" }, "required": { "description": "Indicates if the field is marked required.", "type": "boolean" }, "appearsByDefault": { "description": "Indicates if the field is marked as a default in reports.", "type": "boolean" }, "findEnabled": { "description": "Indicates if the field is marked as searchable.", "type": "boolean" }, "unique": { "description": "Indicates if the field is marked unique.", "type": "boolean" }, "doesDataCopy": { "description": "Indicates if the field data will copy when a user copies the record.", "type": "boolean" }, "fieldHelp": { "description": "The configured help text shown to users within the product.", "type": "string" }, "audited": { "description": "Indicates if the field is being tracked as part of Quickbase Audit Logs.", "type": "boolean" }, "properties": { "$ref": "#/components/schemas/GetFieldProperties" }, "permissions": { "description": "Field Permissions for different roles.", "type": "array", "items": { "$ref": "#/components/schemas/GetFieldPermissionsItem" } } } } } } } } }, "post": { "operationId": "updateField", "summary": "Update a field", "description": "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.", "tags": [ "Fields" ], "parameters": [ { "name": "tableId", "in": "query", "description": "The unique identifier of the table.", "required": true, "schema": { "type": "string" } }, { "name": "fieldId", "in": "path", "description": "The unique identifier (fid) of the field.", "required": true, "schema": { "type": "integer" } } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "description": "The example below shows all the properties that can be changed with this request. Additional properties that you can see with the corresponding GET request cannot be set through this API.", "example": { "label": "Field1", "noWrap": false, "bold": false, "required": true, "appearsByDefault": false, "findEnabled": false, "unique": true, "fieldHelp": "field help", "addToForms": true, "properties": { "numLines": 1, "maxLength": 0, "appendOnly": false, "sortAsGiven": false }, "permissions": [ { "role": "Viewer", "permissionType": "View", "roleId": 10 }, { "role": "Participant", "permissionType": "None", "roleId": 11 }, { "role": "Administrator", "permissionType": "Modify", "roleId": 12 } ] }, "type": "object", "additionalProperties": false, "properties": { "audited": { "description": "Indicates if the field is being tracked as part of Quickbase Audit Logs. You can only set this property to \"true\" if the app has audit logs enabled. See Enable data change logs under [Quickbase Audit Logs](https://help.quickbase.com/user-assistance/audit_logs.html).", "type": "boolean" }, "fieldHelp": { "description": "The configured help text shown to users within the product.", "type": "string" }, "bold": { "description": "Indicates if the field is configured to display in bold in the product.", "type": "boolean" }, "required": { "description": "Indicates if the field is required (i.e. if every record must have a non-null value in this field). If you attempt to change a field from not-required to required, and the table currently contains records that have null values in that field, you will get an error indicating that there are null values of the field. In this case you need to find and update those records with null values of the field before changing the field to required.", "type": "boolean" }, "properties": { "description": "Specific field properties.", "type": "object", "additionalProperties": false, "properties": { "allowMentions": { "description": "If someone can @mention users in the rich text field to generate an email notification.", "type": "boolean" }, "comments": { "description": "The comments entered on the field properties by an administrator.", "type": "string" }, "doesTotal": { "description": "Whether this field totals in reports within the product.", "type": "boolean" }, "autoSave": { "description": "Whether the link field will auto save.", "type": "boolean" }, "defaultValueLuid": { "description": "Default user id value.", "type": "integer" }, "useI18NFormat": { "description": "Whether phone numbers should be in E.164 standard international format", "type": "boolean" }, "maxVersions": { "description": "The maximum number of versions configured for a file attachment.", "type": "integer", "format": "int32", "minimum": 1 }, "format": { "description": "The format to display time.", "type": "integer" }, "carryChoices": { "description": "Whether the field should carry its multiple choice fields when copied.", "type": "boolean" }, "maxLength": { "description": "The maximum number of characters allowed for entry in Quickbase for this field.", "type": "integer" }, "linkText": { "description": "The configured text value that replaces the URL that users see within the product.", "type": "string" }, "parentFieldId": { "description": "The id of the parent composite field, when applicable.", "type": "integer" }, "displayTimezone": { "description": "Indicates whether to display the timezone within the product.", "type": "boolean" }, "summaryTargetFieldId": { "description": "The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn't require a field selection (like count).", "type": "integer" }, "allowNewChoices": { "description": "Indicates if users can add new choices to a selection list.", "type": "boolean" }, "defaultToday": { "description": "Indicates if the field value is defaulted today for new records.", "type": "boolean" }, "units": { "description": "The units label.", "type": "string" }, "openTargetIn": { "description": "Indicates which target the URL should open in when a user clicks it within the product.", "enum": [ "sameWindow", "newWindow", "popup" ], "type": "string" }, "lookupTargetFieldId": { "description": "The id of the field that is the target on the parent table for this lookup.", "type": "integer" }, "summaryFunction": { "description": "The accumulation type for the summary field.", "enum": [ "AVG", "SUM", "MAX", "MIN", "STD-DEV", "COUNT", "COMBINED-TEXT", "COMBINED-USER", "DISTINCT-COUNT" ], "type": "string" }, "sourceFieldId": { "description": "The id of the source field.", "type": "integer" }, "doesAverage": { "description": "Whether this field averages in reports within the product.", "type": "boolean" }, "formula": { "description": "The formula of the field as configured in Quickbase.", "type": "string" }, "decimalPlaces": { "description": "The number of decimal places displayed in the product for this field.", "type": "integer" }, "defaultCountryCode": { "description": "Controls the default country shown on international phone widgets on forms. Country code should be entered in the ISO 3166-1 alpha-2 format.", "type": "string" }, "displayMonth": { "description": "How to display months.", "type": "string" }, "seeVersions": { "description": "Indicates if the user can see other versions, aside from the most recent, of a file attachment within the product.", "type": "boolean" }, "numLines": { "description": "The number of lines shown in Quickbase for this text field.", "type": "integer" }, "defaultKind": { "description": "The user default type.", "type": "string" }, "displayEmail": { "description": "How the email is displayed.", "type": "string" }, "coverText": { "description": "An alternate user friendly text that can be used to display a link in the browser.", "type": "string" }, "currencySymbol": { "description": "The current symbol used when displaying field values within the product.", "type": "string" }, "summaryQuery": { "description": "The summary query.", "type": "string" }, "targetFieldId": { "description": "The id of the target field.", "type": "integer" }, "displayUser": { "description": "The configured option for how users display within the product.", "type": "string" }, "blankIsZero": { "description": "Whether a blank value is treated the same as 0 in calculations within the product.", "type": "boolean" }, "exact": { "description": "Whether an exact match is required for a report link.", "type": "boolean" }, "defaultDomain": { "description": "Default email domain.", "type": "string" }, "defaultValue": { "description": "The default value configured for a field when a new record is added.", "type": "string" }, "abbreviate": { "description": "Don't show the URL protocol when showing the URL.", "type": "boolean" }, "numberFormat": { "description": "The format used for displaying numeric values in the product (decimal, separators, digit group).", "type": "integer" }, "targetTableName": { "description": "The field's target table name.", "type": "string" }, "appearsAs": { "description": "The link text, if empty, the url will be used as link text.", "type": "string" }, "width": { "description": "The field's html input width in the product.", "type": "integer" }, "currencyFormat": { "description": "The currency format used when displaying field values within the product.", "enum": [ "left", "right", "middle" ], "type": "string" }, "displayDayOfWeek": { "description": "Indicates whether to display the day of the week within the product.", "type": "boolean" }, "summaryReferenceFieldId": { "description": "The id of the field that is the reference in the relationship for this summary.", "type": "integer" }, "commaStart": { "description": "The number of digits before commas display in the product, when applicable.", "type": "integer" }, "choices": { "description": "An array of entries that exist for a field that offers choices to the user. Note that these choices refer to the valid values of any records added in the future. You are allowed to remove values from the list of choices even if there are existing records with those values in this field. They will be displayed in red when users look at the data in the browser but there is no other effect. While updating a field with this property, the old choices are removed and replaced by the new choices.", "type": "array", "items": { "type": "string" } }, "targetTableId": { "description": "The id of the target table.", "type": "string" }, "displayRelative": { "description": "Whether to display time as relative.", "type": "boolean" }, "compositeFields": { "description": "An array of the fields that make up a composite field (e.g., address).", "type": "array", "items": { "oneOf": [ { "type": "integer" }, { "type": "object" } ] } }, "displayCheckboxAsText": { "description": "Indicates whether the checkbox values will be shown as text in reports.", "type": "boolean" }, "summaryTableId": { "description": "The table the summary field references fields from.", "type": "string" }, "displayTime": { "description": "Indicates whether to display the time, in addition to the date.", "type": "boolean" }, "versionMode": { "description": "Version modes for files. Keep all versions vs keep last version.", "enum": [ "keepallversions", "keeplastversions" ], "type": "string" }, "snapFieldId": { "description": "The id of the field that is used to snapshot values from, when applicable.", "type": "integer" }, "hours24": { "description": "Indicates whether or not to display time in the 24-hour format within the product.", "type": "boolean" }, "sortAlpha": { "description": "Whether to sort alphabetically, default sort is by record ID.", "type": "boolean" }, "sortAsGiven": { "description": "Indicates if the listed entries sort as entered vs alphabetically.", "type": "boolean" }, "hasExtension": { "description": "Whether this field has a phone extension.", "type": "boolean" }, "useNewWindow": { "description": "Indicates if the file should open a new window when a user clicks it within the product.", "type": "boolean" }, "postTempToken": { "type": "boolean", "description": "POSTs a temporary token to the first URL when clicked by a user. [Learn more](https://help.quickbase.com/docs/post-temporary-token-from-a-quickbase-field)" }, "appendOnly": { "description": "Whether this field is append only.", "type": "boolean" }, "displayAsLink": { "description": "Indicates if a field that is part of the relationship should be shown as a hyperlink to the parent record within the product.", "type": "boolean" }, "lookupReferenceFieldId": { "description": "The id of the field that is the reference in the relationship for this lookup.", "type": "integer" } } }, "appearsByDefault": { "description": "Indicates if the field is marked as a default in reports.", "type": "boolean" }, "unique": { "description": "Indicates if every record in the table must contain a unique value of this field. If you attempt to change a field from not-unique to unique, and the table currently contains records with the same value of this field, you will get an error. In this case you need to find and update those records with duplicate values of the field before changing the field to unique.", "type": "boolean" }, "permissions": { "description": "Field Permissions for different roles.", "type": "array", "items": { "type": "object", "additionalProperties": false, "properties": { "role": { "description": "The role associated with a given permission for the field", "type": "string" }, "permissionType": { "description": "The permission given to the role for this field", "type": "string" }, "roleId": { "description": "The Id of the given role", "type": "integer" } } } }, "addToForms": { "description": "Whether the field you are adding should appear on forms.", "type": "boolean" }, "label": { "description": "The label (name) of the field.", "type": "string" }, "findEnabled": { "description": "Indicates if the field is marked as searchable.", "type": "boolean" }, "noWrap": { "description": "Indicates if the field is configured to not wrap when displayed in the product.", "type": "boolean" } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "id": 123, "label": "Field1", "fieldType": "text", "mode": "", "noWrap": false, "bold": false, "required": false, "appearsByDefault": false, "findEnabled": false, "unique": false, "doesDataCopy": false, "fieldHelp": "field help", "audited": false, "properties": { "primaryKey": false, "foreignKey": false, "numLines": 1, "maxLength": 0, "appendOnly": false, "allowHTML": false, "allowMentions": false, "sortAsGiven": false, "carryChoices": true, "allowNewChoices": false, "formula": "", "defaultValue": "" }, "permissions": [ { "permissionType": "View", "role": "Viewer", "roleId": 10 }, { "permissionType": "None", "role": "Participant", "roleId": 11 }, { "permissionType": "Modify", "role": "Administrator", "roleId": 12 } ] }, "type": "object", "additionalProperties": true, "required": [ "id" ], "properties": { "id": { "description": "The id of the field, unique to this table.", "type": "integer", "format": "int64" }, "fieldType": { "description": "The type of field, as described [here](https://help.quickbase.com/user-assistance/field_types.html).", "type": "string" }, "mode": { "description": "For derived fields, this will be 'lookup', 'summary', or 'formula', to indicate the type of derived field. For non-derived fields, this will be blank.", "type": "string" }, "label": { "description": "The label (name) of the field.", "type": "string" }, "noWrap": { "description": "Indicates if the field is configured to not wrap when displayed in the product.", "type": "boolean" }, "bold": { "description": "Indicates if the field is configured to display in bold in the product.", "type": "boolean" }, "required": { "description": "Indicates if the field is marked required.", "type": "boolean" }, "appearsByDefault": { "description": "Indicates if the field is marked as a default in reports.", "type": "boolean" }, "findEnabled": { "description": "Indicates if the field is marked as searchable.", "type": "boolean" }, "unique": { "description": "Indicates if the field is marked unique.", "type": "boolean" }, "doesDataCopy": { "description": "Indicates if the field data will copy when a user copies the record.", "type": "boolean" }, "fieldHelp": { "description": "The configured help text shown to users within the product.", "type": "string" }, "audited": { "description": "Indicates if the field is being tracked as part of Quickbase Audit Logs.", "type": "boolean" }, "properties": { "$ref": "#/components/schemas/UpdateFieldProperties" }, "permissions": { "description": "Field Permissions for different roles.", "type": "array", "items": { "$ref": "#/components/schemas/UpdateFieldPermissionsItem" } } } } } } } } } }, "/fields/usage": { "get": { "operationId": "getFieldsUsage", "summary": "Get usage for all fields", "description": "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.", "tags": [ "Fields" ], "parameters": [ { "name": "tableId", "in": "query", "description": "The unique identifier (dbid) of the table.", "required": true, "schema": { "type": "string" } }, { "name": "skip", "in": "query", "description": "The number of fields to skip from the list.", "required": false, "schema": { "type": "integer" } }, { "name": "top", "in": "query", "description": "The maximum number of fields to return.", "required": false, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": [ { "field": { "id": 6, "name": "name", "type": "Text" }, "usage": { "actions": { "count": 0 }, "appHomePages": { "count": 0 }, "dashboards": { "count": 2 }, "defaultReports": { "count": 1 }, "exactForms": { "count": 0 }, "fields": { "count": 0 }, "forms": { "count": 1 }, "notifications": { "count": 0 }, "personalReports": { "count": 0 }, "pipelines": { "count": 1 }, "relationships": { "count": 0 }, "reminders": { "count": 0 }, "reports": { "count": 2 }, "roles": { "count": 2 }, "tableImports": { "count": 3 }, "tableRules": { "count": 1 }, "webhooks": { "count": 0 } } } ], "type": "array", "items": { "$ref": "#/components/schemas/GetFieldsUsageItem" } } } } } } } }, "/fields/usage/{fieldId}": { "get": { "operationId": "getFieldUsage", "summary": "Get usage for a field", "description": "Get a single fields usage statistics. This is a summary of the information that can be found in the usage table of field properties.", "tags": [ "Fields" ], "parameters": [ { "name": "tableId", "in": "query", "description": "The unique identifier (dbid) of the table.", "required": true, "schema": { "type": "string" } }, { "name": "fieldId", "in": "path", "description": "The unique identifier (fid) of the field.", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": [ { "field": { "id": 6, "name": "name", "type": "Text" }, "usage": { "actions": { "count": 0 }, "appHomePages": { "count": 0 }, "dashboards": { "count": 2 }, "defaultReports": { "count": 1 }, "exactForms": { "count": 0 }, "fields": { "count": 0 }, "forms": { "count": 1 }, "notifications": { "count": 0 }, "personalReports": { "count": 0 }, "pipelines": { "count": 1 }, "relationships": { "count": 0 }, "reminders": { "count": 0 }, "reports": { "count": 2 }, "roles": { "count": 2 }, "tableImports": { "count": 2 }, "tableRules": { "count": 1 }, "webhooks": { "count": 0 } } } ], "type": "array", "items": { "$ref": "#/components/schemas/GetFieldUsageItem" } } } } } } } }, "/formula/run": { "post": { "operationId": "runFormula", "summary": "Run a formula", "description": "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.", "tags": [ "Formulas" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "description": "The following example will execute a Sum() for '20' and the value in a record with id 1 for the field with label 'NumericField'. Since this API is able to run any type of formula, all results will be returned as a string.", "example": { "from": "bck7gp3q2", "formula": "Sum([NumericField],20)", "rid": 1 }, "type": "object", "additionalProperties": false, "required": [ "formula", "from" ], "properties": { "formula": { "description": "The formula to run. This must be a valid Quickbase formula.", "type": "string" }, "rid": { "description": "The record ID to run the formula against. Only necessary for formulas that are run in the context of a record. For example, the formula User() does not need a record ID.", "type": "integer" }, "from": { "description": "The unique identifier (dbid) of the table.", "example": "bck7gp3q2", "type": "string" } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "result": "30" }, "type": "object", "additionalProperties": true, "properties": { "result": { "description": "The formula execution result.", "type": "string" } } } } } } } } }, "/records": { "post": { "operationId": "upsert", "summary": "Insert/Update record(s)", "description": "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](../fieldInfo) 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. \n**Note:** This endpoint supports a maximum payload size of 40MB.", "tags": [ "Records" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "x-amf-examples": { "Insert record": { "value": { "to": "bck7gp3q2", "data": [ { "6": { "value": "This is my text" }, "7": { "value": 10 }, "8": { "value": "2019-12-18T08:00:00Z" }, "9": { "value": [ "a", "b" ] }, "10": { "value": true }, "11": { "value": "user@quickbase.com" }, "12": { "value": "www.quickbase.com" }, "13": { "value": [ { "id": "123456.ab1s" }, { "id": "254789.mkgp" }, { "id": "789654.vc2s" } ] } } ], "fieldsToReturn": [ 6, 7, 8, 9, 10, 11, 12, 13 ] } }, "Update existing record": { "description": "For updating an existing record, add a mapping of the table key field ID (defaults to '3') to the record ID, in the data array. In the following example, we update the first record.", "value": { "to": "bck7gp3q2", "data": [ { "3": { "value": 1 }, "6": { "value": "This is my new text" }, "7": { "value": 20 }, "9": { "value": [ "c", "d" ] }, "10": { "value": false }, "11": { "value": "newuser@quickbase.com" } } ], "fieldsToReturn": [ 6, 7, 9, 10, 11 ] } } }, "type": "object", "additionalProperties": true, "required": [ "to" ], "properties": { "to": { "description": "The table identifier.", "example": "bck7gp3q2", "type": "string", "minLength": 1 }, "data": { "description": "Record data array, where each record contains key-value mappings of fields to be defined/updated and their values.", "type": "array", "items": { "$ref": "#/components/schemas/QuickbaseRecord" } }, "mergeFieldId": { "description": "The merge field id.", "example": 7, "type": "integer" }, "fieldsToReturn": { "description": "Specify an array of field IDs that will return data for any updates or added record. Record ID (FID 3) is always returned if any field ID is requested.", "type": "array", "items": { "type": "integer" } } } } } } }, "responses": { "200": { "description": "Response", "content": { "application/json": { "schema": { "description": "A successful response that includes details on the records added, updated or unchanged. In the example below, the table previously had ten records with IDs from 1 through 10. The user posts an upsert that updates the value of record 1 and adds two new records, all successfully.", "example": { "value": { "data": [ { "3": { "value": 1 }, "6": { "value": "Updating this record" }, "7": { "value": 10 }, "8": { "value": "2019-12-18T08:00:00.000Z" } }, { "3": { "value": 11 }, "6": { "value": "This is my text" }, "7": { "value": 15 }, "8": { "value": "2019-12-19T08:00:00.000Z" } }, { "3": { "value": 12 }, "6": { "value": "This is my other text" }, "7": { "value": 20 }, "8": { "value": "2019-12-20T08:00:00.000Z" } } ], "metadata": { "createdRecordIds": [ 11, 12 ], "totalNumberOfRecordsProcessed": 3, "unchangedRecordIds": [], "updatedRecordIds": [ 1 ] } } }, "type": "object", "additionalProperties": true, "properties": { "metadata": { "$ref": "#/components/schemas/UpsertMetadata" }, "data": { "description": "The data that is expected to be returned.", "type": "array", "items": { "$ref": "#/components/schemas/QuickbaseRecord" } } } } } } }, "207": { "description": "Response", "content": { "application/json": { "schema": { "description": "Receiving this status code indicates that some (or all) of the individual records being handled had problems and were not processed successfully. The response will be reported under the 'lineErrors' element and indicate the total number of records processed and the errors that occurred with each record. The record IDs of records created, updated, and referenced but unchanged, will be returned in the 'createdRecordIds', 'updatedRecordIds', and 'unchangedRecordIds' elements respectively. \nIn the example below, a user tries to add three records to a table that previously had ten records with IDs from 1 through 10. The first and third records of the request are valid and create the 11th and 12th records in the table; the second record has a problem that prevents it from being processed.", "example": { "value": { "data": [], "metadata": { "createdRecordIds": [ 11, 12 ], "lineErrors": { "2": [ "Incompatible value for field with ID \"6\"." ] }, "totalNumberOfRecordsProcessed": 3, "unchangedRecordIds": [], "updatedRecordIds": [] } } }, "type": "object", "additionalProperties": true, "properties": { "metadata": { "description": "Information about created records, updated records, referenced but unchanged records, and records having any errors while being processed.", "type": "object", "additionalProperties": true, "properties": { "createdRecordIds": { "description": "Array containing the created record ids.", "type": "array", "items": { "type": "integer" } }, "lineErrors": { "description": "This will only be returned in the case of failed records. It is a collection of errors that occurred when processing the incoming data that resulted in records not being processed. Each object has a key representing the sequence number of the record in the original payload (starting from 1). The value is a list of errors occurred.", "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } } }, "unchangedRecordIds": { "description": "Array containing the unchanged record ids.", "type": "array", "items": { "type": "integer" } }, "updatedRecordIds": { "description": "Array containing the updated record ids.", "type": "array", "items": { "type": "integer" } }, "totalNumberOfRecordsProcessed": { "description": "Number of records processed. Includes successful and failed record updates.", "type": "integer" } } }, "data": { "description": "The data that is expected to be returned.", "type": "array" } } } } } }, "400": { "description": "Response", "content": { "application/json": { "schema": { "description": "There was problem in the format of the request. This prevented the entire request from processing any records. The error response will be in the [standard format](../errors).", "example": { "message": "Bad request", "description": "Data object cannot be empty." }, "type": "object", "additionalProperties": true, "properties": { "message": { "description": "The type of error found.", "type": "string" }, "description": { "description": "The description for the occurence of the error.", "type": "string" } } } } } } } }, "delete": { "operationId": "deleteRecords", "summary": "Delete record(s)", "description": "Deletes record(s) in a table based on a query. Alternatively, all records in the table can be deleted.", "tags": [ "Records" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "example": { "from": "bck7gp3q2", "where": "{6.EX.'hello'}" }, "type": "object", "additionalProperties": true, "required": [ "from", "where" ], "properties": { "from": { "description": "The unique identifier of the table.", "example": "bck7gp3q2", "type": "string", "minLength": 1 }, "where": { "description": "The filter to delete records. To delete all records specify a filter that will include all records, for example {3.GT.0} where 3 is the ID of the Record ID field. Or supply a JSON array of Record IDs.", "oneOf": [ { "type": "string", "description": "The filter to delete records. To delete all records specify a filter that will include all records, for example {3.GT.0} where 3 is the ID of the Record ID field." }, { "type": "array", "description": "An array of Record IDs", "items": { "type": "integer" }, "minItems": 1, "maxItems": 50000 } ] } } } } } }, "responses": { "200": { "description": "Successful delete records response.", "content": { "application/json": { "schema": { "example": { "numberDeleted": 1 }, "type": "object", "additionalProperties": true, "properties": { "numberDeleted": { "description": "The number of records deleted.", "example": 1, "type": "integer" } } } } } } } } }, "/records/query": { "post": { "operationId": "runQuery", "summary": "Query for data", "description": "Pass in a query in the [Quickbase query language](https://help.quickbase.com/api-guide/componentsquery.html). Returns record data with [intelligent pagination](../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.", "tags": [ "Records" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "description": "If grouping or sorting is not set, records will not be sorted.", "example": { "value": { "from": "bck7gp3q2", "select": [ 1, 2, 3 ], "where": "{1.CT.'hello'}", "sortBy": [ { "fieldId": 4, "order": "ASC" }, { "fieldId": 5, "order": "ASC" } ], "groupBy": [ { "fieldId": 6, "grouping": "equal-values" } ], "options": { "skip": 0, "top": 0, "compareWithAppLocalTime": false } } }, "type": "object", "additionalProperties": true, "required": [ "from" ], "properties": { "options": { "description": "Additional query options.", "type": "object", "additionalProperties": true, "properties": { "skip": { "description": "The number of records to skip.", "type": "integer" }, "compareWithAppLocalTime": { "description": "Whether to run the query against a date time field with respect to the application's local time. The query is run with UTC time by default. This parameter is ignored when querying by ISO8601, which is always in UTC.", "type": "boolean" }, "top": { "description": "The maximum number of records to display.", "type": "integer" } } }, "where": { "description": "The filter, using the Quickbase query language, which determines the records to return. Or supply a JSON array of Record IDs. If this parameter is omitted, the query will return all records.", "oneOf": [ { "description": "The filter, using the Quickbase query language, which determines the records to return. If this parameter is omitted, the query will return all records.", "example": "{6.EX.'hello'}", "type": "string" }, { "type": "array", "description": "An array of Record IDs", "items": { "type": "integer" }, "minItems": 1, "maxItems": 50000 } ] }, "groupBy": { "description": "An array that contains the fields to group the records by.", "type": "array", "items": { "type": "object", "additionalProperties": true, "properties": { "fieldId": { "description": "The unique identifier of a field in a table.", "type": "integer" }, "grouping": { "description": "Group by based on equal values (equal-values)", "enum": [ "equal-values" ], "type": "string" } } } }, "sortBy": { "$ref": "#/components/schemas/SortByUnion" }, "select": { "description": "An array of field IDs for the fields that should be returned in the response. If empty, the default columns on the table will be returned.", "type": "array", "items": { "type": "integer" } }, "from": { "description": "The table identifier.", "example": "bck7gp3q2", "type": "string", "minLength": 1 } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "value": { "data": [ { "6": { "value": "Andre Harris" }, "7": { "value": 10 }, "8": { "value": "2019-12-18T08:00:00Z" } } ], "fields": [ { "id": 6, "label": "Full Name", "type": "text" }, { "id": 7, "label": "Amount", "type": "numeric" }, { "id": 8, "label": "Date time", "type": "date time" } ], "metadata": { "totalRecords": 10, "numRecords": 1, "numFields": 3, "skip": 0 } } }, "type": "object", "additionalProperties": true, "properties": { "fields": { "description": "An array of objects that contains limited meta-data of each field displayed in the report. This assists in building logic that depends on field types and IDs.", "type": "array", "items": { "$ref": "#/components/schemas/RunQueryFieldsItem" } }, "data": { "description": "An array of objects that either represents the record data or summarized values, depending on the report type.", "type": "array", "items": { "$ref": "#/components/schemas/QuickbaseRecord" } }, "metadata": { "$ref": "#/components/schemas/RunQueryMetadata" } } } } } } } } }, "/records/modifiedSince": { "post": { "operationId": "recordsModifiedSince", "summary": "Get records modified since", "description": "Checks for record changes on the current table and crawls the record dependency graph based on a provided field list. This determines if records on the table changed after the provided timestamp, when factoring in their dependencies. This API requires app admin permissions and only reviews lookup and summary fields in supported relationships.\nTo return deleted records for the current table, 'Index record changes' must be enabled.\nDependent tables only evaluate current records, and deleted records are not supported.", "tags": [ "Records" ], "parameters": [], "requestBody": { "required": false, "content": { "application/json": { "schema": { "type": "object", "additionalProperties": false, "required": [ "after", "from" ], "properties": { "after": { "description": "A timestamp, formatted in ISO-8601 UTC, representing the date and time to search.", "example": "2025-09-04T20:05:22Z", "type": "string", "format": "date-time" }, "fieldList": { "description": "List of field IDs. Each field is crawled across the entire record dependency graph to find its source record's date modified. If one is not provided, only the current table will be referenced.", "type": "array", "items": { "type": "integer" } }, "includeDetails": { "description": "When true, the individual record IDs and timestamps will be returned. If false, only the count of changes will be returned.", "type": "boolean" }, "from": { "description": "The table identifier.", "example": "bck7gp3q2", "type": "string", "minLength": 1 } }, "example": { "value": { "after": "2025-09-04T20:05:22Z", "fieldList": [ 1, 2, 3 ], "includeDetails": true, "from": "bck7gp3q2" } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "The count of changes found.", "type": "integer" }, "changes": { "description": "When includeDetails is true, this array contains the individual record changes. If includeDetails is false, this array will not be returned.", "type": "array", "items": { "$ref": "#/components/schemas/RecordsModifiedSinceChangesItem" } }, "deletesTruncated": { "description": "When true, this indicates that the number of deletes detected exceeded the limit and details could not be returned.", "type": "boolean" } }, "example": { "count": 2, "changes": [ { "recordId": 1, "timestamp": "2025-09-04T20:10:22Z", "changeType": "MODIFY" }, { "recordId": 2, "timestamp": "2025-09-04T20:11:22Z", "changeType": "DELETE" } ] } } } } } } } }, "/auth/temporary/{dbid}": { "get": { "operationId": "getTempTokenDBID", "summary": "Get a temporary token for a dbid", "description": "Use this endpoint to get a temporary authorization token, scoped to either an app or a table. It can only be used inside of code pages for client-side authentication because it relies on the browser session. Learn more about [extending Quickbase](https://helpv2.quickbase.com/hc/en-us/articles/4570341709844-Extending-Quickbase). You can then use this token to make other API calls (see [authorization](../auth)). This token expires in 5 minutes.", "tags": [ "Auth" ], "parameters": [ { "name": "dbid", "in": "path", "description": "The unique identifier of an app or table.", "required": true, "schema": { "type": "string" } }, { "name": "QB-App-Token", "in": "header", "description": "Your Quickbase app token", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "This token is used in the authorization header value (similar to the QB-USER-TOKEN), except it uses the QB-TEMP-TOKEN prefix header['Authorization'] = 'QB-TEMP-TOKEN {token}'", "content": { "application/json": { "schema": { "example": { "temporaryAuthorization": "token" }, "type": "object", "additionalProperties": true, "properties": { "temporaryAuthorization": { "description": "Temporary authorization token.", "type": "string" } } } } } } } } }, "/auth/oauth/token": { "post": { "operationId": "exchangeSsoToken", "summary": "Exchange an SSO token", "description": "Use this endpoint to exchange a SAML assertion for a Quickbase token following [RFC 8693](https://www.rfc-editor.org/rfc/rfc8693.html). 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](https://helpv2.quickbase.com/hc/en-us/articles/4570410646420-SAML-assertion-example#:~:text=Setting%20SAML%20timeout%20session%20time). 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](https://helpv2.quickbase.com/hc/en-us/articles/4570410646420-SAML-assertion-example).", "tags": [ "Auth" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "example": { "grant_type": "urn:ietf:params:oauth:grant-type:token-exchange", "requested_token_type": "urn:quickbase:params:oauth:token-type:temp_ticket", "subject_token": "PHNhbWxwOlJlc3BvbnNlDQogICAgeG1sbnM6c2FtbHA9bjp...", "subject_token_type": "urn:ietf:params:oauth:token-type:saml2" }, "type": "object", "additionalProperties": false, "required": [ "grant_type", "subject_token", "subject_token_type", "requested_token_type" ], "properties": { "grant_type": { "type": "string", "description": "The value `urn:ietf:params:oauth:grant-type:token-exchange` indicates that a token exchange is being performed.", "enum": [ "urn:ietf:params:oauth:grant-type:token-exchange" ] }, "requested_token_type": { "type": "string", "description": "An identifier for the type of the requested security token. For the RESTful API, use `urn:quickbase:params:oauth:token-type:temp_token`. For the XML or SCIM APIs use `urn:quickbase:params:oauth:token-type:temp_ticket`.", "enum": [ "urn:quickbase:params:oauth:token-type:temp_ticket", "urn:quickbase:params:oauth:token-type:temp_token" ] }, "subject_token": { "type": "string", "description": "A security token that represents the identity of the party on behalf of whom the request is being made. For SAML 2.0, the value should be a base64url-encoded SAML 2.0 assertion." }, "subject_token_type": { "type": "string", "description": "An identifier that indicates the type of the security token in the `subject_token` parameter.", "enum": [ "urn:ietf:params:oauth:token-type:saml2" ] } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "access_token": "example_token_1NiIsImtpZCI6IjllciJ9w", "issued_token_type": "urn:quickbase:params:oauth:token-type:temp_ticket", "token_type": "N_A" }, "type": "object", "additionalProperties": true, "properties": { "access_token": { "type": "string", "description": "The security token issued by the authorization server in response to the token exchange request. The identifier `access_token` is used for historical reasons and the issued token need not be an OAuth access token." }, "issued_token_type": { "type": "string", "description": "An identifier for the representation of the issued security token.", "enum": [ "urn:quickbase:params:oauth:token-type:temp_ticket", "urn:quickbase:params:oauth:token-type:temp_token" ] }, "token_type": { "type": "string", "description": "Will always return `N_A`", "enum": [ "N_A" ] } } } } } } } } }, "/usertoken/clone": { "post": { "operationId": "cloneUserToken", "summary": "Clone a user token", "description": "Clones the authenticated user token. All applications associated with that token are automatically associated with the new token.", "tags": [ "UserToken" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "example": { "name": "My cloned user token", "description": "Cloned from user token A" }, "type": "object", "additionalProperties": false, "properties": { "name": { "description": "The new name for the cloned user token.", "type": "string" }, "description": { "description": "The description for the cloned user token.", "type": "string" } } } } } }, "responses": { "200": { "description": "Response", "content": { "application/json": { "schema": { "example": { "active": true, "apps": [ { "id": "bpqe82s1", "name": "My first app" }, { "id": "bpqe82s2", "name": "My second app" } ], "lastUsed": "2020-03-27T18:34:12.000Z", "description": "Cloned user token", "id": 5, "name": "My cloned user token", "token": "token" }, "type": "object", "additionalProperties": true, "properties": { "active": { "description": "Whether the user token is active.", "type": "boolean" }, "apps": { "description": "The list of apps this user token is assigned to.", "type": "array", "items": { "$ref": "#/components/schemas/CloneUserTokenAppsItem" } }, "lastUsed": { "description": "The last date this user token was used, in the ISO 8601 time format YYYY-MM-DDThh:mm:ss.sssZ (in UTC time zone).", "type": "string" }, "description": { "description": "User Token description.", "type": "string" }, "id": { "description": "User Token id.", "type": "integer" }, "name": { "description": "User Token name.", "type": "string" }, "token": { "description": "User Token value.", "type": "string" } } } } } } } } }, "/usertoken/transfer": { "post": { "operationId": "transferUserToken", "summary": "Transfer a user token", "description": "Transfers the specified user token. Application associations will remain intact. For security, permissions must manually be reconciled.", "tags": [ "UserToken" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "example": { "id": 17658, "from": "62341.tr3s", "to": "123456.ab1s" }, "type": "object", "additionalProperties": false, "properties": { "id": { "type": "number", "description": "The id of the user token to transfer" }, "from": { "type": "string", "description": "The id of the user to transfer the user token from" }, "to": { "type": "string", "description": "The id of the user to transfer the user token to" } } } } } }, "responses": { "200": { "description": "Response", "content": { "application/json": { "schema": { "example": { "active": true, "apps": [ { "id": "bpqe82s1", "name": "My first app" }, { "id": "bpqe82s2", "name": "My second app" } ], "lastUsed": "2020-03-27T18:34:12.000Z", "description": "Transferred user token", "id": 5, "name": "My transferred user token" }, "type": "object", "additionalProperties": true, "properties": { "active": { "description": "Whether the user token is active.", "type": "boolean" }, "apps": { "description": "The list of apps this user token is assigned to.", "type": "array", "items": { "$ref": "#/components/schemas/TransferUserTokenAppsItem" } }, "lastUsed": { "description": "The last date this user token was used, in the ISO 8601 time format YYYY-MM-DDThh:mm:ss.sssZ (in UTC time zone).", "type": "string" }, "description": { "description": "User Token description.", "type": "string" }, "id": { "description": "User Token id.", "type": "integer" }, "name": { "description": "User Token name.", "type": "string" } } } } } } } } }, "/usertoken/deactivate": { "post": { "operationId": "deactivateUserToken", "summary": "Deactivate a user token", "description": "Deactivates the authenticated user token. Once this is done, the user token must be reactivated in the user interface.", "tags": [ "UserToken" ], "parameters": [], "responses": { "200": { "description": "Response", "content": { "application/json": { "schema": { "example": { "id": 5 }, "type": "object", "additionalProperties": true, "properties": { "id": { "description": "The user token id.", "type": "integer" } } } } } } } } }, "/usertoken": { "delete": { "operationId": "deleteUserToken", "summary": "Delete a user token", "description": "Deletes the authenticated user token. This is not reversible.", "tags": [ "UserToken" ], "parameters": [], "responses": { "200": { "description": "Response", "content": { "application/json": { "schema": { "example": { "id": 5 }, "type": "object", "additionalProperties": true, "properties": { "id": { "description": "The user token id.", "type": "integer" } } } } } } } } }, "/files/{tableId}/{recordId}/{fieldId}/{versionNumber}": { "get": { "operationId": "downloadFile", "summary": "Download file", "description": "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.", "tags": [ "Files" ], "parameters": [ { "name": "tableId", "in": "path", "description": "The unique identifier of the table.", "required": true, "schema": { "type": "string" } }, { "name": "recordId", "in": "path", "description": "The unique identifier of the record.", "required": true, "schema": { "type": "integer" } }, { "name": "fieldId", "in": "path", "description": "The unique identifier of the field.", "required": true, "schema": { "type": "integer" } }, { "name": "versionNumber", "in": "path", "description": "The file attachment version number.", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "description": "Base64 encoded file content.", "example": "UXVpY2sgQmFzZSBJbmMu" } } } } } }, "delete": { "operationId": "deleteFile", "summary": "Delete file", "description": "Deletes one file attachment version. Meta-data about files can be retrieved from the /records and /reports endpoints, where applicable. Use those endpoints to get the necessary information to delete file versions.", "tags": [ "Files" ], "parameters": [ { "name": "tableId", "in": "path", "description": "The unique identifier of the table.", "required": true, "schema": { "type": "string" } }, { "name": "recordId", "in": "path", "description": "The unique identifier of the record.", "required": true, "schema": { "type": "integer" } }, { "name": "fieldId", "in": "path", "description": "The unique identifier of the field.", "required": true, "schema": { "type": "integer" } }, { "name": "versionNumber", "in": "path", "description": "The file attachment version number.", "required": true, "schema": { "type": "integer" } } ], "responses": { "200": { "description": "Successfully Deleted the File Attachment", "content": { "application/json": { "schema": { "example": { "versionNumber": 1, "fileName": "file.pdf", "uploaded": "2019-12-18T08:00:00Z", "creator": { "email": "jsmith@quickbase.com", "id": "123456.ab1s", "name": "Juliet Smith", "userName": "jsmith" } }, "type": "object", "additionalProperties": true, "properties": { "versionNumber": { "description": "The number of deleted version.", "type": "integer" }, "fileName": { "description": "The name of file associated with deleted version.", "type": "string" }, "uploaded": { "description": "The timestamp when the version was originally uploaded.", "type": "string" }, "creator": { "$ref": "#/components/schemas/DeleteFileCreator" } } } } } } } } }, "/users": { "post": { "operationId": "getUsers", "summary": "Get users", "description": "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').", "tags": [ "Users" ], "parameters": [ { "name": "accountId", "in": "query", "description": "The account id being used to get users. If no value is specified, the first account associated with the requesting user token is chosen.", "required": false, "schema": { "type": "number" } } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "x-amf-examples": { "Get first page example": { "emails": [ "jswilson@domain.com", "jon_doe@domain.com", "sjackson@domain.com" ], "appIds": [ "ab3rd3", "23erfd", "xpsd32" ], "nextPageToken": "" }, "Get next page example": { "emails": [ "jswilson@domain.com", "sjackson@domain.com" ], "appIds": [ "ab3rd3", "23erfd" ], "nextPageToken": "bzw2a9" } }, "type": "object", "additionalProperties": true, "properties": { "emails": { "description": "When provided, the returned users will be narrowed down only to the users included in this list.", "type": "array", "uniqueItems": true, "items": { "type": "string", "pattern": "^.+@.+\\..+$", "minLength": 2, "maxLength": 256 } }, "appIds": { "description": "When provided, the returned users will be narrowed down only to the users assigned to the app id's provided in this list. The provided app id's should belong to the same account.", "type": "array", "uniqueItems": true, "items": { "type": "string" } }, "nextPageToken": { "description": "Next page token used to get the next 'page' of results when available. When this field is empty, the first page is returned.", "type": "string" } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "x-amf-examples": { "All results example": { "users": [ { "userName": "jdoe", "firstName": "Jon", "lastName": "Doe", "emailAddress": "jdoe@domain.com", "hashId": "58351651.xc1" }, { "userName": "swilson", "firstName": "Simone", "lastName": "Wilson", "emailAddress": "jswilson@domain.com", "hashId": "58351648.xc1" }, { "userName": "sjackson", "firstName": "Samuel", "lastName": "Jackson", "emailAddress": "sjackson@domain.com", "hashId": "58351643.xc1" } ], "metadata": { "nextPageToken": "" } }, "Paged results example": { "users": [ { "userName": "swilson", "firstName": "Simone", "lastName": "Wilson", "emailAddress": "jswilson@domain.com", "hashId": "58351648.xc1" }, { "userName": "sjackson", "firstName": "Samuel", "lastName": "Jackson", "emailAddress": "sjackson@domain.com", "hashId": "58351643.xc1" } ], "metadata": { "nextPageToken": "bzw2ba" } } }, "type": "object", "additionalProperties": true, "required": [ "users", "metadata" ], "properties": { "users": { "description": "A list of users found in an account with the given criterias", "type": "array", "items": { "$ref": "#/components/schemas/GetUsersUsersItem" } }, "metadata": { "$ref": "#/components/schemas/GetUsersMetadata" } } } } } } } } }, "/users/deny": { "put": { "operationId": "denyUsers", "summary": "Deny users", "description": "Denies users access to the realm but leaves them listed in groups they have been added to.", "tags": [ "Users" ], "parameters": [ { "name": "accountId", "in": "query", "description": "The account id being used to deny users. If no value is specified, the first account associated with the requesting user token is chosen.", "required": false, "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "description": "A list of user IDs that need to be denied.", "example": [ "123456.ab1s", "423123.vc2d", "78910.ba1s" ], "type": "array", "maxItems": 1000, "minItems": 1, "uniqueItems": true, "items": { "type": "string" } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "failure": [ "423123.vc2d", "78910.ba1s" ], "success": [ "123456.ab1s" ] }, "type": "object", "additionalProperties": true, "required": [ "failure", "success" ], "properties": { "failure": { "description": "A list of users that couldn't be denied. This also includes the ID's of users that are not valid.", "example": [ "78910.qwer", "3512.asd1" ], "type": "array", "items": { "type": "string" } }, "success": { "description": "A list of users that have successfully been denied.", "example": [ "123456.ab1s" ], "type": "array", "items": { "type": "string" } } } } } } } } } }, "/users/deny/{shouldDeleteFromGroups}": { "put": { "operationId": "denyUsersAndGroups", "summary": "Deny and remove users from groups", "description": "Denies users access to the realm and allows you to remove them from groups.", "tags": [ "Users" ], "parameters": [ { "name": "accountId", "in": "query", "description": "The account id being used to deny users. If no value is specified, the first account associated with the requesting user token is chosen.", "required": false, "schema": { "type": "number" } }, { "name": "shouldDeleteFromGroups", "in": "path", "description": "Specifies if the users should also be removed from all groups.", "required": true, "schema": { "type": "boolean" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "description": "A list of user IDs that need to be denied.", "example": [ "123456.ab1s", "423123.vc2d", "78910.ba1s" ], "type": "array", "maxItems": 1000, "minItems": 1, "uniqueItems": true, "items": { "type": "string" } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "failure": [ "423123.vc2d", "78910.ba1s" ], "success": [ "123456.ab1s" ] }, "type": "object", "additionalProperties": true, "required": [ "failure", "success" ], "properties": { "failure": { "description": "A list of users that couldn't be denied. This also includes the ID's of users that are not valid.", "example": [ "78910.qwer", "3512.asd1" ], "type": "array", "items": { "type": "string" } }, "success": { "description": "A list of users that have successfully been denied.", "example": [ "123456.ab1s" ], "type": "array", "items": { "type": "string" } } } } } } } } } }, "/users/undeny": { "put": { "operationId": "undenyUsers", "summary": "Undeny users", "description": "Grants users that have previously been denied access to the realm.", "tags": [ "Users" ], "parameters": [ { "name": "accountId", "in": "query", "description": "The account id being used to undeny users. If no value is specified, the first account associated with the requesting user token is chosen.", "required": false, "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "description": "A list of user IDs that need to be undenied.", "example": [ "123456.ab1s", "423123.vc2d", "78910.ba1s" ], "type": "array", "maxItems": 1000, "minItems": 1, "uniqueItems": true, "items": { "type": "string" } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "failure": [ "423123.vc2d", "78910.ba1s" ], "success": [ "123456.ab1s" ] }, "type": "object", "additionalProperties": true, "required": [ "failure", "success" ], "properties": { "failure": { "description": "A list of users that couldn't be undenied. This also includes the ID's of users that are not valid.", "example": [ "78910.qwer", "3512.asd1" ], "type": "array", "items": { "type": "string" } }, "success": { "description": "A list of users that have successfully been undenied.", "example": [ "123456.ab1s" ], "type": "array", "items": { "type": "string" } } } } } } } } } }, "/groups/{gid}/members": { "post": { "operationId": "addMembersToGroup", "summary": "Add members", "description": "Adds a list of users to a given group as members.", "tags": [ "Groups" ], "parameters": [ { "name": "gid", "in": "path", "description": "This is the ID of the group being modified.", "required": true, "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "description": "A list of user IDs that will be added to a group.", "example": [ "123456.ryyw", "423123.b3x5", "100000.be8s" ], "type": "array", "maxItems": 1000, "minItems": 1, "uniqueItems": true, "items": { "description": "The Id and its hash value of the user to be added to a group.", "type": "string" } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "failure": [ "123456.ryyw", "423123.b3x5" ], "success": [ "100000.be8s" ] }, "type": "object", "additionalProperties": true, "required": [ "failure", "success" ], "properties": { "failure": { "description": "A list of users that couldn't be added to the group. This includes a list of IDs that represent invalid users and users who have already been added to the group.", "example": [ "423123.b3x5", "123456.ryyw" ], "type": "array", "items": { "type": "string" } }, "success": { "description": "A list of users that have been added to the group successfully.", "example": [ "100000.be8s" ], "type": "array", "items": { "type": "string" } } } } } } } } }, "delete": { "operationId": "removeMembersFromGroup", "summary": "Remove members", "description": "Removes a list of members from a given group.", "tags": [ "Groups" ], "parameters": [ { "name": "gid", "in": "path", "description": "This is the ID of the group being modified.", "required": true, "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "description": "A list of user IDs that will be removed from a group.", "example": [ "123456.ryyw", "423123.b3x5", "100000.be8s" ], "type": "array", "maxItems": 1000, "minItems": 1, "uniqueItems": true, "items": { "description": "The Id and its hash value of the user to be removed from a group.", "type": "string" } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "failure": [ "123456.ryyw", "423123.b3x5" ], "success": [ "100000.be8s" ] }, "type": "object", "additionalProperties": true, "required": [ "failure", "success" ], "properties": { "failure": { "description": "A list of users that couldn't be removed from the group. This includes a list of IDs that represent invalid users.", "example": [ "423123.b3x5", "123456.ryyw" ], "type": "array", "items": { "type": "string" } }, "success": { "description": "A list of users that have been removed from the group successfully.", "example": [ "100000.be8s" ], "type": "array", "items": { "type": "string" } } } } } } } } } }, "/groups/{gid}/managers": { "post": { "operationId": "addManagersToGroup", "summary": "Add managers", "description": "Adds a list of users to a given group as managers.", "tags": [ "Groups" ], "parameters": [ { "name": "gid", "in": "path", "description": "This is the ID of the group being modified.", "required": true, "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "description": "A list of user IDs that will be added to a group.", "example": [ "123456.ryyw", "423123.b3x5", "100000.be8s" ], "type": "array", "maxItems": 1000, "minItems": 1, "uniqueItems": true, "items": { "description": "The Id and its hash value of the user to be added to a group.", "type": "string" } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "failure": [ "123456.ryyw", "423123.b3x5" ], "success": [ "100000.be8s" ] }, "type": "object", "additionalProperties": true, "required": [ "failure", "success" ], "properties": { "failure": { "description": "A list of users that couldn't be added to the group. This includes a list of IDs that represent invalid users and users who have already been added to the group.", "example": [ "423123.b3x5", "123456.ryyw" ], "type": "array", "items": { "type": "string" } }, "success": { "description": "A list of users that have been added to the group successfully.", "example": [ "100000.be8s" ], "type": "array", "items": { "type": "string" } } } } } } } } }, "delete": { "operationId": "removeManagersFromGroup", "summary": "Remove managers", "description": "Removes a list of managers from a given group.", "tags": [ "Groups" ], "parameters": [ { "name": "gid", "in": "path", "description": "This is the ID of the group being modified.", "required": true, "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "description": "A list of user IDs that will be removed from a group.", "example": [ "123456.ryyw", "423123.b3x5", "100000.be8s" ], "type": "array", "maxItems": 1000, "minItems": 1, "uniqueItems": true, "items": { "description": "The Id and its hash value of the user to be removed from a group.", "type": "string" } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "failure": [ "123456.ryyw", "423123.b3x5" ], "success": [ "100000.be8s" ] }, "type": "object", "additionalProperties": true, "required": [ "failure", "success" ], "properties": { "failure": { "description": "A list of users that couldn't be removed from the group. This includes a list of IDs that represent invalid users.", "example": [ "423123.b3x5", "123456.ryyw" ], "type": "array", "items": { "type": "string" } }, "success": { "description": "A list of users that have been removed from the group successfully.", "example": [ "100000.be8s" ], "type": "array", "items": { "type": "string" } } } } } } } } } }, "/groups/{gid}/subgroups": { "post": { "operationId": "addSubgroupsToGroup", "summary": "Add child groups", "description": "Adds a list of groups to a given group.", "tags": [ "Groups" ], "parameters": [ { "name": "gid", "in": "path", "description": "This is the ID of the group being modified.", "required": true, "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "description": "A list of group IDs that will be added to a group.", "example": [ "1002.czm8", "1003.bar3" ], "type": "array", "maxItems": 1000, "minItems": 1, "uniqueItems": true, "items": { "description": "The Id and its hash value of the child group to be added to a group.", "type": "string" } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "failure": [ "1002.czm8" ], "success": [ "1003.bar3" ] }, "type": "object", "additionalProperties": true, "required": [ "failure", "success" ], "properties": { "failure": { "description": "A list of child groups that couldn't be added to the group. This includes a list of IDs that represent invalid groups and groups that have already been added to the group.", "example": [ "1002.czm8" ], "type": "array", "items": { "type": "string" } }, "success": { "description": "A list of child groups that have been added to the group successfully.", "example": [ "1003.bar3" ], "type": "array", "items": { "type": "string" } } } } } } } } }, "delete": { "operationId": "removeSubgroupsFromGroup", "summary": "Remove child groups", "description": "Removes a list of groups from a given group.", "tags": [ "Groups" ], "parameters": [ { "name": "gid", "in": "path", "description": "This is the ID of the group being modified.", "required": true, "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "description": "A list of group IDs that will be removed from a group.", "example": [ "1002.czm8", "1003.bar3" ], "type": "array", "maxItems": 1000, "minItems": 1, "uniqueItems": true, "items": { "description": "The Id and its hash value of the child group to be removed from a group.", "type": "string" } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "failure": [ "1002.czm8" ], "success": [ "1003.bar3" ] }, "type": "object", "additionalProperties": true, "required": [ "failure", "success" ], "properties": { "failure": { "description": "A list of child groups that couldn't be removed from the group. This includes a list of IDs that represent invalid groups.", "example": [ "1002.czm8" ], "type": "array", "items": { "type": "string" } }, "success": { "description": "A list of child groups that have been removed from the group successfully.", "example": [ "1003.bar3" ], "type": "array", "items": { "type": "string" } } } } } } } } } }, "/audit": { "post": { "operationId": "audit", "summary": "Get audit logs", "description": "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. \n**Note:** This API is available for enterprise users only.", "tags": [ "Audit" ], "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "example": { "date": "2022-05-20", "topics": [ "login", "login_fail" ] }, "type": "object", "additionalProperties": false, "properties": { "nextToken": { "description": "Token specifying start of page. For first page don't supply this.", "example": "6a.f12x", "type": "string" }, "numRows": { "description": "Number of logs to return per page, default is 10000, minimum is 1000, max is 50000.", "example": 10000, "type": "integer" }, "queryId": { "description": "The query id of an audit log request. This id is needed to fetch subsequent paged results of a single query.", "example": "c41aa90e-0db6-4732-8e22-2ef80fe4092a", "type": "string" }, "date": { "description": "The date for which audit logs need to be fetched. This must be date-time only, as YYYY-MM-DD, and a valid date in the past.", "example": "2022-05-23", "type": "string", "format": "date" }, "topics": { "type": "array", "maxItems": 20, "description": "An array that may contain up to 20 [topics](https://resources.quickbase.com/nav/app/budurkasx/action/showpage/2b2941e4-f34d-4d41-9b0e-db790d20e9ab?pageIdV2=quickbase.com-DashboardGroup-15760d74-2243-4ce9-9495-7cc8790f12e7) to filter by. If empty, all topics are returned.", "items": { "type": "string" } } } } } } }, "responses": { "200": { "description": "Query ran successfully and has returned the events for the given time period.", "content": { "application/json": { "schema": { "example": { "events": [ { "firstname": "Jon", "lastname": "Doe", "email": "jdoe@quickbase.com", "ipaddress": "65.219.241.162", "application": "UI", "resourceurl": "https://demo.quickbase.com/db/bpqe82s1", "sessioninfo": "Session ID: 17245317", "useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Safari/605.1.15", "topic": "app_dashboard_access", "description": "Jon Doe accessed the app dashboard in app Projects", "id": "I3g8gm2cmh-1", "time": "2020-04-21T14:41:51.886Z" } ], "nextToken": "6a.f12x", "queryId": "797c0726-f8f4-4df9-883f-c7e8cbdf2f77.ALtInpuyQeBoW+fWrAqLrjPGqDqPl++IMb3bOxlmoF4=" }, "type": "object", "additionalProperties": true, "required": [ "queryId" ], "properties": { "queryId": { "description": "Query id of the requested audit log.", "type": "string" }, "events": { "description": "All events of the audit log.", "type": "array", "items": { "$ref": "#/components/schemas/AuditEventsItem" } }, "nextToken": { "description": "Token to fetch the next 1000 logs.", "type": "string" } } } } } }, "202": { "description": "Query still being processed. Pass the queryId back to the API to check for results.", "content": { "application/json": { "schema": { "example": { "queryId": "797c0726-f8f4-4df9-883f-c7e8cbdf2f77.ALtInpuyQeBoW+fWrAqLrjPGqDqPl++IMb3bOxlmoF4=" }, "type": "object", "additionalProperties": true, "required": [ "queryId" ], "properties": { "queryId": { "description": "Query id of the requested audit log.", "type": "string" } } } } } } } } }, "/analytics/reads": { "get": { "operationId": "platformAnalyticReads", "summary": "Get read summaries", "description": "Get user read and integration read summaries for any day in the past. \n**Note:** This API is available for enterprise users only.", "tags": [ "Platform Analytics" ], "parameters": [ { "name": "day", "in": "query", "description": "The date for which read summaries need to be fetched. This must be date-time only, as YYYY-MM-DD, and a valid date in the past.", "required": false, "schema": { "type": "string", "format": "date" } } ], "responses": { "200": { "description": "Summaries returned succesfully", "content": { "application/json": { "schema": { "example": { "data": { "dailyDetailedReads": { "date": "2022-01-01", "reads": { "integrations": { "api": 456, "eoti": 789, "pipelines": 432 }, "user": 123 } } } }, "type": "object", "additionalProperties": true, "required": [ "data" ], "properties": { "data": { "$ref": "#/components/schemas/PlatformAnalyticReadsData" } } } } } } } } }, "/analytics/events/summaries": { "post": { "operationId": "platformAnalyticEventSummaries", "summary": "Get event summaries", "description": "Get event summaries for any span of days up to one year and excluding future dates.\n**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.", "tags": [ "Platform Analytics" ], "parameters": [ { "name": "accountId", "in": "query", "description": "The ID of the account to query. If no value is specified, the first account matching the provided domain is chosen.", "required": false, "schema": { "type": "number" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "description": "Date, GroupBy, and Filter options for Event Summaries.", "required": [ "start", "end", "groupBy" ], "properties": { "start": { "type": "string", "format": "date-time", "description": "The start date and time of the requested summaries in ISO 8601 time format." }, "end": { "type": "string", "format": "date-time", "description": "The end date and time of the requested summaries in ISO 8601 time format." }, "nextToken": { "type": "string", "description": "A pagination token from a previous response made using the same parameters. Used to fetch the next page." }, "groupBy": { "type": "string", "enum": [ "app", "user" ], "description": "How the events should be grouped." }, "where": { "type": "array", "maxItems": 10, "description": "A list of items to filter events by. Only events which match ALL criteria will be included in the results.", "items": { "type": "object", "required": [ "id", "type" ], "properties": { "id": { "type": "string", "description": "Id of the item to filter by - the hash uid if filtering a user, or the app id if filtering an app." }, "type": { "type": "string", "enum": [ "app", "user" ], "description": "The type of item to filter by." } } } } }, "example": { "start": "2023-12-01T12:00:00.000-05:00", "end": "2023-12-31T12:00:00.000-05:00", "nextToken": "6a.f12x", "groupBy": "user", "where": [ { "id": "58351651.xc1", "type": "user" }, { "id": "bpqe82s1", "type": "app" } ] } } } } }, "responses": { "200": { "description": "Event summaries returned succesfully", "content": { "application/json": { "schema": { "type": "object", "required": [ "data" ], "properties": { "data": { "$ref": "#/components/schemas/PlatformAnalyticEventSummariesData" } }, "example": { "data": { "eventsSummaries": { "accountId": "1234", "start": "2023-12-01T05:00:00Z", "end": "2023-12-31T05:00:00Z", "groupBy": "user", "where": [ { "id": "58351651.xc1", "type": "user" }, { "id": "bpqe82s1", "type": "app" } ], "results": [ { "id": "58351651.xc1", "name": "Jon Doe", "totals": { "integration": 997, "user": 455, "all": 1452 }, "eventTypes": [ { "eventType": "api", "count": 794, "billingCategory": "integration" }, { "eventType": "eoti", "count": 0, "billingCategory": "integration" }, { "eventType": "stepruns", "count": 203, "billingCategory": "integration" }, { "eventType": "plugin", "count": 0, "billingCategory": "user" }, { "eventType": "appDashboard", "count": 36, "billingCategory": "user" }, { "eventType": "tableDashboard", "count": 0, "billingCategory": "user" }, { "eventType": "form", "count": 419, "billingCategory": "user" }, { "eventType": "report", "count": 0, "billingCategory": "user" } ] } ], "totals": { "integration": 997, "user": 455, "all": 1452 }, "metadata": { "nextToken": "6a.f12x" } } } } } } } } } } }, "/solutions/{solutionId}": { "get": { "operationId": "exportSolution", "summary": "Export a solution", "description": "Returns the QBL for the specified solution. Learn more about [QBL syntax](https://help.quickbase.com/docs/qbl-definition-structure-and-syntax). \n 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.", "tags": [ "Solutions" ], "parameters": [ { "name": "solutionId", "in": "path", "description": "The unique identifier (UUID) or the alias of the solution.", "required": true, "schema": { "type": "string" } }, { "name": "QBL-Version", "in": "header", "description": "The QBL version to be used for the export. If not specified the default would be used.", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": "Solution:\n Id: 8d2c3333-7d32-4ece-8073-57106c465384\n Name: Example solution\n Owner: manager@yourrealm.com\n ExportDate: 2024-03-25 12:04:05\nVersion: 0.2\nResources:\n $App_Example_app:\n Type: QB::Application\n Properties:\n Name: Example app\n Description: \n AppColor: '#72509a'\n Manager: manager@yourrealm.com\n TableOrder: []\n AppIcon: Application\n CurrencySymbol: $\n FiscalYearDesignation: Last\n FirstDayOfWeek: Sun\n DateFormat: MM-DD-YYYY\n FirstMonthOfFiscalYear: Jan\n CurrencySymbolPosition: Between\n NumberFormat:\n SeparatorStyle: CommaGroupingPeriodDecimal\n SeparatorPlaces: none\n DefaultViewMode: Auto\n HideNewUpdatedIcons: false\n DisableAllUsersSelection: false\n CanCopyApp: Admin\n CanExportData: Everyone\n Searchable: false\n RequireAppToken: true\n ShowPerformanceBar: false\n ShowPerformanceAnalyzer: false\n GlobalSearchExactMatch: false\n Utf8DataEncoding: false\n Timezone: Default\n Branding:\n AppHeader:\n HideQuickbaseStandardMenu: false\n AppFooter: {}\n RoleOrder:\n - !Ref\n Role: $Role_Viewer\n - !Ref\n Role: $Role_Participant\n - !Ref\n Role: $Role_Administrator\n Roles:\n $Role_Viewer:\n Type: QB::Application::Role\n Properties:\n Name: Viewer\n Description: \n Default: false\n ManageUsers: false\n EditApp: false\n DisableAccess: false\n AppUI:\n HideSettings: false\n HideUsers: false\n HideFavorites: false\n HideSearch: false\n HideHelp: false\n HideTestAs: false\n TableUI:\n Global:\n HideInBar: false\n HideNewRecord: false\n HideGridEdit: false\n HideEmail: false\n HidePrint: false\n HideImportExport: false\n HideSaveSpreadsheet: false\n HideCreateCustomizeReport: false\n HidePersonalSettings: false\n $Role_Participant:\n Type: QB::Application::Role\n Properties:\n Name: Participant\n Description: \n Default: true\n ManageUsers: true\n EditApp: false\n DisableAccess: false\n AppUI:\n HideSettings: false\n HideUsers: false\n HideFavorites: false\n HideSearch: false\n HideHelp: false\n HideTestAs: false\n TableUI:\n Global:\n HideInBar: false\n HideNewRecord: false\n HideGridEdit: false\n HideEmail: false\n HidePrint: false\n HideImportExport: false\n HideSaveSpreadsheet: false\n HideCreateCustomizeReport: false\n HidePersonalSettings: false\n $Role_Administrator:\n Type: QB::Application::Role\n Properties:\n Name: Administrator\n Description: \n Default: false\n ManageUsers: true\n EditApp: true\n DisableAccess: false\n AppUI:\n HideSettings: false\n HideUsers: false\n HideFavorites: false\n HideSearch: false\n HideHelp: false\n HideTestAs: false\n TableUI:\n Global:\n HideInBar: false\n HideNewRecord: false\n HideGridEdit: false\n HideEmail: false\n HidePrint: false\n HideImportExport: false\n HideSaveSpreadsheet: false\n HideCreateCustomizeReport: false\n HidePersonalSettings: false" } } } }, "400": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Bad request.", "description": "" } } } } }, "401": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Forbidden.", "description": "" } } } } }, "404": { "description": "Solution does not exist. The supplied solution ID was not found.", "content": { "application/json": { "schema": { "example": { "message": "Not found.", "description": "" } } } } }, "default": { "description": "Non-common error, reach out to support if there's lack of clarity.", "content": { "application/json": { "schema": { "example": { "message": "Internal server error.", "description": "" } } } } } } }, "put": { "operationId": "updateSolution", "summary": "Update a solution", "description": "Updates the solution using the provided QBL. Learn more about [QBL syntax](https://help.quickbase.com/hc/en-us/articles/24845511223828-What-is-QBL). \n 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.", "tags": [ "Solutions" ], "parameters": [ { "name": "solutionId", "in": "path", "description": "The unique identifier (UUID) or the alias of the solution.", "required": true, "schema": { "type": "string" } }, { "name": "X-QBL-Errors-As-Success", "in": "header", "description": "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.", "required": false, "schema": { "type": "boolean" } } ], "requestBody": { "description": "The QBL to be used for the update.", "required": false, "content": { "application/json": { "schema": { "example": "Version: 0.2\nResources:\n $App_Example_app:\n Type: QB::Application\n Properties:\n Name: Example app\n Description: \n AppColor: '#72509a'\n Manager: manager@yourrealm.com\n TableOrder: []\n AppIcon: Application\n CurrencySymbol: $\n FiscalYearDesignation: Last\n FirstDayOfWeek: Sun\n DateFormat: MM-DD-YYYY\n FirstMonthOfFiscalYear: Jan\n CurrencySymbolPosition: Between\n NumberFormat:\n SeparatorStyle: CommaGroupingPeriodDecimal\n SeparatorPlaces: none\n DefaultViewMode: Auto\n HideNewUpdatedIcons: false\n DisableAllUsersSelection: false\n CanCopyApp: Admin\n CanExportData: Everyone\n Searchable: false\n RequireAppToken: true\n ShowPerformanceBar: false\n ShowPerformanceAnalyzer: false\n GlobalSearchExactMatch: false\n Utf8DataEncoding: false\n Timezone: Default\n Branding:\n AppHeader:\n HideQuickbaseStandardMenu: false\n AppFooter: {}\n RoleOrder:\n - !Ref\n Role: $Role_Viewer\n - !Ref\n Role: $Role_Participant\n - !Ref\n Role: $Role_Administrator\n Roles:\n $Role_Viewer:\n Type: QB::Application::Role\n Properties:\n Name: Viewer\n Description: \n Default: false\n ManageUsers: false\n EditApp: false\n DisableAccess: false\n AppUI:\n HideSettings: false\n HideUsers: false\n HideFavorites: false\n HideSearch: false\n HideHelp: false\n HideTestAs: false\n TableUI:\n Global:\n HideInBar: false\n HideNewRecord: false\n HideGridEdit: false\n HideEmail: false\n HidePrint: false\n HideImportExport: false\n HideSaveSpreadsheet: false\n HideCreateCustomizeReport: false\n HidePersonalSettings: false\n $Role_Participant:\n Type: QB::Application::Role\n Properties:\n Name: Participant\n Description: \n Default: true\n ManageUsers: true\n EditApp: false\n DisableAccess: false\n AppUI:\n HideSettings: false\n HideUsers: false\n HideFavorites: false\n HideSearch: false\n HideHelp: false\n HideTestAs: false\n TableUI:\n Global:\n HideInBar: false\n HideNewRecord: false\n HideGridEdit: false\n HideEmail: false\n HidePrint: false\n HideImportExport: false\n HideSaveSpreadsheet: false\n HideCreateCustomizeReport: false\n HidePersonalSettings: false\n $Role_Administrator:\n Type: QB::Application::Role\n Properties:\n Name: Administrator\n Description: \n Default: false\n ManageUsers: true\n EditApp: true\n DisableAccess: false\n AppUI:\n HideSettings: false\n HideUsers: false\n HideFavorites: false\n HideSearch: false\n HideHelp: false\n HideTestAs: false\n TableUI:\n Global:\n HideInBar: false\n HideNewRecord: false\n HideGridEdit: false\n HideEmail: false\n HidePrint: false\n HideImportExport: false\n HideSaveSpreadsheet: false\n HideCreateCustomizeReport: false\n HidePersonalSettings: false" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "solutionId": "097aefef-113a-4fc1-9c78-3ecb1003b95c", "alias": null, "createdResources": { "apps": {} }, "warnings": [] } } } } }, "400": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Bad request", "description": "" } } } } }, "401": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Forbidden", "description": "" } } } } }, "default": { "description": "Non-common error, reach out to support if there's lack of clarity.", "content": { "application/json": { "schema": { "example": { "message": "Internal server error.", "description": "" } } } } } } } }, "/solutions": { "post": { "operationId": "createSolution", "summary": "Create a solution", "description": "Creates a solution using the provided QBL. Learn more about [QBL syntax](https://help.quickbase.com/hc/en-us/articles/24845511223828-What-is-QBL). \n 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.", "tags": [ "Solutions" ], "parameters": [ { "name": "X-QBL-Errors-As-Success", "in": "header", "description": "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.", "required": false, "schema": { "type": "boolean" } } ], "requestBody": { "description": "The QBL to be used for the create.", "required": true, "content": { "application/json": { "schema": { "example": "Version: 0.2\nResources:\n $App_Example_app:\n Type: QB::Application\n Properties:\n Name: Example app\n Description: \n AppColor: '#72509a'\n Manager: manager@yourrealm.com\n TableOrder: []\n AppIcon: Application\n CurrencySymbol: $\n FiscalYearDesignation: Last\n FirstDayOfWeek: Sun\n DateFormat: MM-DD-YYYY\n FirstMonthOfFiscalYear: Jan\n CurrencySymbolPosition: Between\n NumberFormat:\n SeparatorStyle: CommaGroupingPeriodDecimal\n SeparatorPlaces: none\n DefaultViewMode: Auto\n HideNewUpdatedIcons: false\n DisableAllUsersSelection: false\n CanCopyApp: Admin\n CanExportData: Everyone\n Searchable: false\n RequireAppToken: true\n ShowPerformanceBar: false\n ShowPerformanceAnalyzer: false\n GlobalSearchExactMatch: false\n Utf8DataEncoding: false\n Timezone: Default\n Branding:\n AppHeader:\n HideQuickbaseStandardMenu: false\n AppFooter: {}\n RoleOrder:\n - !Ref\n Role: $Role_Viewer\n - !Ref\n Role: $Role_Participant\n - !Ref\n Role: $Role_Administrator\n Roles:\n $Role_Viewer:\n Type: QB::Application::Role\n Properties:\n Name: Viewer\n Description: \n Default: false\n ManageUsers: false\n EditApp: false\n DisableAccess: false\n AppUI:\n HideSettings: false\n HideUsers: false\n HideFavorites: false\n HideSearch: false\n HideHelp: false\n HideTestAs: false\n TableUI:\n Global:\n HideInBar: false\n HideNewRecord: false\n HideGridEdit: false\n HideEmail: false\n HidePrint: false\n HideImportExport: false\n HideSaveSpreadsheet: false\n HideCreateCustomizeReport: false\n HidePersonalSettings: false\n $Role_Participant:\n Type: QB::Application::Role\n Properties:\n Name: Participant\n Description: \n Default: true\n ManageUsers: true\n EditApp: false\n DisableAccess: false\n AppUI:\n HideSettings: false\n HideUsers: false\n HideFavorites: false\n HideSearch: false\n HideHelp: false\n HideTestAs: false\n TableUI:\n Global:\n HideInBar: false\n HideNewRecord: false\n HideGridEdit: false\n HideEmail: false\n HidePrint: false\n HideImportExport: false\n HideSaveSpreadsheet: false\n HideCreateCustomizeReport: false\n HidePersonalSettings: false\n $Role_Administrator:\n Type: QB::Application::Role\n Properties:\n Name: Administrator\n Description: \n Default: false\n ManageUsers: true\n EditApp: true\n DisableAccess: false\n AppUI:\n HideSettings: false\n HideUsers: false\n HideFavorites: false\n HideSearch: false\n HideHelp: false\n HideTestAs: false\n TableUI:\n Global:\n HideInBar: false\n HideNewRecord: false\n HideGridEdit: false\n HideEmail: false\n HidePrint: false\n HideImportExport: false\n HideSaveSpreadsheet: false\n HideCreateCustomizeReport: false\n HidePersonalSettings: false" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "solutionId": "097aefef-113a-4fc1-9c78-3ecb1003b95c", "alias": null, "createdResources": { "apps": {} }, "warnings": [] } } } } }, "400": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Bad request.", "description": "" } } } } }, "401": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Forbidden.", "description": "" } } } } }, "default": { "description": "Non-common error, reach out to support if there's lack of clarity.", "content": { "application/json": { "schema": { "example": { "message": "Internal server error.", "description": "" } } } } } } } }, "/solutions/{solutionId}/torecord": { "get": { "operationId": "exportSolutionToRecord", "summary": "Export solution to record", "description": "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. \n 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.", "tags": [ "Solutions" ], "parameters": [ { "name": "solutionId", "in": "path", "description": "The unique identifier of the solution.", "required": true, "schema": { "type": "string" } }, { "name": "tableId", "in": "query", "description": "The unique identifier (dbid) of the table.", "required": true, "schema": { "type": "string" } }, { "name": "fieldId", "in": "query", "description": "The unique identifier (fid) of the field. It needs to be a file attachment field.", "required": true, "schema": { "type": "integer" } }, { "name": "X-QBL-Errors-As-Success", "in": "header", "description": "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.", "required": false, "schema": { "type": "boolean" } }, { "name": "QBL-Version", "in": "header", "description": "The QBL version to be used for the export. If not specified the default would be used.", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "record_id": 1, "filename": "QBL-0.4-30d92a39-5940-49b6-9eb1-c2966f85a7c0.yaml" } } } } }, "400": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Bad request.", "description": "" } } } } }, "401": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Forbidden.", "description": "" } } } } }, "404": { "description": "A resource is missing. For example: The supplied solution or field does not exist.", "content": { "application/json": { "schema": { "example": { "message": "Not found.", "description": "" } } } } }, "default": { "description": "Non-common error, reach out to support if there's lack of clarity.", "content": { "application/json": { "schema": { "example": { "message": "Internal server error.", "description": "" } } } } } } } }, "/solutions/fromrecord": { "get": { "operationId": "createSolutionFromRecord", "summary": "Create solution from record", "description": "Creates a solution using the QBL from the specified record. \n 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.", "tags": [ "Solutions" ], "parameters": [ { "name": "tableId", "in": "query", "description": "The unique identifier (dbid) of the table.", "required": true, "schema": { "type": "string" } }, { "name": "fieldId", "in": "query", "description": "The unique identifier (fid) of the field. It needs to be a file attachment field.", "required": true, "schema": { "type": "integer" } }, { "name": "recordId", "in": "query", "description": "The unique identifier of the record.", "required": true, "schema": { "type": "integer" } }, { "name": "X-QBL-Errors-As-Success", "in": "header", "description": "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.", "required": false, "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "solutionId": "f53acd36-1e75-47ed-910c-0ca4fd165a84", "alias": null, "createdResources": { "apps": { "$App_IT_Total_Management": "bt6i6jc39" }, "pipelines": {} }, "warnings": [] } } } } }, "400": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Bad request.", "description": "" } } } } }, "401": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Forbidden.", "description": "" } } } } }, "404": { "description": "A resource is missing. For example: The supplied solution, field or record does not exist.", "content": { "application/json": { "schema": { "example": { "message": "Not found.", "description": "" } } } } }, "default": { "description": "Non-common error, reach out to support if there's lack of clarity.", "content": { "application/json": { "schema": { "example": { "message": "Internal server error.", "description": "" } } } } } } } }, "/solutions/{solutionId}/fromrecord": { "get": { "operationId": "updateSolutionToRecord", "summary": "Update solution from record", "description": "Updates a solution using the QBL from the specified record. \n 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.", "tags": [ "Solutions" ], "parameters": [ { "name": "solutionId", "in": "path", "description": "The unique identifier of the solution.", "required": true, "schema": { "type": "string" } }, { "name": "tableId", "in": "query", "description": "The unique identifier (dbid) of the table.", "required": true, "schema": { "type": "string" } }, { "name": "fieldId", "in": "query", "description": "The unique identifier (fid) of the field. It needs to be a file attachment field.", "required": true, "schema": { "type": "integer" } }, { "name": "recordId", "in": "query", "description": "The unique identifier of the record.", "required": true, "schema": { "type": "integer" } }, { "name": "X-QBL-Errors-As-Success", "in": "header", "description": "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.", "required": false, "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "solutionId": "acfa89a2-5ec0-4552-ba69-1372e41288ea", "alias": null, "resources": { "apps": { "$App_IT_Total_Management": "bt6i6jc39" }, "pipelines": {} }, "warnings": [] } } } } }, "400": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Bad request.", "description": "" } } } } }, "401": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Forbidden.", "description": "" } } } } }, "404": { "description": "A resource is missing. For example: The supplied solution, field or record does not exist.", "content": { "application/json": { "schema": { "example": { "message": "Not found.", "description": "" } } } } }, "default": { "description": "Non-common error, reach out to support if there's lack of clarity.", "content": { "application/json": { "schema": { "example": { "message": "Internal server error.", "description": "" } } } } } } } }, "/solutions/{solutionId}/changeset": { "put": { "operationId": "changesetSolution", "summary": "List solution changes", "description": "Returns a list of changes that would occur if the provided QBL were to be applied. Learn more about [QBL syntax](https://help.quickbase.com/hc/en-us/articles/24845511223828-What-is-QBL). \n 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.", "tags": [ "Solutions" ], "parameters": [ { "name": "solutionId", "in": "path", "description": "The unique identifier of the solution.", "required": true, "schema": { "type": "string" } }, { "name": "X-QBL-Errors-As-Success", "in": "header", "description": "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.", "required": false, "schema": { "type": "boolean" } } ], "requestBody": { "description": "The QBL to be used for the changeset.", "required": true, "content": { "application/json": { "schema": { "example": "Version: 0.4\nResources:\n $App_Example_app:\n Type: QB::Application\n Properties:\n Name: Example app\n Description: \n AppColor: '#72509a'\n Manager: manager@yourrealm.com\n TableOrder: []\n AppIcon: Application\n CurrencySymbol: $\n FiscalYearDesignation: Last\n FirstDayOfWeek: Sun\n DateFormat: MM-DD-YYYY\n FirstMonthOfFiscalYear: Jan\n CurrencySymbolPosition: Between\n NumberFormat:\n SeparatorStyle: CommaGroupingPeriodDecimal\n SeparatorPlaces: none\n DefaultViewMode: Auto\n HideNewUpdatedIcons: false\n DisableAllUsersSelection: false\n CanCopyApp: Admin\n CanExportData: Everyone\n Searchable: false\n RequireAppToken: true\n ShowPerformanceBar: false\n ShowPerformanceAnalyzer: false\n GlobalSearchExactMatch: false\n Utf8DataEncoding: false\n Timezone: Default\n Branding:\n AppHeader:\n HideQuickbaseStandardMenu: false\n AppFooter: {}\n RoleOrder:\n - !Ref\n Role: $Role_Viewer\n - !Ref\n Role: $Role_Participant\n - !Ref\n Role: $Role_Administrator\n Roles:\n $Role_Viewer:\n Type: QB::Application::Role\n Properties:\n Name: Viewer\n Description: \n Default: false\n ManageUsers: false\n EditApp: false\n DisableAccess: false\n AppUI:\n HideSettings: false\n HideUsers: false\n HideFavorites: false\n HideSearch: false\n HideHelp: false\n HideTestAs: false\n TableUI:\n Global:\n HideInBar: false\n HideNewRecord: false\n HideGridEdit: false\n HideEmail: false\n HidePrint: false\n HideImportExport: false\n HideSaveSpreadsheet: false\n HideCreateCustomizeReport: false\n HidePersonalSettings: false\n $Role_Participant:\n Type: QB::Application::Role\n Properties:\n Name: Participant\n Description: \n Default: true\n ManageUsers: true\n EditApp: false\n DisableAccess: false\n AppUI:\n HideSettings: false\n HideUsers: false\n HideFavorites: false\n HideSearch: false\n HideHelp: false\n HideTestAs: false\n TableUI:\n Global:\n HideInBar: false\n HideNewRecord: false\n HideGridEdit: false\n HideEmail: false\n HidePrint: false\n HideImportExport: false\n HideSaveSpreadsheet: false\n HideCreateCustomizeReport: false\n HidePersonalSettings: false\n $Role_Administrator:\n Type: QB::Application::Role\n Properties:\n Name: Administrator\n Description: \n Default: false\n ManageUsers: true\n EditApp: true\n DisableAccess: false\n AppUI:\n HideSettings: false\n HideUsers: false\n HideFavorites: false\n HideSearch: false\n HideHelp: false\n HideTestAs: false\n TableUI:\n Global:\n HideInBar: false\n HideNewRecord: false\n HideGridEdit: false\n HideEmail: false\n HidePrint: false\n HideImportExport: false\n HideSaveSpreadsheet: false\n HideCreateCustomizeReport: false\n HidePersonalSettings: false" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "id": "f53acd36-1e75-47ed-910c-0ca4fd165a84", "changes": [ { "logicalType": "App", "logicalId": "$App_Example_app", "action": "Add", "path": [ "$App_Example_app" ] }, { "logicalType": "App", "logicalId": "$App_Simple_Project_Manager", "action": "Remove", "path": [ "$App_Simple_Project_Manager" ] } ] } } } } }, "400": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Bad request.", "description": "" } } } } }, "401": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Forbidden.", "description": "" } } } } }, "404": { "description": "Solution does not exist. The supplied solution ID was not found.", "content": { "application/json": { "schema": { "example": { "message": "Not found.", "description": "" } } } } }, "default": { "description": "Non-common error, reach out to support if there's lack of clarity.", "content": { "application/json": { "schema": { "example": { "message": "Internal server error.", "description": "" } } } } } } } }, "/solutions/{solutionId}/changeset/fromrecord": { "get": { "operationId": "changesetSolutionFromRecord", "summary": "List solution changes from record", "description": "Returns a list of changes that would occur if the QBL from the provided record were to be applied. \n 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.", "tags": [ "Solutions" ], "parameters": [ { "name": "solutionId", "in": "path", "description": "The unique identifier of the solution.", "required": true, "schema": { "type": "string" } }, { "name": "tableId", "in": "query", "description": "The unique identifier (dbid) of the table.", "required": true, "schema": { "type": "string" } }, { "name": "fieldId", "in": "query", "description": "The unique identifier (fid) of the field. It needs to be a file attachment field.", "required": true, "schema": { "type": "integer" } }, { "name": "recordId", "in": "query", "description": "The unique identifier of the record.", "required": true, "schema": { "type": "integer" } }, { "name": "X-QBL-Errors-As-Success", "in": "header", "description": "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.", "required": false, "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "id": "f53acd36-1e75-47ed-910c-0ca4fd165a84", "changes": [ { "logicalType": "Property", "logicalId": "App::$App_MVP_App_234::Property::Name", "action": "Update", "path": [ "$App_MVP_App_234", "Name" ] }, { "logicalType": "Table", "logicalId": "$Table_Parents", "action": "Remove", "path": [ "$App_MVP_App_234", "$Table_Parents" ] }, { "logicalType": "Table", "logicalId": "$Table_Children", "action": "Remove", "path": [ "$App_MVP_App_234", "$Table_Children" ] } ] } } } } }, "400": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Bad request.", "description": "" } } } } }, "401": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Forbidden.", "description": "" } } } } }, "404": { "description": "A resource is missing. For example: The supplied solution, field or record does not exist.", "content": { "application/json": { "schema": { "example": { "message": "Not found.", "description": "" } } } } }, "default": { "description": "Non-common error, reach out to support if there's lack of clarity.", "content": { "application/json": { "schema": { "example": { "message": "Internal server error.", "description": "" } } } } } } } }, "/docTemplates/{templateId}/generate": { "get": { "operationId": "generateDocument", "summary": "Generate a document", "description": "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.", "tags": [ "Document Templates" ], "parameters": [ { "name": "templateId", "in": "path", "description": "This is the ID of document template.", "required": true, "schema": { "type": "number" } }, { "name": "tableId", "in": "query", "description": "The unique identifier of the table.", "required": true, "schema": { "type": "string" } }, { "name": "recordId", "in": "query", "description": "The ID of the record", "required": false, "schema": { "type": "number" } }, { "name": "filename", "in": "query", "description": "File name for the downloaded file", "required": true, "schema": { "type": "string" } }, { "name": "Accept", "in": "header", "description": "The content-type of the response. application/json will return a JSON payload with a base64 encoded file. application/octet-stream will download the file directly.", "required": false, "schema": { "type": "string", "enum": [ "application/json", "application/octet-stream" ] } }, { "name": "format", "in": "query", "description": "The format of the file that is returned. Default is \"pdf\".", "required": false, "schema": { "type": "string", "enum": [ "html", "pdf", "docx" ] } }, { "name": "margin", "in": "query", "description": "Margin formatted as top right bottom left, separated by spaces. Add to override the value set in the template builder.", "required": false, "schema": { "type": "string", "pattern": "^(\\d+([.]\\d{1,2})? ){3}(\\d+([.]\\d{1,2})?)$" } }, { "name": "unit", "in": "query", "description": "Unit of measurement for the margin. Default is \"in\". Add to override the value set in the template builder.", "required": false, "schema": { "type": "string", "enum": [ "in", "cm", "nm", "px" ] } }, { "name": "pageSize", "in": "query", "description": "Page size. Default is \"A4\". Add to override the value set in the template builder.", "required": false, "schema": { "type": "string", "enum": [ "Letter", "Legal", "Tabloid", "A3", "A4", "A5", "A6" ] } }, { "name": "orientation", "in": "query", "description": "Page orientation. Default is \"portrait\". Add to override the value set in the template builder.", "required": false, "schema": { "type": "string", "enum": [ "portrait", "landscape" ] } }, { "name": "realm", "in": "query", "description": "Your Quickbase domain, for example demo.quickbase.com", "required": false, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "fileName": "Document.pdf", "data": "data", "contentType": "application/pdf" }, "type": "object", "additionalProperties": true, "properties": { "fileName": { "description": "The file name.", "type": "string" }, "data": { "description": "Base64 encoded file content.", "type": "string" }, "contentType": { "description": "The document content type.", "type": "string" } } } } } } } } }, "/solutions/{solutionId}/resources": { "get": { "operationId": "getSolutionPublic", "summary": "Get solution information", "description": "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.", "tags": [ "Solutions" ], "parameters": [ { "name": "solutionId", "in": "path", "description": "The unique identifier (UUID) or the alias of the solution.", "required": true, "schema": { "type": "string" } }, { "name": "X-QBL-Errors-As-Success", "in": "header", "description": "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.", "required": false, "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "uuid": "f53acd36-1e75-47ed-910c-0ca4fd165a84", "alias": "my-solution-alias", "name": "My Example Solution", "description": "A solution containing example applications and pipelines", "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-03-22T14:45:00Z", "resources": { "apps": [ { "id": "bskapa2x3", "logicalId": "$App_Example_app" }, { "id": "bskbqm7y4", "logicalId": "$App_Project_Manager" } ], "pipelines": [ { "id": "123456789", "logicalId": "$Pipeline_Data_Sync" }, { "id": "987654321", "logicalId": "$Pipeline_Notification_Flow" } ] } } } } } }, "400": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Bad request.", "description": "" } } } } }, "401": { "description": "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.", "content": { "application/json": { "schema": { "example": { "message": "Forbidden.", "description": "" } } } } }, "404": { "description": "Solution does not exist. The supplied solution ID was not found.", "content": { "application/json": { "schema": { "example": { "message": "Not found.", "description": "" } } } } }, "500": { "description": "Internal server error. An unexpected error occurred while processing the request.", "content": { "application/json": { "schema": { "example": { "message": "Internal server error.", "description": "" } } } } } } } }, "/app/{appId}/trustees": { "get": { "operationId": "getTrustees", "summary": "Get trustees for an app", "description": "Returns the list of trustees for a specific application. Trustees include users, groups and email domain groups.", "tags": [ "Trustees" ], "parameters": [ { "name": "appId", "in": "path", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "description": "A list of trustees. Each trustee is represented by an object containing the trustee's ID, type, and role ID.", "example": [ { "id": "123456.ab1s", "roleId": 10, "type": "user" }, { "id": "1002.czm8", "roleId": 11, "type": "group" } ], "items": { "$ref": "#/components/schemas/GetTrusteesItem" }, "maxItems": 1000, "minItems": 1, "type": "array" } } } } } }, "post": { "operationId": "addTrustees", "summary": "Add trustees to an app", "description": "Add trustees to the specified application. Trustees include users, groups and email domain groups.", "tags": [ "Trustees" ], "parameters": [ { "name": "appId", "in": "path", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "description": "A list of trustees. Each trustee is represented by an object containing the trustee's ID, type, and role ID.", "example": [ { "id": "123456.ab1s", "roleId": 10, "type": "user" }, { "id": "1002.czm8", "roleId": 11, "type": "group" } ], "items": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId" ], "type": "object" }, "maxItems": 1000, "minItems": 1, "type": "array" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "failure": [], "success": [ { "id": "123456.ab1s", "roleId": 10, "type": "user" } ] }, "properties": { "failure": { "description": "A list of trustees that were not updated. This includes invalid IDs or IDs that could not be processed.", "items": { "$ref": "#/components/schemas/AddTrusteesFailureItem" }, "type": "array" }, "success": { "description": "A list of trustees that have been successfully updated.", "items": { "$ref": "#/components/schemas/AddTrusteesSuccessItem" }, "type": "array" } }, "required": [ "failure", "success" ], "type": "object" } } } }, "207": { "description": "Partial success. Some trustees were added successfully, while others failed.", "content": { "application/json": { "schema": { "example": { "failure": [ { "error": "Invalid user ID", "trustee": { "id": "78910.ba1s", "roleId": 12, "type": "user" } } ], "success": [ { "id": "123456.ab1s", "roleId": 10, "type": "user" } ] }, "properties": { "failure": { "description": "A list of trustees that were not updated. This includes invalid IDs or IDs that could not be processed.", "items": { "properties": { "error": { "description": "The error message associated with the trustee that could not be updated.", "type": "string" }, "trustee": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId" ], "type": "object" } }, "type": "object" }, "type": "array" }, "success": { "description": "A list of trustees that have been successfully updated.", "items": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId" ], "type": "object" }, "type": "array" } }, "required": [ "failure", "success" ], "type": "object" } } } } } }, "delete": { "operationId": "removeTrustees", "summary": "Remove trustees from an app", "description": "Remove trustees from the specified application. Trustees include users, groups and email domain groups.", "tags": [ "Trustees" ], "parameters": [ { "name": "appId", "in": "path", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "description": "A list of trustees. Each trustee is represented by an object containing the trustee's ID, type, and role ID.", "example": [ { "id": "123456.ab1s", "roleId": 10, "type": "user" }, { "id": "1002.czm8", "roleId": 11, "type": "group" } ], "items": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId" ], "type": "object" }, "maxItems": 1000, "minItems": 1, "type": "array" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "failure": [], "success": [ { "id": "123456.ab1s", "roleId": 10, "type": "user" } ] }, "properties": { "failure": { "description": "A list of trustees that were not updated. This includes invalid IDs or IDs that could not be processed.", "items": { "$ref": "#/components/schemas/RemoveTrusteesFailureItem" }, "type": "array" }, "success": { "description": "A list of trustees that have been successfully updated.", "items": { "$ref": "#/components/schemas/RemoveTrusteesSuccessItem" }, "type": "array" } }, "required": [ "failure", "success" ], "type": "object" } } } }, "207": { "description": "Partial success. Some trustees were added successfully, while others failed.", "content": { "application/json": { "schema": { "example": { "failure": [ { "error": "Invalid user ID", "trustee": { "id": "78910.ba1s", "roleId": 12, "type": "user" } } ], "success": [ { "id": "123456.ab1s", "roleId": 10, "type": "user" } ] }, "properties": { "failure": { "description": "A list of trustees that were not updated. This includes invalid IDs or IDs that could not be processed.", "items": { "properties": { "error": { "description": "The error message associated with the trustee that could not be updated.", "type": "string" }, "trustee": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId" ], "type": "object" } }, "type": "object" }, "type": "array" }, "success": { "description": "A list of trustees that have been successfully updated.", "items": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId" ], "type": "object" }, "type": "array" } }, "required": [ "failure", "success" ], "type": "object" } } } } } }, "patch": { "operationId": "updateTrustees", "summary": "Update trustees of an app", "description": "Update trustees for the specified application. Trustees include users, groups and email domain groups.", "tags": [ "Trustees" ], "parameters": [ { "name": "appId", "in": "path", "description": "The unique identifier of an app", "required": true, "schema": { "type": "string" } } ], "requestBody": { "required": false, "content": { "application/json": { "schema": { "description": "A list of trustees to be updated in an app. Each trustee is represented by an object containing the trustee's ID, type, and role ID.", "items": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "oldRoleId": { "description": "The ID of the role to be changed for the trustee. This is used to identify the current role before updating it.", "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId", "oldRoleId" ], "type": "object" }, "example": [ { "id": "123456.ab1s", "roleId": 10, "oldRoleId": 15, "type": "user" }, { "id": "1002.czm8", "roleId": 11, "oldRoleId": 16, "type": "group" } ], "maxItems": 1000, "minItems": 1, "type": "array" } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "example": { "failure": [], "success": [ { "id": "123456.ab1s", "oldRoleId": 15, "roleId": 10, "type": "user" } ] }, "properties": { "failure": { "description": "A list of trustees that were not updated. This includes invalid IDs or IDs that could not be processed.", "items": { "$ref": "#/components/schemas/UpdateTrusteesFailureItem" }, "type": "array" }, "success": { "description": "A list of trustees that have been successfully updated.", "items": { "$ref": "#/components/schemas/UpdateTrusteesSuccessItem" }, "type": "array" } }, "required": [ "failure", "success" ], "type": "object" } } } }, "207": { "description": "Partial success. Some trustees were added successfully, while others failed.", "content": { "application/json": { "schema": { "example": { "failure": [ { "error": "Invalid user ID", "trustee": { "id": "78910.ba1s", "oldRoleId": 15, "roleId": 12, "type": "user" } } ], "success": [ { "id": "123456.ab1s", "oldRoleId": 15, "roleId": 10, "type": "user" } ] }, "properties": { "failure": { "description": "A list of trustees that were not updated. This includes invalid IDs or IDs that could not be processed.", "items": { "properties": { "error": { "description": "The error message associated with the trustee that could not be updated.", "type": "string" }, "trustee": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "oldRoleId": { "description": "The ID of the role to be changed for the trustee. This is used to identify the current role before updating it.", "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId", "oldRoleId" ], "type": "object" } }, "type": "object" }, "type": "array" }, "success": { "description": "A list of trustees that have been successfully updated.", "items": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "oldRoleId": { "description": "The ID of the role to be changed for the trustee. This is used to identify the current role before updating it.", "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId", "oldRoleId" ], "type": "object" }, "type": "array" } }, "required": [ "failure", "success" ], "type": "object" } } } } } } } }, "components": { "schemas": { "FieldValue": { "type": "object", "description": "A field value in a QuickBase record. The value type depends on the field type.", "properties": { "value": { "description": "The field value. Type depends on field type: string (text, email, URL, date), number (numeric fields), boolean (checkbox), string[] (multi-select), or object[] (file attachments).", "oneOf": [ { "type": "string" }, { "type": "number" }, { "type": "boolean" }, { "type": "array", "items": { "type": "string" } }, { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "File attachment ID" } } } } ] } }, "required": [ "value" ] }, "QuickbaseRecord": { "type": "object", "description": "A QuickBase record where keys are field IDs (as strings) and values are FieldValue objects.", "additionalProperties": { "$ref": "#/components/schemas/FieldValue" } }, "SortField": { "type": "object", "description": "A field to sort by in a query.", "properties": { "fieldId": { "type": "integer", "description": "The unique identifier of a field in a table." }, "order": { "type": "string", "enum": [ "ASC", "DESC", "equal-values" ], "description": "Sort based on ascending order (ASC), descending order (DESC) or equal values (equal-values)." } }, "required": [ "fieldId", "order" ] }, "SortByUnion": { "description": "An array of field IDs and sort directions. Set to false to disable sorting for better performance.", "oneOf": [ { "type": "array", "items": { "$ref": "#/components/schemas/SortField" } }, { "type": "boolean", "enum": [ false ] } ] }, "OwnerId": { "description": "The user ID of the owner. May be returned as integer or string depending on context." }, "CreateAppMemoryInfo": { "type": "object", "description": "Application memory info", "additionalProperties": false, "properties": { "estMemory": { "type": "number", "description": "The estimated memory of this application in gigabytes" }, "estMemoryInclDependentApps": { "type": "number", "description": "The estimated memory of this application and all dependent applications in gigabytes" } } }, "CreateAppVariablesItem": { "type": "object", "additionalProperties": true, "properties": { "name": { "description": "Variable name.", "type": "string" }, "value": { "description": "Variable value.", "type": "string" } } }, "CreateAppSecurityProperties": { "description": "Security properties of the application", "type": "object", "additionalProperties": true, "properties": { "allowClone": { "description": "Allow users who are not administrators to copy", "type": "boolean" }, "allowExport": { "description": "Allow users who are not administrators to export data", "type": "boolean" }, "hideFromPublic": { "description": "Hide from public application searches", "type": "boolean" }, "enableAppTokens": { "description": "Require Application Tokens", "type": "boolean" }, "useIPFilter": { "description": "Only users logging in from \"approved\" IP addresses may access this application", "type": "boolean" }, "mustBeRealmApproved": { "description": "Only \"approved\" users may access this application", "type": "boolean" } } }, "GetAppMemoryInfo": { "type": "object", "description": "Application memory info", "additionalProperties": false, "properties": { "estMemory": { "type": "number", "description": "The estimated memory of this application in gigabytes" }, "estMemoryInclDependentApps": { "type": "number", "description": "The estimated memory of this application and all dependent applications in gigabytes" } } }, "GetAppVariablesItem": { "type": "object", "additionalProperties": true, "properties": { "name": { "description": "Variable name.", "type": "string" }, "value": { "description": "Variable value.", "type": "string" } } }, "GetAppSecurityProperties": { "description": "Security properties of the application", "type": "object", "additionalProperties": true, "properties": { "allowClone": { "description": "Allow users who are not administrators to copy", "type": "boolean" }, "allowExport": { "description": "Allow users who are not administrators to export data", "type": "boolean" }, "hideFromPublic": { "description": "Hide from public application searches", "type": "boolean" }, "enableAppTokens": { "description": "Require Application Tokens", "type": "boolean" }, "useIPFilter": { "description": "Only users logging in from \"approved\" IP addresses may access this application", "type": "boolean" }, "mustBeRealmApproved": { "description": "Only \"approved\" users may access this application", "type": "boolean" } } }, "UpdateAppMemoryInfo": { "description": "Application memory info", "type": "object", "additionalProperties": false, "properties": { "estMemory": { "type": "number", "description": "The estimated memory of this application in gigabytes" }, "estMemoryInclDependentApps": { "type": "number", "description": "The estimated memory of this application and all dependent applications in gigabytes" } } }, "UpdateAppVariablesItem": { "type": "object", "additionalProperties": true, "properties": { "name": { "description": "Variable name.", "type": "string" }, "value": { "description": "Variable value.", "type": "string" } } }, "UpdateAppSecurityProperties": { "description": "Security properties of the application", "type": "object", "additionalProperties": true, "properties": { "allowClone": { "description": "Allow users who are not administrators to copy", "type": "boolean" }, "allowExport": { "description": "Allow users who are not administrators to export data", "type": "boolean" }, "hideFromPublic": { "description": "Hide from public application searches", "type": "boolean" }, "enableAppTokens": { "description": "Require Application Tokens", "type": "boolean" }, "useIPFilter": { "description": "Only users logging in from \"approved\" IP addresses may access this application", "type": "boolean" }, "mustBeRealmApproved": { "description": "Only \"approved\" users may access this application", "type": "boolean" } } }, "GetAppEventsItem": { "type": "object", "additionalProperties": true, "properties": { "isActive": { "description": "Indication of whether current event is active.", "type": "boolean" }, "type": { "description": "Type of an event.", "enum": [ "webhook", "qb-action", "email-notification", "subscription", "reminder", "automation" ], "type": "string" }, "name": { "description": "The name of the event. This property is not returned for automations.", "type": "string" }, "url": { "description": "The url to automation that can be accessed from the browser. Only returned for automations.", "type": "string" }, "owner": { "$ref": "#/components/schemas/GetAppEventsItemOwner" }, "tableId": { "description": "The unique identifier of the table to which event belongs to.", "type": "string" } } }, "GetAppEventsItemOwner": { "description": "The user that owns the event.", "type": "object", "additionalProperties": true, "properties": { "name": { "description": "User full name.", "type": "string" }, "id": { "description": "User Id.", "type": "string" }, "email": { "description": "User email.", "type": "string" }, "userName": { "description": "User Name as updated in user properties. Optional, appears if not the same as user email.", "type": "string" } } }, "CopyAppVariablesItem": { "type": "object", "additionalProperties": true, "properties": { "name": { "description": "Variable name.", "type": "string" }, "value": { "description": "Variable value.", "type": "string" } } }, "GetRolesItem": { "type": "object", "additionalProperties": true, "properties": { "id": { "type": "integer", "description": "The role id." }, "name": { "type": "string", "description": "The role name." }, "access": { "$ref": "#/components/schemas/GetRolesItemAccess" } } }, "GetRolesItemAccess": { "type": "object", "description": "The role access properties.", "additionalProperties": true, "properties": { "id": { "type": "integer", "description": "The ID of the access type the role is given. (0 = None, 1 = Administrator, 2 = Basic Access with Share, 3 = Basic Access, 4 = Partial Administrator)." }, "type": { "type": "string", "description": "The type of access the role is given.", "enum": [ "None", "Administrator", "Basic Access with Share", "Basic Access", "Partial Administrator" ] } } }, "GetAppTablesItem": { "example": { "name": "Example Table", "created": "2020-03-27T18:34:40Z", "updated": "2020-04-03T19:12:40Z", "alias": "_dbid_example_table", "description": "Table as an example.", "id": "bpqe82s0", "nextRecordId": 1, "nextFieldId": 1, "defaultSortFieldId": 2, "defaultSortOrder": "ASC", "keyFieldId": 3, "singleRecordName": "Example Record", "pluralRecordName": "Example Records", "sizeLimit": "150 MB", "spaceUsed": "17 MB", "spaceRemaining": "133 MB" }, "type": "object", "additionalProperties": true, "properties": { "name": { "description": "The name of the table.", "type": "string" }, "id": { "description": "The unique identifier (dbid) of the table.", "type": "string" }, "alias": { "description": "The automatically-created table alias for the table.", "type": "string" }, "description": { "description": "The description of the table, as configured by an application administrator.", "type": "string" }, "created": { "description": "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).", "type": "string" }, "updated": { "description": "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).", "type": "string" }, "nextRecordId": { "description": "The incremental Record ID that will be used when the next record is created, as determined when the API call was ran.", "type": "integer" }, "nextFieldId": { "description": "The incremental Field ID that will be used when the next field is created, as determined when the API call was ran.", "type": "integer" }, "defaultSortFieldId": { "description": "The id of the field that is configured for default sorting.", "type": "integer" }, "defaultSortOrder": { "description": "The configuration of the default sort order on the table.", "enum": [ "ASC", "DESC" ], "type": "string" }, "keyFieldId": { "description": "The id of the field that is configured to be the key on this table, which is usually the Quickbase Record ID.", "type": "integer" }, "singleRecordName": { "description": "The builder-configured singular noun of the table.", "type": "string" }, "pluralRecordName": { "description": "The builder-configured plural noun of the table.", "type": "string" }, "sizeLimit": { "description": "The size limit for the table.", "type": "string" }, "spaceUsed": { "description": "The amount of space currently being used by the table.", "type": "string" }, "spaceRemaining": { "description": "The amount of space remaining for use by the table.", "type": "string" } } }, "GetRelationshipsRelationshipsItem": { "example": { "id": 6, "foreignKeyField": { "id": 6, "label": "Related record", "type": "numeric" }, "lookupFields": [ { "id": 7, "label": "record - text field", "type": "text" } ], "isCrossApp": false, "parentTableId": "bck7gp3q2", "childTableId": "bck7gp3q3", "summaryFields": [ { "id": 8, "label": "Summary of Record ID#2", "type": "numeric" } ] }, "type": "object", "additionalProperties": true, "required": [ "id", "parentTableId", "childTableId", "isCrossApp" ], "properties": { "id": { "description": "The relationship id (foreign key field id).", "type": "integer" }, "parentTableId": { "description": "The parent table id of the relationship.", "type": "string" }, "childTableId": { "description": "The child table id of the relationship.", "type": "string" }, "foreignKeyField": { "description": "The foreign key field information.", "type": "object", "additionalProperties": true, "properties": { "id": { "description": "Field id.", "type": "integer" }, "label": { "description": "Field label.", "type": "string" }, "type": { "description": "Field type.", "type": "string" } } }, "isCrossApp": { "description": "Whether this is a cross-app relationship.", "type": "boolean" }, "lookupFields": { "description": "The lookup fields array.", "type": "array", "items": { "type": "object", "additionalProperties": true, "properties": { "id": { "description": "Field id.", "type": "integer" }, "label": { "description": "Field label.", "type": "string" }, "type": { "description": "Field type.", "type": "string" } } } }, "summaryFields": { "description": "The summary fields array.", "type": "array", "items": { "type": "object", "additionalProperties": true, "properties": { "id": { "description": "Field id.", "type": "integer" }, "label": { "description": "Field label.", "type": "string" }, "type": { "description": "Field type.", "type": "string" } } } } } }, "GetRelationshipsMetadata": { "description": "Additional information about the results that may be helpful.", "type": "object", "additionalProperties": true, "properties": { "skip": { "description": "The number of relationships to skip.", "type": "integer" }, "totalRelationships": { "description": "The total number of relationships.", "type": "integer" }, "numRelationships": { "description": "The number of relationships in the current response object.", "type": "integer" } } }, "CreateRelationshipForeignKeyField": { "description": "The foreign key field information.", "type": "object", "additionalProperties": true, "properties": { "id": { "description": "Field id.", "type": "integer" }, "label": { "description": "Field label.", "type": "string" }, "type": { "description": "Field type.", "type": "string" } } }, "CreateRelationshipLookupFieldsItem": { "type": "object", "additionalProperties": true, "properties": { "id": { "description": "Field id.", "type": "integer" }, "label": { "description": "Field label.", "type": "string" }, "type": { "description": "Field type.", "type": "string" } } }, "CreateRelationshipSummaryFieldsItem": { "type": "object", "additionalProperties": true, "properties": { "id": { "description": "Field id.", "type": "integer" }, "label": { "description": "Field label.", "type": "string" }, "type": { "description": "Field type.", "type": "string" } } }, "UpdateRelationshipForeignKeyField": { "description": "The foreign key field information.", "type": "object", "additionalProperties": true, "properties": { "id": { "description": "Field id.", "type": "integer" }, "label": { "description": "Field label.", "type": "string" }, "type": { "description": "Field type.", "type": "string" } } }, "UpdateRelationshipLookupFieldsItem": { "type": "object", "additionalProperties": true, "properties": { "id": { "description": "Field id.", "type": "integer" }, "label": { "description": "Field label.", "type": "string" }, "type": { "description": "Field type.", "type": "string" } } }, "UpdateRelationshipSummaryFieldsItem": { "type": "object", "additionalProperties": true, "properties": { "id": { "description": "Field id.", "type": "integer" }, "label": { "description": "Field label.", "type": "string" }, "type": { "description": "Field type.", "type": "string" } } }, "GetTableReportsItem": { "example": { "value": { "id": "5", "name": "table-report", "type": "table", "description": "This is Table report.", "query": { "tableId": "bpweef42b", "filter": "{6.CT.'FilterByThisValue'}", "formulaFields": [ { "id": -100, "label": "NumericField", "fieldType": "numeric", "formula": "1+1", "decimalPrecision": 4 } ], "fields": [ 7 ], "sortBy": [ { "fieldId": 28, "order": "ASC" }, { "fieldId": 3, "order": "ASC" } ], "groupBy": [ { "fieldId": 3, "grouping": "equal-values" } ] }, "properties": { "displayOnlyNewOrChangedRecords": true, "columnProperties": [ { "fieldId": -100, "labelOverride": "Numeric Field Label" } ] }, "usedLast": "2020-09-20T20:23:00Z", "usedCount": 7 } }, "type": "object", "additionalProperties": true, "properties": { "id": { "description": "The identifier of the report, unique to the table.", "type": "string" }, "name": { "description": "The configured name of the report.", "type": "string" }, "type": { "description": "The type of report in Quickbase (e.g., chart).", "type": "string" }, "description": { "description": "The configured description of a report.", "type": "string" }, "ownerId": { "$ref": "#/components/schemas/OwnerId" }, "query": { "$ref": "#/components/schemas/GetTableReportsItemQuery" }, "properties": { "description": "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)", "type": "object", "additionalProperties": true }, "usedLast": { "description": "The instant at which a report was last used.", "type": "string" }, "usedCount": { "description": "The number of times a report has been used.", "type": "integer" } } }, "GetTableReportsItemQuery": { "description": "The query definition as configured in Quickbase that gets executed when the report is run.", "type": "object", "additionalProperties": true, "properties": { "tableId": { "description": "The table identifier for the report.", "type": "string" }, "filter": { "description": "Filter used to query for data.", "type": "string" }, "formulaFields": { "description": "Calculated formula fields.", "type": "array", "items": { "type": "object", "additionalProperties": true, "properties": { "id": { "description": "Formula field identifier.", "type": "integer" }, "label": { "description": "Formula field label.", "type": "string" }, "fieldType": { "description": "Resulting formula value type.", "enum": [ "rich-text", "text", "numeric", "currency", "percent", "rating", "date", "timestamp", "timeofday", "duration", "checkbox", "phone", "email", "user", "multiuser", "url" ], "type": "string" }, "formula": { "description": "Formula text.", "type": "string" }, "decimalPrecision": { "description": "For numeric formula the number precision.", "type": "integer" } } } } } }, "GetReportQuery": { "description": "The query definition as configured in Quickbase that gets executed when the report is run.", "type": "object", "additionalProperties": true, "properties": { "tableId": { "description": "The table identifier for the report.", "type": "string" }, "filter": { "description": "Filter used to query for data.", "type": "string" }, "formulaFields": { "description": "Calculated formula fields.", "type": "array", "items": { "type": "object", "additionalProperties": true, "properties": { "id": { "description": "Formula field identifier.", "type": "integer" }, "label": { "description": "Formula field label.", "type": "string" }, "fieldType": { "description": "Resulting formula value type.", "enum": [ "rich-text", "text", "numeric", "currency", "percent", "rating", "date", "timestamp", "timeofday", "duration", "checkbox", "phone", "email", "user", "multiuser", "url" ], "type": "string" }, "formula": { "description": "Formula text.", "type": "string" }, "decimalPrecision": { "description": "For numeric formula the number precision.", "type": "integer" } } } } } }, "RunReportFieldsItem": { "type": "object", "additionalProperties": true, "properties": { "id": { "description": "Field id.", "type": "integer" }, "label": { "description": "Field label.", "type": "string" }, "type": { "description": "Field type.", "type": "string" }, "labelOverride": { "description": "Column heading label override for field in report.", "type": "string" } } }, "RunReportMetadata": { "description": "Additional information about the results that may be helpful. Pagination may be needed if either you specify a smaller number of results to skip than is available, or if the API automatically returns fewer results. numRecords can be compared to totalRecords to determine if further pagination is needed.", "type": "object", "additionalProperties": true, "required": [ "numFields", "totalRecords", "numRecords" ], "properties": { "skip": { "description": "The number of records to skip", "type": "integer" }, "numFields": { "description": "The number of fields in each record in the current response object", "type": "integer" }, "top": { "description": "If present, the maximum number of records requested by the caller", "type": "integer" }, "totalRecords": { "description": "The total number of records in the result set", "type": "integer" }, "numRecords": { "description": "The number of records in the current response object", "type": "integer" } } }, "GetFieldsItem": { "example": { "id": 123, "label": "Field1", "fieldType": "text", "mode": "", "noWrap": false, "bold": false, "required": false, "appearsByDefault": false, "findEnabled": false, "unique": false, "doesDataCopy": false, "fieldHelp": "field help", "audited": false, "properties": { "primaryKey": false, "foreignKey": false, "numLines": 1, "maxLength": 0, "appendOnly": false, "allowHTML": false, "allowMentions": false, "sortAsGiven": false, "carryChoices": true, "allowNewChoices": false, "formula": "", "defaultValue": "" }, "permissions": [ { "permissionType": "View", "role": "Viewer", "roleId": 10 }, { "permissionType": "None", "role": "Participant", "roleId": 11 }, { "permissionType": "Modify", "role": "Administrator", "roleId": 12 } ] }, "type": "object", "additionalProperties": true, "required": [ "id" ], "properties": { "id": { "description": "The id of the field, unique to this table.", "type": "integer", "format": "int64" }, "fieldType": { "description": "The type of field, as described [here](https://help.quickbase.com/user-assistance/field_types.html).", "type": "string" }, "mode": { "description": "For derived fields, this will be 'lookup', 'summary', or 'formula', to indicate the type of derived field. For non-derived fields, this will be blank.", "type": "string" }, "label": { "description": "The label (name) of the field.", "type": "string" }, "noWrap": { "description": "Indicates if the field is configured to not wrap when displayed in the product.", "type": "boolean" }, "bold": { "description": "Indicates if the field is configured to display in bold in the product.", "type": "boolean" }, "required": { "description": "Indicates if the field is marked required.", "type": "boolean" }, "appearsByDefault": { "description": "Indicates if the field is marked as a default in reports.", "type": "boolean" }, "findEnabled": { "description": "Indicates if the field is marked as searchable.", "type": "boolean" }, "unique": { "description": "Indicates if the field is marked unique.", "type": "boolean" }, "doesDataCopy": { "description": "Indicates if the field data will copy when a user copies the record.", "type": "boolean" }, "fieldHelp": { "description": "The configured help text shown to users within the product.", "type": "string" }, "audited": { "description": "Indicates if the field is being tracked as part of Quickbase Audit Logs.", "type": "boolean" }, "properties": { "$ref": "#/components/schemas/GetFieldsItemProperties" }, "permissions": { "description": "Field Permissions for different roles.", "type": "array", "items": { "$ref": "#/components/schemas/GetFieldsItemPermissionsItem" } } } }, "GetFieldsItemProperties": { "description": "Additional properties for the field. Please see [Field type details](../fieldInfo) page for more details on the properties for each field type.", "type": "object", "additionalProperties": true, "properties": { "allowMentions": { "description": "If someone can @mention users in the rich text field to generate an email notification.", "type": "boolean" }, "comments": { "description": "The comments entered on the field properties by an administrator.", "type": "string" }, "doesTotal": { "description": "Whether this field totals in reports within the product.", "type": "boolean" }, "autoSave": { "description": "Whether the link field will auto save.", "type": "boolean" }, "defaultValueLuid": { "description": "Default user id value.", "type": "integer" }, "useI18NFormat": { "description": "Whether phone numbers should be in E.164 standard international format.", "type": "boolean" }, "maxVersions": { "description": "The maximum number of versions configured for a file attachment.", "type": "integer" }, "carryChoices": { "description": "Whether the field should carry its multiple choice fields when copied.", "type": "boolean" }, "format": { "description": "The format to display time.", "type": "integer" }, "maxLength": { "description": "The maximum number of characters allowed for entry in Quickbase for this field.", "type": "integer" }, "linkText": { "description": "The configured text value that replaces the URL that users see within the product.", "type": "string" }, "parentFieldId": { "description": "The id of the parent composite field, when applicable.", "type": "integer" }, "displayTimezone": { "description": "Indicates whether to display the timezone within the product.", "type": "boolean" }, "summaryTargetFieldId": { "description": "The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn't require a field selection (like count).", "type": "integer" }, "allowNewChoices": { "description": "Indicates if users can add new choices to a selection list.", "type": "boolean" }, "masterChoiceFieldId": { "description": "The id of the field that is the reference in the relationship.", "type": "integer" }, "defaultToday": { "description": "Indicates if the field value is defaulted today for new records.", "type": "boolean" }, "units": { "description": "The units label.", "type": "string" }, "lookupTargetFieldId": { "description": "The id of the field that is the target on the master table for this lookup.", "type": "integer" }, "summaryFunction": { "description": "The summary accumulation function type.", "enum": [ "AVG", "SUM", "MAX", "MIN", "STD-DEV", "COUNT", "COMBINED-TEXT", "COMBINED-USER", "DISTINCT-COUNT" ], "type": "string" }, "sourceFieldId": { "description": "The id of the source field.", "type": "integer" }, "masterTableTag": { "description": "The table alias for the master table in the relationship this field is part of.", "type": "string" }, "doesAverage": { "description": "Whether this field averages in reports within the product.", "type": "boolean" }, "formula": { "description": "The formula of the field as configured in Quickbase.", "type": "string" }, "decimalPlaces": { "description": "The number of decimal places displayed in the product for this field.", "type": "integer" }, "defaultCountryCode": { "description": "Controls the default country shown on international phone widgets on forms. Country code should be entered in the ISO 3166-1 alpha-2 format.", "type": "string" }, "seeVersions": { "description": "Indicates if the user can see other versions, aside from the most recent, of a file attachment within the product.", "type": "boolean" }, "displayMonth": { "description": "How to display months.", "type": "string" }, "numLines": { "description": "The number of lines shown in Quickbase for this text field.", "type": "integer" }, "displayEmail": { "description": "How the email is displayed.", "type": "string" }, "defaultKind": { "description": "The user default type.", "type": "string" }, "coverText": { "description": "An alternate user friendly text that can be used to display a link in the browser.", "type": "string" }, "currencySymbol": { "description": "The current symbol used when displaying field values within the product.", "type": "string" }, "masterChoiceTableId": { "description": "The id of the table that is the master in this relationship.", "type": "string" }, "targetFieldId": { "description": "The id of the target field.", "type": "integer" }, "displayUser": { "description": "The configured option for how users display within the product.", "type": "string" }, "blankIsZero": { "description": "Whether a blank value is treated the same as 0 in calculations within the product.", "type": "boolean" }, "exact": { "description": "Whether an exact match is required for a report link.", "type": "boolean" }, "startField": { "description": "The start field id.", "type": "integer" }, "defaultDomain": { "description": "Default email domain.", "type": "string" }, "defaultValue": { "description": "The default value configured for a field when a new record is added.", "type": "string" }, "choicesLuid": { "description": "List of user choices.", "type": "array", "items": { "type": "string" } }, "abbreviate": { "description": "Don't show the URL protocol when showing the URL.", "type": "boolean" }, "xmlTag": { "description": "The field's xml tag.", "type": "string" }, "targetTableName": { "description": "The field's target table name.", "type": "string" }, "numberFormat": { "description": "The format used for displaying numeric values in the product (decimal, separators, digit group).", "type": "integer" }, "appearsAs": { "description": "The link text, if empty, the url will be used as link text.", "type": "string" }, "width": { "description": "The field's html input width in the product.", "type": "integer" }, "currencyFormat": { "description": "The currency format used when displaying field values within the product.", "enum": [ "left", "right", "middle" ], "type": "string" }, "foreignKey": { "description": "Indicates if the field is a foreign key (or reference field) in a relationship.", "type": "boolean" }, "displayDayOfWeek": { "description": "Indicates whether to display the day of the week within the product.", "type": "boolean" }, "summaryReferenceFieldId": { "description": "The id of the field that is the reference in the relationship for this summary.", "type": "integer", "format": "int64" }, "commaStart": { "description": "The number of digits before commas display in the product, when applicable.", "type": "integer" }, "choices": { "description": "An array of entries that exist for a field that offers choices to the user.", "type": "array", "items": { "type": "string" } }, "targetTableId": { "description": "The id of the target table.", "type": "string" }, "displayRelative": { "description": "Whether to display time as relative.", "type": "boolean" }, "compositeFields": { "description": "An array of the fields that make up a composite field (e.g., address).", "type": "array", "items": { "oneOf": [ { "type": "integer" }, { "type": "object" } ] } }, "displayCheckboxAsText": { "description": "Indicates whether the checkbox values will be shown as text in reports.", "type": "boolean" }, "versionMode": { "description": "Version modes for files. Keep all versions vs keep last version.", "enum": [ "keepallversions", "keeplastversions" ], "type": "string" }, "displayTime": { "description": "Indicates whether to display the time, in addition to the date.", "type": "boolean" }, "durationField": { "description": "The duration field id.", "type": "integer" }, "snapFieldId": { "description": "The id of the field that is used to snapshot values from, when applicable.", "type": "integer" }, "hours24": { "description": "Indicates whether or not to display time in the 24-hour format within the product.", "type": "boolean" }, "sortAlpha": { "description": "Whether to sort alphabetically, default sort is by record ID.", "type": "boolean" }, "sortAsGiven": { "description": "Indicates if the listed entries sort as entered vs alphabetically.", "type": "boolean" }, "hasExtension": { "description": "Whether this field has a phone extension.", "type": "boolean" }, "workWeek": { "description": "The work week type.", "type": "integer" }, "useNewWindow": { "description": "Indicates if the URL should open a new window when a user clicks it within the product.", "type": "boolean" }, "postTempToken": { "type": "boolean", "description": "POSTs a temporary token to the first URL when clicked by a user. [Learn more](https://help.quickbase.com/docs/post-temporary-token-from-a-quickbase-field)" }, "appendOnly": { "description": "Whether this field is append only.", "type": "boolean" }, "displayAsLink": { "description": "Indicates if a field that is part of the relationship should be shown as a hyperlink to the parent record within the product.", "type": "boolean" }, "allowHTML": { "description": "Whether this field allows html.", "type": "boolean" }, "lookupReferenceFieldId": { "description": "The id of the field that is the reference in the relationship for this lookup.", "type": "integer" } } }, "GetFieldsItemPermissionsItem": { "type": "object", "additionalProperties": false, "properties": { "role": { "description": "The role associated with a given permission for the field", "type": "string" }, "permissionType": { "description": "The permission given to the role for this field", "type": "string" }, "roleId": { "description": "The Id of the given role", "type": "integer" } } }, "CreateFieldProperties": { "description": "Additional properties for the field. Please see [Field type details](../fieldInfo) page for more details on the properties for each field type.", "type": "object", "additionalProperties": true, "properties": { "allowMentions": { "description": "If someone can @mention users in the rich text field to generate an email notification.", "type": "boolean" }, "comments": { "description": "The comments entered on the field properties by an administrator.", "type": "string" }, "doesTotal": { "description": "Whether this field totals in reports within the product.", "type": "boolean" }, "autoSave": { "description": "Whether the link field will auto save.", "type": "boolean" }, "defaultValueLuid": { "description": "Default user id value.", "type": "integer" }, "useI18NFormat": { "description": "Whether phone numbers should be in E.164 standard international format.", "type": "boolean" }, "maxVersions": { "description": "The maximum number of versions configured for a file attachment.", "type": "integer" }, "carryChoices": { "description": "Whether the field should carry its multiple choice fields when copied.", "type": "boolean" }, "format": { "description": "The format to display time.", "type": "integer" }, "maxLength": { "description": "The maximum number of characters allowed for entry in Quickbase for this field.", "type": "integer" }, "linkText": { "description": "The configured text value that replaces the URL that users see within the product.", "type": "string" }, "parentFieldId": { "description": "The id of the parent composite field, when applicable.", "type": "integer" }, "displayTimezone": { "description": "Indicates whether to display the timezone within the product.", "type": "boolean" }, "summaryTargetFieldId": { "description": "The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn't require a field selection (like count).", "type": "integer" }, "allowNewChoices": { "description": "Indicates if users can add new choices to a selection list.", "type": "boolean" }, "masterChoiceFieldId": { "description": "The id of the field that is the reference in the relationship.", "type": "integer" }, "defaultToday": { "description": "Indicates if the field value is defaulted today for new records.", "type": "boolean" }, "units": { "description": "The units label.", "type": "string" }, "lookupTargetFieldId": { "description": "The id of the field that is the target on the master table for this lookup.", "type": "integer" }, "summaryFunction": { "description": "The summary accumulation function type.", "enum": [ "AVG", "SUM", "MAX", "MIN", "STD-DEV", "COUNT", "COMBINED-TEXT", "COMBINED-USER", "DISTINCT-COUNT" ], "type": "string" }, "sourceFieldId": { "description": "The id of the source field.", "type": "integer" }, "masterTableTag": { "description": "The table alias for the master table in the relationship this field is part of.", "type": "string" }, "doesAverage": { "description": "Whether this field averages in reports within the product.", "type": "boolean" }, "formula": { "description": "The formula of the field as configured in Quickbase.", "type": "string" }, "decimalPlaces": { "description": "The number of decimal places displayed in the product for this field.", "type": "integer" }, "defaultCountryCode": { "description": "Controls the default country shown on international phone widgets on forms. Country code should be entered in the ISO 3166-1 alpha-2 format.", "type": "string" }, "seeVersions": { "description": "Indicates if the user can see other versions, aside from the most recent, of a file attachment within the product.", "type": "boolean" }, "displayMonth": { "description": "How to display months.", "type": "string" }, "numLines": { "description": "The number of lines shown in Quickbase for this text field.", "type": "integer" }, "displayEmail": { "description": "How the email is displayed.", "type": "string" }, "defaultKind": { "description": "The user default type.", "type": "string" }, "coverText": { "description": "An alternate user friendly text that can be used to display a link in the browser.", "type": "string" }, "currencySymbol": { "description": "The current symbol used when displaying field values within the product.", "type": "string" }, "masterChoiceTableId": { "description": "The id of the table that is the master in this relationship.", "type": "string" }, "targetFieldId": { "description": "The id of the target field.", "type": "integer" }, "displayUser": { "description": "The configured option for how users display within the product.", "type": "string" }, "blankIsZero": { "description": "Whether a blank value is treated the same as 0 in calculations within the product.", "type": "boolean" }, "exact": { "description": "Whether an exact match is required for a report link.", "type": "boolean" }, "startField": { "description": "The start field id.", "type": "integer" }, "defaultDomain": { "description": "Default email domain.", "type": "string" }, "defaultValue": { "description": "The default value configured for a field when a new record is added.", "type": "string" }, "choicesLuid": { "description": "List of user choices.", "type": "array", "items": { "type": "string" } }, "abbreviate": { "description": "Don't show the URL protocol when showing the URL.", "type": "boolean" }, "xmlTag": { "description": "The field's xml tag.", "type": "string" }, "targetTableName": { "description": "The field's target table name.", "type": "string" }, "numberFormat": { "description": "The format used for displaying numeric values in the product (decimal, separators, digit group).", "type": "integer" }, "appearsAs": { "description": "The link text, if empty, the url will be used as link text.", "type": "string" }, "width": { "description": "The field's html input width in the product.", "type": "integer" }, "currencyFormat": { "description": "The currency format used when displaying field values within the product.", "enum": [ "left", "right", "middle" ], "type": "string" }, "foreignKey": { "description": "Indicates if the field is a foreign key (or reference field) in a relationship.", "type": "boolean" }, "displayDayOfWeek": { "description": "Indicates whether to display the day of the week within the product.", "type": "boolean" }, "summaryReferenceFieldId": { "description": "The id of the field that is the reference in the relationship for this summary.", "type": "integer", "format": "int64" }, "commaStart": { "description": "The number of digits before commas display in the product, when applicable.", "type": "integer" }, "choices": { "description": "An array of entries that exist for a field that offers choices to the user.", "type": "array", "items": { "type": "string" } }, "targetTableId": { "description": "The id of the target table.", "type": "string" }, "displayRelative": { "description": "Whether to display time as relative.", "type": "boolean" }, "compositeFields": { "description": "An array of the fields that make up a composite field (e.g., address).", "type": "array", "items": { "oneOf": [ { "type": "integer" }, { "type": "object" } ] } }, "displayCheckboxAsText": { "description": "Indicates whether the checkbox values will be shown as text in reports.", "type": "boolean" }, "versionMode": { "description": "Version modes for files. Keep all versions vs keep last version.", "enum": [ "keepallversions", "keeplastversions" ], "type": "string" }, "displayTime": { "description": "Indicates whether to display the time, in addition to the date.", "type": "boolean" }, "durationField": { "description": "The duration field id.", "type": "integer" }, "snapFieldId": { "description": "The id of the field that is used to snapshot values from, when applicable.", "type": "integer" }, "hours24": { "description": "Indicates whether or not to display time in the 24-hour format within the product.", "type": "boolean" }, "sortAlpha": { "description": "Whether to sort alphabetically, default sort is by record ID.", "type": "boolean" }, "sortAsGiven": { "description": "Indicates if the listed entries sort as entered vs alphabetically.", "type": "boolean" }, "hasExtension": { "description": "Whether this field has a phone extension.", "type": "boolean" }, "workWeek": { "description": "The work week type.", "type": "integer" }, "useNewWindow": { "description": "Indicates if the URL should open a new window when a user clicks it within the product.", "type": "boolean" }, "postTempToken": { "type": "boolean", "description": "POSTs a temporary token to the first URL when clicked by a user. [Learn more](https://help.quickbase.com/docs/post-temporary-token-from-a-quickbase-field)" }, "appendOnly": { "description": "Whether this field is append only.", "type": "boolean" }, "displayAsLink": { "description": "Indicates if a field that is part of the relationship should be shown as a hyperlink to the parent record within the product.", "type": "boolean" }, "allowHTML": { "description": "Whether this field allows html.", "type": "boolean" }, "lookupReferenceFieldId": { "description": "The id of the field that is the reference in the relationship for this lookup.", "type": "integer" } } }, "CreateFieldPermissionsItem": { "type": "object", "additionalProperties": false, "properties": { "role": { "description": "The role associated with a given permission for the field", "type": "string" }, "permissionType": { "description": "The permission given to the role for this field", "type": "string" }, "roleId": { "description": "The Id of the given role", "type": "integer" } } }, "GetFieldProperties": { "description": "Additional properties for the field. Please see [Field type details](../fieldInfo) page for more details on the properties for each field type.", "type": "object", "additionalProperties": true, "properties": { "allowMentions": { "description": "If someone can @mention users in the rich text field to generate an email notification.", "type": "boolean" }, "comments": { "description": "The comments entered on the field properties by an administrator.", "type": "string" }, "doesTotal": { "description": "Whether this field totals in reports within the product.", "type": "boolean" }, "autoSave": { "description": "Whether the link field will auto save.", "type": "boolean" }, "defaultValueLuid": { "description": "Default user id value.", "type": "integer" }, "useI18NFormat": { "description": "Whether phone numbers should be in E.164 standard international format.", "type": "boolean" }, "maxVersions": { "description": "The maximum number of versions configured for a file attachment.", "type": "integer" }, "carryChoices": { "description": "Whether the field should carry its multiple choice fields when copied.", "type": "boolean" }, "format": { "description": "The format to display time.", "type": "integer" }, "maxLength": { "description": "The maximum number of characters allowed for entry in Quickbase for this field.", "type": "integer" }, "linkText": { "description": "The configured text value that replaces the URL that users see within the product.", "type": "string" }, "parentFieldId": { "description": "The id of the parent composite field, when applicable.", "type": "integer" }, "displayTimezone": { "description": "Indicates whether to display the timezone within the product.", "type": "boolean" }, "summaryTargetFieldId": { "description": "The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn't require a field selection (like count).", "type": "integer" }, "allowNewChoices": { "description": "Indicates if users can add new choices to a selection list.", "type": "boolean" }, "masterChoiceFieldId": { "description": "The id of the field that is the reference in the relationship.", "type": "integer" }, "defaultToday": { "description": "Indicates if the field value is defaulted today for new records.", "type": "boolean" }, "units": { "description": "The units label.", "type": "string" }, "lookupTargetFieldId": { "description": "The id of the field that is the target on the master table for this lookup.", "type": "integer" }, "summaryFunction": { "description": "The summary accumulation function type.", "enum": [ "AVG", "SUM", "MAX", "MIN", "STD-DEV", "COUNT", "COMBINED-TEXT", "COMBINED-USER", "DISTINCT-COUNT" ], "type": "string" }, "sourceFieldId": { "description": "The id of the source field.", "type": "integer" }, "masterTableTag": { "description": "The table alias for the master table in the relationship this field is part of.", "type": "string" }, "doesAverage": { "description": "Whether this field averages in reports within the product.", "type": "boolean" }, "formula": { "description": "The formula of the field as configured in Quickbase.", "type": "string" }, "decimalPlaces": { "description": "The number of decimal places displayed in the product for this field.", "type": "integer" }, "defaultCountryCode": { "description": "Controls the default country shown on international phone widgets on forms. Country code should be entered in the ISO 3166-1 alpha-2 format.", "type": "string" }, "seeVersions": { "description": "Indicates if the user can see other versions, aside from the most recent, of a file attachment within the product.", "type": "boolean" }, "displayMonth": { "description": "How to display months.", "type": "string" }, "numLines": { "description": "The number of lines shown in Quickbase for this text field.", "type": "integer" }, "displayEmail": { "description": "How the email is displayed.", "type": "string" }, "defaultKind": { "description": "The user default type.", "type": "string" }, "coverText": { "description": "An alternate user friendly text that can be used to display a link in the browser.", "type": "string" }, "currencySymbol": { "description": "The current symbol used when displaying field values within the product.", "type": "string" }, "masterChoiceTableId": { "description": "The id of the table that is the master in this relationship.", "type": "string" }, "targetFieldId": { "description": "The id of the target field.", "type": "integer" }, "displayUser": { "description": "The configured option for how users display within the product.", "type": "string" }, "blankIsZero": { "description": "Whether a blank value is treated the same as 0 in calculations within the product.", "type": "boolean" }, "exact": { "description": "Whether an exact match is required for a report link.", "type": "boolean" }, "startField": { "description": "The start field id.", "type": "integer" }, "defaultDomain": { "description": "Default email domain.", "type": "string" }, "defaultValue": { "description": "The default value configured for a field when a new record is added.", "type": "string" }, "choicesLuid": { "description": "List of user choices.", "type": "array", "items": { "type": "string" } }, "abbreviate": { "description": "Don't show the URL protocol when showing the URL.", "type": "boolean" }, "xmlTag": { "description": "The field's xml tag.", "type": "string" }, "targetTableName": { "description": "The field's target table name.", "type": "string" }, "numberFormat": { "description": "The format used for displaying numeric values in the product (decimal, separators, digit group).", "type": "integer" }, "appearsAs": { "description": "The link text, if empty, the url will be used as link text.", "type": "string" }, "width": { "description": "The field's html input width in the product.", "type": "integer" }, "currencyFormat": { "description": "The currency format used when displaying field values within the product.", "enum": [ "left", "right", "middle" ], "type": "string" }, "foreignKey": { "description": "Indicates if the field is a foreign key (or reference field) in a relationship.", "type": "boolean" }, "displayDayOfWeek": { "description": "Indicates whether to display the day of the week within the product.", "type": "boolean" }, "summaryReferenceFieldId": { "description": "The id of the field that is the reference in the relationship for this summary.", "type": "integer", "format": "int64" }, "commaStart": { "description": "The number of digits before commas display in the product, when applicable.", "type": "integer" }, "choices": { "description": "An array of entries that exist for a field that offers choices to the user.", "type": "array", "items": { "type": "string" } }, "targetTableId": { "description": "The id of the target table.", "type": "string" }, "displayRelative": { "description": "Whether to display time as relative.", "type": "boolean" }, "compositeFields": { "description": "An array of the fields that make up a composite field (e.g., address).", "type": "array", "items": { "oneOf": [ { "type": "integer" }, { "type": "object" } ] } }, "displayCheckboxAsText": { "description": "Indicates whether the checkbox values will be shown as text in reports.", "type": "boolean" }, "versionMode": { "description": "Version modes for files. Keep all versions vs keep last version.", "enum": [ "keepallversions", "keeplastversions" ], "type": "string" }, "displayTime": { "description": "Indicates whether to display the time, in addition to the date.", "type": "boolean" }, "durationField": { "description": "The duration field id.", "type": "integer" }, "snapFieldId": { "description": "The id of the field that is used to snapshot values from, when applicable.", "type": "integer" }, "hours24": { "description": "Indicates whether or not to display time in the 24-hour format within the product.", "type": "boolean" }, "sortAlpha": { "description": "Whether to sort alphabetically, default sort is by record ID.", "type": "boolean" }, "sortAsGiven": { "description": "Indicates if the listed entries sort as entered vs alphabetically.", "type": "boolean" }, "hasExtension": { "description": "Whether this field has a phone extension.", "type": "boolean" }, "workWeek": { "description": "The work week type.", "type": "integer" }, "useNewWindow": { "description": "Indicates if the URL should open a new window when a user clicks it within the product.", "type": "boolean" }, "postTempToken": { "type": "boolean", "description": "POSTs a temporary token to the first URL when clicked by a user. [Learn more](https://help.quickbase.com/docs/post-temporary-token-from-a-quickbase-field)" }, "appendOnly": { "description": "Whether this field is append only.", "type": "boolean" }, "displayAsLink": { "description": "Indicates if a field that is part of the relationship should be shown as a hyperlink to the parent record within the product.", "type": "boolean" }, "allowHTML": { "description": "Whether this field allows html.", "type": "boolean" }, "lookupReferenceFieldId": { "description": "The id of the field that is the reference in the relationship for this lookup.", "type": "integer" } } }, "GetFieldPermissionsItem": { "type": "object", "additionalProperties": false, "properties": { "role": { "description": "The role associated with a given permission for the field", "type": "string" }, "permissionType": { "description": "The permission given to the role for this field", "type": "string" }, "roleId": { "description": "The Id of the given role", "type": "integer" } } }, "UpdateFieldProperties": { "description": "Additional properties for the field. Please see [Field type details](../fieldInfo) page for more details on the properties for each field type.", "type": "object", "additionalProperties": true, "properties": { "allowMentions": { "description": "If someone can @mention users in the rich text field to generate an email notification.", "type": "boolean" }, "comments": { "description": "The comments entered on the field properties by an administrator.", "type": "string" }, "doesTotal": { "description": "Whether this field totals in reports within the product.", "type": "boolean" }, "autoSave": { "description": "Whether the link field will auto save.", "type": "boolean" }, "defaultValueLuid": { "description": "Default user id value.", "type": "integer" }, "useI18NFormat": { "description": "Whether phone numbers should be in E.164 standard international format.", "type": "boolean" }, "maxVersions": { "description": "The maximum number of versions configured for a file attachment.", "type": "integer" }, "carryChoices": { "description": "Whether the field should carry its multiple choice fields when copied.", "type": "boolean" }, "format": { "description": "The format to display time.", "type": "integer" }, "maxLength": { "description": "The maximum number of characters allowed for entry in Quickbase for this field.", "type": "integer" }, "linkText": { "description": "The configured text value that replaces the URL that users see within the product.", "type": "string" }, "parentFieldId": { "description": "The id of the parent composite field, when applicable.", "type": "integer" }, "displayTimezone": { "description": "Indicates whether to display the timezone within the product.", "type": "boolean" }, "summaryTargetFieldId": { "description": "The id of the field that is used to aggregate values from the child, when applicable. This displays 0 if the summary function doesn't require a field selection (like count).", "type": "integer" }, "allowNewChoices": { "description": "Indicates if users can add new choices to a selection list.", "type": "boolean" }, "masterChoiceFieldId": { "description": "The id of the field that is the reference in the relationship.", "type": "integer" }, "defaultToday": { "description": "Indicates if the field value is defaulted today for new records.", "type": "boolean" }, "units": { "description": "The units label.", "type": "string" }, "lookupTargetFieldId": { "description": "The id of the field that is the target on the master table for this lookup.", "type": "integer" }, "summaryFunction": { "description": "The summary accumulation function type.", "enum": [ "AVG", "SUM", "MAX", "MIN", "STD-DEV", "COUNT", "COMBINED-TEXT", "COMBINED-USER", "DISTINCT-COUNT" ], "type": "string" }, "sourceFieldId": { "description": "The id of the source field.", "type": "integer" }, "masterTableTag": { "description": "The table alias for the master table in the relationship this field is part of.", "type": "string" }, "doesAverage": { "description": "Whether this field averages in reports within the product.", "type": "boolean" }, "formula": { "description": "The formula of the field as configured in Quickbase.", "type": "string" }, "decimalPlaces": { "description": "The number of decimal places displayed in the product for this field.", "type": "integer" }, "defaultCountryCode": { "description": "Controls the default country shown on international phone widgets on forms. Country code should be entered in the ISO 3166-1 alpha-2 format.", "type": "string" }, "seeVersions": { "description": "Indicates if the user can see other versions, aside from the most recent, of a file attachment within the product.", "type": "boolean" }, "displayMonth": { "description": "How to display months.", "type": "string" }, "numLines": { "description": "The number of lines shown in Quickbase for this text field.", "type": "integer" }, "displayEmail": { "description": "How the email is displayed.", "type": "string" }, "defaultKind": { "description": "The user default type.", "type": "string" }, "coverText": { "description": "An alternate user friendly text that can be used to display a link in the browser.", "type": "string" }, "currencySymbol": { "description": "The current symbol used when displaying field values within the product.", "type": "string" }, "masterChoiceTableId": { "description": "The id of the table that is the master in this relationship.", "type": "string" }, "targetFieldId": { "description": "The id of the target field.", "type": "integer" }, "displayUser": { "description": "The configured option for how users display within the product.", "type": "string" }, "blankIsZero": { "description": "Whether a blank value is treated the same as 0 in calculations within the product.", "type": "boolean" }, "exact": { "description": "Whether an exact match is required for a report link.", "type": "boolean" }, "startField": { "description": "The start field id.", "type": "integer" }, "defaultDomain": { "description": "Default email domain.", "type": "string" }, "defaultValue": { "description": "The default value configured for a field when a new record is added.", "type": "string" }, "choicesLuid": { "description": "List of user choices.", "type": "array", "items": { "type": "string" } }, "abbreviate": { "description": "Don't show the URL protocol when showing the URL.", "type": "boolean" }, "xmlTag": { "description": "The field's xml tag.", "type": "string" }, "targetTableName": { "description": "The field's target table name.", "type": "string" }, "numberFormat": { "description": "The format used for displaying numeric values in the product (decimal, separators, digit group).", "type": "integer" }, "appearsAs": { "description": "The link text, if empty, the url will be used as link text.", "type": "string" }, "width": { "description": "The field's html input width in the product.", "type": "integer" }, "currencyFormat": { "description": "The currency format used when displaying field values within the product.", "enum": [ "left", "right", "middle" ], "type": "string" }, "foreignKey": { "description": "Indicates if the field is a foreign key (or reference field) in a relationship.", "type": "boolean" }, "displayDayOfWeek": { "description": "Indicates whether to display the day of the week within the product.", "type": "boolean" }, "summaryReferenceFieldId": { "description": "The id of the field that is the reference in the relationship for this summary.", "type": "integer", "format": "int64" }, "commaStart": { "description": "The number of digits before commas display in the product, when applicable.", "type": "integer" }, "choices": { "description": "An array of entries that exist for a field that offers choices to the user.", "type": "array", "items": { "type": "string" } }, "targetTableId": { "description": "The id of the target table.", "type": "string" }, "displayRelative": { "description": "Whether to display time as relative.", "type": "boolean" }, "compositeFields": { "description": "An array of the fields that make up a composite field (e.g., address).", "type": "array", "items": { "oneOf": [ { "type": "integer" }, { "type": "object" } ] } }, "displayCheckboxAsText": { "description": "Indicates whether the checkbox values will be shown as text in reports.", "type": "boolean" }, "versionMode": { "description": "Version modes for files. Keep all versions vs keep last version.", "enum": [ "keepallversions", "keeplastversions" ], "type": "string" }, "displayTime": { "description": "Indicates whether to display the time, in addition to the date.", "type": "boolean" }, "durationField": { "description": "The duration field id.", "type": "integer" }, "snapFieldId": { "description": "The id of the field that is used to snapshot values from, when applicable.", "type": "integer" }, "hours24": { "description": "Indicates whether or not to display time in the 24-hour format within the product.", "type": "boolean" }, "sortAlpha": { "description": "Whether to sort alphabetically, default sort is by record ID.", "type": "boolean" }, "sortAsGiven": { "description": "Indicates if the listed entries sort as entered vs alphabetically.", "type": "boolean" }, "hasExtension": { "description": "Whether this field has a phone extension.", "type": "boolean" }, "workWeek": { "description": "The work week type.", "type": "integer" }, "useNewWindow": { "description": "Indicates if the URL should open a new window when a user clicks it within the product.", "type": "boolean" }, "postTempToken": { "type": "boolean", "description": "POSTs a temporary token to the first URL when clicked by a user. [Learn more](https://help.quickbase.com/docs/post-temporary-token-from-a-quickbase-field)" }, "appendOnly": { "description": "Whether this field is append only.", "type": "boolean" }, "displayAsLink": { "description": "Indicates if a field that is part of the relationship should be shown as a hyperlink to the parent record within the product.", "type": "boolean" }, "allowHTML": { "description": "Whether this field allows html.", "type": "boolean" }, "lookupReferenceFieldId": { "description": "The id of the field that is the reference in the relationship for this lookup.", "type": "integer" } } }, "UpdateFieldPermissionsItem": { "type": "object", "additionalProperties": false, "properties": { "role": { "description": "The role associated with a given permission for the field", "type": "string" }, "permissionType": { "description": "The permission given to the role for this field", "type": "string" }, "roleId": { "description": "The Id of the given role", "type": "integer" } } }, "GetFieldsUsageItem": { "type": "object", "additionalProperties": true, "required": [ "field", "usage" ], "properties": { "field": { "$ref": "#/components/schemas/GetFieldsUsageItemField" }, "usage": { "$ref": "#/components/schemas/GetFieldsUsageItemUsage" } } }, "GetFieldsUsageItemField": { "description": "Basic information about the field.", "type": "object", "additionalProperties": true, "required": [ "name", "id", "type" ], "properties": { "name": { "description": "Field name.", "type": "string" }, "id": { "description": "Field id.", "type": "integer" }, "type": { "description": "Field type.", "type": "string" } } }, "GetFieldsUsageItemUsage": { "description": "Usage Information about the field.", "type": "object", "additionalProperties": true, "required": [ "actions", "appHomePages", "dashboards", "defaultReports", "exactForms", "fields", "forms", "notifications", "personalReports", "pipelines", "relationships", "reminders", "reports", "roles", "tableImports", "tableRules", "webhooks" ], "properties": { "actions": { "description": "The number of quickbase actions where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "appHomePages": { "description": "The number of app home pages where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "dashboards": { "required": [ "count" ], "type": "object", "properties": { "count": { "type": "integer", "description": "the number of times a field has been used for the given item." } }, "description": "The number of dashboards where the given field is referenced." }, "defaultReports": { "description": "The number of default reports where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "exactForms": { "description": "The number of exact forms where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "fields": { "description": "The number of fields where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "forms": { "description": "The number of forms where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "notifications": { "description": "The number of notifications where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "personalReports": { "description": "The number of personal reports where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "pipelines": { "required": [ "count" ], "type": "object", "additionalProperties": true, "properties": { "count": { "type": "integer", "description": "the number of times a field has been used for the given item." } }, "description": "The number of pipelines where the given field is referenced." }, "relationships": { "description": "The number of relationships where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "reminders": { "description": "The number of reminders where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "reports": { "description": "The number of reports where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "roles": { "description": "The number of roles where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "tableImports": { "required": [ "count" ], "type": "object", "properties": { "count": { "type": "integer", "description": "the number of times a field has been used for the given item." } }, "description": "The number of table imports where the given field is referenced." }, "tableRules": { "required": [ "count" ], "type": "object", "properties": { "count": { "type": "integer", "description": "the number of times a field has been used for the given item." } }, "description": "The number of table rules where the given field is referenced." }, "webhooks": { "description": "The number of webhooks where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } } } }, "GetFieldUsageItem": { "type": "object", "additionalProperties": true, "required": [ "field", "usage" ], "properties": { "field": { "$ref": "#/components/schemas/GetFieldUsageItemField" }, "usage": { "$ref": "#/components/schemas/GetFieldUsageItemUsage" } } }, "GetFieldUsageItemField": { "description": "Basic information about the field.", "type": "object", "additionalProperties": true, "required": [ "name", "id", "type" ], "properties": { "name": { "description": "Field name.", "type": "string" }, "id": { "description": "Field id.", "type": "integer" }, "type": { "description": "Field type.", "type": "string" } } }, "GetFieldUsageItemUsage": { "description": "Usage Information about the field.", "type": "object", "additionalProperties": true, "required": [ "actions", "appHomePages", "dashboards", "defaultReports", "exactForms", "fields", "forms", "notifications", "personalReports", "pipelines", "relationships", "reminders", "reports", "roles", "tableImports", "tableRules", "webhooks" ], "properties": { "actions": { "description": "The number of quickbase actions where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "appHomePages": { "description": "The number of app home pages where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "dashboards": { "required": [ "count" ], "type": "object", "properties": { "count": { "type": "integer", "description": "the number of times a field has been used for the given item." } }, "description": "The number of dashboards where the given field is referenced." }, "defaultReports": { "description": "The number of default reports where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "exactForms": { "description": "The number of exact forms where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "fields": { "description": "The number of fields where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "forms": { "description": "The number of forms where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "notifications": { "description": "The number of notifications where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "personalReports": { "description": "The number of personal reports where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "pipelines": { "required": [ "count" ], "type": "object", "additionalProperties": true, "properties": { "count": { "type": "integer", "description": "the number of times a field has been used for the given item." } }, "description": "The number of pipelines where the given field is referenced." }, "relationships": { "description": "The number of relationships where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "reminders": { "description": "The number of reminders where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "reports": { "description": "The number of reports where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "roles": { "description": "The number of roles where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } }, "tableImports": { "required": [ "count" ], "type": "object", "properties": { "count": { "type": "integer", "description": "the number of times a field has been used for the given item." } }, "description": "The number of table imports where the given field is referenced." }, "tableRules": { "required": [ "count" ], "type": "object", "properties": { "count": { "type": "integer", "description": "the number of times a field has been used for the given item." } }, "description": "The number of table rules where the given field is referenced." }, "webhooks": { "description": "The number of webhooks where the given field is referenced.", "type": "object", "additionalProperties": true, "required": [ "count" ], "properties": { "count": { "description": "the number of times a field has been used for the given item.", "type": "integer" } } } } }, "UpsertMetadata": { "description": "Information about created records, updated records, referenced but unchanged records, and records having any errors while being processed.", "type": "object", "additionalProperties": true, "properties": { "createdRecordIds": { "description": "Array containing the created record ids.", "type": "array", "items": { "type": "integer" } }, "lineErrors": { "description": "This will only be returned in the case of failed records. It is a collection of errors that occurred when processing the incoming data that resulted in records not being processed. Each object has a key representing the sequence number of the record in the original payload (starting from 1). The value is a list of errors occurred.", "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } } }, "unchangedRecordIds": { "description": "Array containing the unchanged record ids.", "type": "array", "items": { "type": "integer" } }, "updatedRecordIds": { "description": "Array containing the updated record ids.", "type": "array", "items": { "type": "integer" } }, "totalNumberOfRecordsProcessed": { "description": "Number of records processed. Includes successful and failed record updates.", "type": "integer" } } }, "RunQueryFieldsItem": { "type": "object", "additionalProperties": true, "properties": { "id": { "description": "Field id.", "type": "integer" }, "label": { "description": "Field label.", "type": "string" }, "type": { "description": "Field type.", "type": "string" } } }, "RunQueryMetadata": { "description": "Additional information about the results that may be helpful. Pagination may be needed if either you specify a smaller number of results to skip than is available, or if the API automatically returns fewer results. numRecords can be compared to totalRecords to determine if further pagination is needed.", "type": "object", "additionalProperties": true, "required": [ "numFields", "totalRecords", "numRecords" ], "properties": { "skip": { "description": "The number of records to skip", "type": "integer" }, "numFields": { "description": "The number of fields in each record in the current response object", "type": "integer" }, "top": { "description": "If present, the maximum number of records requested by the caller", "type": "integer" }, "totalRecords": { "description": "The total number of records in the result set", "type": "integer" }, "numRecords": { "description": "The number of records in the current response object", "type": "integer" } } }, "RecordsModifiedSinceChangesItem": { "type": "object", "additionalProperties": true, "properties": { "recordId": { "description": "A record whose dependencies were found to have been updated after the time provided.", "type": "integer" }, "timestamp": { "description": "The timestamp that Quickbase found that exceeded the after time. This does not represent the latest date modified in the record graph.", "type": "string", "format": "date-time" }, "changeType": { "description": "The type of change that was detected.", "enum": [ "CREATE", "MODIFY", "DELETE" ], "type": "string" } } }, "CloneUserTokenAppsItem": { "type": "object", "additionalProperties": true, "properties": { "id": { "description": "The unique identifier for this application.", "type": "string" }, "name": { "description": "The application's name.", "type": "string" } } }, "TransferUserTokenAppsItem": { "type": "object", "additionalProperties": true, "properties": { "id": { "description": "The unique identifier for this application.", "type": "string" }, "name": { "description": "The application's name.", "type": "string" } } }, "DeleteFileCreator": { "description": "The user that uploaded version.", "type": "object", "additionalProperties": true, "properties": { "name": { "description": "User full name.", "type": "string" }, "id": { "description": "User Id.", "type": "string" }, "email": { "description": "User email.", "type": "string" }, "userName": { "description": "User Name as updated in user properties. Optional, appears if not the same as user email.", "type": "string" } } }, "GetUsersUsersItem": { "type": "object", "additionalProperties": true, "required": [ "userName", "firstName", "lastName", "emailAddress", "hashId" ], "properties": { "userName": { "type": "string" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "emailAddress": { "type": "string" }, "hashId": { "type": "string" } } }, "GetUsersMetadata": { "description": "Additional request information", "type": "object", "additionalProperties": true, "required": [ "nextPageToken" ], "properties": { "nextPageToken": { "type": "string" } } }, "AuditEventsItem": { "type": "object", "additionalProperties": true, "required": [ "id", "firstname", "lastname", "email", "topic", "time", "ipaddress", "useragent", "application", "description" ], "properties": { "id": { "description": "Log ID.", "type": "string" }, "firstname": { "description": "User's first name.", "type": "string" }, "lastname": { "description": "User's last name.", "type": "string" }, "email": { "description": "User's email address.", "type": "string" }, "topic": { "description": "What action was taken, such as log in, create app, report access, or table search.", "type": "string" }, "time": { "description": "Exact time the action was taken, including date, and time with hour, minutes and seconds. Time zone is the browser time zone.", "type": "string" }, "ipaddress": { "description": "The IP address the action was taken from.", "type": "string" }, "useragent": { "description": "The browser and OS the action was taken from.", "type": "string" }, "application": { "description": "UI for user interface or API for an API call.", "type": "string" }, "description": { "description": "A brief description of the action that you can click to see additional details.", "type": "string" }, "payloadChanges": { "description": "The data changes that have occured to a field that has been marked as audited.", "type": "object", "additionalProperties": true, "required": [ "changes", "rid", "changeType", "type" ], "properties": { "changes": { "description": "An object describing the changes that occured on record changes.", "type": "object", "additionalProperties": true, "required": [ "current", "previous", "fields" ], "properties": { "current": { "description": "The current value of the fields that have been changed.", "type": "array" }, "previous": { "description": "The previous value of the fields that have been changed.", "type": "array" }, "fields": { "description": "The list of fields and their types that have been changed.", "type": "array" } } }, "rid": { "description": "The recordId that has been edited.", "type": "integer" }, "changeType": { "description": "The change type that occured for a record. Could be one of add, edit, delete.", "type": "string" }, "type": { "description": "A placeholder for type changes.", "type": "string" } } } } }, "PlatformAnalyticReadsData": { "description": "The data object containing the read summaries.", "type": "object", "additionalProperties": true, "required": [ "dailyDetailedReads" ], "properties": { "dailyDetailedReads": { "description": "Detailed read summaries for a specific date.", "type": "object", "additionalProperties": true, "required": [ "date", "reads" ], "properties": { "date": { "description": "The date of the requested summary.", "type": "string", "format": "date" }, "reads": { "description": "Total reads for the specified date.", "type": "object", "additionalProperties": true, "required": [ "user", "integrations" ], "properties": { "user": { "description": "Total user reads for the realm on the specified date.", "type": "integer" }, "integrations": { "description": "Total integration reads for the realm on the specified date.", "type": "object", "additionalProperties": true, "required": [ "eoti", "api", "pipelines" ], "properties": { "eoti": { "description": "Total reads by anonymous users for the realm on the specified date.", "type": "integer" }, "api": { "description": "Total API reads for the realm on the specified date.", "type": "integer" }, "pipelines": { "description": "Total pipeline reads for the realm on the specified date.", "type": "integer" } } } } } } } } }, "PlatformAnalyticEventSummariesData": { "type": "object", "required": [ "eventsSummaries" ], "properties": { "eventsSummaries": { "type": "object", "required": [ "accountId", "start", "end", "groupBy", "where", "results", "metadata", "totals" ], "properties": { "accountId": { "type": "string", "description": "The ID of the account the events are associated with." }, "start": { "type": "string", "format": "date-time", "description": "The start date and time of the requested summaries in ISO 8601 time format." }, "end": { "type": "string", "format": "date-time", "description": "The end date and time of the requested summaries in ISO 8601 time format." }, "groupBy": { "type": "string", "enum": [ "app", "user" ], "description": "How the events should be grouped." }, "where": { "type": "array", "items": { "type": "object", "required": [ "id", "type" ], "properties": { "id": { "type": "string", "description": "Id of the item to filter by." }, "type": { "type": "string", "enum": [ "app", "user" ], "description": "The type of item to filter by." } } } }, "results": { "type": "array", "description": "An array of objects that contains Application/User information and an events object with summaries by event type.", "items": { "type": "object", "required": [ "id", "name", "totals", "eventTypes" ], "properties": { "id": { "type": "string", "description": "Id of the Application/User." }, "name": { "type": "string", "description": "Name of the Application/User." }, "totals": { "type": "object", "description": "Totals by billing category for the event grouping.", "properties": { "integration": { "type": "number" }, "user": { "type": "number" }, "all": { "type": "number" } } }, "eventTypes": { "type": "array", "description": "An array of events that contains specific information associated with an Application/User broken down by event type.", "items": { "type": "object", "properties": { "eventType": { "type": "string", "description": "Event type" }, "count": { "type": "integer", "description": "Count of events associated with that event type and Application/User." }, "billingCategory": { "type": "string", "enum": [ "user", "integration" ], "description": "Billing category of the event type." } } } } } } }, "metadata": { "type": "object", "required": [ "nextToken" ], "description": "Additional information about the results that may be helpful.", "properties": { "nextToken": { "type": "string", "description": "Supply this token in a subsequent request to fetch the next page of results." } } }, "totals": { "type": "object", "description": "Totals by billing category for all queried events.", "properties": { "integration": { "type": "number" }, "user": { "type": "number" }, "all": { "type": "number" } } } } } } }, "GetTrusteesItem": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId" ], "type": "object" }, "AddTrusteesFailureItem": { "properties": { "error": { "description": "The error message associated with the trustee that could not be updated.", "type": "string" }, "trustee": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId" ], "type": "object" } }, "type": "object" }, "AddTrusteesSuccessItem": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId" ], "type": "object" }, "RemoveTrusteesFailureItem": { "properties": { "error": { "description": "The error message associated with the trustee that could not be updated.", "type": "string" }, "trustee": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId" ], "type": "object" } }, "type": "object" }, "RemoveTrusteesSuccessItem": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId" ], "type": "object" }, "UpdateTrusteesFailureItem": { "properties": { "error": { "description": "The error message associated with the trustee that could not be updated.", "type": "string" }, "trustee": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "oldRoleId": { "description": "The ID of the role to be changed for the trustee. This is used to identify the current role before updating it.", "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId", "oldRoleId" ], "type": "object" } }, "type": "object" }, "UpdateTrusteesSuccessItem": { "description": "Object used for operations to read, create, or update trustees in an app.", "example": { "id": "123456.ab1s", "roleId": 10, "type": "user" }, "properties": { "id": { "description": "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", "type": "string" }, "roleId": { "description": "The ID of the role to be assigned or currently assigned to the trustee.", "example": 10, "type": "integer" }, "oldRoleId": { "description": "The ID of the role to be changed for the trustee. This is used to identify the current role before updating it.", "type": "integer" }, "type": { "description": "The type of trustee being added. This can be a user, group, or email domain group.", "enum": [ "user", "group", "dom-group" ], "example": "user", "type": "string" } }, "required": [ "id", "type", "roleId", "oldRoleId" ], "type": "object" } }, "securitySchemes": { "userToken": { "type": "apiKey", "name": "Authorization", "in": "header", "description": "User token: QB-USER-TOKEN {token}" }, "tempToken": { "type": "apiKey", "name": "Authorization", "in": "header", "description": "Temporary token: QB-TEMP-TOKEN {token}" } } }, "security": [ { "userToken": [] } ] }