REST APIs
Once you've created the schemas, you can manipulate the data or invoke actions using the REST APIs. We provide several types of APIs for different usages as below.
API Overview
Here's the overview of all APIs. For the details, please check out NocoDB API Documentation.
You may also interact with the API's resources via Swagger UI.
note
Currently, the default value for {orgs}
is noco. Users will be able to change it in the future release.
Auth APIs
Category | Method | Tag | Function Name | Path |
---|---|---|---|---|
Auth | Post | auth | signup | /api/v1/auth/user/signup |
Auth | Post | auth | signin | /api/v1/auth/user/signin |
Auth | Get | auth | me | /api/v1/auth/user/me |
Auth | Post | auth | passwordForgot | /api/v1/auth/password/forgot |
Auth | Post | auth | passwordChange | /api/v1/auth/password/change |
Auth | Post | auth | passwordReset | /api/v1/auth/password/reset/{token} |
Auth | Post | auth | tokenRefresh | /api/v1/auth/token/refresh |
Auth | Post | auth | passwordResetTokenValidate | /api/v1/auth/token/validate/{token} |
Auth | Post | auth | emailValidate | /api/v1/auth/email/validate/{email} |
Public APIs
Category | Method | Tag | Function Name | Path |
---|---|---|---|---|
Public | Get | public | sharedBaseGet | /api/v1/db/public/shared-base/{sharedBaseUuid} /meta |
Public | Post | public | dataList | /api/v1/db/public/shared-view/{sharedViewUuid} /rows |
Public | Get | public | dataNestedList | /api/v1/db/public/shared-view/{sharedViewUuid} /rows/{rowId} /{relationType} /{columnName} |
Public | Post | public | dataCreate | /api/v1/db/public/shared-view/{sharedViewUuid} /rows |
Public | Get | public | csvExport | /api/v1/db/public/shared-view/{sharedViewUuid} /rows/export/{type} |
Public | Get | public | dataRelationList | /api/v1/db/public/shared-view/{sharedViewUuid} /nested/{columnName} |
Public | Get | public | sharedViewMetaGet | /api/v1/db/public/shared-view/{sharedViewUuid} /meta |
Public | Get | public | groupedDataList | /api/v1/db/public/shared-view/{sharedViewUuid} /group/{columnId} |
Data APIs
Category | Method | Tag | Function Name | Path |
---|---|---|---|---|
Data | Delete | dbTableRow | bulkDelete | /api/v1/db/data/bulk/{orgs} /{projectName} /{tableName} / |
Data | Post | dbTableRow | bulkCreate | /api/v1/db/data/bulk/{orgs} /{projectName} /{tableName} / |
Data | Patch | dbTableRow | bulkUpdate | /api/v1/db/data/bulk/{orgs} /{projectName} /{tableName} / |
Data | Patch | dbTableRow | bulkUpdateAll | /api/v1/db/data/bulk/{orgs} /{projectName} /{tableName} /all |
Data | Delete | dbTableRow | bulkDeleteAll | /api/v1/db/data/bulk/{orgs} /{projectName} /{tableName} /all |
Data | Get | dbTableRow | list | /api/v1/db/data/{orgs} /{projectName} /{tableName} |
Data | Get | dbTableRow | findOne | /api/v1/db/data/{orgs} /{projectName} /{tableName} /find-one |
Data | Get | dbTableRow | groupBy | /api/v1/db/data/{orgs} /{projectName} /{tableName} /groupby |
Data | Get | dbTableRow | exist | /api/v1/db/data/{orgs} /{projectName} /{tableName} /{rowId} /exist |
Data | Post | dbTableRow | create | /api/v1/db/data/{orgs} /{projectName} /{tableName} |
Data | Get | dbTableRow | read | /api/v1/db/data/{orgs} /{projectName} /{tableName} /{rowId} |
Data | Patch | dbTableRow | update | /api/v1/db/data/{orgs} /{projectName} /{tableName} /{rowId} |
Data | Delete | dbTableRow | delete | /api/v1/db/data/{orgs} /{projectName} /{tableName} /{rowId} |
Data | Get | dbTableRow | count | /api/v1/db/data/{orgs} /{projectName} /{tableName} /count |
Data | Get | dbTableRow | groupedDataList | /api/v1/db/data/{orgs} /{projectName} /{tableName} /group/{columnId} |
Data | Get | dbViewRow | list | /api/v1/db/data/{orgs} /{projectName} /{tableName} /views/{viewName} |
Data | Get | dbViewRow | findOne | /api/v1/db/data/{orgs} /{projectName} /{tableName} /views/{viewName} /find-one |
Data | Get | dbViewRow | groupBy | /api/v1/db/data/{orgs} /{projectName} /{tableName} /views/{viewName} /groupby |
Data | Get | dbViewRow | exist | /api/v1/db/data/{orgs} /{projectName} /{tableName} /views/{viewName} /{rowId} /exist |
Data | Post | dbViewRow | create | /api/v1/db/data/{orgs} /{projectName} /{tableName} /views/{viewName} |
Data | Get | dbViewRow | read | /api/v1/db/data/{orgs} /{projectName} /{tableName} /views/{viewName} /{rowId} |
Data | Patch | dbViewRow | update | /api/v1/db/data/{orgs} /{projectName} /{tableName} /views/{viewName} /{rowId} |
Data | Delete | dbViewRow | delete | /api/v1/db/data/{orgs} /{projectName} /{tableName} /views/{viewName} /{rowId} |
Data | Get | dbViewRow | count | /api/v1/db/data/{orgs} /{projectName} /{tableName} /views/{viewName} /count |
Data | Get | dbViewRow | groupedDataList | /api/v1/db/data/{orgs} /{projectName} /{tableName} /views/{viewName} /group/{columnId} |
Meta APIs
Category | Method | Tag | Function Name | Path |
---|---|---|---|---|
Meta | Get | apiToken | list | /api/v1/db/meta/projects/{projectId} /api-tokens |
Meta | Post | apiToken | create | /api/v1/db/meta/projects/{projectId} /api-tokens |
Meta | Delete | apiToken | delete | /api/v1/db/meta/projects/{projectId} /api-tokens/{token} |
Meta | Get | auth | projectUserList | /api/v1/db/meta/projects/{projectId} /users |
Meta | Post | auth | projectUserAdd | /api/v1/db/meta/projects/{projectId} /users |
Meta | Patch | auth | projectUserUpdate | /api/v1/db/meta/projects/{projectId} /users/{userId} |
Meta | Delete | auth | projectUserRemove | /api/v1/db/meta/projects/{projectId} /users/{userId} |
Meta | Post | auth | projectUserResendInvite | /api/v1/db/meta/projects/{projectId} /users/{userId} /resend-invite |
Meta | Post | dbTable | create | /api/v1/db/meta/projects/{projectId} /tables |
Meta | Get | dbTable | list | /api/v1/db/meta/projects/{projectId} /tables |
Meta | Post | dbTableColumn | create | /api/v1/db/meta/tables/{tableId} /columns |
Meta | Patch | dbTableColumn | update | /api/v1/db/meta/tables/{tableId} /columns/{columnId} |
Meta | Delete | dbTableColumn | delete | /api/v1/db/meta/tables/{tableId} /columns/{columnId} |
Meta | Post | dbTableColumn | primaryColumnSet | /api/v1/db/meta/tables/{tableId} /columns/{columnId} /primary |
Meta | Get | dbTableFilter | get | /api/v1/db/meta/filters/{filterId} |
Meta | Patch | dbTableFilter | update | /api/v1/db/meta/filters/{filterId} |
Meta | Delete | dbTableFilter | delete | /api/v1/db/meta/filters/{filterId} |
Meta | Get | dbTableFilter | read | /api/v1/db/meta/views/{viewId} /filters |
Meta | Post | dbTableFilter | create | /api/v1/db/meta/views/{viewId} /filters |
Meta | Get | dbTableFilter | get | /api/v1/db/meta/filters/{filterId} |
Meta | Patch | dbTableFilter | update | /api/v1/db/meta/filters/{filterId} |
Meta | Delete | dbTableFilter | delete | /api/v1/db/meta/filters/{filterId} |
Meta | Get | dbTableFilter | childrenRead | /api/v1/db/meta/filters/{filterGroupId} /children |
Meta | Get | dbTableSort | list | /api/v1/db/meta/views/{viewId} /sorts |
Meta | Post | dbTableSort | create | /api/v1/db/meta/views/{viewId} /sorts |
Meta | Get | dbTableSort | read | /api/v1/db/meta/sorts/{sortId} |
Meta | Patch | dbTableSort | update | /api/v1/db/meta/sorts/{sortId} |
Meta | Delete | dbTableSort | delete | /api/v1/db/meta/sorts/{sortId} |
Meta | Patch | dbTableWebhook | update | /api/v1/db/meta/hooks/{hookId} |
Meta | Delete | dbTableWebhook | delete | /api/v1/db/meta/hooks/{hookId} |
Meta | Get | dbTableWebhook | list | /api/v1/db/meta/tables/{tableId} /hooks |
Meta | Post | dbTableWebhook | create | /api/v1/db/meta/tables/{tableId} /hooks |
Meta | Post | dbTableWebhook | test | /api/v1/db/meta/tables/{tableId} /hooks/test |
Meta | Get | dbTableWebhook | samplePayloadGet | /api/v1/db/meta/tables/{tableId} /hooks/samplePayload/{operation} |
Meta | Get | dbTableWebhookFilter | read | /api/v1/db/meta/hooks/{hookId} /filters |
Meta | Post | dbTableWebhookFilter | create | /api/v1/db/meta/hooks/{hookId} /filters |
Meta | Get | dbView | list | /api/v1/db/meta/tables/{tableId} /views |
Meta | Get | dbView | read | /api/v1/db/meta/tables/{tableId} |
Meta | Patch | dbView | update | /api/v1/db/meta/tables/{tableId} |
Meta | Delete | dbView | delete | /api/v1/db/meta/tables/{tableId} |
Meta | Post | dbView | reorder | /api/v1/db/meta/tables/{tableId} /reorder |
Meta | Post | dbView | formCreate | /api/v1/db/meta/tables/{tableId} /forms |
Meta | Patch | dbView | formUpdate | /api/v1/db/meta/forms/{formViewId} |
Meta | Get | dbView | formRead | /api/v1/db/meta/forms/{formViewId} |
Meta | Patch | dbView | formColumnUpdate | /api/v1/db/meta/form-columns/{formViewColumnId} |
Meta | Post | dbView | galleryCreate | /api/v1/db/meta/tables/{tableId} /galleries |
Meta | Patch | dbView | galleryUpdate | /api/v1/db/meta/galleries/{galleryViewId} |
Meta | Get | dbView | galleryRead | /api/v1/db/meta/galleries/{galleryViewId} |
Meta | Post | dbView | kanbanCreate | /api/v1/db/meta/tables/{tableId} /kanbans |
Meta | Patch | dbView | kanbanUpdate | /api/v1/db/meta/kanban/{kanbanViewId} |
Meta | Get | dbView | kanbanRead | /api/v1/db/meta/kanbans/{kanbanViewId} |
Meta | Post | dbView | mapCreate | /api/v1/db/meta/tables/{tableId} /maps |
Meta | Patch | dbView | mapUpdate | /api/v1/db/meta/maps/{mapViewId} |
Meta | Get | dbView | mapRead | /api/v1/db/meta/maps/{mapViewId} |
Meta | Post | dbView | gridCreate | /api/v1/db/meta/tables/{tableId} /grids |
Meta | Get | dbView | gridColumnsList | /api/v1/db/meta/grids/{gridId} /grid-columns |
Meta | Patch | dbView | gridColumnUpdate | /api/v1/db/meta/grid-columns/{columnId} |
Meta | Patch | dbView | update | /api/v1/db/meta/views/{viewId} |
Meta | Delete | dbView | delete | /api/v1/db/meta/views/{viewId} |
Meta | Post | dbView | showAllColumn | /api/v1/db/meta/views/{viewId} /show-all |
Meta | Post | dbView | hideAllColumn | /api/v1/db/meta/views/{viewId} /hide-all |
Meta | Get | dbViewColumn | list | /api/v1/db/meta/views/{viewId} /columns |
Meta | Post | dbViewColumn | create | /api/v1/db/meta/views/{viewId} /columns |
Meta | Patch | dbViewColumn | update | /api/v1/db/meta/views/{viewId} /columns/{columnId} |
Meta | Get | dbViewShare | list | /api/v1/db/meta/views/{viewId} /share |
Meta | Post | dbViewShare | create | /api/v1/db/meta/views/{viewId} /share |
Meta | Patch | dbViewShare | update | /api/v1/db/meta/views/{viewId} /share |
Meta | Delete | dbViewShare | delete | /api/v1/db/meta/views/{viewId} /share |
Meta | Get | plugin | list | /api/v1/db/meta/plugins |
Meta | Get | plugin | status | /api/v1/db/meta/plugins/{pluginId} /status |
Meta | Post | plugin | test | /api/v1/db/meta/plugins/test |
Meta | PATCH | plugin | update | /api/v1/db/meta/plugins/{pluginId} |
Meta | Get | plugin | read | /api/v1/db/meta/plugins/{pluginId} |
Meta | Get | project | metaGet | /api/v1/db/meta/projects/{projectId} /info |
Meta | Get | project | modelVisibilityList | /api/v1/db/meta/projects/{projectId} /visibility-rules |
Meta | Post | project | modelVisibilitySet | /api/v1/db/meta/projects/{projectId} /visibility-rules |
Meta | Get | project | list | /api/v1/db/meta/projects |
Meta | Post | project | create | /api/v1/db/meta/projects |
Meta | Get | project | read | /api/v1/db/meta/projects/{projectId} |
Meta | Delete | project | delete | /api/v1/db/meta/projects/{projectId} |
Meta | Get | project | auditList | /api/v1/db/meta/projects/{projectId} /audits |
Meta | Get | project | metaDiffGet | /api/v1/db/meta/projects/{projectId} /meta-diff |
Meta | Post | project | metaDiffSync | /api/v1/db/meta/projects/{projectId} /meta-diff |
Meta | Get | project | sharedBaseGet | /api/v1/db/meta/projects/{projectId} /shared |
Meta | Delete | project | sharedBaseDisable | /api/v1/db/meta/projects/{projectId} /shared |
Meta | Post | project | sharedBaseCreate | /api/v1/db/meta/projects/{projectId} /shared |
Meta | Patch | project | sharedBaseUpdate | /api/v1/db/meta/projects/{projectId} /shared |
Meta | Post | storage | upload | /api/v1/db/storage/upload |
Meta | Post | storage | uploadByUrl | /api/v1/db/storage/upload-by-url |
Meta | Get | utils | commentList | /api/v1/db/meta/audits/comments |
Meta | Post | utils | commentRow | /api/v1/db/meta/audits/comments |
Meta | Get | utils | commentCount | /api/v1/db/meta/audits/comments/count |
Meta | Post | utils | auditRowUpdate | /api/v1/db/meta/audits/update |
Meta | Get | utils | cacheGet | /api/v1/db/meta/cache |
Meta | Delete | utils | cacheDelete | /api/v1/db/meta/cache |
Meta | Post | utils | testConnection | /api/v1/db/meta/projects/connection/test |
Meta | Get | utils | appInfo | /api/v1/db/meta/nocodb/info |
Meta | Get | utils | appVersion | /api/v1/version |
Meta | Get | utils | appHealth | /api/v1/health |
Meta | Get | utils | aggregatedMetaInfo | /api/v1/aggregated-meta-info |
Meta | Get | orgUsers | list | /api/v1/users |
Meta | Post | orgUsers | add | /api/v1/users |
Meta | Patch | orgUsers | update | /api/v1/users/{userId} |
Meta | Delete | orgUsers | delete | /api/v1/users/{userId} |
Meta | Get | orgTokens | list | /api/v1/tokens |
Meta | Post | orgTokens | create | /api/v1/tokens |
Meta | Delete | orgTokens | delete | /api/v1/tokens/{token} |
Meta | Get | orgAppSettings | get | /api/v1/app-settings |
Meta | Post | orgAppSettings | set | /api/v1/app-settings |
Query params
Name | Alias | Use case | Default value | Example value |
---|---|---|---|---|
where | w | Complicated where conditions | (colName,eq,colValue)~or(colName2,gt,colValue2) Usage: Comparison operators Usage: Logical operators | |
limit | l | Number of rows to get (SQL limit value) | 10 | 20 |
offset | o | Offset for pagination (SQL offset value) | 0 | 20 |
sort | s | Sort by column name, Use - as prefix for descending sort | column_name | |
fields | f | Required column names in result | * | column_name1,column_name2 |
shuffle | r | Shuffle the result for pagination | 0 | 1 (Only allow 0 or 1. Other values would see it as 0) |
Comparison Operators
Operation | Meaning | Example |
---|---|---|
eq | equal | (colName,eq,colValue) |
neq | not equal | (colName,neq,colValue) |
not | not equal (alias of neq) | (colName,not,colValue) |
gt | greater than | (colName,gt,colValue) |
ge | greater or equal | (colName,ge,colValue) |
lt | less than | (colName,lt,colValue) |
le | less or equal | (colName,le,colValue) |
is | is | (colName,is,true/false/null) |
isnot | is not | (colName,isnot,true/false/null) |
in | in | (colName,in,val1,val2,val3,val4) |
btw | between | (colName,btw,val1,val2) |
nbtw | not between | (colName,nbtw,val1,val2) |
like | like | (colName,like,%name) |
isWithin | is Within (Available in Date and DateTime only) | (colName,isWithin,sub_op) |
allof | includes all of | (colName,allof,val1,val2,...) |
anyof | includes any of | (colName,anyof,val1,val2,...) |
nallof | does not include all of (includes none or some, but not all of) | (colName,nallof,val1,val2,...) |
nanyof | does not include any of (includes none of) | (colName,nanyof,val1,val2,...) |
Comparison Sub-Operators
The following sub-operators are available in Date
and DateTime
columns.
Operation | Meaning | Example |
---|---|---|
today | today | (colName,eq,today) |
tomorrow | tomorrow | (colName,eq,tomorrow) |
yesterday | yesterday | (colName,eq,yesterday) |
oneWeekAgo | one week ago | (colName,eq,oneWeekAgo) |
oneWeekFromNow | one week from now | (colName,eq,oneWeekFromNow) |
oneMonthAgo | one month ago | (colName,eq,oneMonthAgo) |
oneMonthFromNow | one month from now | (colName,eq,oneMonthFromNow) |
daysAgo | number of days ago | (colName,eq,daysAgo,10) |
daysFromNow | number of days from now | (colName,eq,daysFromNow,10) |
exactDate | exact date | (colName,eq,exactDate,2022-02-02) |
For isWithin
in Date
and DateTime
columns, the different set of sub-operators are used.
Operation | Meaning | Example |
---|---|---|
pastWeek | the past week | (colName,isWithin,pastWeek) |
pastMonth | the past month | (colName,isWithin,pastMonth) |
pastYear | the past year | (colName,isWithin,pastYear) |
nextWeek | the next week | (colName,isWithin,nextWeek) |
nextMonth | the next month | (colName,isWithin,nextMonth) |
nextYear | the next year | (colName,isWithin,nextYear) |
nextNumberOfDays | the next number of days | (colName,isWithin,nextNumberOfDays,10) |
pastNumberOfDays | the past number of days | (colName,isWithin,pastNumberOfDays,10) |
Logical Operators
Operation | Example |
---|---|
~or | (checkNumber,eq,JM555205)~or((amount, gt, 200)~and(amount, lt, 2000)) |
~and | (checkNumber,eq,JM555205)~and((amount, gt, 200)~and(amount, lt, 2000)) |
~not | ~not(checkNumber,eq,JM555205) |