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

# Llistar microserveis d'una organització

> Retorna un llistat paginat de microserveis visibles per a l'organització objectiu (pròpia o delegada segons els permisos del cridant), enriquit amb l'estat d'habilitació i la configuració associada quan existeixi. La resolució d'habilitació es realitza estrictament amb l'organization_id enviat en el camí.



## OpenAPI

````yaml /ca/api-reference/openapi.ca-v1.json get /v1/organizations/{organization_id}/microservices
openapi: 3.0.3
info:
  title: API Publica Portal
  version: 1.0.0
  description: API pública REST per al portal
servers:
  - url: https://api.flexxible.net
    description: Portal API (production)
security:
  - bearerAuth: []
tags: []
paths:
  /v1/organizations/{organization_id}/microservices:
    get:
      tags:
        - Microserveis
      summary: Llistar microserveis d'una organització
      description: >-
        Retorna un llistat paginat de microserveis visibles per a l'organització
        objectiu (pròpia o delegada segons els permisos del cridant), enriquit
        amb l'estat d'habilitació i la configuració associada quan existeixi. La
        resolució d'habilitació es realitza estrictament amb l'organization_id
        enviat en el camí.
      operationId: get_microservices
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            pattern: ^[0-9a-f]{24}$
            minLength: 24
            maxLength: 24
          description: >-
            Identificador de l'organització objectiu sobre la qual es consulta
            el catàleg; l'habilitació es verifica contra aquest mateix
            identificador.
          example: 507f1f77bcf86cd799439011
        - name: Accept-Language
          in: header
          required: false
          schema:
            type: string
            default: es-ES
            maxLength: 10
          description: >-
            Idioma per resoldre els camps multilingües de la resposta a un únic
            valor per camp.
          example: es-ES
        - name: page
          in: query
          required: false
          schema:
            type: integer
            default: 1
            minimum: 1
          description: Número de pàgina.
        - name: per_page
          in: query
          required: false
          schema:
            type: integer
            default: 100
            maximum: 100
            minimum: 1
          description: Quantitat d'elements per pàgina.
        - name: fields
          in: query
          required: false
          schema:
            type: string
            maxLength: 2048
          description: Camps de resposta a incloure, separats per comes.
        - name: filters
          in: query
          required: false
          schema:
            type: string
            maxLength: 5120
          description: Expressió JSON de filtres sobre camps filtrables del recurs.
          examples:
            simple:
              summary: Filtre simple per nom
              value: '{"field":"name","op":"contains","value":"backup"}'
            complex-and:
              summary: Filtre compost amb AND
              value: >-
                {"and":[{"field":"type","op":"eq","value":"standard"},{"field":"context","op":"eq","value":"organization"}]}
            complex-or-and:
              summary: Filtre compost amb OR i AND
              value: >-
                {"and":[{"or":[{"field":"category","op":"eq","value":"security"},{"field":"category","op":"eq","value":"automation"}]},{"field":"name","op":"contains","value":"agent"}]}
      responses:
        '200':
          description: Microserveis recuperats correctament.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMicroservicesResponseV1'
              examples:
                resultado_con_datos:
                  summary: Llistat amb resultats
                  value:
                    has_next: false
                    data:
                      - id: 65f0d9f2b3c4d5e6f7080911
                        organization_id: 507f1f77bcf86cd799439011
                        name: Antivirus Scan
                        description: Escaneo programado de antivirus
                        category: security
                        created_at: '2026-05-15T10:00:00Z'
                        archived_at: null
                        type: standard
                        context: organization
                        is_ai_enhanced: false
                        enabled: true
                        enabled_configuration:
                          enabled_at: '2026-05-15T10:30:00Z'
                          efficiency: 95
                          workspace_group_execution: l1
                          individual_execution: l3
                          end_user_execution_workspace_group_ids:
                            - 65f0d9f2b3c4d5e6f7080931
                            - 65f0d9f2b3c4d5e6f7080932
                      - id: 65f0d9f2b3c4d5e6f7080912
                        organization_id: 507f1f77bcf86cd799439011
                        name: Patch Baseline
                        description: Control de parches pendientes
                        category: maintenance
                        created_at: '2026-05-16T12:00:00Z'
                        archived_at: null
                        type: standard
                        context: organization
                        is_ai_enhanced: true
                        enabled: false
                        enabled_configuration: null
        '400':
          description: Paràmetres de sol·licitud invàlids.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                filters_invalido:
                  summary: Format de filtres invàlid
                  value:
                    error:
                      message: Formato de filtros inválido
                      code: bad_request
                      details: El parámetro filters debe ser una cadena JSON válida.
        '401':
          description: No autoritzat o sense accés a l'organització.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                organization_not_authorized:
                  summary: Accés a organització no autoritzat
                  value:
                    error:
                      message: No autorizado
                      code: unauthorized
        '404':
          description: >-
            No s'ha trobat el recurs sol·licitat dins l'abast autoritzat de
            l'organització.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                resource_not_found:
                  summary: Recurs no trobat
                  value:
                    error:
                      message: No encontrado
                      code: not_found
        '500':
          description: Error intern del servidor.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unexpected_error:
                  summary: Error inesperat
                  value:
                    error:
                      message: Error interno del servidor
                      code: internal_error
