FusionAuth · Capability

FusionAuth API — JWT

FusionAuth API — JWT. 10 operations. Lead operation: Issue a new access token (JWT) for the requested Application after ensuring the provided JWT is valid. A valid access token is properly sign. Self-contained Naftiko capability covering one business surface.

FusionAuth API — JWT is a Naftiko capability published by FusionAuth, one of 33 capabilities the APIs.io network indexes for this provider. It bundles 10 operations across the GET, POST, and DELETE methods rooted at /v1/api/jwt.

The capability includes 5 read-only operations and 5 state-changing operations. Lead operation: Issue a new access token (JWT) for the requested Application after ensuring the provided JWT is valid. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include FusionAuth and JWT.

Run with Naftiko FusionAuthJWT

What You Can Do

GET
Issuejwtwithid — Issue a new access token (JWT) for the requested Application after ensuring the provided JWT is valid. A valid access token is properly sign
/v1/api/jwt/issue
GET
Retrievejwtpublickey — Retrieves the Public Key configured for verifying the JSON Web Tokens (JWT) issued by the Login API by the Application Id. OR Retrieves the
/v1/api/jwt/public-key
POST
Reconcilejwtwithid — Reconcile a User to FusionAuth using JWT issued from another Identity Provider.
/v1/api/jwt/reconcile
POST
Exchangerefreshtokenforjwtwithid — Exchange a refresh token for a new JWT.
/v1/api/jwt/refresh
GET
Retrieverefreshtokenswithid — Retrieves the refresh tokens that belong to the user with the given Id.
/v1/api/jwt/refresh
DELETE
Deletejwtrefresh — Revokes refresh tokens using the information in the JSON body. The handling for this method is the same as the revokeRefreshToken method and
/v1/api/jwt/refresh
GET
Retrieverefreshtokenbyidwithid — Retrieves a single refresh token by unique Id. This is not the same thing as the string value of the refresh token. If you have that, you al
/v1/api/jwt/refresh/{tokenId}
DELETE
Revokerefreshtokenbyidwithid — Revokes a single refresh token by the unique Id. The unique Id is not sensitive as it cannot be used to obtain another JWT.
/v1/api/jwt/refresh/{tokenId}
GET
Validatejwtwithid — Validates the provided JWT (encoded JWT string) to ensure the token is valid. A valid access token is properly signed and not expired. This
/v1/api/jwt/validate
POST
Vendjwtwithid — It's a JWT vending machine! Issue a new access token (JWT) with the provided claims in the request. This JWT is not scoped to a tenant or u
/v1/api/jwt/vend

MCP Tools

fusionauth-issuejwtwithid

Issue a new access token (JWT) for the requested Application after ensuring the provided JWT is valid. A valid access token is properly sign

read-only idempotent
fusionauth-retrievejwtpublickey

Retrieves the Public Key configured for verifying the JSON Web Tokens (JWT) issued by the Login API by the Application Id. OR Retrieves the

read-only idempotent
fusionauth-reconcilejwtwithid

Reconcile a User to FusionAuth using JWT issued from another Identity Provider.

fusionauth-exchangerefreshtokenforjwtwithid

Exchange a refresh token for a new JWT.

fusionauth-retrieverefreshtokenswithid

Retrieves the refresh tokens that belong to the user with the given Id.

read-only idempotent
fusionauth-deletejwtrefresh

Revokes refresh tokens using the information in the JSON body. The handling for this method is the same as the revokeRefreshToken method and

idempotent
fusionauth-retrieverefreshtokenbyidwithid

Retrieves a single refresh token by unique Id. This is not the same thing as the string value of the refresh token. If you have that, you al

read-only idempotent
fusionauth-revokerefreshtokenbyidwithid

Revokes a single refresh token by the unique Id. The unique Id is not sensitive as it cannot be used to obtain another JWT.

idempotent
fusionauth-validatejwtwithid

Validates the provided JWT (encoded JWT string) to ensure the token is valid. A valid access token is properly signed and not expired. This

read-only idempotent
fusionauth-vendjwtwithid

It's a JWT vending machine! Issue a new access token (JWT) with the provided claims in the request. This JWT is not scoped to a tenant or u

Capability Spec

fusionauth-jwt.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: FusionAuth API — JWT
  description: 'FusionAuth API — JWT. 10 operations. Lead operation: Issue a new access token (JWT) for the requested Application after ensuring the provided JWT is valid. A valid access token is properly sign. Self-contained Naftiko capability covering one business surface.'
  tags:
  - FusionAuth
  - JWT
  created: '2026-05-20'
  modified: '2026-05-20'
binds:
- namespace: env
  keys:
    FUSIONAUTH_API_KEY: FUSIONAUTH_API_KEY
