Autodesk · Arazzo Workflow

Autodesk Define a Shared Parameter in a Collection

Version 1.0.0

Resolve valid specs, create a collection and group, define a parameter, and read it back.

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

Provider

autodesk

Workflows

define-shared-parameter
Create a parameter collection, group, and parameter definition.
Lists the available spec types, creates a collection, creates a group inside it, defines a parameter against a spec and group, and reads the parameter back to confirm its GUID.
5 steps inputs: accountId, categories, collectionDescription, collectionName, disciplines, groupDescription, groupName, parameterDescription, parameterName, specId outputs: collectionId, groupId, guid, parameterId
1
listSpecs
List the available spec types. A parameter's spec is an id, not a friendly name like "length", so it has to be resolved before a definition can be created.
2
createParameterCollection
Create the collection that scopes this set of parameters. Collections are the unit products subscribe to, so one per standard rather than one per project.
3
createParameterGroup
Create a group within the collection. Groups are how a large standard stays navigable once it holds hundreds of parameters.
4
defineParameter
Define the parameter against the resolved spec and group, bound to the categories and disciplines it applies to. Instance parameters vary per placed element; type parameters vary per family type.
5
confirmParameter
Read the parameter back to confirm the definition and capture its GUID, which is the identifier that follows the parameter into every model that consumes the collection.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Autodesk Define a Shared Parameter in a Collection
  summary: Resolve valid specs, create a collection and group, define a parameter, and read it back.
  description: >-
    Standing up a standards library that stays synchronized across Autodesk products
    instead of living in a shared parameters text file that every office copies and
    drifts from. The workflow resolves the valid spec types, creates the collection
    that scopes the standard, adds a group to organize it, defines a parameter bound
    to categories and disciplines, and reads it back to capture the GUID that
    identifies it everywhere it is used. The spec is resolved first because it is an id
    and cannot be guessed from a friendly type name. 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: collectionsApi
  url: ../openapi/autodesk-collections-api-openapi.yml
  type: openapi
- name: groupsApi
  url: ../openapi/autodesk-groups-api-openapi.yml
  type: openapi
- name: metadataApi
  url: ../openapi/autodesk-metadata-api-openapi.yml
  type: openapi
- name: parametersApi
  url: ../openapi/autodesk-parameters-api-openapi.yml
  type: openapi
workflows:
- workflowId: define-shared-parameter
  summary: Create a parameter collection, group, and parameter definition.
  description: >-
    Lists the available spec types, creates a collection, creates a group inside it,
    defines a parameter against a spec and group, and reads the parameter back to
    confirm its GUID.
  inputs:
    type: object
    required:
    - accountId
    - collectionName
    - groupName
    - parameterName
    - specId
    properties:
      accountId:
        type: string
        description: >-
          The Autodesk account id (the hub id without the "b." prefix).
      collectionName:
        type: string
        description: Name of the parameter collection to create.
      collectionDescription:
        type: string
        description: What standard this collection represents.
      groupName:
        type: string
        description: Name of the group organizing the parameters.
      groupDescription:
        type: string
        description: What the group covers.
      parameterName:
        type: string
        description: Name of the parameter being defined.
      parameterDescription:
        type: string
        description: What the parameter records.
      specId:
        type: string
        description: >-
          The spec (data type) id the parameter uses, taken from the resolved spec
          list (e.g. a length, area, or text spec).
      categories:
        type: array
        description: Revit category ids the parameter binds to.
        items:
          type: string
      disciplines:
        type: array
        description: Discipline ids the parameter is classified under.
        items:
          type: string
  steps:
  - stepId: listSpecs
    description: >-
      List the available spec types. A parameter's spec is an id, not a friendly name
      like "length", so it has to be resolved before a definition can be created.
    operationId: getSpecs
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      specs: $response.body#/results
      firstSpecId: $response.body#/results/0/id
  - stepId: createParameterCollection
    description: >-
      Create the collection that scopes this set of parameters. Collections are the
      unit products subscribe to, so one per standard rather than one per project.
    operationId: createCollection
    parameters:
    - name: accountId
      in: path
      value: $inputs.accountId
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.collectionName
        description: $inputs.collectionDescription
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      collectionId: $response.body#/id
      collectionName: $response.body#/name
      createdAt: $response.body#/createdAt
  - stepId: createParameterGroup
    description: >-
      Create a group within the collection. Groups are how a large standard stays
      navigable once it holds hundreds of parameters.
    operationId: createGroup
    parameters:
    - name: accountId
      in: path
      value: $inputs.accountId
    - name: collectionId
      in: path
      value: $steps.createParameterCollection.outputs.collectionId
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.groupName
        description: $inputs.groupDescription
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      groupId: $response.body#/id
      groupName: $response.body#/name
  - stepId: defineParameter
    description: >-
      Define the parameter against the resolved spec and group, bound to the
      categories and disciplines it applies to. Instance parameters vary per placed
      element; type parameters vary per family type.
    operationId: createParameter
    parameters:
    - name: accountId
      in: path
      value: $inputs.accountId
    - name: collectionId
      in: path
      value: $steps.createParameterCollection.outputs.collectionId
    requestBody:
      contentType: application/json
      payload:
        name: $inputs.parameterName
        description: $inputs.parameterDescription
        specId: $inputs.specId
        groupId: $steps.createParameterGroup.outputs.groupId
        isInstance: true
        categories: $inputs.categories
        disciplines: $inputs.disciplines
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      parameterId: $response.body#/id
      guid: $response.body#/guid
      specId: $response.body#/specId
  - stepId: confirmParameter
    description: >-
      Read the parameter back to confirm the definition and capture its GUID, which is
      the identifier that follows the parameter into every model that consumes the
      collection.
    operationId: getParameter
    parameters:
    - name: accountId
      in: path
      value: $inputs.accountId
    - name: collectionId
      in: path
      value: $steps.createParameterCollection.outputs.collectionId
    - name: parameterId
      in: path
      value: $steps.defineParameter.outputs.parameterId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      parameterId: $response.body#/id
      name: $response.body#/name
      guid: $response.body#/guid
      specId: $response.body#/specId
      isInstance: $response.body#/isInstance
      categories: $response.body#/categories
  outputs:
    collectionId: $steps.createParameterCollection.outputs.collectionId
    groupId: $steps.createParameterGroup.outputs.groupId
    parameterId: $steps.confirmParameter.outputs.parameterId
    guid: $steps.confirmParameter.outputs.guid

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-parameters-collection-setup-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.