Don't forget to check out our JSON RESTful APIs, they can help you utilize and extend Quickbase with ease.
Overview
Use API_SetKeyField to specify a field in the table as the key field. You invoke this call on a table dbid. You must have full administration rights on the application to use this call.
If you don't specify a key field, Quickbase uses the built-in Record ID field as the key field. However, if you want to use a different field as the key field for a table, the following conditions must be met:
-
The field type you pick must support uniqueness (make sure the Unique checkbox is checked, which disallows duplicate entries).
-
If there is data in the table, the field values must all be unique and cannot be blank.
-
You cannot specify a List - user or Multi-select text field, or any formula field, as the key field in a table.
Request parameters
Parameter | Value | Required? |
---|---|---|
ticket |
A valid authentication ticket. The authentication ticket is returned via the API_Authenticate call. |
yes, one of:
|
usertoken |
The user token is an alternative means of authentication, used for API access. User tokens cannot be used to access the Quickbase UI. |
yes, one of:
|
apptoken |
A valid application token. |
yes, if the application requires application tokens |
fid |
The field ID of the table field to be used as the key field. |
yes |
udata |
A string value that you want returned. It will not be handled by Quickbase but it will be returned in the response. |
no |
Response values
Element Name | Value |
---|---|
action |
The originating request, for example, API_SetKeyField. |
errcode |
Identifies the error code, if any. (See the Error Codes appendix for a list of possible error codes.) 0 indicates that no error was encountered. |
errtext |
Text that explains the error code. "No error" indicates that no error was encountered. |
udata |
Optional. Contains any udata value supplied in the request. |
Sample XML Request
POST https://target_domain/db/target_dbid?
Content-Type: application/xml
Content-Length:
QUICKBASE-ACTION: API_SetKeyField
<qdbapi>
<ticket>auth_ticket</ticket>
<apptoken>app_token</apptoken>
<fid>6</fid>
<udata>myudata</udata>
</qdbapi>
URL alternative
https://target_domain/db/target_dbid?a=API_SetKeyField&fid=7
&ticket=auth_ticket&apptoken=app_token
where target_domain is the domain against which you are invoking this call, for example, quickbase.com. Read about this notation.
Sample response
<?xml version="1.0" ?>
<qdbapi>
<action>API_SetKeyField</action>
<errcode>0</errcode>
<errtext>No error</errtext>
<udata>myudata</udata>
</qdbapi>