Simplifi/Simplifipay Auth API

The Auth API from Simplifi/Simplifipay — 2 operation(s) for auth.

OpenAPI Specification

simplifi-simplifipay-auth-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: SimpliFi Cards Auth API
  version: 1.0.0
  description: 'SimpliFi Cards-as-a-Service API for issuing and managing virtual and physical cards across the GCC. Covers authentication (JWT), card programs, funding sources, cards, users, transactions, fees, rule groups, and webhook management. SimpliFi uses an asynchronous architecture: API calls return 2xx on receipt and final outcomes are delivered via webhooks.'
  contact:
    name: SimpliFi Support
    email: info@simplifipay.com
    url: https://apidoc.simplifipay.com/
servers:
- url: https://{env}-lb.simplifipay.com
  description: Load-balanced API host; {env} is the environment token issued during onboarding
  variables:
    env:
      default: uat
      description: Environment token issued by SimpliFi
security:
- bearerAuth: []
tags:
- name: Auth
paths:
  /v1/auth/login/{companyName}:
    post:
      summary: Login to generate JWT token
      deprecated: false
      description: 'The Login endpoint allows you to login to the SimpliFi platform using the provided

        credentials. If you don''t have the credentials already, you can request them through

        [this link](https://simplifipay.com/). The endpoint returns an access token to be

        used in making further API calls. Following are the properties of this endpoint.'
      tags:
      - Auth
      parameters:
      - name: companyName
        in: path
        description: 'This is an internal identifier of your company in the SimpliFi platform. We will

          generate the company name for you and share it. If you don''t have it already,

          you can request it through [this link](https://simplifipay.com/).'
        required: true
        example: ''
        schema:
          type: string
      - name: requestUuid
        in: header
        description: 'A unique id is required to be passed as part of the header whenever a SimpliFi API is called from your

          system. This would help us in debugging in case of a discrepancy in the expected behavior of the API.'
        required: true
        example: ''
        schema:
          type: string
          allowEmptyValue: false
          minLength: 20
          maxLength: 40
          examples:
          - 00d366f2-a6e9-4714-b172-02c4e58c29d8
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                client_id:
                  type: string
                  description: 'The values of this enumeration identify your channel for calling the endpoint.

                    Example: If you want to generate the access token to call subsequent APIs from

                    your back-end system then use the value `simplifi-api-client`.'
                  examples:
                  - simplifi-api-client
                  example: simplifi-api-client
                client_secret:
                  type: string
                  description: 'This is a secret identification pattern assigned to you by the SimpliFi platform.

                    For each allowed value of “client_id” there is a respective client secret value

                    shared with you before the start of the integration. Pass the respective value here.

                    If you don''t have it already, you can request it through [this link](https://simplifipay.com/).'
                  examples:
                  - 31f7f420-f88c-4809-af2e-8a96ed5727d4
                  example: 31f7f420-f88c-4809-af2e-8a96ed5727d4
                grant_type:
                  type: string
                  description: 'You need to pass this value to log in through the Client Secret shared by SimpliFi.

                    Allowed value is `client_credentials`. If you don''t already have these credentials,

                    you can request them through [this link](https://simplifipay.com/).'
                  examples:
                  - client_credentials
                  example: client_credentials
              required:
              - client_id
              - client_secret
              - grant_type
      responses:
        '200':
          description: On successful operation JWT token is returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResponseModel'
          headers: {}
      security:
      - bearerAuth: []
      operationId: loginToGenerateJwtToken
  /v1/auth/sdk/{companyName}:
    post:
      summary: Login to generate SDK Admin JWT token
      deprecated: false
      description: 'This Login endpoint allows you to generate an `SDK_ADMIN` token used in the SDK.

        If you don''t have the credentials already, you can request them through

        [this link](https://simplifipay.com/). The endpoint returns an access token to be

        used in making further SDK related API calls. Following are the properties of this endpoint.'
      tags:
      - Auth
      parameters:
      - name: companyName
        in: path
        description: 'This is an internal identifier of your company in the SimpliFi platform. We will

          generate the company name for you and share it. If you don''t have it already,

          you can request it through [this link](https://simplifipay.com/).'
        required: true
        example: ''
        schema:
          type: string
      - name: Authorization
        in: header
        description: This field contains the JWT token that is used to authenticate the user.
        required: true
        example: ''
        schema:
          type: string
          allowEmptyValue: false
      - name: requestUuid
        in: header
        description: 'A unique id is required to be passed as part of the header whenever a SimpliFi API is called from your

          system. This would help us in debugging in case of a discrepancy in the expected behavior of the API.'
        required: true
        example: ''
        schema:
          type: string
          allowEmptyValue: false
          minLength: 20
          maxLength: 40
          examples:
          - 00d366f2-a6e9-4714-b172-02c4e58c29d8
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                client_id:
                  type: string
                  description: 'The values of this enumeration identify your channel for calling the endpoint.

                    Example: If you want to generate the access token to call subsequent APIs from

                    your back-end system then use the value `simplifi-portal-client`.'
                  examples:
                  - simplifi-portal-client
                  example: simplifi-portal-client
                client_secret:
                  type: string
                  description: 'This is a secret identification pattern assigned to you by the SimpliFi platform.

                    For each allowed value of “client_id” there is a respective client secret value

                    shared with you before the start of the integration. Pass the respective value here.

                    If you don''t have it already, you can request it through [this link](https://simplifipay.com/).'
                  examples:
                  - 8fbcf78b-d7e8-44ea-be87-118898f24ab2
                  example: 8fbcf78b-d7e8-44ea-be87-118898f24ab2
                grant_type:
                  type: string
                  description: 'You need to pass this value to log in through the Client Secret shared by SimpliFi.

                    Allowed value is `client_credentials`. If you don''t already have these credentials,

                    you can request them through [this link](https://simplifipay.com/).'
                  examples:
                  - client_credentials
                  example: client_credentials
                userUuid:
                  type: string
                  description: 'This field contains the unique identifier for the user.

                    The token generated would be linked with the supplied user identification, and only work

                    with APIs related to the linked user.'
                  examples:
                  - 7fe36866-b2fb-42ca-82ee-75d9dd6e0cdd
                  example: 7fe36866-b2fb-42ca-82ee-75d9dd6e0cdd
              required:
              - client_id
              - client_secret
              - grant_type
              - userUuid
      responses:
        '200':
          description: On successful operation JWT token is returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthResponseModel'
          headers: {}
      security:
      - bearerAuth: []
      operationId: loginToGenerateSdkAdminJwtToken
components:
  schemas:
    AuthResponseModel:
      type: object
      properties:
        access_token:
          type: string
          description: 'This is the system-generated access token to be used for subsequent calls of the

            same session. It is to be sent as an authorization header along with the

            system-generated token type.'
        expires_in:
          type: string
          description: 'This is the expiry date/time that defines the validity of the access token.

            Note (one needs to re-login before this expiration time).'
        token_type:
          type: string
          description: 'This field contains the token type which is coupled with access token to form

            an authorization header. Accepted value is `bearer`.'
      required:
      - access_token
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'JWT access token from POST /v1/auth/login/{companyName}, sent as Authorization: Bearer <token>.'