Namely · Authentication Profile

Namely Authentication

Authentication

The Namely API supports two authentication models, both documented on the provider's own developer portal: a 3-legged OAuth 2.0 authorization code grant for partner integrations, and Personal Access Tokens (bearer tokens) for a client's own internal integrations. All requests must be made over HTTPS; plaintext HTTP is refused. Credentials are minted inside the customer's own Namely HRIS tenant under the API menu item, which requires an administrator to grant access.

Namely declares 3 security scheme(s) across its OpenAPI definitions.

HRHCMPayrollEmployee DataOnboardingBenefitsApplicant TrackingPerformance ManagementSCIMSingle Sign-OnIdentity ProvisioningWorkforce Management
Methods: Schemes: 3 OAuth flows: API key in:

Security Schemes

Authorization apiKey
· in: header ()
oauth2
http
scheme: bearer

Source

Authentication Profile

Raw ↑
generated: '2026-08-26'
method: searched
source: https://developers.namely.com/docs/getting-started/authentication.md
docs: https://developers.namely.com/docs/getting-started/authentication.md
spec: openapi/namely-api-openapi.json
name: Namely API authentication
description: >-
  The Namely API supports two authentication models, both documented on the provider's own
  developer portal: a 3-legged OAuth 2.0 authorization code grant for partner integrations, and
  Personal Access Tokens (bearer tokens) for a client's own internal integrations. All requests
  must be made over HTTPS; plaintext HTTP is refused. Credentials are minted inside the customer's
  own Namely HRIS tenant under the API menu item, which requires an administrator to grant access.
transport:
  https_required: true
  http_refused: true
  source: https://developers.namely.com/docs/getting-started/authentication.md
schemes:
  - id: Authorization
    type: apiKey
    in: header
    name: Authorization
    from_spec: true
    spec_location: securityDefinitions.Authorization
    note: >-
      The only securityDefinition the published Swagger 2.0 document declares. It is a header
      credential named Authorization, carrying either an OAuth 2.0 access token or a Personal
      Access Token as a Bearer value. The spec declares no top-level or per-operation `security`
      block, so the scheme is defined but never applied inside the contract itself - the docs, not
      the spec, are what tell an integrator to send it.
  - id: oauth2_authorization_code
    type: oauth2
    flow: accessCode
    from_spec: false
    source: https://developers.namely.com/docs/getting-started/authentication.md
    authorization_url: https://{company}.namely.com/api/v1/oauth2/authorize
    token_url: https://{company}.namely.com/api/v1/oauth2/token
    grant_types:
      - authorization_code
      - refresh_token
    templated_host: true
    templated_note: >-
      Namely is multi-tenant on {company}.namely.com; the authorization and token endpoints live
      inside each customer's own tenant, not on a shared authorization server.
    parameters:
      - response_type
      - client_id
      - redirect_uri
      - client_secret
      - code
      - grant_type
      - refresh_token
    access_token_lifetime: 15 minutes
    refresh_token_lifetime: >-
      No stated expiration. The same refresh token is returned on each refresh; Namely's docs warn
      that clients should always persist the returned refresh token because the lifespan is
      subject to change.
    scopes_documented: false
    scopes_note: >-
      Namely documents no OAuth scope vocabulary. Authorization is inherited from the Namely user
      who approves the application, not requested per-scope, so scopes/ is not emitted.
    registration: >-
      Self-service inside the Namely HRIS tenant (API menu -> OAuth Applications). Requires name,
      website and one or more comma-separated redirect URIs; returns a client identifier and
      client secret.
  - id: personal_access_token
    type: http
    scheme: bearer
    from_spec: false
    source: https://developers.namely.com/docs/getting-started/authentication.md
    header: 'Authorization: Bearer <token>'
    lifetime: 2 years
    permission_model: >-
      A PAT carries exactly the permissions of the Namely user who created it. Namely recommends
      creating integration PATs under a dedicated administrator "Integrations User" profile that
      persists through staff turnover.
    failure_mode: >-
      If the profile that created a PAT becomes inactive or is deleted, the API returns HTTP 403
      to every request using that token and the integration breaks.
    intended_for: A Namely client building their own custom integration.
    not_intended_for: >-
      Partner integrations. Namely's docs explicitly say partners should use an OAuth application
      instead of a PAT.
identity_federation:
  saml:
    supported: true
    version: SAML 2.0
    role: Service Provider only
    source: https://developers.namely.com/docs/getting-started/sso.md
    note: >-
      Namely performs no credential authentication of its own for SSO. It verifies the assertion
      from the customer's Identity Provider and matches the NameID email against an existing
      Namely profile. Namely publishes a SAML metadata endpoint for IdP configuration. Named
      supported IdPs are Okta, OneLogin and Microsoft Entra ID (Azure AD).
    provisioning: >-
      Namely does NOT provision accounts into the IdP. Inbound/outbound user provisioning is
      handled separately through the SCIM 2.0 surface (see conformance/namely-conformance.yml).
  scim:
    supported: true
    version: SCIM 2.0
    endpoint: https://{company}.namely.com/api/scim/v2/Users.json
    source: https://developers.namely.com/docs/okta/syncing-custom-fields.md
    note: >-
      Namely acts as the SCIM source of record for user profiles flowing into Okta. Custom
      attributes are carried under the standard SCIM extension URN
      urn:ietf:params:scim:schemas:extension:custom:2.0:User.
gaps:
  - >-
    The published Swagger 2.0 document declares no `security` requirement on any of its 54
    operations, so a generated client will not attach the Authorization header without the
    integrator reading the prose docs.
  - >-
    The OAuth 2.0 flow is documented only in prose. It is absent from the machine-readable
    contract, which declares apiKey only.
  - No published OAuth scope vocabulary; consent is all-or-nothing at the user's permission level.
  - No /.well-known/openid-configuration or /.well-known/oauth-authorization-server on any host.

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/namely-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.