---
title: "API_CreateTable"
slug: "api-createtable"
updated: 2025-08-18T09:09:04Z
published: 2025-08-18T09:09:04Z
canonical: "help.quickbase.com/api-createtable"
---

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

# API_CreateTable

**Don't forget to check out our**[**JSON RESTful APIs**](https://developer.quickbase.com/)**, they can help you utilize and extend Quickbase with ease.**

## Overview

Use API_CreateTable to create a table for an application. You must have application administration rights to use this call. The dbid you supply must be an application-level dbid, not a table-level dbid.

## Request parameters

| Parameter | Value | Required? |
| --- | --- | --- |
| tname | The name you want to use for the name of the table. If you don’t supply this, the name *Records* is assigned by default. Because your application requires unique table names, you’ll be able to use the default only once. | no, but recommended |
| pnoun | The name you want to use for records in the table. You should use a plural noun that can apply to all records in the table. For example, if each table row contains information about a vehicle that your company owns, you might want to use “Vehicles” as your pnoun. If you don’t supply this, the name *Records* is assigned by default. | no, but recommended |
| ticket | A valid authentication ticket. The authentication ticket is returned via the API_Authenticate call. | yes, one of: - ticket - username/password - user token |
| 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: - ticket - username/password - user token |
| apptoken | Supply a valid application token. | yes, if the application requires application tokens |
| 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_CreateTable. |
| errcode | Identifies the error code, if any. (See the[Error Codes appendix](/v1/docs/error-codes) 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 | Contains any udata value supplied in the request. |
| newdbid | The dbid of the new table. |

## Sample XML Request

```xml
POST https://target_domain/db/target_dbid HTTP/1.0
Content-Type: application/xml
Content-Length:
QUICKBASE-ACTION: API_CreateTable

<qdbapi>
   <ticket>auth_ticket</ticket>
   <apptoken>app_token</apptoken>
   <tname>My Vehicle List</tname>
   <pnoun>Vehicles</pnoun>
</qdbapi>
```

## URL alternative

```plaintext
https://target_domain/db/target_dbid?a=API_CreateTable&ticket=auth_ticket
&apptoken=app_token&tname=MyVehicleList&pnoun=Vehicles
```

where *target_domain* is the domain against which you are invoking this call, for example, *quickbase.com*. [Read about this notation](/v1/docs/understanding-the-api-call-reference).

## Sample response

```xml
<?xml version="1.0" ?>
<qdbapi>
   <action>API_createtable</action>
   <errcode>0</errcode>
   <errtext>No error</errtext>
   <newDBID>bddfa5nbx</newDBID>
</qdbapi>
```
