Interacting with your data model through a programmatic interface unlocks exciting options for data developers and engineers. From sharing documentation with data catalogs to automating a CICD pipeline, APIs unlock a world of possibilities for engaging with SqlDBM models.
Our API provides you with the tools to securely extract metadata from SqlDBM and update (coming soon) existing projects with new objects.
Request types
Initially, we are releasing the GET API, with POST support coming soon
Note
GET - The ability to receive information about project objects and changes in JSON and DDL format.
Rate limiting
Your app's requests to the REST API are evaluated per method. Currently, there is a limit of 100,000 credits for API calls per minute. Each REST API method is assigned one of the rate limit weight levels.
If the number of requests exceeds the limit, a standard 429 Too many requests error is returned:
{
"status": 429,
"type": "Too many requests",
"message": "Request rejected due to high inbound volume."
}
Account plans and roles
APIs are only available on the Standard Enterprise plan. You can only access the API with a Modeler or Admin role. The goal of providing these additional capabilities for Enterprise users is to enable a consistent and secure user experience while creating your custom solutions.
Commands
Here is an overview of the GET commands we support:
Command | Description | Rate limit |
---|---|---|
Get Project List | Return a list of projects in the SqlDBM account | 5 requests/5 seconds |
Get Revision List | Return a list of revisions for a given project | 5 requests/10 seconds |
Get Last Revision | Return JSON for the latest revision ID | 5 requests/10 seconds |
Get Specific revision | Return JSON for the specific revision ID | 5 requests/10 seconds |
Get DDL for the Last Revision | Return DDL for the latest revision ID | 5 requests/10 seconds |
Get DDL | Return DDL for the specific revision ID | 5 requests/10 seconds |
Get Environments | Return a list of database environments | 10 requests/1 second |
Get Alterscript | Return an alter script DDL between 2 latest revisions | 2 requests/10 seconds |
Get Alterscript for specific revisions or environments | Return an alter script DDL between specific revisions or environments | 2 requests/10 seconds |
Errors
Here is an overview of error codes that you may encounter:
Status | Type | Message |
---|---|---|
400 | Invalid Syntax | The API call was not formed correctly. |
401 | Unauthorized | The API call was not made by an authorized agent. |
403 | Forbidden | The requested resource or operation is forbidden to the calling user. |
404 | Not Found | The requested object or resource could not be found. |
429 | Too many requests | The request was rejected due to high inbound volume. |
500 | Server Error | An unexpected error has occurred and will require support. |
Example:
{
"status": 400,
"type": "Invalid Syntax",
"message": "The API call was not formed correctly."
}