> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dados.rio/llms.txt
> Use this file to discover all available pages before exploring further.

# Compara duas versões de um serviço

> Retorna as diferenças entre duas versões



## OpenAPI

````yaml https://raw.githubusercontent.com/prefeitura-rio/app-busca-search/refs/heads/main/docs/openapi-v3.json get /api/v1/admin/services/{id}/versions/compare
openapi: 3.0.0
info:
  description: >-
    API para busca textual e vetorial usando Typesense e embeddings gerados via
    Google Gemini
  title: Mecanismo de Busca API
  termsOfService: http://swagger.io/terms/
  contact:
    name: Prefeitura do Rio de Janeiro
    url: https://prefeitura.rio
    email: contato@prefeitura.rio
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: '1.0'
servers:
  - url: https://services.pref.rio/app-busca-search
    description: Production server
  - url: https://services.staging.app.dados.rio/app-busca-search
    description: Staging server
security: []
paths:
  /api/v1/admin/services/{id}/versions/compare:
    get:
      tags:
        - versions
      summary: Compara duas versões de um serviço
      description: Retorna as diferenças entre duas versões
      parameters:
        - description: ID do serviço
          name: id
          in: path
          required: true
          schema:
            type: string
        - description: Versão de origem
          name: from_version
          in: query
          required: true
          schema:
            type: integer
        - description: Versão de destino
          name: to_version
          in: query
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.VersionDiff'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
      security:
        - bearerAuth: []
components:
  schemas:
    models.VersionDiff:
      type: object
      properties:
        change_type:
          type: string
        changed_at:
          type: integer
        changed_by:
          type: string
        changes:
          type: array
          items:
            $ref: '#/components/schemas/models.FieldChange'
        from_version:
          type: integer
        to_version:
          type: integer
    models.FieldChange:
      type: object
      properties:
        field_name:
          type: string
          maxLength: 20000
        new_value: {}
        old_value: {}
        value_type:
          description: '"string", "int", "bool", "array", "object"'
          type: string
          maxLength: 20000
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````