ALVIERE Authentication API

Alviere uses the openid authentication standard. This section details what is required for authentication and access to the Alviere endpoints. ### Get API Credentials In order to connect to the API, you’ll need to have authentication credentials that should be provided by your Relationship Manager. If you don’t have authentication credentials yet, please request them by sending an email from your company email to support@alviere.com. ### Api Authentication In order to authenticate to the platform you'll need the following information: * **client_id**: Your unique client ID in the Alviere platform * **client_secret**: Your API key used to connect to the APIs; you may have more than one secret for your account * **username**: The username that will be used for authentication * **password**: The password that will be used for authentication ### Authentication Flow The following details the flow for authentication: 1. To call any of the APIs in the platform you'll need an access token, so this is always the service you need to call first 2. The response object from the authentication endpoint will return multiple fields as per the JWT specification. Below are the most relevant: * **access_token**: The token that is used for all subsequent calls to the API * **expires_in**: The time limit after which the access token will expire; in seconds 3. On all subsequent calls to the API, you'll need to include a header in the HTTP request with that information.The format of the header is `Authorization: Bearer [you_access_token]`

Operations 3

POST /auth/realms/customers/protocol/openid-connect/token Request an access token #
POST /v1/sdk/auth/generate/web/session Request a web session #
POST /v1/sdk/auth/generate/mobile/token Request a mobile token #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/alviere:alviere-authentication-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

alviere-authentication-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 0.0.3
  title: Alviere Authentication API
  contact:
    email: support@alviere.com
    url: http://alviere.com/
  x-logo:
    url: img/alviere-logo.svg
  description: '# Introduction


    Welcome to Alviere!


    This page provides developer API documentation for integrating into the Alviere platform.


    ### Notes


    * All times are in UTC time standard

    * All date fields use the RFC 3339 version of the ISO-8601 standard format'
servers:
- url: https://api.snd.alviere.com
  description: Alviere API
tags:
- name: Authentication
  description: 'Alviere uses the openid authentication standard.


    This section details what is required for authentication and access to the Alviere endpoints.


    ### Get API Credentials

    In order to connect to the API, you’ll need to have authentication credentials that should be provided by your Relationship Manager.


    If you don’t have authentication credentials yet, please request them by sending an email from your company email to support@alviere.com.


    ### Api Authentication

    In order to authenticate to the platform you''ll need the following information:

    * **client_id**: Your unique client ID in the Alviere platform

    * **client_secret**: Your API key used to connect to the APIs; you may have more than one secret for your account

    * **username**: The username that will be used for authentication

    * **password**: The password that will be used for authentication


    ### Authentication Flow

    The following details the flow for authentication:

    1. To call any of the APIs in the platform you''ll need an access token, so this is always the service you need to call first

    2. The response object from the authentication endpoint will return multiple fields as per the JWT specification. Below are the most relevant:

    * **access_token**: The token that is used for all subsequent calls to the API

    * **expires_in**: The time limit after which the access token will expire; in seconds

    3. On all subsequent calls to the API, you''ll need to include a header in the HTTP request with that information.


    The format of the header is `Authorization: Bearer [you_access_token]`'
