The Zuplo Developer API, powered by Zuplo

Welcome to ZAPI - the Zuplo API where you can manage API keys, tunnels and more. To get your API key for this service login to portal.zuplo.com and navigate to your project Settings > Zuplo API Keys.

API Keys

BASE URL
https://dev.zuplo.com

API Keys - Buckets

A Bucket is an object representing a group of API key consumers for a given account. This section includes a group of endpoints available to perform CRUD operations on a bucket. You can learn more about buckets here.

Lists buckets

Lists all buckets belonging to this account.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

GET
/v1/accounts/:accountName/key-buckets
1

Creates a bucket

Creates a new bucket for this account.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

Request Body

name

required, string

A friendly name for the bucket.

description

optional, string

A description of the bucket.

tags

optional, object

Key value pairs to associate with the bucket.

POST
/v1/accounts/:accountName/key-buckets
1
EXAMPLE BODY
{
  "name": "my-bucket",
  "description": "Bucket for zuplo consumers",
  "tags": {
    "foo": "bar"
  }
}

Gets a bucket

Returns the details for a bucket, including the token used to connect to the bucket.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

GET
/v1/accounts/:accountName/key-buckets/:bucketName
1

Updates a bucket

Updates a bucket, and returns the updated value.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

Request Body

description

optional, string

A description of the bucket.

tags

optional, object

Key value pairs to associate with the bucket.

PATCH
/v1/accounts/:accountName/key-buckets/:bucketName
1
EXAMPLE BODY
{
  "description": "Bucket for zuplo consumers",
  "tags": {
    "foo": "bar"
  }
}

Deletes a bucket

Deletes a bucket and any related resources

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

DELETE
/v1/accounts/:accountName/key-buckets/:bucketName
1

Lists consumers

Lists all consumers belonging to this account.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

limit

required, integer, maximum value of 1000, minimum value of 1

The maximum number of entries to return. If the value exceeds the maximum, then the maximum value will be used. Default: 1000

offset

required, integer, minimum value of 0

The offset of the first item returned in the collection. Default: 0

include-api-keys

optional, boolean

Include the api key data in the response.

include-manager-invites

optional, boolean

Include the manager invites data in the response.

include-managers

optional, boolean

Include the manager's data in the response.

key-format

optional, string enum

The format of the key to return. none: Key is completely hidden. visible: Key is completely visible. masked: Part of key suffix is visible.

Possible Enum Values

none

visible

masked

manager-email

optional, string

Filter by email address of key manager.

tag

optional, string

Query by tag. Example usage is tag.account=foo, where account is the name of the tag property and foo is the value.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

GET
/v1/accounts/:accountName/key-buckets/:bucketName/consumers
1

Creates a consumer

Creates a new consumer for this account.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

with-api-key

optional, boolean

If an API key should be created with the consumer.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

Request Body

name

required, string

A friendly name for the consumer. This name is used as the default user.sub property in the API Key Authentication policy.

managers
optional

Email addresses of the managers to invite or a list of managers (with subs) to add to the consumer.

description

optional, string

A description of the consumer.

tags

optional, object

Key value pairs to associate with the consumer.

metadata

optional, object

Generic metadata associated with the consumer.

POST
/v1/accounts/:accountName/key-buckets/:bucketName/consumers
1
EXAMPLE BODY
{
  "name": "zup-inc",
  "description": "Consumer for zup inc",
  "tags": {
    "foo": "bar"
  },
  "metadata": {
    "id": "zup-id-343"
  },
  "managers": [
    {
      "email": "user@example.com",
      "sub": "oauth2|113533232396018044159"
    }
  ]
}

Gets a consumer

Gets a consumer given a bucket name and consumer name.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

include-api-keys

optional, boolean

Include the api key data in the response.

key-format

optional, string enum

The format of the key to return. none: Key is completely hidden. visible: Key is completely visible. masked: Part of key suffix is visible.

Possible Enum Values

none

visible

masked

include-managers

optional, boolean

Include the manager's data in the response.

include-manager-invites

optional, boolean

Include the manager invites data in the response.

tag

optional, string

