Resourcly suppliers API

The suppliers API from Resourcly — 4 operation(s) for suppliers.

OpenAPI Specification

resourcly-suppliers-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: API for document processing, item similarity search, and analytics.
  title: Resourcly analytics suppliers 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: suppliers
paths:
  /suppliers/import:
    post:
      security:
      - BearerAuth: []
      description: Start an async import of supplier catalog files (ZIP, XML, XLSX) from data sources
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - suppliers
      summary: Import supplier catalog
      parameters:
      - description: Import parameters
        name: body
        in: body
        required: true
        schema:
          $ref: '#/definitions/handlers.ImportRequest'
      responses:
        '202':
          description: Accepted
          schema:
            $ref: '#/definitions/handlers.ImportResponse'
        '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'
  /suppliers/{id}/media/{filename}:
    get:
      security:
      - BearerAuth: []
      description: Streams a media file (image, PDF, CAD) from the supplier's media asset ZIP
      produces:
      - application/octet-stream
      tags:
      - suppliers
      summary: Get supplier media file
      parameters:
      - type: string
        description: Supplier UUID
        name: id
        in: path
        required: true
      - type: string
        description: Media filename (e.g., 09990000001.jpg)
        name: filename
        in: path
        required: true
      responses:
        '200':
          description: OK
          schema:
            type: file
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/models.ErrorResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/models.ErrorResponse'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/models.ErrorResponse'
  /suppliers/{id}/products:
    get:
      security:
      - BearerAuth: []
      description: Returns paginated list of products for a supplier
      produces:
      - application/json
      tags:
      - suppliers
      summary: List supplier products
      parameters:
      - type: string
        description: Supplier UUID
        name: id
        in: path
        required: true
      - type: integer
        description: Max results (default 50, max 500)
        name: limit
        in: query
      - type: integer
        description: Pagination offset
        name: offset
        in: query
      - type: string
        description: 'Filter by status: active, orphaned (default active)'
        name: status
        in: query
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/handlers.SupplierProductsResponse'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/models.ErrorResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/models.ErrorResponse'
  /suppliers/{id}/products/count:
    get:
      security:
      - BearerAuth: []
      description: Returns the number of active products for a supplier
      produces:
      - application/json
      tags:
      - suppliers
      summary: Get supplier product count
      parameters:
      - type: string
        description: Supplier UUID
        name: id
        in: path
        required: true
      responses:
        '200':
          description: OK
          schema:
            type: object
            additionalProperties:
              type: integer
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/models.ErrorResponse'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/models.ErrorResponse'
definitions:
  handlers.SupplierProductsResponse:
    type: object
    properties:
      limit:
        type: integer
      offset:
        type: integer
      products:
        type: array
        items:
          $ref: '#/definitions/services.SupplierProduct'
      total:
        type: integer
  handlers.ImportRequest:
    type: object
    properties:
      business_node_id:
        type: string
      classification_system:
        description: e.g., "ETIM", "ECLASS"
        type: string
      datasource_keys:
        type: array
        items:
          type: string
      language:
        type: string
      supplier_name:
        type: string
  models.ErrorResponse:
    type: object
    properties:
      code:
        type: string
      details: {}
      error:
        type: string
  services.SupplierProduct:
    type: object
    properties:
      classification_class_id:
        type: string
      classification_class_name:
        type: string
      classification_system:
        type: string
      description_short:
        type: string
      gtin:
        type: string
      id:
        type: string
      manufacturer_name:
        type: string
      manufacturer_pid:
        type: string
      media_references: {}
      specifications: {}
      status:
        type: string
      supplier_alt_pid:
        type: string
      supplier_id:
        type: string
      supplier_pid:
        type: string
      title:
        type: string
  handlers.ImportResponse:
    type: object
    properties:
      import_job_id:
        type: string
      message:
        type: string
      supplier_id:
        type: string
securityDefinitions:
  BearerAuth:
    description: 'Firebase JWT token. Format: "Bearer {token}"'
    type: apiKey
    name: Authorization
    in: header