Rustine docs
API › Projets

Lister les projets

Tes projets, avec leurs sites, leur score sur 100 et leurs problèmes ouverts. Les identifiants des sites (targets[].id) servent à lancer un scan.

GEThttps://api.rustine.io/v1/projects

Permission OAuth : scans:read · une clé d'API les a toutes

Ouvrir dans ClaudeOuvrir dans ChatGPT

Paramètres de requête

  • limitintegeroptionnel

    Combien d'éléments par page, de 1 à 100 (20 par défaut).

  • starting_afterstringoptionnel

    Le curseur : l'identifiant du dernier élément de la page précédente.

Réponse

  • objectstring

    Le type d'objet, toujours le même pour une route donnée.

  • dataarray of object

    Les éléments de la page.

    • idstring

      L'identifiant du projet.

    • objectstring

      Le type d'objet, toujours le même pour une route donnée.

    • namestring

      Le nom du projet.

    • scorenumber | null

      Le score du projet sur 100, null avant le premier scan terminé.

    • gradestring | null

      La note de A à F, null avant le premier scan terminé.

      ABCDF
    • open_issuesinteger

      Les problèmes ouverts sur tous les sites du projet, masqués compris.

    • pausedboolean

      En pause, parce que l'offre couvre moins de projets : lisible, mais ni scan, ni revérification, ni correctif, ni nouvelle adresse.

    • last_scan_atstring | null

      La fin du dernier scan terminé, tous sites confondus.

    • targetsarray of object

      Les sites et dépôts du projet.

      • idstring

        L'identifiant du site ou du dépôt : c'est lui que tu passes pour lancer un scan.

      • objectstring

        Le type d'objet, toujours le même pour une route donnée.

      • project_idstring

        Le projet auquel il appartient.

      • kindstring

        domain (un site) ou repository (un dépôt GitHub).

        domainserverrepository
      • addressstring

        Le nom d'hôte du site (app.monsaas.fr) ou propriétaire/dépôt pour un dépôt.

      • verifiedboolean

        Vrai quand ton espace a prouvé qu'il contrôle ce site. Sans preuve, le détail des problèmes reste masqué et seuls les scans rapides tournent.

      • scorenumber | null

        Le score sur 100, null avant le premier scan terminé.

      • gradestring | null

        La note de A à F, null avant le premier scan terminé.

        ABCDF
      • last_scan_atstring | null

        La fin du dernier scan terminé.

      • hidden_issuesobject | null

        Site non prouvé : ce que ses problèmes masqués représentent, en nombre seulement (jamais lesquels ni où). null quand rien n'est masqué.

        • urgentinteger

          Problèmes critiques et élevés ouverts, masqués jusqu'à la preuve.

        • laterinteger

          Problèmes moyens et faibles ouverts, masqués jusqu'à la preuve.

  • has_moreboolean

    Vrai s'il reste des éléments après cette page : rappelle la route avec starting_after.

Erreurs

Codeerror.codeCe qui se passe
400parameter_invalidUn paramètre manque ou n'est pas valable ; param le nomme.
400cursor_invalidstarting_after n'est l'identifiant d'aucun élément de cette liste.
401authentication_requiredAucune clé dans la requête. Passe-la dans l'en-tête Authorization: Bearer rst_…, jamais dans l'adresse.
401invalid_api_keyLa clé ou le jeton OAuth est faux, révoqué ou expiré. Vérifie qu'il est copié en entier, ou crée une nouvelle clé.
402api_plan_requiredL'espace est sur l'offre Gratuite. L'API vient avec Pro, ou à l'essai 14 jours sur Solo.
402api_trial_endedL'essai de 14 jours de Solo est terminé. Passe à Pro : tes clés remarchent aussitôt.
403scope_missingLe jeton OAuth n'a pas la permission que demande cette route (indiquée sur sa page). Reconnecte l'agent pour l'accorder. Une clé d'API a toutes les permissions.
429rate_limitedTrop de requêtes pour cette clé (120 par minute). Attends Retry-After secondes.
500internal_errorUne erreur de notre côté, signalée automatiquement. Réessaie plus tard ; donne le Request-Id au support si elle revient.
503service_unavailableRustine est indisponible un instant. Réessaie avec la même Idempotency-Key.

↵ Entrée pour ouvrir, Échap pour fermer