Query by tag. Example usage is tag.account=foo, where account is the name of the tag property and foo is the value.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

consumerName

required, string

The name of the consumer.

GET
/v1/accounts/:accountName/key-buckets/:bucketName/consumers/:consumerName
1

Updates a consumer

Update the consumer with the matching consumer name.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

tag

optional, string

Query by tag. Example usage is tag.account=foo, where account is the name of the tag property and foo is the value.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

consumerName

required, string

The name of the consumer.

Request Body

description

optional, string

A description of the consumer.

tags

optional, object

Key value pairs to associate with the consumer.

metadata

optional, object

Generic metadata associated with the consumer.

PATCH
/v1/accounts/:accountName/key-buckets/:bucketName/consumers/:consumerName
1
EXAMPLE BODY
{
  "description": "Consumer for zup inc",
  "tags": {
    "foo": "bar"
  },
  "metadata": {
    "id": "zup-id-343"
  }
}

Deletes a consumer

Deletes a consumer and any related resources

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

tag

optional, string

Query by tag. Example usage is tag.account=foo, where account is the name of the tag property and foo is the value.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

consumerName

required, string

The name of the consumer.

DELETE
/v1/accounts/:accountName/key-buckets/:bucketName/consumers/:consumerName
1

Roll consumer keys

Set expiration for keys with no expiration date and creates a new key.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

tag

optional, string

Query by tag. Example usage is tag.account=foo, where account is the name of the tag property and foo is the value.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

consumerName

required, string

The name of the consumer.

Request Body

expiresOn

required, string

When the item will expire.

POST
/v1/accounts/:accountName/key-buckets/:bucketName/consumers/:consumerName/roll-key
1
EXAMPLE BODY
{
  "expiresOn": "2050-04-18T05:54:34.408Z"
}

Lists keys

Lists all keys for this consumer.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

limit

required, integer, maximum value of 1000, minimum value of 1

The maximum number of entries to return. If the value exceeds the maximum, then the maximum value will be used. Default: 1000

offset

required, integer, minimum value of 0

The offset of the first item returned in the collection. Default: 0

key-format

optional, string enum

The format of the key to return. none: Key is completely hidden. visible: Key is completely visible. masked: Part of key suffix is visible.

Possible Enum Values

none

visible

masked

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

consumerName

required, string

The name of the consumer.

GET
/v1/accounts/:accountName/key-buckets/:bucketName/consumers/:consumerName/keys
1

Creates an API key

Creates a new API key for this consumer. New API keys will automatically have API Key Leak Detection enabled.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

consumerName

required, string

The name of the consumer.

Request Body

expiresOn

optional, string

When the key expires.

description

optional, string

The description of the api key.

key

optional, string

The API key's value. You can use this parameter to override Zuplo's default key format, but this is not recommended as you will lose our API Key Leak Detection

POST
/v1/accounts/:accountName/key-buckets/:bucketName/consumers/:consumerName/keys
1
EXAMPLE BODY
{
  "description": "My secret api key",
  "expiresOn": "2023-04-20T05:54:34.408Z",
  "key": "zpka_66b21c8591354c0997db232cc2f79c9e_69253f24"
}

Creates multiple API keys

Creates multiple new API keys for this consumer.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

consumerName

required, string

The name of the consumer.

Request Body

Unnamed Property

required, array
POST
/v1/accounts/:accountName/key-buckets/:bucketName/consumers/:consumerName/keys/$bulk
1
EXAMPLE BODY
[
  {
    "description": "My secret api key",
    "expiresOn": "2023-04-20T05:54:34.408Z",
    "key": "zpka_66b21c8591354c0997db232cc2f79c9e_69253f24"
  },
  {
    "description": "My secret api key2",
    "expiresOn": "2023-05-20T05:54:34.408Z",
    "key": "zpka_77b21c8591354c0997db232cc2f79c9e_69253f99"
  }
]

Gets an API key

Retrieves an API key for this consumer.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

key-format

optional, string enum

The format of the key to return. none: Key is completely hidden. visible: Key is completely visible. masked: Part of key suffix is visible.

Possible Enum Values

none

visible

masked

tag

optional, string

