> ## 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.

# Public service detail by canonical or historical slug

> Returns an allowlisted detail for an active service. Historical slugs redirect to the canonical path.



## OpenAPI

````yaml https://raw.githubusercontent.com/prefeitura-rio/app-catalogo/refs/heads/main/docs/openapi-v3.json get /api/public/services/{slug}
openapi: 3.0.0
info:
  contact:
    name: Prefeitura do Rio de Janeiro
    url: https://github.com/prefeitura-rio/app-catalogo
  description: >-
    Discovery layer unificada da Prefeitura do Rio de Janeiro. Indexa serviços
    públicos, cursos, vagas e oportunidades MEI com busca full-text e
    recomendação personalizada por perfil de cidadão.
  title: app-catalogo
  version: '1.0'
servers:
  - url: https://services.staging.app.dados.rio/catalogo
    description: Staging
  - url: https://services.pref.rio/catalogo
    description: Produção
security: []
paths:
  /api/public/services/{slug}:
    get:
      tags:
        - catálogo
      summary: Public service detail by canonical or historical slug
      description: >-
        Returns an allowlisted detail for an active service. Historical slugs
        redirect to the canonical path.
      parameters:
        - description: Canonical or historical service slug
          in: path
          name: slug
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/models.PublicServiceDetail'
          description: OK
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '308':
          description: Permanent Redirect
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '400':
          content:
            application/json:
              schema:
                additionalProperties:
                  type: string
                type: object
          description: Bad Request
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '404':
          content:
            application/json:
              schema:
                additionalProperties:
                  type: string
                type: object
          description: Not Found
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                additionalProperties:
                  type: string
                type: object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
components:
  schemas:
    models.PublicServiceDetail:
      properties:
        actions:
          items:
            $ref: '#/components/schemas/models.PublicServiceAction'
          type: array
        author:
          type: string
        category:
          type: string
        cost:
          type: string
        description:
          type: string
        digital_channels:
          items:
            type: string
          type: array
        exclusions:
          type: string
        featured:
          type: boolean
        historical_slugs:
          items:
            type: string
          type: array
        id:
          format: uuid
          type: string
        in_person_channels:
          items:
            type: string
          type: array
        is_free:
          type: boolean
        managing_organizations:
          items:
            type: string
          type: array
        published_at:
          format: date-time
          type: string
        related_legislation:
          items:
            type: string
          type: array
        request_instructions:
          type: string
        request_outcome:
          type: string
        required_documents:
          items:
            type: string
          type: array
        service_time:
          type: string
        slug:
          type: string
        source_id:
          type: string
        source_updated_at:
          format: date-time
          type: string
        subcategory:
          type: string
        summary:
          type: string
        target_audiences:
          items:
            type: string
          type: array
        title:
          type: string
      required:
        - actions
        - digital_channels
        - featured
        - historical_slugs
        - id
        - in_person_channels
        - is_free
        - managing_organizations
        - related_legislation
        - required_documents
        - slug
        - source_id
        - target_audiences
        - title
      type: object
    models.PublicServiceAction:
      properties:
        description:
          type: string
        order:
          type: integer
        title:
          type: string
        url:
          format: uri
          type: string
      required:
        - order
        - title
        - url
      type: object
  headers:
    X-Request-ID:
      description: Canonical UUID used to correlate the response with application logs.
      schema:
        format: uuid
        type: string

````