components:
  schemas:
    GetMicroservicesResponseV1:
      type: object
      properties:
        has_next:
          type: boolean
          description: Indica si existeix una pàgina següent.
        data:
          type: array
          items:
            $ref: '#/components/schemas/MicroserviceItemV1'
      required:
        - has_next
        - data
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            code:
              type: string
            details:
              type: string
          required:
            - message
            - code
      required:
        - error
    MicroserviceItemV1:
      type: object
      properties:
        id:
          type: string
          pattern: ^[0-9a-f]{24}$
          minLength: 24
          maxLength: 24
          description: Identificador del microservei.
        organization_id:
          type: string
          pattern: ^[0-9a-f]{24}$
          minLength: 24
          maxLength: 24
          description: Identificador de l'organització associada al microservei.
        name:
          type: string
          description: Nom del microservei resolt en l'idioma sol·licitat.
        description:
          type: string
          description: Descripció del microservei resolta en l'idioma sol·licitat.
        category:
          type: string
          description: Categoria del microservei resolta en l'idioma sol·licitat.
        created_at:
          type: string
          format: date-time
          description: Data i hora de creació del microservei.
        archived_at:
          type: string
          format: date-time
          nullable: true
          description: Data i hora de l'arxiu, quan sigui aplicable.
        type:
          type: string
          enum:
            - standard
            - condition
          nullable: true
          description: Tipus funcional del microservei.
        context:
          type: string
          nullable: true
          description: Context de visibilitat del microservei.
        is_ai_enhanced:
          type: boolean
          nullable: true
          description: Indica si el microservei té capacitats de IA habilitades.
        enabled:
          type: boolean
          description: Indica si el microservei està habilitat per a l'organització.
        enabled_configuration:
          type: object
          nullable: true
          description: Configuració habilitada del microservei per a l'organització.
          properties:
            enabled_at:
              type: string
              format: date-time
              nullable: true
              description: Data i hora en què es va habilitar la configuració.
            efficiency:
              type: number
              description: Valor d'eficiència de la configuració habilitada.
            workspace_group_execution:
              type: string
              enum:
                - l1
                - l2
                - l3
              description: Mode d'execució per grups de workspace.
            individual_execution:
              type: string
              enum:
                - l1
                - l2
                - l3
              description: Mode d'execució individual.
            end_user_execution_workspace_group_ids:
              type: array
              items:
                type: string
                pattern: ^[0-9a-f]{24}$
                minLength: 24
                maxLength: 24
              description: >-
                Identificadors de grups de workspace habilitats per a execució
                d'usuari final.
          required:
            - enabled_at
            - efficiency
            - workspace_group_execution
            - individual_execution
            - end_user_execution_workspace_group_ids
      required:
        - id
        - organization_id
        - name
        - description
        - category
        - created_at
        - archived_at
        - type
        - context
        - is_ai_enhanced
        - enabled
        - enabled_configuration
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````