Query by tag. Example usage is tag.account=foo, where account is the name of the tag property and foo is the value.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

consumerName

required, string

The name of the consumer.

keyId

required, string

The key id.

GET
/v1/accounts/:accountName/key-buckets/:bucketName/consumers/:consumerName/keys/:keyId
1

Updates an API key

Updates an API key for this consumer.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

tag

optional, string

Query by tag. Example usage is tag.account=foo, where account is the name of the tag property and foo is the value.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

consumerName

required, string

The name of the consumer.

keyId

required, string

The key id.

Request Body

expiresOn

optional, string

When the key expires.

description

optional, string

The description of the api key.

key

optional, string

The API key's value. You can use this parameter to override Zuplo's default key format, but this is not recommended as you will lose our API Key Leak Detection

PATCH
/v1/accounts/:accountName/key-buckets/:bucketName/consumers/:consumerName/keys/:keyId
1
EXAMPLE BODY
{}

Deletes an API key

Deletes an API key for this consumer.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Query Parameters

tag

optional, string

Query by tag. Example usage is tag.account=foo, where account is the name of the tag property and foo is the value.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

bucketName

required, string

The name of the bucket. Zuplo automatically creates a bucket for your project. You can find it in youe Zuplo Portal under Settings > Project Information.

consumerName

required, string

The name of the consumer.

keyId

required, string

The key id.

DELETE
/v1/accounts/:accountName/key-buckets/:bucketName/consumers/:consumerName/keys/:keyId
1

Variables

Set of operations available to create and update environment variables. You can learn more about environment variables here.

Creates a variable

Creates a new environment variable in a branch for a given project.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

projectName

required, string

The name of the project. You can find this in your Zuplo Portal under Settings > Project Information.

branchName

required, string

The name of the branch in your source control provider.

Request Body

name

required, string

The name of the variable. Must be named in SCREAMING_SNAKE_CASE.

isSecret

required, boolean

Whether the variable is a secret.

value

required, string

The value of the variable.

POST
/v1/accounts/:accountName/projects/:projectName/branches/:branchName/variables
1
EXAMPLE BODY
{
  "name": "PORTAL_ID",
  "isSecret": false,
  "value": "89333"
}

Updates a variable

Update the value of a variable in a branch for a given project.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

projectName

required, string

The name of the project. You can find this in your Zuplo Portal under Settings > Project Information.

branchName

required, string

The name of the branch in your source control provider.

variableName

required, string

The name of the environment variable.

Request Body

value

optional, string

The value of the variable.

PATCH
/v1/accounts/:accountName/projects/:projectName/branches/:branchName/variables/:variableName
1
EXAMPLE BODY
{
  "value": "89333"
}

Gets a deployment status

Gets the deployment status of your upload. Use the UUID of the uploaded sources as the statusId.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

projectName

required, string

The name of the project. You can find this in your Zuplo Portal under Settings > Project Information.

statusId

required, string

The UUID of the uploaded sources.

GET
/v1/accounts/:accountName/projects/:projectName/deployment-status/:statusId
1

Lists deployments

Lists the deployments for the specified account and project.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

projectName

required, string

The name of the project. You can find this in your Zuplo Portal under Settings > Project Information.

GET
/v1/accounts/:accountName/projects/:projectName/deployments
1

Upload deployment source

Creates a URL for uploading sources.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Request Body

accountName

required, string

The name of the account

projectName

required, string

The name of the project

branchName

required, string

The name of the branch for deployment

POST
/v1/deployments/sources
1
EXAMPLE BODY
{
  "accountName": "my-account",
  "projectName": "my-project",
  "branchName": "main"
}

Get a deployment

Gets the specified deployment.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

deploymentName

required, string

The name of the deployment. You can find this in the Zuplo Portal under Settings > Environments.

GET
/v1/deployments/:deploymentName
1

Deletes a deployment

Deletes the specified deployment.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

deploymentName

required, string

The name of the deployment. You can find this in the Zuplo Portal under Settings > Environments.

DELETE
/v1/deployments/:deploymentName
1

Re-deploy a deployment

