openapi: 3.0.4 info: title: Fulcrum Public Accounting Code Material API version: v1 servers: - url: https://api.fulcrumpro.com tags: - name: Material paths: /api/materials/activate: post: tags: - Material summary: Activate materials based on ids operationId: ActivateMaterial requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/MaterialRequestActivateMaterials' application/json: schema: $ref: '#/components/schemas/MaterialRequestActivateMaterials' text/json: schema: $ref: '#/components/schemas/MaterialRequestActivateMaterials' application/*+json: schema: $ref: '#/components/schemas/MaterialRequestActivateMaterials' required: true responses: '200': description: Activated of materials content: application/json: schema: type: array items: $ref: '#/components/schemas/MaterialShapeDto' application/problem+json: schema: type: array items: $ref: '#/components/schemas/MaterialShapeDto' x-c4-mutation: true x-c4-required-permissions: - ItemsAndInventory-Items-Edit Item /api/materials/{id}: get: tags: - Material summary: 'Get a material. DEPRECATED: use POST /v2/materials/get instead, which accepts the material id in the request body. This endpoint fails for material ids that contain ''/'' characters (e.g. "SS-301-CR 1/2 HD") because ASP.NET Core routing cannot match URL-encoded forward slashes in path segments.' operationId: GetMaterial parameters: - name: id in: path required: true schema: minLength: 1 type: string responses: '200': description: The material for the given id content: application/json: schema: $ref: '#/components/schemas/MaterialShapeDto' application/problem+json: schema: $ref: '#/components/schemas/MaterialShapeDto' '404': description: Material did not exist deprecated: true /api/v2/materials/get: post: tags: - Material summary: 'Get a material by id. Use this endpoint instead of the path-based v1 when your material ids may contain ''/'' characters, which ASP.NET Core routing cannot match once URL-encoded.' operationId: GetMaterialV2 requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/MaterialRequestGetMaterialRequestDto' application/json: schema: $ref: '#/components/schemas/MaterialRequestGetMaterialRequestDto' text/json: schema: $ref: '#/components/schemas/MaterialRequestGetMaterialRequestDto' application/*+json: schema: $ref: '#/components/schemas/MaterialRequestGetMaterialRequestDto' required: true responses: '200': description: The material for the given id content: application/json: schema: $ref: '#/components/schemas/MaterialShapeDto' application/problem+json: schema: $ref: '#/components/schemas/MaterialShapeDto' '404': description: Material did not exist x-c4-required-permissions: - ItemsAndInventory-Items-View Item /api/materials/list: post: tags: - Material summary: Find materials based on search parameters. operationId: ListMaterial parameters: - name: Sort.Field in: query description: Sort field schema: minLength: 1 type: string - name: Sort.Dir in: query description: Sort direction schema: $ref: '#/components/schemas/CommonEnumSortDirectionEnum' - name: Skip in: query description: Number of records to skip. schema: minimum: 0 type: integer format: int32 - name: Take in: query description: Number of records to return (maximum) schema: maximum: 5000 minimum: 0 type: integer format: int32 requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/MaterialRequestFindParameters' application/json: schema: $ref: '#/components/schemas/MaterialRequestFindParameters' text/json: schema: $ref: '#/components/schemas/MaterialRequestFindParameters' application/*+json: schema: $ref: '#/components/schemas/MaterialRequestFindParameters' responses: '200': description: List of materials matching the filters content: application/json: schema: type: array items: $ref: '#/components/schemas/MaterialShapeDto' application/problem+json: schema: type: array items: $ref: '#/components/schemas/MaterialShapeDto' x-c4-required-permissions: - ItemsAndInventory-Items-View Item components: schemas: MaterialRequestActivateMaterials: required: - materialIds type: object properties: materialIds: type: array items: type: string description: Material ids to activate. unit: $ref: '#/components/schemas/FulcrumProductMaterialsFulcrumLengthUnits' additionalProperties: false description: Parameters used for activating materials. MaterialShapeDto: required: - form - id - materialReferenceId - materialReferenceName - name - vendors type: object properties: id: minLength: 1 type: string description: Unique id associated to this entity. active: type: boolean description: Indicates if this material is activated. name: maxLength: 200 minLength: 1 type: string description: Identifying name. form: $ref: '#/components/schemas/CommonEnumMaterialFormEnum' materialReferenceId: minLength: 1 type: string description: Material Id materialReferenceName: maxLength: 200 minLength: 1 type: string description: Material name specification: type: string description: Specification nullable: true subSpecification: type: string description: Sub-specification nullable: true finish: type: string description: Finish nullable: true grade: type: string description: Grade nullable: true dimension: type: string description: Dimension nullable: true type: type: string description: Material type nullable: true version: type: string description: Version nullable: true vendors: type: array items: $ref: '#/components/schemas/MaterialShapeVendorDto' description: Vendors that supply this material. additionalProperties: false description: Material definition. CommonEnumMaterialVendorPriceUnitEnum: enum: - kilogram - pound type: string description: Specifies how a routing input item quantity is measured. MaterialShapeVendorDto: required: - id - isPrimary - priceBreaks - priceUnit - vendorId type: object properties: id: type: string description: Unique id associated to this entity. format: uuid vendorId: maxLength: 24 minLength: 24 type: string description: Vendor identifier. Pelase reference /api/vendors endpoint. isPrimary: type: boolean description: Signifies if this is the primary vendor for this material. currencyCode: type: string description: Currency code/denomination associated to this vendor. nullable: true priceUnit: $ref: '#/components/schemas/CommonEnumMaterialVendorPriceUnitEnum' leadTimeInDays: minimum: 0 type: integer description: Number of days required between order and receipt format: int32 nullable: true priceBreaks: type: array items: $ref: '#/components/schemas/MaterialShapeVendorPriceBreakDto' description: Vendor price breaks additionalProperties: false description: Material vendor definition CommonEnumMaterialFormEnum: enum: - sheet - plate - roundBar - flatBar - channel - squareTube - angle - treadPlate - hexBar - squareBar - teeBar - hBeam - rectTube - pipe - wBeam - sBeam - roundTube - rectBar - wideBar type: string description: Specifies the form of the material. MaterialRequestFindParameters: type: object properties: ids: type: array items: type: string description: Filter materials based on matching ids. nullable: true materials: type: array items: type: string description: Material names. nullable: true grades: type: array items: type: string description: Grades. nullable: true forms: type: array items: $ref: '#/components/schemas/CommonEnumMaterialFormEnum' description: Material forms. nullable: true displayDimensions: type: array items: type: string description: A list of dimension display values to include nullable: true active: type: boolean description: Indicate whether to specifically only pull active materials. If left null, all rows are included. nullable: true additionalProperties: false description: Parameters used for searching/finding materials. FulcrumProductMaterialsFulcrumLengthUnits: enum: - inch - foot - yard - millimeter - centimeter - meter type: string CommonEnumSortDirectionEnum: enum: - ascending - descending type: string description: Specify sorting direction. MaterialShapeVendorPriceBreakDto: required: - id - price - quantity type: object properties: id: type: string description: Unique id associated to this entity. format: uuid quantity: minimum: 0 type: integer description: The minimum quantity to associate this price break to. format: int32 price: type: number description: The price per unit. format: double additionalProperties: false description: Vendor prices breaks for a material shape. MaterialRequestGetMaterialRequestDto: required: - id type: object properties: id: minLength: 1 type: string description: Unique id of the material to retrieve. additionalProperties: false description: 'Request parameters for looking up a single material by id. Introduced for the v2 endpoint because material ids may contain ''/'' characters, which cannot be round-tripped through URL path segments.' securitySchemes: bearer: type: http description: Your API bearer token generated in System Data > Advanced > Public API Setup scheme: bearer bearerFormat: JWT x-tagGroups: - name: Accounting Code tags: - Accounting Code - name: Attachment tags: - Attachment - Attachment Certification - name: Auth tags: - Auth - name: CAPAs tags: - CAPAs - name: Chart Of Accounts tags: - Chart Of Accounts - name: Company Info tags: - Company Info - name: Custom Field tags: - Custom Field - name: Customer tags: - Customer - Customer Address - Customer Contact - name: Customer Tier tags: - Customer Tier - name: Department tags: - Department - name: Equipment tags: - Equipment - name: Gauge Code tags: - Gauge Code - name: Grade Code tags: - Grade Code - name: InProcessTrackingFieldType tags: - InProcessTrackingFieldType - name: Inventory tags: - Inventory - name: Inventory Event tags: - Inventory Event - Inventory Event Details - name: Inventory Lot tags: - Inventory Lot - name: Inventory Transactions tags: - Inventory Transactions - name: Invoice tags: - Invoice - Invoice Deposit Adjustment Line Item - Invoice Deposit Line Item - Invoice Discount Line Item - Invoice Fee Line Item - Invoice Line Item - Invoice Note - Invoice Part Line Item - Invoice Refund Line Item - Invoice Shipping Charge Line Item - Invoice Tax Line Item - name: Item tags: - Item - Item Custom Fields - Item Customer - Item Material Vendor - Item PriceBreaks - Item Routing - Item Vendor - name: Item Category tags: - Item Category - name: Item Class tags: - Item Class - name: Item Tag tags: - Item Tag - name: Job tags: - Job - Job Custom Fields - Job Full Routing - Job Part Line Item Full Routing - Job Item To Make - Job Item To Make Operation - Job Operation - name: Job Tracking Timers tags: - Job Tracking Timers - name: Location tags: - Location - name: Material tags: - Material - Material Vendor - name: Material Code tags: - Material Code - name: NCRs tags: - NCRs - name: Note tags: - Note - name: Operation tags: - Operation - name: Payment Term tags: - Payment Term - name: Purchase Order tags: - Purchase Order - Purchase Order Custom Fields - Purchase Order Discount Line Item - Purchase Order Fee Line Item - Purchase Order Line Item - Purchase Order Outside Processing Line Item - Purchase Order Part Line Item - Purchase Order Tax Line Item - Purchase Order Vendor Credit Line Item - name: Quote tags: - Quote - Quote Custom Fields - Quote Discount Line Item - Quote Fee Line Item - Quote Part Line Item - Quote Part Line Item Custom Fields - Quote Part Line Item Full Routing - Quote Tax Line Item - name: Receiving tags: - Receiving Receipt - Receiving Receipt Line Item - name: Refund Reason Code tags: - Refund Reason Code - name: Reporting tags: - Reporting - name: Sales Order tags: - Sales Order - Sales Order Blanket Line Item - Sales Order Custom Fields - Sales Order Discount Line Item - Sales Order Fee Line Item - Sales Order Line Item - Sales Order Part Line Item - Sales Order Part Line Item Custom Fields - Sales Order Part Line Item Full Routing - Sales Order Refund Line Item - Sales Order Shipping Charge Line Item - Sales Order Tax Line Item - name: ScrapReport tags: - ScrapReport - name: Shape Code tags: - Shape Code - name: Shipment Line Items (V3) tags: - Shipment Line Items (V3) - name: Shipment tags: - Shipment Custom Fields - name: Shipments tags: - Shipments - name: Shipping Method tags: - Shipping Method - name: Tag tags: - Tag - name: Tax Rate tags: - Tax Rate - name: Time Clock Timers tags: - Time Clock Timers - name: Timer tags: - Timer - name: User tags: - User - User Status - name: Vendor tags: - Vendor - Vendor Address - Vendor Contact - name: Work Order tags: - Work Order - name: WorkCenter tags: - WorkCenter