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:

CommandDescriptionRate limit
Get Project ListReturn a list of projects in the SqlDBM account5 requests/5 seconds
Get Revision ListReturn a list of revisions for a given project5 requests/10 seconds
Get Last RevisionReturn JSON for the latest revision ID5 requests/10 seconds
Get Specific revisionReturn JSON for the specific revision ID5 requests/10 seconds
Get DDL for the Last RevisionReturn DDL for the latest revision ID5 requests/10 seconds
Get DDLReturn DDL for the specific revision ID5 requests/10 seconds
Get EnvironmentsReturn a list of database environments10 requests/1 second
Get AlterscriptReturn an alter script DDL between 2 latest revisions2 requests/10 seconds
Get Alterscript for specific revisions or environmentsReturn an alter script DDL between specific revisions or environments2 requests/10 seconds

Errors

Here is an overview of error codes that you may encounter:

StatusTypeMessage
400Invalid SyntaxThe API call was not formed correctly.
401UnauthorizedThe API call was not made by an authorized agent.
403ForbiddenThe requested resource or operation is forbidden to the calling user.
404Not FoundThe requested object or resource could not be found.
429Too many requestsThe request was rejected due to high inbound volume.
500Server ErrorAn unexpected error has occurred and will require support.

Example:

{
  "status": 400,
  "type": "Invalid Syntax",
  "message": "The API call was not formed correctly."
}