Re-deploys the specified deployment so that it can pick up new environment variables or other configuration changes.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

deploymentName

required, string

The name of the deployment. You can find this in the Zuplo Portal under Settings > Environments.

POST
/v1/deployments/:deploymentName/deploy
1

Lists tunnels

Lists all tunnels belonging to this account.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

GET
/v1/accounts/:accountName/tunnels
1

Creates a tunnel

Creates a new tunnel for this account.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

Request Body

name

required, string

A friendly name for the tunnel.

POST
/v1/accounts/:accountName/tunnels
1
EXAMPLE BODY
{
  "tunnelId": "tnl_JcHFzTcJ9y4GU69lKBOaxFYU",
  "name": "api-service-tunnel",
  "token": "eyJhIjoiODJhNGM0ZTBlYWY3ZmU3YjQyMWRlZHU1ODhlNjg1ZGMiLCJ0IjoiNjY3ZWZhODktYzIyNS00NTIyLWI0M2EtYTgwYzY0OTgxMGY1IiwicyI6IkY5RGdVNnNNOTJWT245OUlUSWxMazVwY3lHV0ZLVG1jcHg2d0I5TkR4Vm89In0="
}

Gets a tunnel

Returns the details for a tunnel, including the token used to connect to the tunnel.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

tunnelId

required, string

The ID of the tunnel.

GET
/v1/accounts/:accountName/tunnels/:tunnelId
1

Deletes a tunnel

Deletes a tunnel and any services that it has.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

tunnelId

required, string

The ID of the tunnel.

DELETE
/v1/accounts/:accountName/tunnels/:tunnelId
1

Rotates the token

Rotates the token used to connect to the tunnel.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

tunnelId

required, string

The ID of the tunnel.

POST
/v1/accounts/:accountName/tunnels/:tunnelId/$rotate-token
1

Gets a teardown status

This endpoint returns the status of the deletion of the tunnel. Tearing down the tunnel is an asynchronous process so this endpoint allows you to poll the status.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

tunnelId

required, string

The ID of the tunnel.

operationId

required, string

The ID of the deletion operation.

GET
/v1/accounts/:accountName/tunnels/:tunnelId/teardown-operations/:operationId
1

Gets a provisioning status

This endpoint returns the status of the services that the tunnel is currently configured for. Provisioning the services is an asynchronous process so this endpoint allows you to poll the status.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

tunnelId

required, string

The ID of the tunnel.

operationId

required, string

The ID of the operation.

GET
/v1/accounts/:accountName/tunnels/:tunnelId/provisioning-operations/:operationId
1

Gets a service configuration

This endpoint returns a snapshot of the services that the tunnel is currently configured for.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

tunnelId

required, string

The ID of the tunnel.

GET
/v1/accounts/:accountName/tunnels/:tunnelId/services-configuration
1

Configures tunnel services

This endpoint reads the request body and creates/updates/delete the services that the tunnel connects to.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

accountName

required, string

The name of the account. You can find this in your Zuplo Portal under Settings > Project Information.

tunnelId

required, string

The ID of the tunnel.

Request Body

version

required, integer

The version of this configuration format.

services

required, array

A list of services that the tunnel will connect to.

PUT
/v1/accounts/:accountName/tunnels/:tunnelId/services-configuration
1
EXAMPLE BODY
{
  "version": 1,
  "services": [
    {
      "name": "authservice",
      "endpoint": "https://localhost:3000",
      "configurations": []
    },
    {
      "name": "authservice",
      "endpoint": "https://localhost:3000",
      "configurations": [
        {
          "project": "alpha-beta-gamma",
          "accessibleBy": [
            "preview",
            "production"
          ]
        }
      ]
    },
    {
      "name": "authservice",
      "endpoint": "https://localhost:3000",
      "configurations": [
        {
          "project": "alpha-beta-gamma",
          "accessibleBy": [
            "preview",
            "production"
          ]
        },
        {
          "project": "alpha-beta-gamma",
          "accessibleBy": [
            "preview",
            "production"
          ]
        },
        {
          "project": "alpha-beta-gamma",
          "accessibleBy": [
            "preview",
            "production"
          ]
        }
      ]
    },
    {
      "name": "authservice",
      "endpoint": "https://localhost:3000",
      "configurations": [
        {
          "project": "alpha-beta-gamma",
          "accessibleBy": [
            "preview",
            "production"
          ]
        },
        {
          "project": "alpha-beta-gamma",
          "accessibleBy": [
            "preview",
            "production"
          ]
        },
        {
          "project": "alpha-beta-gamma",
          "accessibleBy": [
            "preview",
            "production"
          ]
        }
      ]
    },
    {
      "name": "authservice",
      "endpoint": "https://localhost:3000",
      "configurations": [
        {
          "project": "alpha-beta-gamma",
          "accessibleBy": [
            "preview",
            "production"
          ]
        },
        {
          "project": "alpha-beta-gamma",
          "accessibleBy": [
            "preview",
            "production"
          ]
        }
      ]
    }
  ]
}

