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

# Vérifier une clé

> Renvoie le workspace visé par la clé présentée. C’est le point de test d’une intégration : une réponse 200 signifie que la clé est valide et qu’elle vise CE workspace.

<Warning>
  **L'API n'est pas encore ouverte.** `api.spottracker.fr` n'est pas déployé à
  ce jour : le bouton **Try it** de cette page ne peut joindre aucun serveur et
  répondra `An error occurred while making the request: no response received`.

  Les exemples de requête et de réponse ci-dessous sont générés depuis le code
  du back et décrivent fidèlement ce que l'API renverra — ils restent la
  référence en attendant l'ouverture.
</Warning>

Le point de test d'une intégration : cette route confirme que la clé est valide et indique quel workspace elle vise, sans renvoyer la moindre donnée métier.

<Card title="Première fois ? Commencez par l'authentification" icon="key" href="/api/v1/demarrer/authentification" horizontal>
  Chaque appel porte votre clé dans l'en-tête `Authorization`, schéma `Bearer`.
</Card>


## OpenAPI

````yaml openapi.json GET /v1/me
openapi: 3.0.0
info:
  title: API publique SpotTracker
  description: >-
    API de lecture des entreprises identifiées sur votre site, de leurs contacts
    et des leads qualifiés. Incluse à partir de l'offre Growth.
  version: '1'
  contact: {}
servers:
  - url: https://api.spottracker.fr
    description: Production
security: []
tags: []
paths:
  /v1/me:
    get:
      tags:
        - API publique
      summary: Vérifier une clé
      description: >-
        Renvoie le workspace visé par la clé présentée. C’est le point de test
        d’une intégration : une réponse 200 signifie que la clé est valide et
        qu’elle vise CE workspace.
      operationId: getMe
      parameters: []
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicMeDto'
        '401':
          description: >-
            Clé absente, invalide, révoquée, offre insuffisante ou workspace
            suspendu. Ces cas répondent à l’identique, volontairement :
            distinguer les motifs renseignerait un attaquant qui balaye des
            clés.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorDto'
              example:
                statusCode: 401
                message: Clé d’API invalide.
                error: UNAUTHORIZED
                path: /v1/me
                timestamp: '2026-08-25T14:32:07.412Z'
        '404':
          description: Workspace introuvable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorDto'
              example:
                statusCode: 404
                message: Workspace introuvable.
                error: NOT_FOUND
                path: /v1/me
                timestamp: '2026-08-25T14:32:07.412Z'
        '429':
          description: >-
            Limite de débit atteinte pour cette clé. L’en-tête `Retry-After`
            indique le nombre de secondes avant la prochaine fenêtre.
          headers:
            Retry-After:
              description: Secondes à attendre avant la prochaine fenêtre.
              schema:
                type: integer
                example: 37
            X-RateLimit-Limit:
              description: Requêtes autorisées par fenêtre d’une minute.
              schema:
                type: integer
                example: 120
            X-RateLimit-Remaining:
              description: Requêtes restantes dans la fenêtre en cours.
              schema:
                type: integer
                example: 0
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorDto'
              example:
                statusCode: 429
                message: Limite de 120 requêtes par minute atteinte.
                error: TOO_MANY_REQUESTS
                path: /v1/companies
                timestamp: '2026-08-25T14:32:07.412Z'
      security:
        - apiKey: []
components:
  schemas:
    PublicMeDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          example: Atelier Vermeil
        plan:
          allOf:
            - $ref: '#/components/schemas/Plan'
      required:
        - id
        - name
        - plan
    ApiErrorDto:
      type: object
      properties:
        statusCode:
          type: number
          description: >-
            Code HTTP, répété dans le corps pour les clients qui ne lisent que
            le JSON.
          example: 401
        message:
          description: >-
            Message lisible. C'est un tableau lorsque l'erreur vient de la
            validation

            des paramètres (un message par contrainte non respectée).
          oneOf:
            - type: string
            - type: array
              items:
                type: string
          example: Clé d’API invalide.
        error:
          type: string
          description: >-
            Nom symbolique du statut HTTP, en majuscules (`UNAUTHORIZED`,
            `NOT_FOUND`…).
          example: UNAUTHORIZED
        path:
          type: string
          description: Chemin appelé, en-têtes de requête exclus.
          example: /v1/me
        timestamp:
          type: string
          description: Date de l'erreur, ISO 8601 en UTC.
          format: date-time
          example: '2026-08-25T14:32:07.412Z'
      required:
        - statusCode
        - message
        - error
        - path
        - timestamp
    Plan:
      type: string
      enum:
        - starter
        - growth
        - scale
        - enterprise
  securitySchemes:
    apiKey:
      scheme: bearer
      type: http
      description: >-
        Clé d'API du workspace, préfixée `st_`. Elle se crée depuis
        Administration → Tracking et n’est affichée qu’une seule fois.

````