Resourcly bom-comparisons API

The bom-comparisons API from Resourcly — 4 operation(s) for bom-comparisons.

OpenAPI Specification

resourcly-bom-comparisons-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: API for document processing, item similarity search, and analytics.
  title: Resourcly analytics bom-comparisons API
  termsOfService: https://resourcly.com/terms
  contact:
    name: API Support
    email: support@resourcly.com
  license:
    name: Proprietary
  version: 1.0.0
host: api.resourcly.com
basePath: /v1
tags:
- name: bom-comparisons
paths:
  /bom-comparisons:
    get:
      security:
      - BearerAuth: []
      description: Returns a paginated list of BOM comparisons for the authenticated business
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - bom-comparisons
      summary: List BOM comparisons
      parameters:
      - type: integer
        default: 1
        description: Page number
        name: page
        in: query
      - maximum: 100
        type: integer
        default: 20
        description: Items per page
        name: page_size
        in: query
      responses:
        '200':
          description: OK
          schema:
            type: object
            additionalProperties: true
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/models.ErrorResponse'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/models.ErrorResponse'
    post:
      security:
      - BearerAuth: []
      description: Creates and runs a comparison between two BOMs
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - bom-comparisons
      summary: Create BOM comparison
      parameters:
      - description: Comparison request
        name: body
        in: body
        required: true
        schema:
          type: object
      responses:
        '201':
          description: Created
          schema:
            type: object
            additionalProperties: true
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/models.ErrorResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/models.ErrorResponse'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/models.ErrorResponse'
  /bom-comparisons/{id}:
    get:
      security:
      - BearerAuth: []
      description: Returns a comparison with all line-level results
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - bom-comparisons
      summary: Get BOM comparison
      parameters:
      - type: string
        description: Comparison ID
        name: id
        in: path
        required: true
      responses:
        '200':
          description: OK
          schema:
            type: object
            additionalProperties: true
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/models.ErrorResponse'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/models.ErrorResponse'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/models.ErrorResponse'
  /bom-comparisons/{id}/export:
    get:
      security:
      - BearerAuth: []
      description: Generates and returns an XLSX file with the comparison results
      consumes:
      - application/json
      produces:
      - application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
      tags:
      - bom-comparisons
      summary: Export BOM comparison as XLSX
      parameters:
      - type: string
        description: Comparison ID
        name: id
        in: path
        required: true
      responses:
        '200':
          description: OK
          schema:
            type: file
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/models.ErrorResponse'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/models.ErrorResponse'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/models.ErrorResponse'
  /bom-comparisons/{id}/lines:
    get:
      security:
      - BearerAuth: []
      description: Returns paginated, optionally filtered comparison lines with joined BOM line data
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - bom-comparisons
      summary: Get paginated BOM comparison lines
      parameters:
      - type: string
        description: Comparison ID
        name: id
        in: path
        required: true
      - type: string
        description: Filter by match status (matched, added, removed, modified)
        name: match_status
        in: query
      - type: integer
        default: 1
        description: Page number
        name: page
        in: query
      - maximum: 500
        type: integer
        default: 100
        description: Items per page
        name: page_size
        in: query
      responses:
        '200':
          description: OK
          schema:
            type: object
            additionalProperties: true
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/models.ErrorResponse'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/models.ErrorResponse'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/models.ErrorResponse'
definitions:
  models.ErrorResponse:
    type: object
    properties:
      code:
        type: string
      details: {}
      error:
        type: string
securityDefinitions:
  BearerAuth:
    description: 'Firebase JWT token. Format: "Bearer {token}"'
    type: apiKey
    name: Authorization
    in: header