paths:
  /auth/realms/customers/protocol/openid-connect/token:
    servers:
    - url: https://auth.snd.alviere.com
      description: Authentication API
    post:
      tags:
      - Authentication
      summary: Request an access token
      description: Authenticates the user and returns an access token to be used in every subsequent API request
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - client_id
              - client_secret
              - grant_type
              properties:
                client_id:
                  type: string
                  description: Your unique Client ID in the Alviere platform
                  example: your_client_id
                client_secret:
                  type: string
                  description: The API key for authentication in the Alviere platform
                  example: your_client_secret
                grant_type:
                  description: 'To authenticate to the API *always* use `client_credentials` in this field

                    '
                  type: string
                  example: password
      responses:
        '200':
          description: 'The request was successful and the user is authenticated.


            The `JWT` token that is returned should be used in every subsequent call to the API.

            '
          content:
            application/json:
              schema:
                type: object
                required:
                - access_token
                - expires_in
                - refresh_expires_in
                - refresh_token
                - token_type
                - not-before-policy
                - session_state
                - scope
                properties:
                  access_token:
                    type: string
                    description: The JWT token to be used for every API request.
                    example: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUI...
                  expires_in:
                    type: integer
                    description: The expiration time for the token, in seconds.
                    example: 300
                  refresh_expires_in:
                    type: integer
                    description: The expiration time for the refresh token, in seconds.
                    example: 1800
                  refresh_token:
                    type: string
                    description: The refresh token that can be used to refresh a session token.
                    example: eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUrw...
                  token_type:
                    type: string
                    description: The type of token returned by the authentication server. In this version of the API this property will always return `bearer`
                    example: bearer
                  not-before-policy:
                    type: integer
                    description: The not before policy for the JWT token. Defaults to 0
                    example: 0
                  session_state:
                    type: string
                    description: Unique identifier of the session state
                    example: 8c573816-96b1-4dc3-bce8-e59fd2bf9dec
                  scope:
                    type: string
                    description: The scope of the session.
                    example: null
        '400':
          description: 'The request for authentication was denied.

            The provided credentials are not valid for system access.

            '
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request POST \\\n  --url https://api.snd.alviere.com/auth/realms/customers/protocol/openid-connect/token \\\n  --header 'content-type: application/x-www-form-urlencoded'"
      - lang: Go + Native
        source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.snd.alviere.com/auth/realms/customers/protocol/openid-connect/token\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/x-www-form-urlencoded\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
      - lang: Python + Python3
        source: 'import http.client


          conn = http.client.HTTPSConnection("api.snd.alviere.com")


          headers = { ''content-type'': "application/x-www-form-urlencoded" }


          conn.request("POST", "/auth/realms/customers/protocol/openid-connect/token", headers=headers)


          res = conn.getresponse()

          data = res.read()


          print(data.decode("utf-8"))'
      - lang: Php + Curl
        source: "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.snd.alviere.com/auth/realms/customers/protocol/openid-connect/token\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_HTTPHEADER => [\n    \"content-type: application/x-www-form-urlencoded\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
      - lang: Swift + Nsurlsession
        source: "import Foundation\n\nlet headers = [\"content-type\": \"application/x-www-form-urlencoded\"]\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://api.snd.alviere.com/auth/realms/customers/protocol/openid-connect/token\")! as URL,\n                                        cachePolicy: .useProtocolCachePolicy,\n                                    timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n  if (error != nil) {\n    print(error)\n  } else {\n    let httpResponse = response as? HTTPURLResponse\n    print(httpResponse)\n  }\n})\n\ndataTask.resume()"
      operationId: postAuthRealmsCustomersProtocolOpenidConnectToken
      x-operation-id-source: derived
  /v1/sdk/auth/generate/web/session:
    post:
      tags:
      - Authentication
      summary: Request a web session
      description: This generates a secure and authenticated session under your account to be used with the Web SDK
      parameters:
      - in: header
        name: Authorization
        required: true
        description: The access token.
        example: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUI...
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                account_uuid:
                  type: string
                  format: uuid
                  title: Account UUID
      responses:
        '201':
          description: 'The request was successful and the user is authenticated.

            The `Session ID` that is returned should be used to instantiate our WEB SDK''s.

            '
          content:
            application/json:
              schema:
                type: object
                required:
                - session_id
                properties:
                  session_id:
                    type: string
                    description: The newly created session ID
                    format: uuid
        '400':
          description: Bad Request
          headers:
            Alv-Request-Id:
              description: 'Alviere''s internal unique identifier for the request. This ID is automatically generated by our API service and

                spans across our entire infrastructure allowing tech ops to trace a request. This id has no business use case

                and serves solely for the purpose of technical debugging and troubleshooting.

                '
              example: 8944355f-342d-42df-9ec9-5b12e619d504
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  error_code:
                    title: The unique error code
                    description: This error mainly occurs because there is a missing or invalid property in the request payload
                    type: string
                    example: '50001'
                  error_description:
                    title: A description of the error that occurred
                    description: Description of the error in plain english
                    type: string
                    example: Missing required property in payload
        '404':
          description: Not Found
          headers:
            Alv-Request-Id:
              description: 'Alviere''s internal unique identifier for the request. This ID is automatically generated by our API service and

                spans across our entire infrastructure allowing tech ops to trace a request. This id has no business use case

                and serves solely for the purpose of technical debugging and troubleshooting.

                '
              example: 8944355f-342d-42df-9ec9-5b12e619d504
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  error_code:
                    title: The unique error code
                    description: This error occurs when the object you are trying to access was not found. Please review the object uuid you are sending in this transaction
                    type: string
                    example: '50004'
                  error_description:
                    title: A description of the error that occurred
                    description: Description of the error in plain english
                    type: string
                    example: Resource not found
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request POST \\\n  --url https://api.snd.alviere.com/v1/sdk/auth/generate/web/session \\\n  --header 'Authorization: SOME_STRING_VALUE' \\\n  --header 'content-type: application/json' \\\n  --data '{\"account_uuid\":\"847548f7-9cde-4fe5-8751-32ff19825b7e\"}'"
      - lang: Go + Native
        source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.snd.alviere.com/v1/sdk/auth/generate/web/session\"\n\n\tpayload := strings.NewReader(\"{\\\"account_uuid\\\":\\\"847548f7-9cde-4fe5-8751-32ff19825b7e\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"SOME_STRING_VALUE\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
      - lang: Python + Python3
        source: "import http.client\n\nconn = http.client.HTTPSConnection(\"api.snd.alviere.com\")\n\npayload = \"{\\\"account_uuid\\\":\\\"847548f7-9cde-4fe5-8751-32ff19825b7e\\\"}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"SOME_STRING_VALUE\"\n    }\n\nconn.request(\"POST\", \"/v1/sdk/auth/generate/web/session\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"
      - lang: Php + Curl
        source: "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.snd.alviere.com/v1/sdk/auth/generate/web/session\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"account_uuid\\\":\\\"847548f7-9cde-4fe5-8751-32ff19825b7e\\\"}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: SOME_STRING_VALUE\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
      - lang: Swift + Nsurlsession
        source: "import Foundation\n\nlet headers = [\n  \"content-type\": \"application/json\",\n  \"Authorization\": \"SOME_STRING_VALUE\"\n]\nlet parameters = [\"account_uuid\": \"847548f7-9cde-4fe5-8751-32ff19825b7e\"] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://api.snd.alviere.com/v1/sdk/auth/generate/web/session\")! as URL,\n                                        cachePolicy: .useProtocolCachePolicy,\n                                    timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n  if (error != nil) {\n    print(error)\n  } else {\n    let httpResponse = response as? HTTPURLResponse\n    print(httpResponse)\n  }\n})\n\ndataTask.resume()"
      operationId: postV1SdkAuthGenerateWebSession
      x-operation-id-source: derived
  /v1/sdk/auth/generate/mobile/token:
    post:
      tags:
      - Authentication
      summary: Request a mobile token
      description: This generates a secure and authenticated token under your account to be used with the Mobile SDK
      parameters:
      - in: header
        name: Authorization
        required: true
        description: The access token.
        example: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUI...
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                account_uuid:
                  type: string
                  format: uuid
                  title: Account UUID
                with_plaid_sdk_token:
                  type: boolean
      responses:
        '201':
          description: 'The request was successful and the user is authenticated.

            The `JWT` token that is returned should be used to instantiate our Mobile SDK''s.

            '
          content:
            application/json:
              schema:
                type: object
                required:
                - auth_token
                properties:
                  auth_token:
                    type: string
                    description: The newly generated authentication token
                  plaid_sdk_token:
                    type: string
                    description: The retrieved Plaid SDK token which corresponds to the `link_token` on Plaid.
                  plaid_sdk_token_expires_at:
                    type: string
                    format: date-time
                    description: The Plaid SDK token expiration date.
        '400':
          description: Bad Request
          headers:
            Alv-Request-Id:
              description: 'Alviere''s internal unique identifier for the request. This ID is automatically generated by our API service and

                spans across our entire infrastructure allowing tech ops to trace a request. This id has no business use case

                and serves solely for the purpose of technical debugging and troubleshooting.

                '
              example: 8944355f-342d-42df-9ec9-5b12e619d504
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  error_code:
                    title: The unique error code
                    description: This error mainly occurs because there is a missing or invalid property in the request payload
                    type: string
                    example: '50001'
                  error_description:
                    title: A description of the error that occurred
                    description: Description of the error in plain english
                    type: string
                    example: Missing required property in payload
        '404':
          description: Not Found
          headers:
            Alv-Request-Id:
              description: 'Alviere''s internal unique identifier for the request. This ID is automatically generated by our API service and

                spans across our entire infrastructure allowing tech ops to trace a request. This id has no business use case

                and serves solely for the purpose of technical debugging and troubleshooting.

                '
              example: 8944355f-342d-42df-9ec9-5b12e619d504
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  error_code:
                    title: The unique error code
                    description: This error occurs when the object you are trying to access was not found. Please review the object uuid you are sending in this transaction
                    type: string
                    example: '50004'
                  error_description:
                    title: A description of the error that occurred
                    description: Description of the error in plain english
                    type: string
                    example: Resource not found
        '503':
          description: Service Unavailable
          headers:
            Alv-Request-Id:
              description: 'Alviere''s internal unique identifier for the request. This ID is automatically generated by our API service and

                spans across our entire infrastructure allowing tech ops to trace a request. This id has no business use case

                and serves solely for the purpose of technical debugging and troubleshooting.

                '
              example: 8944355f-342d-42df-9ec9-5b12e619d504
              schema:
                type: string
          content:
            application/json:
              schema:
                type: object
                properties:
                  error_code:
                    title: The unique error code
                    description: This error indicates that the server failed to retrieve the mobile token.
                    type: string
                    example: '110003'
                  error_description:
                    title: A description of the error that occurred
                    description: Description of the error in plain english
                    type: string
                    example: failed to retrieve plaid sdk token from gateway
      x-codeSamples:
      - lang: Shell + Curl
        source: "curl --request POST \\\n  --url https://api.snd.alviere.com/v1/sdk/auth/generate/mobile/token \\\n  --header 'Authorization: SOME_STRING_VALUE' \\\n  --header 'content-type: application/json' \\\n  --data '{\"account_uuid\":\"847548f7-9cde-4fe5-8751-32ff19825b7e\",\"with_plaid_sdk_token\":true}'"
      - lang: Go + Native
        source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.snd.alviere.com/v1/sdk/auth/generate/mobile/token\"\n\n\tpayload := strings.NewReader(\"{\\\"account_uuid\\\":\\\"847548f7-9cde-4fe5-8751-32ff19825b7e\\\",\\\"with_plaid_sdk_token\\\":true}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"SOME_STRING_VALUE\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}"
      - lang: Python + Python3
        source: "import http.client\n\nconn = http.client.HTTPSConnection(\"api.snd.alviere.com\")\n\npayload = \"{\\\"account_uuid\\\":\\\"847548f7-9cde-4fe5-8751-32ff19825b7e\\\",\\\"with_plaid_sdk_token\\\":true}\"\n\nheaders = {\n    'content-type': \"application/json\",\n    'Authorization': \"SOME_STRING_VALUE\"\n    }\n\nconn.request(\"POST\", \"/v1/sdk/auth/generate/mobile/token\", payload, headers)\n\nres = conn.getresponse()\ndata = res.read()\n\nprint(data.decode(\"utf-8\"))"
      - lang: Php + Curl
        source: "<?php\n\n$curl = curl_init();\n\ncurl_setopt_array($curl, [\n  CURLOPT_URL => \"https://api.snd.alviere.com/v1/sdk/auth/generate/mobile/token\",\n  CURLOPT_RETURNTRANSFER => true,\n  CURLOPT_ENCODING => \"\",\n  CURLOPT_MAXREDIRS => 10,\n  CURLOPT_TIMEOUT => 30,\n  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\n  CURLOPT_CUSTOMREQUEST => \"POST\",\n  CURLOPT_POSTFIELDS => \"{\\\"account_uuid\\\":\\\"847548f7-9cde-4fe5-8751-32ff19825b7e\\\",\\\"with_plaid_sdk_token\\\":true}\",\n  CURLOPT_HTTPHEADER => [\n    \"Authorization: SOME_STRING_VALUE\",\n    \"content-type: application/json\"\n  ],\n]);\n\n$response = curl_exec($curl);\n$err = curl_error($curl);\n\ncurl_close($curl);\n\nif ($err) {\n  echo \"cURL Error #:\" . $err;\n} else {\n  echo $response;\n}"
      - lang: Swift + Nsurlsession
        source: "import Foundation\n\nlet headers = [\n  \"content-type\": \"application/json\",\n  \"Authorization\": \"SOME_STRING_VALUE\"\n]\nlet parameters = [\n  \"account_uuid\": \"847548f7-9cde-4fe5-8751-32ff19825b7e\",\n  \"with_plaid_sdk_token\": true\n] as [String : Any]\n\nlet postData = JSONSerialization.data(withJSONObject: parameters, options: [])\n\nlet request = NSMutableURLRequest(url: NSURL(string: \"https://api.snd.alviere.com/v1/sdk/auth/generate/mobile/token\")! as URL,\n                                        cachePolicy: .useProtocolCachePolicy,\n                                    timeoutInterval: 10.0)\nrequest.httpMethod = \"POST\"\nrequest.allHTTPHeaderFields = headers\nrequest.httpBody = postData as Data\n\nlet session = URLSession.shared\nlet dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in\n  if (error != nil) {\n    print(error)\n  } else {\n    let httpResponse = response as? HTTPURLResponse\n    print(httpResponse)\n  }\n})\n\ndataTask.resume()"
      operationId: postV1SdkAuthGenerateMobileToken
      x-operation-id-source: derived