Autodesk · Arazzo Workflow

Autodesk Two-Legged Token Lifecycle

Version 1.0.0

Mint a client-credentials access token, verify its scopes, and revoke it.

1 workflow 1 source API 1 provider
View Spec View on GitHub Fortune 10003D ModelingArchitectureBIMCADConstructionDesignDigital TwinsEngineeringManufacturingMedia and EntertainmentSustainabilityArazzoWorkflows

Provider

autodesk

Workflows

two-legged-token-lifecycle
Obtain, introspect, and revoke a two-legged APS access token.
Requests an access token using the client_credentials grant, introspects it to verify that it is active and was granted the requested scopes, and then revokes it so the credential cannot be replayed.
3 steps inputs: clientId, clientSecret, scope outputs: accessToken, effectiveScope, expiresAt
1
mintToken
Request an access token with the client_credentials grant. Two-legged tokens represent the application itself, not an end user.
2
verifyToken
Introspect the freshly minted token to confirm it is active and to read back the scopes and expiry the authorization server actually granted, which may be narrower than what was requested.
3
revokeAccessToken
Revoke the access token once the work is complete so it cannot be reused if it leaks from logs or a crash dump.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Autodesk Two-Legged Token Lifecycle
  summary: Mint a client-credentials access token, verify its scopes, and revoke it.
  description: >-
    Every Autodesk Platform Services (APS) integration starts here. Server-to-server
    applications mint a two-legged access token with the client credentials grant,
    confirm the token is active and carries the scopes the application expects, and
    revoke it when the work is done rather than leaving a long-lived credential in
    circulation. Every step spells out its request inline so the flow can be read and
    executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: tokenApi
  url: ../openapi/autodesk-token-api-openapi.yml
  type: openapi
workflows:
- workflowId: two-legged-token-lifecycle
  summary: Obtain, introspect, and revoke a two-legged APS access token.
  description: >-
    Requests an access token using the client_credentials grant, introspects it to
    verify that it is active and was granted the requested scopes, and then revokes
    it so the credential cannot be replayed.
  inputs:
    type: object
    required:
    - clientId
    - clientSecret
    - scope
    properties:
      clientId:
        type: string
        description: The Client ID of your APS application.
      clientSecret:
        type: string
        description: The Client Secret of your APS application.
      scope:
        type: string
        description: >-
          Space-separated list of scopes to request (e.g. "data:read data:write
          bucket:create").
  steps:
  - stepId: mintToken
    description: >-
      Request an access token with the client_credentials grant. Two-legged tokens
      represent the application itself, not an end user.
    operationId: getToken
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        grant_type: client_credentials
        client_id: $inputs.clientId
        client_secret: $inputs.clientSecret
        scope: $inputs.scope
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      accessToken: $response.body#/access_token
      tokenType: $response.body#/token_type
      expiresIn: $response.body#/expires_in
      grantedScope: $response.body#/scope
  - stepId: verifyToken
    description: >-
      Introspect the freshly minted token to confirm it is active and to read back
      the scopes and expiry the authorization server actually granted, which may be
      narrower than what was requested.
    operationId: introspectToken
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        token: $steps.mintToken.outputs.accessToken
        client_id: $inputs.clientId
        client_secret: $inputs.clientSecret
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $.active == true
      type: jsonpath
    outputs:
      active: $response.body#/active
      effectiveScope: $response.body#/scope
      expiresAt: $response.body#/exp
      issuedToClient: $response.body#/client_id
  - stepId: revokeAccessToken
    description: >-
      Revoke the access token once the work is complete so it cannot be reused if
      it leaks from logs or a crash dump.
    operationId: revokeToken
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        token: $steps.mintToken.outputs.accessToken
        token_type_hint: access_token
        client_id: $inputs.clientId
        client_secret: $inputs.clientSecret
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      revoked: $statusCode
  outputs:
    accessToken: $steps.mintToken.outputs.accessToken
    effectiveScope: $steps.verifyToken.outputs.effectiveScope
    expiresAt: $steps.verifyToken.outputs.expiresAt

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow 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 workflow
curl "https://apis.io/api/v1/arazzo/autodesk-two-legged-token-lifecycle-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?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.