Switstack · Authentication Profile

Switstack Authentication

Authentication

Switstack secures its APIs with oauth2 across 1 declared security scheme, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the password and clientCredentials flow(s).

CompanyFintech InsurtechPaymentsEMVemv-level-2Card PresentPoint-of-SaleSoftPOSTap to PayPayment TerminalsIn-Store Paymentspci-mpoccertification-testingRetail Paymentsestate-management
Methods: oauth2 Schemes: 1 OAuth flows: password, clientCredentials API key in:

Security Schemes

OAuth2PasswordBearer oauth2
· flows: password, clientCredentials

Source

Authentication Profile

Raw ↑
generated: '2026-08-17'
method: searched
source: openapi/switstack-switcloud-openapi.yml, openapi/switstack-swittest-openapi.yml
docs: https://docs.switstack.io/switcloud/security_authentication/
summary:
  types:
  - oauth2
  oauth2_flows:
  - password
  - clientCredentials
  bearer: true
  authorization_header: 'Authorization: Bearer <access_token>'
  note: >-
    Both published Switstack APIs use the same FastAPI-generated OAuth2 password-bearer scheme. The OpenAPI declares
    only the password flow; the Switcloud security & authentication docs additionally document a client-credentials
    grant for machine users. No API-key, basic, mutualTLS or OpenID Connect scheme is published.
schemes:
- name: OAuth2PasswordBearer
  type: oauth2
  flows:
  - flow: password
    tokenUrl: auth/token
    scopes: 0
  - flow: clientCredentials
    tokenUrl: auth/token
    scopes: 0
    source: https://docs.switstack.io/switcloud/security_authentication/
  sources:
  - openapi/switstack-switcloud-openapi.yml
  - openapi/switstack-swittest-openapi.yml
token_endpoints:
- api: Switcloud API
  spec_path: /auth/token
  documented_url: https://switcloud.switstack.io/api/oauth/token
  grant_types:
  - password
  - client_credentials
  request_schema: OAuth2Form
  response_schema: TokenSchema
  response_fields:
  - access_token
  - token_type
  - expires_in
  token_type: bearer
  expires_in_seconds: 3600
  source: https://docs.switstack.io/switcloud/security_authentication/
  note: >-
    The docs example posts to https://switcloud.switstack.io/api/oauth/token while OpenAPI 2.28.0 declares
    /auth/token; the two disagree and the documented host does not resolve in public DNS (see
    lifecycle/switstack-lifecycle.yml). Recorded as published, not reconciled.
- api: Swittest API
  spec_path: /auth/token
  grant_types:
  - password
  request_schema: OAuth2Form
  response_schema: TokenSchema
  token_type: bearer
  source: openapi/switstack-swittest-openapi.yml
token_lifecycle:
- operation: token
  path: /auth/token
  purpose: Issue an access token
- operation: refresh_token
  path: /auth/refresh-token
  purpose: Exchange a refresh token for a new access token
- operation: revoke_token
  path: /auth/revoke-token
  purpose: Revoke an issued token
authorization_model:
  style: role-based
  note: >-
    Access control is expressed as named roles, not OAuth scopes; the OpenAPI flow declares an empty scopes map.
  switcloud_roles:
  - name: Super Admin
    description: Manages the entire system (CRUD on all models); Payment data is read-only.
  - name: Organization Admin
    description: >-
      Manages users, merchants, stores and POI configurations within their own organization; cannot see other
      organizations' data and cannot create payments.
  - name: Basic user (human or machine)
    description: Read-only on their organization's data; can create and update Payments.
  swittest_roles:
  - name: Data
    description: Can get test suites, tests, configs and vcards.
  - name: Full
    description: Can fully use Swittest.
  source: https://docs.switstack.io/switcloud/security_authentication/
onboarding:
  self_serve: false
  note: >-
    Credentials are not self-serve. Switcloud getting-started requires "Access to the Switcloud API sandbox" and
    "Access to the Switstack packages repository" and directs the reader to contact Switstack sales or support;
    Swittest instances are provisioned per customer/partner by a Switstack representative. Account requests go to
    contact@switstack.io.
  evidence:
  - url: https://docs.switstack.io/switcloud/getting_started/
    status: 200
  - url: https://docs.switstack.io/swittest/setup/
    status: 200

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/switstack-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.