Sigma’s REST API allows developers to communicate directly with Sigma. It supports actions across a broad selection of Sigma features, including:

  • Connections
  • Workspaces
  • Datasets
  • Workbooks
  • Query Downloads
  • Teams
  • Organization Members

All endpoints have resource-oriented URLs, which can be accessed over HTTP.  Endpoints accept JSON in the request body and include JSON in their response.

Account-based HTTP authentication keeps your organization’s information secure.

Summary of Content

Where do I start?
Identify Target Endpoint
API Testing Grounds
      Swagger
      cURL
View Example Scripts
Supported Endpoints
      Connections
      Connection Paths
      Connection Grants
      Workbooks
      Datasets
      Dataset Materialization
      Queries
      Teams
      Organization Members
      Workspaces
      Workspace Grants
      Who Am I?
Related Resources

Where do I start?

Your starting point with Sigma’s API is dependent on your role, purpose, and prior knowledge of APIs. To get started, find the scenario below that best matches your current situation:

Scenario #1: I don’t know what an API is.

API stands for Application Programming Interface. APIs act as a middleman between two applications, allowing them to communicate various information.

APIs consist of endpoints for specific lines of communication–similar to how large companies have multiple phone lines that each serve a different purpose. 

Developers on your team can run code that “calls” an endpoint on Sigma’s API. Sigma will respond with the requested information or perform the requested action. 

Scenario #2: I’m an organization admin looking to get my developers up and running with Sigma’s API.

Before a developer can get started with Sigma’s API, you will need to provide them with a Client ID and API Token. These values will allow the developer to authenticate with Sigma’s API.

We highly recommend that you create a new Client ID/API Token pair for each individual developer, as API tokens are account-based, allowing you control over any given user’s access. Get started.

Scenario #3: I’m a developer who wants to get started with Sigma’s API.

If you do not already have a Client ID and API token to authenticate with Sigma’s API, please contact an organization Admin. They can use the instructions to get you set up: Get an API Token and Client ID.

Once you have these values, you’re ready to explore Sigma’s API endpoints. We recommend using either Swagger or cURL to get started.

Identify Target Endpoint

For GCP organizations, use:

POST https://api.sigmacomputing.com/v2/auth/token

For AWS organizations, use:

POST https://aws-api.sigmacomputing.com/v2/auth/token

Help me identify my cloud.

API Testing Grounds

Both Swagger and cURL can be used as testing grounds for Sigma’s API endpoints. 

Swagger

Swagger allows you to use Sigma’s API directly from the browser.

Learn more about Sigma and Swagger or go directly to Sigma’s Swagger playground.

cURL

You may prefer to use cURL to access Sigma’s API. Example cURL requests are included throughout Sigma’s API endpoint documentation.

For authentication instructions visit Authenticating with cURL.

View Example Scripts

Sigma's Sample API repository contains example scripts that use Sigma's public API. This is intended as a quick start for interacting with the API and understanding common patterns and flows.

Supported Endpoints

Connections

GET /v2/connections

      Returns a list of all warehouse connections. Learn more

GET /v2/connections/{connectionId}

      Returns a connection object based on the input connectionId. Learn more

PATCH /v2/connections/{connectionId}

      Returns the updated connection object. Learn more

Connection Paths

POST /v2/connection/{connectionId}/lookup

      Returns the inodeId associated with the requested warehouse connection path. Learn more

Connection Grants

GET /v2/connections/{connectionId}/grants

      Returns a list grants associated with the requested connection. Learn more

POST /v2/connections/{connectionId}/grants 

      Creates a connection grant for a team or user. Returns an empty object. Learn more

DELETE /v2/connections/{connectionId}/grants/{grantId}

      Revokes an existing grant. Returns an empty object. Learn more

Workbooks

GET /v2/workbooks

      Returns a list of available workbooks. Learn more

GET /v2/workbooks/{workbookId}

      Returns a workbook object based on a unique workbook identifier, workbookId. Learn more

GET /v2/workbooks/{workbookId}/schema

      Returns a workbook schema object based on a workbookId. Learn more

POST /v2/workbooks/{workbookId}/export

       Returns a workbook export query object based on a workbookId. Learn more

 

Datasets

GET /v2/datasets

      Returns a list of datasets in your organization. Learn more

GET /v2/datasets/{datasetId}

      Returns a dataset object based on its unique identifier, datasetId. Learn more

Dataset Materialization

GET /v2/datasets/{datasetId}/materialization

      Returns a list of materializations for the dataset. Learn more

POST /v2/datasets/{datasetId}/materialization

      Initiates a new materialization of the specified dataset. Learn more

Queries

GET /v2/query/{queryId}/download

      Downloads the result of a successful query. Learn more

Teams

GET /v2/teams

      Returns a list of teams in your organization. Learn more

GET /v2/teams/{teamId}

      Returns a team object based on its unique identifier, teamId. Learn more

POST /v2/teams

      Creates a new team, and returns a team object. Learn more

 

PATCH /v2/teams/{teamId}

      Updates the team's metadata and returns the associated team object. Learn more

PATCH /v2/teams/{teamId}/members

      Based on the entered parameters, adds or removes team members. Returns an empty object. Learn more

DELETE /v2/teams/{teamId}

      Deletes a team based on the provided unique identifier, teamId. Returns an empty object. Learn Learn more

Organization Members

GET /v2/members

      Returns a list of members in your organization. Learn more

GET /v2/members/{memberId}

      Returns a member object based on its unique identifier, memberId. Learn more

POST /v2/members

      Sends an invite to your soon-to-be new organization member. Returns an object containing a unique identifier (memberId) associated with the new user.  Learn more

PATCH /v2/members/{memberId}

      Updates a user's attributes based on its unique identifier, memberId, and the request body. Returns the associated member object. Learn more

DELETE /v2/members/{memberId}

      Deactivates a user based on its unique identifier, memberId. Returns an empty object. Learn more

Workspaces

GET /v2/workspaces

      Returns a list workspaces in the organization. Learn more

GET /v2/workspaces/{workspaceId}

      Returns a workspace’s metadata. Learn more

POST /v2/workspaces

      Creates a new workspace. Returns a workspace object.
      Learn more

PATCH /v2/workspaces/{workspaceId}

      Update the workspace’s metadata. Returns a workspace object.
      Learn more

DELETE /v2/workspaces/{workspaceId}

      Deletes the workspace. Returns an empty object. Learn more

 

Workspace Grants

GET /v2/workspaces/{workspaceId}/grants

      Returns a list grants associated with the requested workspace. Learn more

POST /v2/workspaces/{workspaceId}/grants 

      Creates a workspace grant for a team or user. Returns an empty object. Learn more

DELETE /v2/workspaces/{workspaceId}/grants/{grantId}

      Revokes an existing grant. Returns an empty object. Learn more

Who Am I?

GET /v2/whoami

      Returns an object identifying the current authenticated user’s id and organization. Learn more


Related Resources

Get an API Token and Client Id
Authenticate with cURL
Sigma’s Swagger-based API Playground
Identify Unique Ids in Sigma