Musaffa · Authentication Profile

Musaffa Authentication

Authentication

Musaffa declares 1 security scheme(s) across its OpenAPI definitions.

Islamic FinanceShariah ComplianceHalal InvestingStock ScreeningFinancial DataETFsMarket DataFintechInvestingComplianceZakatCompany
Methods: Schemes: 1 OAuth flows: API key in:

Security Schemes

· in: header ()

Source

Authentication Profile

musaffa-authentication.yml Raw ↑
generated: '2026-08-26'
method: searched
source: https://api.musaffa.com/
docs: https://api.musaffa.com/
name: Musaffa B2B API authentication
summary: >-
  Musaffa does not use OAuth, OpenID Connect or a bearer API key. Each B2B client is issued a
  clientId and a secretKey out of band (there is no self-service key issuance), and every request
  carries a per-request signature computed over the secret, a UTC timestamp and the exact request
  body. The scheme is a custom HMAC-style request signature, not a static credential.
schemes:
- id: musaffa-signed-request
  kind: custom-signature
  in: header
  standard: none
  headers:
  - name: clientId
    description: Client identifier issued by Musaffa, shared separately with each B2B client.
    required: true
  - name: token
    description: >-
      Base64(SHA-512(secretKey + time + jsonStringBody)). For the GET /stocks/related/{symbol}
      operation the stock symbol is signed in place of a JSON body.
    required: true
  - name: time
    description: >-
      Request timestamp formatted yyyyMMddHHmmss. The docs state TimeZone = "UTC" but the worked
      Java example uses ZoneId.of("UTC+5"); the docs are internally inconsistent on this point.
    required: true
  - name: Content-Type
    description: application/json
    required: true
  signature:
    algorithm: SHA-512
    encoding: base64
    canonical_string: secretKey + time + jsonStringBody
    replay_window_seconds: 5
    replay_window_source: >-
      Errors section — "Gives a 'Time expired' error if the token time exceeds 5 seconds" (HTTP 400).
credential_issuance:
  self_service: false
  method: sales
  note: >-
    "Musaffa will provide a secret key and a client ID to every B2B client" — credentials are issued
    through the demo / schedule-a-call flow on https://musaffa.com/for-business/. There is no
    developer signup that yields API credentials.
oauth2: false
openid_connect: false
mutual_tls: false
scopes: none
notes:
- The same clientId/token/time header triple is used in BOTH directions — Musaffa signs its outbound
  webhook deliveries with the identical scheme, so a consumer can verify inbound webhooks by
  recomputing Base64(SHA-512(secretKey + time + body)).
- Published example credential values in the docs are placeholders, not live keys.

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/musaffa-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 email required.

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