openapi: 3.2.0 info: title: Sigma Computing Public REST API Connectors API version: 2.0.0 summary: The Sigma REST API provides developers access to resources programmatically, using HTTP. description: "The Sigma REST API provides developers access to resources programmatically,\n using HTTP. The API allows secure access to all the commonly used resources\n like connections, datasets, teams, workbooks and more. It is designed to have\n predictable, resource-oriented URLs and to use HTTP response codes to\n indicate API errors. It uses built-in HTTP features, like HTTP\n authentication and HTTP verbs, which are understood by off-the-shelf HTTP\n clients. It supports cross-origin resource sharing, allowing you to interact\n securely with the API from a client-side web application (though you should\n never expose your client credentials or API token in any public website's client-side code).\n JSON is returned by all API responses, including errors.\n Some useful links:\n - [API Reference Help](https://help.sigmacomputing.com/reference)\n - [API QuickStart with Postman](https://quickstarts.sigmacomputing.com/guide/sigma_api_with_postman/index.html?index=..%2F..index#0)" termsOfService: Contact Sigma contact: email: support@sigmacomputing.com servers: - url: https://api.sigmacomputing.com description: Server for GCP (US) hosted organizations - url: https://api.sa.gcp.sigmacomputing.com description: Server for GCP (KSA) hosted organizations - url: https://aws-api.sigmacomputing.com description: Server for AWS US (West) hosted organizations - url: https://api.us-a.aws.sigmacomputing.com description: Server for AWS US (East) hosted organizations - url: https://api.ca.aws.sigmacomputing.com description: Server for AWS Canada hosted organizations - url: https://api.eu.aws.sigmacomputing.com description: Server for AWS Europe hosted organizations - url: https://api.au.aws.sigmacomputing.com description: Server for AWS Australia and APAC hosted organizations - url: https://api.uk.aws.sigmacomputing.com description: Server for AWS UK hosted organizations - url: https://api.us.azure.sigmacomputing.com description: Server for Azure US hosted organizations - url: https://api.eu.azure.sigmacomputing.com description: Server for Azure Europe hosted organizations - url: https://api.ca.azure.sigmacomputing.com description: Server for Azure Canada hosted organizations - url: https://api.uk.azure.sigmacomputing.com description: Server for Azure United Kingdom hosted organizations - url: https://api.au.azure.sigmacomputing.com description: Server for Azure Australia hosted organizations security: - oauth2: [] tags: - name: api-connectors paths: /v2/api-connectors: get: summary: List API connectors description: 'This endpoint returns a paginated list of API connectors. For more information on API connectors, see [Configure API credentials and connectors in Sigma](https://help.sigmacomputing.com/docs/configure-api-credentials-and-connectors-in-sigma). ### Usage notes - Only returns API connectors that the user making this request has at least **Can view** access to. - Use the `name` query parameter to filter by connector name. - Use the `orderBy` query parameter to set sort order. ### Usage scenarios - **Connector discovery:** Retrieve a list of available API connectors available to users configuring **Call API** actions. - **Connector management:** View and audit the organization''s API connectors.' parameters: - name: pageToken schema: type: string description: Use to specify the next set of results with the string returned in the `nextPageToken` field of the previous response. title: Page token in: query - name: pageSize schema: type: integer description: Number of results to return per page, with a maximum of 1000. Defaults to 50. title: Page size in: query - name: orderBy schema: type: string description: 'Sort order. Supported fields: `name`, `description`. Append ` desc` for descending (e.g. `name desc`). Defaults to `name` ascending.' title: Order by in: query - name: name schema: type: string description: Filter results to connectors whose name contains this substring. in: query operationId: listApiConnectors responses: '200': description: The response body. content: application/json: schema: allOf: - type: object required: - entries properties: entries: type: array items: type: object required: - apiConnectorId - name - description properties: apiConnectorId: type: string name: type: string description: type: string description: Array of results returned by the endpoint title: Result entries - type: object properties: nextPageToken: type: string description: 'A string that can be passed to the `pageToken` parameter in the next request to fetch the next page of results. Not present in the last page of results. **Must be treated as an opaque string.**' title: Next page token default: $ref: '#/components/responses/ApiError' externalDocs: url: '' description: 'Sigma API documentation:' tags: - api-connectors post: summary: Create an API connector description: 'This endpoint creates a new API connector that defines how to call an external HTTP endpoint from within Sigma. For more information on API connectors, see [Configure API credentials and connectors in Sigma](https://help.sigmacomputing.com/docs/configure-api-credentials-and-connectors-in-sigma). ### Usage notes - The user making this request must be assigned an account type with the **Manage API connectors** permission enabled. - If a credential is provided using the `authId` parameter, the user making this request must have at least **Can view** permission on the credential and the request URL must match the credential''s allowlist. - Retrieve the **apiCredentialId** (used as `authId`) by calling the [/v2/api-credentials](https://help.sigmacomputing.com/reference/list-api-credentials) endpoint. ### Usage scenarios - **Programmatic connector setup:** Automate creation of API connectors as part of an environment provisioning workflow. - **Integration onboarding:** Create connectors for each external service your workbooks need to interact with.' parameters: [] operationId: createApiConnector requestBody: description: The request body. content: application/json: schema: allOf: - type: object required: - name - params properties: name: type: string description: Display name of the connector. params: type: object required: - method - url - headers - pathParams - queryParams - body properties: method: type: string enum: - GET - POST - DELETE - PATCH - PUT - OPTIONS - HEAD description: HTTP method to invoke. url: type: string description: Request URL. Must resolve to a hostname matching the associated credential's allowlist. headers: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Static or dynamic request headers. pathParams: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Path parameter placeholders resolved into the URL. queryParams: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Query string parameters. body: type: string description: Raw request body template. - type: object properties: description: type: string description: Human-readable description. config: type: object properties: timeout: type: object required: - requestSec properties: requestSec: type: number description: Per-request timeout configuration. retry: type: object required: - maxRetries - retryableStatusCodes properties: maxRetries: type: number retryableStatusCodes: type: array items: type: number description: Retry policy. `retryableStatusCodes` are HTTP codes that should trigger a retry. redirects: type: object required: - maxRedirects properties: maxRedirects: type: number description: HTTP redirect handling. rateLimit: type: object required: - maxRequestsPerWindow properties: maxRequestsPerWindow: type: number description: Rate limit applied to outbound requests from this connector. authId: type: string description: Identifier of the API credential (`apiCredentialId`) used to authenticate requests. responses: '200': description: The response body. content: application/json: schema: allOf: - type: object required: - apiConnectorId - name - params - config properties: apiConnectorId: type: string description: Unique identifier of the API connector. name: type: string description: Display name of the connector. params: allOf: - type: object required: - method - url - headers - pathParams - queryParams - body properties: method: type: string enum: - GET - POST - DELETE - PATCH - PUT - OPTIONS - HEAD description: HTTP method to invoke. url: type: string description: Request URL. Must resolve to a hostname matching the associated credential's allowlist. headers: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Static or dynamic request headers. pathParams: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Path parameter placeholders resolved into the URL. queryParams: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Query string parameters. body: type: string description: Raw request body template. - type: object required: - bodyParams properties: bodyParams: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Dynamic parameters extracted from `body`. config: type: object required: - timeout - retry - redirects - rateLimit properties: timeout: type: object required: - requestSec properties: requestSec: type: number description: Per-request timeout configuration. retry: type: object required: - maxRetries - retryableStatusCodes properties: maxRetries: type: number retryableStatusCodes: type: array items: type: number description: Retry policy. `retryableStatusCodes` are HTTP codes that should trigger a retry. redirects: type: object required: - maxRedirects properties: maxRedirects: type: number description: HTTP redirect handling. rateLimit: type: object required: - maxRequestsPerWindow properties: maxRequestsPerWindow: type: number description: Rate limit applied to outbound requests from this connector. - type: object required: - createdBy - updatedBy - createdAt - updatedAt properties: createdBy: type: string description: The identifier of the user who created this object. updatedBy: type: string description: The identifier of the user or process that last updated this object. createdAt: type: string format: date-time description: When the object was created. updatedAt: type: string format: date-time description: When the object was last updated. - type: object properties: description: type: string description: Human-readable description. authId: type: - string - 'null' description: Identifier of the API credential (`apiCredentialId`) used to authenticate requests. `null` if unauthenticated. default: $ref: '#/components/responses/ApiError' externalDocs: url: '' description: 'Sigma API documentation:' tags: - api-connectors /v2/api-connectors/{apiConnectorId}: get: summary: Get an API connector description: 'This endpoint returns full details for a single API connector, including its request parameters and configuration. For more information on API connectors, see [Configure API credentials and connectors in Sigma](https://help.sigmacomputing.com/docs/configure-api-credentials-and-connectors-in-sigma). ### Usage notes - Only returns API connectors that the user making this request has at least **Can view** access to. - Retrieve the **apiConnectorId** by calling the [/v2/api-connectors](https://help.sigmacomputing.com/reference/list-api-connectors) endpoint. ### Usage scenarios - **Connector inspection:** Retrieve the full configuration of a connector for display or validation before use. - **Connector duplication:** Read an existing connector''s configuration to use as the basis for a new one.' parameters: - name: apiConnectorId schema: type: string in: path required: true operationId: getApiConnector responses: '200': description: The response body. content: application/json: schema: allOf: - type: object required: - apiConnectorId - name - params - config properties: apiConnectorId: type: string description: Unique identifier of the API connector. name: type: string description: Display name of the connector. params: allOf: - type: object required: - method - url - headers - pathParams - queryParams - body properties: method: type: string enum: - GET - POST - DELETE - PATCH - PUT - OPTIONS - HEAD description: HTTP method to invoke. url: type: string description: Request URL. Must resolve to a hostname matching the associated credential's allowlist. headers: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Static or dynamic request headers. pathParams: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Path parameter placeholders resolved into the URL. queryParams: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Query string parameters. body: type: string description: Raw request body template. - type: object required: - bodyParams properties: bodyParams: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Dynamic parameters extracted from `body`. config: type: object required: - timeout - retry - redirects - rateLimit properties: timeout: type: object required: - requestSec properties: requestSec: type: number description: Per-request timeout configuration. retry: type: object required: - maxRetries - retryableStatusCodes properties: maxRetries: type: number retryableStatusCodes: type: array items: type: number description: Retry policy. `retryableStatusCodes` are HTTP codes that should trigger a retry. redirects: type: object required: - maxRedirects properties: maxRedirects: type: number description: HTTP redirect handling. rateLimit: type: object required: - maxRequestsPerWindow properties: maxRequestsPerWindow: type: number description: Rate limit applied to outbound requests from this connector. - type: object required: - createdBy - updatedBy - createdAt - updatedAt properties: createdBy: type: string description: The identifier of the user who created this object. updatedBy: type: string description: The identifier of the user or process that last updated this object. createdAt: type: string format: date-time description: When the object was created. updatedAt: type: string format: date-time description: When the object was last updated. - type: object properties: description: type: string description: Human-readable description. authId: type: - string - 'null' description: Identifier of the API credential (`apiCredentialId`) used to authenticate requests. `null` if unauthenticated. default: $ref: '#/components/responses/ApiError' externalDocs: url: '' description: 'Sigma API documentation:' tags: - api-connectors patch: summary: Update an API connector description: 'This endpoint updates one or more fields on an existing API connector. For more information on API connectors, see [Configure API credentials and connectors in Sigma](https://help.sigmacomputing.com/docs/configure-api-credentials-and-connectors-in-sigma). ### Usage notes - Retrieve the **apiConnectorId** by calling the [/v2/api-connectors](https://help.sigmacomputing.com/reference/list-api-connectors) endpoint. - The user making this request must be assigned an account type with the **Manage API connectors** permission enabled and must have **Can edit** access to the connector. - Omitted fields are left unchanged. Pass `null` for `authId` to remove the credential association. ### Usage scenarios - **Endpoint migration:** Update the connector URL or parameters when an external API changes its interface. - **Credential rotation:** Rebind the connector to a new credential after rotating secrets.' parameters: - name: apiConnectorId schema: type: string in: path required: true operationId: updateApiConnector requestBody: description: The request body. content: application/json: schema: type: object properties: name: type: string description: New display name. description: type: - string - 'null' description: New description. Pass `null` to clear. params: type: object required: - method - url - headers - pathParams - queryParams - body properties: method: type: string enum: - GET - POST - DELETE - PATCH - PUT - OPTIONS - HEAD description: HTTP method to invoke. url: type: string description: Request URL. Must resolve to a hostname matching the associated credential's allowlist. headers: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Static or dynamic request headers. pathParams: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Path parameter placeholders resolved into the URL. queryParams: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Query string parameters. body: type: string description: Raw request body template. config: type: object properties: timeout: type: object required: - requestSec properties: requestSec: type: number description: Per-request timeout configuration. retry: type: object required: - maxRetries - retryableStatusCodes properties: maxRetries: type: number retryableStatusCodes: type: array items: type: number description: Retry policy. `retryableStatusCodes` are HTTP codes that should trigger a retry. redirects: type: object required: - maxRedirects properties: maxRedirects: type: number description: HTTP redirect handling. rateLimit: type: object required: - maxRequestsPerWindow properties: maxRequestsPerWindow: type: number description: Rate limit applied to outbound requests from this connector. authId: type: - string - 'null' description: New credential binding. Pass `null` to remove the credential. responses: '200': description: The response body. content: application/json: schema: allOf: - type: object required: - apiConnectorId - name - params - config properties: apiConnectorId: type: string description: Unique identifier of the API connector. name: type: string description: Display name of the connector. params: allOf: - type: object required: - method - url - headers - pathParams - queryParams - body properties: method: type: string enum: - GET - POST - DELETE - PATCH - PUT - OPTIONS - HEAD description: HTTP method to invoke. url: type: string description: Request URL. Must resolve to a hostname matching the associated credential's allowlist. headers: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Static or dynamic request headers. pathParams: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Path parameter placeholders resolved into the URL. queryParams: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Query string parameters. body: type: string description: Raw request body template. - type: object required: - bodyParams properties: bodyParams: type: array items: allOf: - type: object required: - key - mode properties: key: type: string mode: type: string enum: - static - dynamic - type: object properties: value: type: - string - 'null' type: type: - string - 'null' enum: - array - boolean - number - object - raw - string shape: oneOf: - $ref: '#/components/schemas/ParamShapeNode' - type: 'null' description: Dynamic parameters extracted from `body`. config: type: object required: - timeout - retry - redirects - rateLimit properties: timeout: type: object required: - requestSec properties: requestSec: type: number description: Per-request timeout configuration. retry: type: object required: - maxRetries - retryableStatusCodes properties: maxRetries: type: number retryableStatusCodes: type: array items: type: number description: Retry policy. `retryableStatusCodes` are HTTP codes that should trigger a retry. redirects: type: object required: - maxRedirects properties: maxRedirects: type: number description: HTTP redirect handling. rateLimit: type: object required: - maxRequestsPerWindow properties: maxRequestsPerWindow: type: number description: Rate limit applied to outbound requests from this connector. - type: object required: - createdBy - updatedBy - createdAt - updatedAt properties: createdBy: type: string description: The identifier of the user who created this object. updatedBy: type: string description: The identifier of the user or process that last updated this object. createdAt: type: string format: date-time description: When the object was created. updatedAt: type: string format: date-time description: When the object was last updated. - type: object properties: description: type: string description: Human-readable description. authId: type: - string - 'null' description: Identifier of the API credential (`apiCredentialId`) used to authenticate requests. `null` if unauthenticated. default: $ref: '#/components/responses/ApiError' externalDocs: url: '' description: 'Sigma API documentation:' tags: - api-connectors delete: summary: Delete an API connector description: 'This endpoint archives an API connector, preventing it from being used in new workbook actions. For more information on API connectors, see [Configure API credentials and connectors in Sigma](https://help.sigmacomputing.com/docs/configure-api-credentials-and-connectors-in-sigma). ### Usage notes - Retrieve the **apiConnectorId** by calling the [/v2/api-connectors](https://help.sigmacomputing.com/reference/list-api-connectors) endpoint. - The user making this request must be assigned an account type with the **Manage API connectors** permission enabled and must have **Can edit** access to the connector. ### Usage scenarios - **Cleanup:** Remove connectors that are no longer in use to keep the organization''s connector list tidy. - **Decommissioning:** Archive connectors associated with deprecated or retired external services.' parameters: - name: apiConnectorId schema: type: string in: path required: true operationId: deleteApiConnector responses: '200': description: The response body. content: application/json: schema: type: object properties: {} default: $ref: '#/components/responses/ApiError' externalDocs: url: '' description: 'Sigma API documentation:' tags: - api-connectors components: schemas: ParamShapeNode: oneOf: - type: object required: - type properties: type: type: array minItems: 2 maxItems: 2 items: type: string enum: - string - type: object required: - type properties: type: type: array minItems: 2 maxItems: 2 items: type: string enum: - number - type: object required: - type properties: type: type: array minItems: 2 maxItems: 2 items: type: string enum: - boolean - type: object required: - type - properties properties: type: type: array minItems: 2 maxItems: 2 items: type: string enum: - object properties: type: object additionalProperties: $ref: '#/components/schemas/ParamShapeNode' - type: object required: - type - items properties: type: type: array minItems: 2 maxItems: 2 items: type: string enum: - array items: $ref: '#/components/schemas/ParamShapeNode' - type: object required: [] properties: {} responses: ApiError: description: Sigma API Error content: application/json: schema: type: object properties: message: type: string code: type: string requestId: type: string securitySchemes: basicAuth: type: http scheme: basic bearerAuth: type: http scheme: bearer oauth2: type: oauth2 flows: clientCredentials: tokenUrl: /v2/auth/token refreshUrl: /v2/auth/token scopes: {}