Lists metering buckets

Lists all buckets belonging to this account.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

GET
/v1/metering
1

Creates a bucket

Creates a new bucket for this account.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

POST
/v1/metering
1

Gets a bucket

Returns the details for a bucket.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

bucketId

required, string

The id of the bucket. Zuplo automatically creates buckets for your project. You can find it in your Zuplo Portal under the Settings tab for your project.

GET
/v1/metering/:bucketId
1

Deletes a bucket

Deletes a bucket and any related resources

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

bucketId

required, string

The id of the bucket. Zuplo automatically creates buckets for your project. You can find it in your Zuplo Portal under the Settings tab for your project.

DELETE
/v1/metering/:bucketId
1

Lists plans

Lists all plans belonging to this bucket.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

bucketId

required, string

The id of the bucket. Zuplo automatically creates buckets for your project. You can find it in your Zuplo Portal under the Settings tab for your project.

GET
/v1/metering/:bucketId/plans
1

Creates a plan

Creates a new plan for this bucket.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

bucketId

required, string

The id of the bucket. Zuplo automatically creates buckets for your project. You can find it in your Zuplo Portal under the Settings tab for your project.

Request Body

label

required, string

planExternalId

required, string

meters

required, object

trialDays

optional, integer

trialEndStatus

optional, string enum

Possible Enum Values

paused

canceled

isTrialCollectPayment

optional, boolean
POST
/v1/metering/:bucketId/plans
1
EXAMPLE BODY
{
  "label": "Basic Subscription Plan",
  "planExternalId": "prod_Pbyd5ARBWtFxkg",
  "meters": {
    "requests": {
      "label": "Requests",
      "max": 10
    }
  },
  "trialDays": 10,
  "trialEndStatus": "paused",
  "isTrialCollectPayment": true
}

Gets a plan

Returns the details for a plan.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

bucketId

required, string

The id of the bucket. Zuplo automatically creates buckets for your project. You can find it in your Zuplo Portal under the Settings tab for your project.

planId

required, string

The id of the plan.

GET
/v1/metering/:bucketId/plans/:planId
1

Updates a plan

Update the details for a plan

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

bucketId

required, string

The id of the bucket. Zuplo automatically creates buckets for your project. You can find it in your Zuplo Portal under the Settings tab for your project.

planId

required, string

The id of the plan.

Request Body

label

optional, string

planExternalId

optional, string

meters

optional, object

trialDays

optional, integer

trialEndStatus

optional, string enum

Possible Enum Values

paused

canceled

isTrialCollectPayment

optional, boolean
PATCH
/v1/metering/:bucketId/plans/:planId
1
EXAMPLE BODY
{
  "trialDays": 10
}

Deletes a plan

Deletes a plan (if there are no associated subscriptions)

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

bucketId

required, string

The id of the bucket. Zuplo automatically creates buckets for your project. You can find it in your Zuplo Portal under the Settings tab for your project.

planId

required, string

The id of the plan.

DELETE
/v1/metering/:bucketId/plans/:planId
1

Lists subscriptions

Lists all subscriptions belonging to this bucket.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

bucketId

required, string

The id of the bucket. Zuplo automatically creates buckets for your project. You can find it in your Zuplo Portal under the Settings tab for your project.