capability:
  consumes:
  - type: http
    namespace: fusionauth-jwt
    baseUri: http://localhost:9011
    description: FusionAuth API — JWT business capability. Self-contained, no shared references.
    resources:
    - name: api-jwt-issue
      path: /api/jwt/issue
      operations:
      - name: issuejwtwithid
        method: GET
        description: Issue a new access token (JWT) for the requested Application after ensuring the provided JWT is valid. A valid access token is properly sign
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: applicationId
          in: query
          type: string
          description: The Application Id for which you are requesting a new access token be issued.
        - name: refreshToken
          in: query
          type: string
          description: An existing refresh token used to request a refresh token in addition to a JWT in the response. <p>The target application represented by the applicationId request parameter must have refresh tokens en
    - name: api-jwt-public-key
      path: /api/jwt/public-key
      operations:
      - name: retrievejwtpublickey
        method: GET
        description: 'Retrieves the Public Key configured for verifying the JSON Web Tokens (JWT) issued by the Login API by the Application Id. OR Retrieves the '
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: applicationId
          in: query
          type: string
          description: The Id of the Application for which this key is used.
        - name: keyId
          in: query
          type: string
          description: The Id of the public key (kid).
    - name: api-jwt-reconcile
      path: /api/jwt/reconcile
      operations:
      - name: reconcilejwtwithid
        method: POST
        description: Reconcile a User to FusionAuth using JWT issued from another Identity Provider.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-jwt-refresh
      path: /api/jwt/refresh
      operations:
      - name: exchangerefreshtokenforjwtwithid
        method: POST
        description: Exchange a refresh token for a new JWT.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: retrieverefreshtokenswithid
        method: GET
        description: Retrieves the refresh tokens that belong to the user with the given Id.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userId
          in: query
          type: string
          description: The Id of the user.
      - name: deletejwtrefresh
        method: DELETE
        description: Revokes refresh tokens using the information in the JSON body. The handling for this method is the same as the revokeRefreshToken method and
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: userId
          in: query
          type: string
          description: The unique Id of the user that you want to delete all refresh tokens for.
        - name: applicationId
          in: query
          type: string
          description: The unique Id of the application that you want to delete refresh tokens for.
        - name: token
          in: query
          type: string
          description: The refresh token to delete.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-jwt-refresh-tokenid
      path: /api/jwt/refresh/{tokenId}
      operations:
      - name: retrieverefreshtokenbyidwithid
        method: GET
        description: Retrieves a single refresh token by unique Id. This is not the same thing as the string value of the refresh token. If you have that, you al
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tokenId
          in: path
          type: string
          description: The Id of the token.
          required: true
      - name: revokerefreshtokenbyidwithid
        method: DELETE
        description: Revokes a single refresh token by the unique Id. The unique Id is not sensitive as it cannot be used to obtain another JWT.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: tokenId
          in: path
          type: string
          description: The unique Id of the token to delete.
          required: true
    - name: api-jwt-validate
      path: /api/jwt/validate
      operations:
      - name: validatejwtwithid
        method: GET
        description: Validates the provided JWT (encoded JWT string) to ensure the token is valid. A valid access token is properly signed and not expired.  This
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters: []
    - name: api-jwt-vend
      path: /api/jwt/vend
      operations:
      - name: vendjwtwithid
        method: POST
        description: It's a JWT vending machine!  Issue a new access token (JWT) with the provided claims in the request. This JWT is not scoped to a tenant or u
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
  exposes:
  - type: rest
    namespace: fusionauth-jwt-rest
    port: 8080
    description: REST adapter for FusionAuth API — JWT. One resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/api/jwt/issue
      name: api-jwt-issue
      description: REST surface for api-jwt-issue.
      operations:
      - method: GET
        name: issuejwtwithid
        description: Issue a new access token (JWT) for the requested Application after ensuring the provided JWT is valid. A valid access token is properly sign
        call: fusionauth-jwt.issuejwtwithid
        with:
          applicationId: rest.applicationId
          refreshToken: rest.refreshToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/jwt/public-key
      name: api-jwt-public-key
      description: REST surface for api-jwt-public-key.
      operations:
      - method: GET
        name: retrievejwtpublickey
        description: 'Retrieves the Public Key configured for verifying the JSON Web Tokens (JWT) issued by the Login API by the Application Id. OR Retrieves the '
        call: fusionauth-jwt.retrievejwtpublickey
        with:
          applicationId: rest.applicationId
          keyId: rest.keyId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/jwt/reconcile
      name: api-jwt-reconcile
      description: REST surface for api-jwt-reconcile.
      operations:
      - method: POST
        name: reconcilejwtwithid
        description: Reconcile a User to FusionAuth using JWT issued from another Identity Provider.
        call: fusionauth-jwt.reconcilejwtwithid
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/jwt/refresh
      name: api-jwt-refresh
      description: REST surface for api-jwt-refresh.
      operations:
      - method: POST
        name: exchangerefreshtokenforjwtwithid
        description: Exchange a refresh token for a new JWT.
        call: fusionauth-jwt.exchangerefreshtokenforjwtwithid
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: retrieverefreshtokenswithid
        description: Retrieves the refresh tokens that belong to the user with the given Id.
        call: fusionauth-jwt.retrieverefreshtokenswithid
        with:
          userId: rest.userId
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletejwtrefresh
        description: Revokes refresh tokens using the information in the JSON body. The handling for this method is the same as the revokeRefreshToken method and
        call: fusionauth-jwt.deletejwtrefresh
        with:
          userId: rest.userId
          applicationId: rest.applicationId
          token: rest.token
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/jwt/refresh/{tokenId}
      name: api-jwt-refresh-tokenid
      description: REST surface for api-jwt-refresh-tokenid.
      operations:
      - method: GET
        name: retrieverefreshtokenbyidwithid
        description: Retrieves a single refresh token by unique Id. This is not the same thing as the string value of the refresh token. If you have that, you al
        call: fusionauth-jwt.retrieverefreshtokenbyidwithid
        with:
          tokenId: rest.tokenId
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: revokerefreshtokenbyidwithid
        description: Revokes a single refresh token by the unique Id. The unique Id is not sensitive as it cannot be used to obtain another JWT.
        call: fusionauth-jwt.revokerefreshtokenbyidwithid
        with:
          tokenId: rest.tokenId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/jwt/validate
      name: api-jwt-validate
      description: REST surface for api-jwt-validate.
      operations:
      - method: GET
        name: validatejwtwithid
        description: Validates the provided JWT (encoded JWT string) to ensure the token is valid. A valid access token is properly signed and not expired.  This
        call: fusionauth-jwt.validatejwtwithid
        with: {}
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/jwt/vend
      name: api-jwt-vend
      description: REST surface for api-jwt-vend.
      operations:
      - method: POST
        name: vendjwtwithid
        description: It's a JWT vending machine!  Issue a new access token (JWT) with the provided claims in the request. This JWT is not scoped to a tenant or u
        call: fusionauth-jwt.vendjwtwithid
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: fusionauth-jwt-mcp
    port: 9090
    transport: http
    description: MCP adapter for FusionAuth API — JWT. One tool per consumed operation, routed inline through this capability's consumes block.
    tools:
    - name: fusionauth-issuejwtwithid
      description: Issue a new access token (JWT) for the requested Application after ensuring the provided JWT is valid. A valid access token is properly sign
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fusionauth-jwt.issuejwtwithid
      with:
        applicationId: tools.applicationId
        refreshToken: tools.refreshToken
      outputParameters:
      - type: object
        mapping: $.
    - name: fusionauth-retrievejwtpublickey
      description: 'Retrieves the Public Key configured for verifying the JSON Web Tokens (JWT) issued by the Login API by the Application Id. OR Retrieves the '
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fusionauth-jwt.retrievejwtpublickey
      with:
        applicationId: tools.applicationId
        keyId: tools.keyId
      outputParameters:
      - type: object
        mapping: $.
    - name: fusionauth-reconcilejwtwithid
      description: Reconcile a User to FusionAuth using JWT issued from another Identity Provider.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fusionauth-jwt.reconcilejwtwithid
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fusionauth-exchangerefreshtokenforjwtwithid
      description: Exchange a refresh token for a new JWT.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fusionauth-jwt.exchangerefreshtokenforjwtwithid
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fusionauth-retrieverefreshtokenswithid
      description: Retrieves the refresh tokens that belong to the user with the given Id.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fusionauth-jwt.retrieverefreshtokenswithid
      with:
        userId: tools.userId
      outputParameters:
      - type: object
        mapping: $.
    - name: fusionauth-deletejwtrefresh
      description: Revokes refresh tokens using the information in the JSON body. The handling for this method is the same as the revokeRefreshToken method and
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: fusionauth-jwt.deletejwtrefresh
      with:
        userId: tools.userId
        applicationId: tools.applicationId
        token: tools.token
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: fusionauth-retrieverefreshtokenbyidwithid
      description: Retrieves a single refresh token by unique Id. This is not the same thing as the string value of the refresh token. If you have that, you al
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fusionauth-jwt.retrieverefreshtokenbyidwithid
      with:
        tokenId: tools.tokenId
      outputParameters:
      - type: object
        mapping: $.
    - name: fusionauth-revokerefreshtokenbyidwithid
      description: Revokes a single refresh token by the unique Id. The unique Id is not sensitive as it cannot be used to obtain another JWT.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: fusionauth-jwt.revokerefreshtokenbyidwithid
      with:
        tokenId: tools.tokenId
      outputParameters:
      - type: object
        mapping: $.
    - name: fusionauth-validatejwtwithid
      description: Validates the provided JWT (encoded JWT string) to ensure the token is valid. A valid access token is properly signed and not expired.  This
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: fusionauth-jwt.validatejwtwithid
      with: {}
      outputParameters:
      - type: object
        mapping: $.
    - name: fusionauth-vendjwtwithid
      description: It's a JWT vending machine!  Issue a new access token (JWT) with the provided claims in the request. This JWT is not scoped to a tenant or u
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: fusionauth-jwt.vendjwtwithid
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.