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

# Listar plataformas

> Retorna hosts suportados e capacidades. Requer API key válida (sem escopo específico).
Resposta cacheável por 5 minutos (Cache-Control).
YouTube não é suportado na prática, mesmo que apareça na lista de extratores yt-dlp.




## OpenAPI

````yaml /openapi.yaml get /platforms
openapi: 3.1.0
info:
  title: Shappire Media API
  version: 1.0.0
  description: >
    API pública para resolver metadados de mídia e enfileirar downloads
    assíncronos.


    - Base URL produção: `https://api.shappire.tools/v1`

    - Autenticação: `X-API-Key` (recomendado) ou `Authorization: Bearer`

    - Envelope de sucesso: `{ "data": ... }`

    - Envelope de erro: `{ "error": { "code", "message", "request_id" } }`

    - YouTube não é suportado (bloqueio de IP de servidor)
servers:
  - url: https://api.shappire.tools/v1
    description: Production
  - url: http://localhost:8080/v1
    description: Local development
security:
  - ApiKeyAuth: []
  - BearerAuth: []
tags:
  - name: Health
    description: Status da API
  - name: Platforms
    description: Plataformas suportadas
  - name: Media
    description: Resolução e download de mídia
  - name: Jobs
    description: Consulta de jobs assíncronos
paths:
  /platforms:
    get:
      tags:
        - Platforms
      summary: Listar plataformas
      description: >
        Retorna hosts suportados e capacidades. Requer API key válida (sem
        escopo específico).

        Resposta cacheável por 5 minutos (Cache-Control).

        YouTube não é suportado na prática, mesmo que apareça na lista de
        extratores yt-dlp.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Platform'
        '401':
          description: Invalid or revoked API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorEnvelope'
components:
  schemas:
    Platform:
      type: object
      properties:
        id:
          type: string
          example: tiktok
        name:
          type: string
          example: TikTok
        capabilities:
          type: array
          items:
            type: string
            enum:
              - video
              - audio
              - image
              - metadata
        source:
          type: string
          enum:
            - native
            - yt-dlp
    ErrorEnvelope:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              description: Código estável para lógica do integrador
            message:
              type: string
              description: Mensagem legível (inglês)
            request_id:
              type: string
              description: ID de correlação — também em header X-Request-Id
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        Chave de API no formato shp_live_... (produção) ou shp_test_...
        (desenvolvimento)
    BearerAuth:
      type: http
      scheme: bearer
      description: Alternativa compatível — envie a chave como Bearer token

````