How to use Pismo environments.

The Pismo platform provides separate environments for testing and production. This section summarizes the Pismo environments and how to use them. You access specific environments using endpoints.

Endpoint structure

An endpoint is a URL that you can use to send a request to the Pismo platform. The URL you use determines the environment to which your call is routed, so each type of request has multiple endpoints associated with it, depending on the target environment. For example, if you send a request to the test environment, you'll need to use a different endpoint to send the same request to production.

An endpoint has the following syntax.

protocol::hostname/[prefix]/API version/path

Here's a sample endpoint that directs a request to Pismo's test environment.


The following table explains the different components in the sample endpoint.

protocolhttps://Always https://. This means the connection is encrypted and your data is safe.
hostnameapi-sandbox.pismolabs.ioThis is the key piece that identifies the environment.
prefix/accountsName of the service you are accessing.
API version/v1The version of the API the endpoint uses. Used to avoid breaking changes to existing paths.
path/accounts/10/balancesThe path of the endpoint specifies the method called by the endpoint. This follows REST standards.

Environments provided by the Pismo platform

The Pismo platform currently provides the following environments.

  • Sandbox – Nothing done in the sandbox will affect production. Pismo maintains the sandbox as a stable environment. It's intended for external developers who want to test their integrations.

  • Production – Used by the end-user to interact with the Pismo platform. Any change you make here has the potential to impact the end-user.

The composition of a Pismo environment

Every Pismo environment consists of the exact same components. If you understand a few core concepts, you should be able to identify issues no matter where you find them.


A hostname is the entry point for an environment. Each environment has two hostnames.

  • Non-PCI – The main hostname, where you make most of your calls.

  • PCI – The hostname for PCI related endpoints. Due to the PCI certification requirements, Pismo has a small subset of endpoints that need to be separated from the rest.

The specific hostnames used by the Pismo platform are as follows.

Hostnames for the sandbox

NameHostnameSupported Authentication
Non-PCIapi-sandbox.pismolabs.ioOAuth 2.0 Client Credentials
PCIgw-pci.pismolabs.ioOAuth 2.0 Client Credentials

Hostnames for production

TypeHostnameSupported Authentication
Non-PCIapi-prod.pismo.ioOAuth 2.0 Client Credentials
PCIgw-pci.pismo.ioOAuth 2.0 Client Credentials

Hostnames for a customer specific environment

TypeHostnameSupported Authentication
Non-PCIapi-customer.pismo.cloudOAuth 2.0 Client Credentials
PCIpci-customer.pismo.cloudOAuth 2.0 Client Credentials

PCI endpoints vs. non-PCI endpoints

The following services require PCI endpoints. All other services require non-PCI endpoints.

  • /cardsonfile/
  • /pcicards/
  • /transactionsgateway/
  • /embossing/
  • /cards-tokenization/

Authentication with OpenID

The Pismo platform uses the OpenID authentication method. For information on how to use this method, visit Authentication with OpenID Connect for Servers.


Basic authentication is still available.

You can still use the OAuth 2.0 Client Credentials authentication method. For information on how to use it, visit basic authentication with client credentials. However, Pismo recommends upgrading to OpenID.