GET
/v1/metering/:bucketId/subscriptions
1

Creates a subscription

Creates a new subscription for this bucket.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

bucketId

required, string

The id of the bucket. Zuplo automatically creates buckets for your project. You can find it in your Zuplo Portal under the Settings tab for your project.

Request Body

planIds

required, array of strings

planExternalIds

required, array of strings

quotaResetAnchor

optional, string

status

required, string enum

Possible Enum Values

active

inactive

incomplete

incomplete-expired

trialing

past-due

canceled

type

required, string enum

Possible Enum Values

periodic

renewalStrategy

required, string enum

Possible Enum Values

monthly

yearly

region

required, string enum

Possible Enum Values

us-central1

us-east1

europe-west4

customerKey

required, string

subscriptionExternalId

required, string

customerExternalId

required, string

metadata

optional, object

trialEndStatus

optional, string

trialEndDate

optional, string

trialStartDate

optional, string
POST
/v1/metering/:bucketId/subscriptions
1
EXAMPLE BODY
{
  "planIds": [
    "plan_ZLbXn7SCZt6KJnD6SU8Ljv8w"
  ],
  "planExternalIds": [
    "prod_Pbyd5ARBWtFxkg"
  ],
  "quotaResetAnchor": "1942-09-02T07:17:42.0Z",
  "status": "unpaid",
  "type": "periodic",
  "renewalStrategy": "monthly",
  "region": "europe-west4",
  "customerKey": "d8984b34-defd-458c-bf34-7fb1b69ce714",
  "subscriptionExternalId": "sub_1OmlUlLQav6G4UBHsPy2BY7J",
  "customerExternalId": "cus_PbzTcoZtPtelYg",
  "metadata": {},
  "trialEndStatus": "paused",
  "trialEndDate": "1898-03-13T08:56:05.0Z",
  "trialStartDate": "1962-02-28T22:09:36.0Z"
}

Gets a subscription

Returns the details for a subscription.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

bucketId

required, string

The id of the bucket. Zuplo automatically creates buckets for your project. You can find it in your Zuplo Portal under the Settings tab for your project.

subscriptionId

required, string

The id of the subscription.

GET
/v1/metering/:bucketId/subscriptions/:subscriptionId
1

Updates a subscription

Updates the subscription for this bucket.

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

bucketId

required, string

The id of the bucket. Zuplo automatically creates buckets for your project. You can find it in your Zuplo Portal under the Settings tab for your project.

subscriptionId

required, string

The id of the subscription.

Request Body

planExternalIds

optional, array of strings

status

optional, string enum

Possible Enum Values

active

inactive

incomplete

incomplete-expired

trialing

past-due

canceled

prorate

optional, number

metadata

optional, object

trialEndDate

optional, string
PATCH
/v1/metering/:bucketId/subscriptions/:subscriptionId
1
EXAMPLE BODY
{
  "planExternalIds": [
    "prod_Pbyd5ARBWtFxkg"
  ],
  "status": "incomplete-expired",
  "prorate": 0.75,
  "metadata": {},
  "trialEndDate": "1919-06-08T22:55:23.0Z"
}

Deletes a subscription

Deletes a subscription and any related resources

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

bucketId

required, string

The id of the bucket. Zuplo automatically creates buckets for your project. You can find it in your Zuplo Portal under the Settings tab for your project.

subscriptionId

required, string

The id of the subscription.

DELETE
/v1/metering/:bucketId/subscriptions/:subscriptionId
1

Get quotas

Get the quotas for this subscription

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

Path Parameters

bucketId

required, string

The id of the bucket. Zuplo automatically creates buckets for your project. You can find it in your Zuplo Portal under the Settings tab for your project.

subscriptionId

required, string

The id of the subscription.

GET
/v1/metering/:bucketId/subscriptions/:subscriptionId/quotas
1

OpenAPI Specification

Returns the OpenAPI V3 spec for Zuplo's Developer API

GET
/openapi
1

Who Am I

Returns basic information about the caller (using the api key)

Protected by API Key

Headers

Authorization

required, string

The Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.

GET
/v1/who-am-i
1