Armor Authentication API

FH-AUTH authentication flow endpoints. ## Flow Overview 1. POST `/auth/authorize` with credentials → receive authorization code 2. POST `/auth/token` with code → receive access token 3. Use `Authorization: FH-AUTH {token}` header for API calls 4. POST `/auth/token/reissue` to refresh expired tokens

Operations 6

POST /auth/authorize Authenticate with the API, creating a temporary authorization code that can be… #
POST /auth/okta/logout Remove Token from Cache #
POST /auth/token Create an authentication token from an authorization code #
POST /auth/token/reissue Reissue a new access token for the current user #
GET /me Return information about the current authenticated user, including account… #
GET /me/user Me get me user async #

Documentation

Specifications

Other Resources

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/armor:armor-authentication-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

armor-authentication-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v1
  title: Armor Services Authentication API
servers:
- url: https://api.armor.com
tags:
- name: Authentication
paths:
  /auth/authorize:
    post:
      tags:
      - Authentication
      summary: Authenticate with the API, creating a temporary authorization code that can be…
      operationId: TenantOAuth_AuthorizeAsync
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FireHost.Services.Http.Auth.Models.OAuthAccessResponse'
              example:
                redirect_uri: null
                code: VGhpcyBpcyBzb21lIHRleHQgdG8gY29udmVydCB2aWEgQ3J5cHQu=
                success: true
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FireHost.Services.Http.Auth.Models.OAuthAccessResponse'
        '403':
          description: Access Denied
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FireHost.Services.Http.Auth.ApiExamples.Models.AuthorizeAsyncSampleRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/FireHost.Services.Http.Auth.ApiExamples.Models.AuthorizeAsyncSampleRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FireHost.Services.Http.Auth.ApiExamples.Models.AuthorizeAsyncSampleRequest'
        description: Username and Password
        required: true
  /auth/okta/logout:
    post:
      tags:
      - Authentication
      summary: Remove Token from Cache
      operationId: TenantOAuth_RemoveTokenAsync
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/System.Object'
            text/json:
              schema:
                $ref: '#/components/schemas/System.Object'
      deprecated: false
  /auth/token:
    post:
      tags:
      - Authentication
      summary: Create an authentication token from an authorization code
      operationId: TenantOAuth_TokenAsync
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FireHost.Services.Http.Auth.Models.OAuthTokenResponse'
              example:
                access_token: 2261bac252204c2ea93ed32ea1ffd3ab
                id_token: HJTX3gAAAAPXvOfOf4TA4lvblRjDTKbVo/NZEWCXF0KK7BMlJhcvfPXJ/nRzFJpY1eFX0gpBHFyGQPXp3Ev/cGvbfC9FEpkBTCpqh0bsne0t/Zvfxd2FVW6DZMDs5qQSgcMeEAhjlrCWwSoK4AgnqjtFuRdAkD5DeAlfQGbxHS3NzCMlAwLdoxRmbN+BzGUf86bSlen5cxFlktGIAftIxENgSMOUJOhV7ILOhry6qYr590dWRkIyQ6IIGghKaASs+hoViI0YNfKuct32sH73+S9YD87ik2Un
                expires_in: 1800
                token_type: Bearer
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FireHost.Services.Http.Auth.Models.OAuthTokenResponse'
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FireHost.Services.Http.Auth.ApiExamples.Models.TokenAsyncSampleRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/FireHost.Services.Http.Auth.ApiExamples.Models.TokenAsyncSampleRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FireHost.Services.Http.Auth.ApiExamples.Models.TokenAsyncSampleRequest'
        description: Authorization Code
        required: true
  /auth/token/reissue:
    post:
      tags:
      - Authentication
      summary: Reissue a new access token for the current user
      operationId: TenantOAuth_ReissueAsync
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FireHost.Services.Http.Auth.Models.OAuthTokenResponse'
              example:
                access_token: 2c307390e95843e38804f40ca8cac03e
                expires_in: 1800
                token_type: Bearer
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FireHost.Services.Http.Auth.Models.OAuthTokenResponse'
      deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FireHost.Services.Http.Auth.Models.OAuthTokenReissueRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/FireHost.Services.Http.Auth.Models.OAuthTokenReissueRequest'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/FireHost.Services.Http.Auth.Models.OAuthTokenReissueRequest'
        description: Token
        required: true
  /me:
    get:
      tags:
      - Authentication
      summary: Return information about the current authenticated user, including account…
      operationId: Me_GetMeAsync
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FireHost.Services.Http.Accounts.Models.MeResponse'
              example:
                user:
                  type: User
                  username: test.dev@armor.com
                  firstName: Development
                  lastName: Test
                  links:
                    userId: 2
                  passwordExpiry: null
                accounts:
                - id: 2
                  currency: USD
                  name: Development Test Account
                  status: Claimed
                  parent: 1
                  products: null
                  accountType: Direct
                  isSynced: false
                  isFreeTrial: false
                permissions:
                  '2':
                  - '1'
                  - '15'
                features:
                - accountId: 2
                  feature: AA-CORE
                  productId: 1
                - accountId: 2
                  feature: ARMOR-COMPLETE.OPERATING-SYSTEM-PATCHING
                  productId: 2
                - accountId: 2
                  feature: ARMOR-COMPLETE
                  productId: 2
            text/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FireHost.Services.Http.Accounts.Models.MeResponse'
        '400':
          description: Bad Request
      deprecated: false
  /me/user:
    get:
      tags:
      - Authentication
      operationId: Me_GetMeUserAsync
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FireHost.Infrastructure.Accounts.Data.UserIdResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/FireHost.Infrastructure.Accounts.Data.UserIdResponse'
      deprecated: false
      summary: Me get me user async
      x-summary-source: derived
