Admin API

Programmatic access to flows, variants, and deployments using JSON.

The API is an enterprise-only feature

Setup

Authentication

Within the Studio's API Keys tab, new API keys can be generated.

To access any of the resources, include the API key as the X-API-KEY header.

To obtain the API specification as an OpenAPI JSON, you can access:

curl https://api.formsort.com/alpha/spec --header "X-API-KEY: {{YOUR API KEY}}"

Pagination

Many endpoints return arrays of objects, with the results in a data array, and a pagination object describing the result set.

{
  "data": [
     ...
  ],
  "pagination": {
    "page": 1,
    "perPage": 10,
    "total": 152
  }
}

You can pass the following URL query parameters to paginate through the results list.

  • page (optional) - integer representing the page number.

  • perPage (optional) - integer representing the number of results per page.

JSON

The API consumes and produces JSON data (application/json). The specific content of the JSON data is described below.

Readonly resources

The following API paths are available at https://api.formsort.com

Obtain specification

GET /alpha/spec

Responses

  • 200 - An OpenAPI 3.0 specification of this API.

List flows

GET /alpha/flows

This path returns a list of Flows.

Responses

  • 200 - A JSON object with a list of Flows at the data key

The shape of the Flow object is:

List variants for a flow

GET /alpha/flows/{flowLabel}/variants

This path returns a list of Variants for the specified Flow.

Parameters

  • flowLabel (required) - string representing the Flow label.

Responses

  • 200 - A JSON object with a list of Variants within the data key

The shape of a single variant is:

List environments for a flow

GET /alpha/flows/{flowLabel}/environments

This path returns a list of Environments for the specified flow

Parameters

  • flowLabel (required) - string representing the Flow label.

Responses

  • 200 - A JSON object with a list of Environments within the data key

The shape of the Environment object is:

List deployments of a particular variant

GET /alpha/flows/{flowLabel}/variants/{variantLabel}/deployments

This path returns a list of Deployments for the specified Variant.

Parameters

  • flowLabel (required) - string representing the Flow label.

  • variantLabel (required) - string representing the Variant label.

Responses

  • 200 - A JSON object with a list of Deployments within the data key

The shape of the Deployment object is:

List available themes

GET /alpha/themes

This path returns the list of themes within the workspace.

Responses

  • 200 A JSON object with the list of Theme at the data key

Themes look like

Get details of a specific variant revision

GET /alpha/variant-revisions/{uuid}

This path returns details of a Variant Revision.

Parameters

  • uuid (required) - string representing the UUID of the Variant Revision.

Responses

  • 200 - A JSON object with details of a Variant Revision at the data key

Body:

  • flowContent: The Flow content describing this revision.

  • jsonSchema : The JSON schema describing the answers collected by this revision.

Action resources

Create a new deployment of a variant revision

POST /alpha/deployment

Create a new deployment of a variant revision.

Body

A JSON object with, at the minimum, variantRevisionUuid, environmentRevisionUuid, and isSuperseding.

The environmentRevisionUuid can be obtained using the List environments for a flow endpoint

Responses

  • 200 - A JSON object with details of a Variant Revision at the data key.

Last updated

Was this helpful?