components:
  schemas:
    FireHost.Services.Http.Auth.Models.OAuthTokenReissueRequest:
      description: The OAuth token reissue request.
      type: object
      properties:
        token:
          description: Gets or sets the token.
          type: string
      example:
        token: 2261bac252204c2ea93ed32ea1ffd3ab
    FireHost.Services.Http.Auth.ApiExamples.Models.AuthorizeAsyncSampleRequest:
      type: object
      properties:
        username:
          type: string
          readOnly: true
        password:
          type: string
          readOnly: true
      example:
        username: admin@example.com
        password: password
    FireHost.Infrastructure.Accounts.Data.UserIdResponse:
      type: object
      properties:
        id:
          format: int32
          type: integer
        isSubscriberKeyCreated:
          type: boolean
    FireHost.Services.Http.Auth.Models.OAuthAccessResponse:
      type: object
      properties:
        redirect_uri:
          type: string
        code:
          type: string
        success:
          type: boolean
        validation_required:
          type: boolean
        client_id:
          type: string
    FireHost.Services.Http.Accounts.Models.UserDto:
      type: object
      properties:
        type:
          type: string
        username:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        links:
          $ref: '#/components/schemas/System.Object'
        passwordExpiry:
          type: string
    FireHost.Services.Http.Accounts.Models.UserAccountDto:
      type: object
      properties:
        id:
          format: int32
          type: integer
        currency:
          type: string
        name:
          type: string
        status:
          type: string
        parent:
          format: int32
          type: integer
        products:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        accountType:
          description: Type of Account
          type: string
        isSynced:
          description: To Check Whether Account Is Qualys Account
          type: boolean
        isFreeTrial:
          type: boolean
    System.Object:
      type: object
      properties: {}
    FireHost.Services.Http.Auth.ApiExamples.Models.TokenAsyncSampleRequest:
      type: object
      properties:
        grant_type:
          type: string
        code:
          type: string
          readOnly: true
      example:
        grant_type: authorization_code
        code: VGhpcyBpcyBzb21lIHRleHQgdG8gY29udmVydCB2aWEgQ3J5cHQu=
    FireHost.Services.Http.Accounts.Models.FeatureFlag:
      type: object
      properties:
        accountId:
          format: int32
          type: integer
          readOnly: true
        feature:
          type: string
          readOnly: true
        productId:
          format: int32
          type: integer
          readOnly: true
    FireHost.Services.Http.Auth.Models.OAuthTokenResponse:
      description: The OAuth token response.
      type: object
      properties:
        access_token:
          description: Gets or sets the access token used to assert access to and permissions within an application.
          type: string
        id_token:
          description: Gets or sets the JWT token providing basic user identity.
          type: string
        expires_in:
          format: int32
          description: Gets or sets the expiration of the included tokens (in seconds from now).
          type: integer
        token_type:
          description: Gets the token type.
          type: string
          readOnly: true
        refresh_token:
          description: Gets or sets the refresh token.
          type: string
    FireHost.Services.Http.Accounts.Models.UserDepartmentDto:
      type: object
      properties:
        id:
          format: int32
          type: integer
        name:
          type: string
        account:
          format: int32
          type: integer
    FireHost.Services.Http.Accounts.Models.MeResponse:
      type: object
      properties:
        user:
          $ref: '#/components/schemas/FireHost.Services.Http.Accounts.Models.UserDto'
          readOnly: true
        accounts:
          description: accounts for current user
          type: array
          items:
            $ref: '#/components/schemas/FireHost.Services.Http.Accounts.Models.UserAccountDto'
        departments:
          type: array
          items:
            $ref: '#/components/schemas/FireHost.Services.Http.Accounts.Models.UserDepartmentDto'
          readOnly: true
        permissions:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          readOnly: true
        features:
          type: array
          items:
            $ref: '#/components/schemas/FireHost.Services.Http.Accounts.Models.FeatureFlag'
  securitySchemes:
    Authorization:
      type: apiKey
      description: Authorization Token
      name: Authorization
      in: header
    X-Account-Context:
      type: apiKey
      description: X-Account-Context
      name: X-Account-Context
      in: header