Rechercher dans la documentation

Saisissez au moins deux caractères.

↑ ↓ naviguer↵ ouvriresc fermer
Référence API

API : meta

1 opérations REST du groupe meta.

Référence générée depuis le contrat versionné · Version Markdown

GET /meta#

Bootstrap metadata-driven de l'instance (ADR-104)

Sans Authorization : méta PUBLIQUE (identité visuelle du login + contrat de version) - aucune donnée métier, pas de liste de modules. Avec un Bearer valide (session utilisateur §2bis ou token d'app) : méta COMPLÈTE (modules actifs, branding et labels runtime, capacités, entités). Un Bearer invalide répond 401 - jamais de dégradation silencieuse vers la forme publique.

Scopes d'app : voir sécurité de l’opération. Les autres droits, périmètres et contrôles métier restent applicables.

Aucun corps de requête déclaré dans ce contrat.

Réponses

200 : Méta publique (anonyme) ou complète (authentifié)

Contenu de la réponse 200
{
  "application/json": {
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "Nom de l'instance (productName)"
            },
            "version": {
              "type": "string",
              "description": "Version produit de l'instance (semver ADR-097)"
            },
            "minAppVersion": {
              "type": "string",
              "description": "Version minimale de l'app mobile supportée - l'app compare et dégrade explicitement"
            },
            "logo": {
              "type": "string"
            },
            "logoOnBrand": {
              "type": "string"
            },
            "colors": {
              "type": "object",
              "properties": {
                "primary": {
                  "type": "string"
                },
                "primaryAccent": {
                  "type": "string"
                },
                "soft": {
                  "type": "string"
                },
                "dark": {
                  "type": "string"
                },
                "background": {
                  "type": "string"
                }
              },
              "required": [
                "primary",
                "primaryAccent",
                "soft",
                "dark",
                "background"
              ],
              "additionalProperties": false
            },
            "sso": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "google",
                  "microsoft"
                ]
              },
              "description": "Providers SSO actifs sur l'instance (T-762) - le login n'affiche que ceux-là"
            },
            "auth": {
              "type": "object",
              "properties": {
                "loginUrl": {
                  "type": "string",
                  "description": "Entrée de la connexion mobile par le navigateur système (T-1020, ADR-141 D5) : GET <loginUrl>?redirect=<scheme de retour de l'app> ; au retour, POST /api/auth/handoff/mobile { token }"
                }
              },
              "required": [
                "loginUrl"
              ],
              "additionalProperties": false,
              "description": "Connexion de l'app : aucun mot de passe, passkey ou code d'application dans le navigateur système"
            }
          },
          "required": [
            "name",
            "version",
            "minAppVersion",
            "logo",
            "logoOnBrand",
            "colors",
            "sso",
            "auth"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "Nom de l'instance (productName)"
            },
            "version": {
              "type": "string",
              "description": "Version produit de l'instance (semver ADR-097)"
            },
            "minAppVersion": {
              "type": "string",
              "description": "Version minimale de l'app mobile supportée - l'app compare et dégrade explicitement"
            },
            "logo": {
              "type": "string"
            },
            "logoOnBrand": {
              "type": "string"
            },
            "colors": {
              "type": "object",
              "properties": {
                "primary": {
                  "type": "string"
                },
                "primaryAccent": {
                  "type": "string"
                },
                "soft": {
                  "type": "string"
                },
                "dark": {
                  "type": "string"
                },
                "background": {
                  "type": "string"
                }
              },
              "required": [
                "primary",
                "primaryAccent",
                "soft",
                "dark",
                "background"
              ],
              "additionalProperties": false
            },
            "sso": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "google",
                  "microsoft"
                ]
              },
              "description": "Providers SSO actifs sur l'instance (T-762) - le login n'affiche que ceux-là"
            },
            "auth": {
              "type": "object",
              "properties": {
                "loginUrl": {
                  "type": "string"
                },
                "loginMethod": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "passkey",
                        "passkey_or_totp"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "description": "Méthode de connexion du compte (T-1017, ADR-141 D3) : passkey (défaut) ou passkey_or_totp (mode élargi posé par un admin - l'app propose alors la gestion du code d'application). Null pour une app connectée."
                }
              },
              "required": [
                "loginUrl",
                "loginMethod"
              ],
              "additionalProperties": false
            },
            "logoCompact": {
              "type": "string"
            },
            "locale": {
              "type": "string"
            },
            "currency": {
              "type": "string"
            },
            "labels": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "object",
                "properties": {
                  "singular": {
                    "type": "string"
                  },
                  "plural": {
                    "type": "string"
                  },
                  "all": {
                    "type": "string"
                  },
                  "create": {
                    "type": "string"
                  }
                },
                "required": [
                  "singular",
                  "plural"
                ],
                "additionalProperties": false
              },
              "description": "Labels du glossaire (cycle, businessUnit, resource, objets renommables)"
            },
            "fieldLabels": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "type": "string"
                }
              }
            },
            "modules": {
              "type": "object",
              "propertyNames": {
                "type": "string"
              },
              "additionalProperties": {
                "type": "boolean"
              },
              "description": "Modules actifs de l'instance - la navigation de l'app s'en déduit"
            },
            "capabilities": {
              "type": "object",
              "properties": {
                "pdfDownload": {
                  "type": "boolean"
                }
              },
              "required": [
                "pdfDownload"
              ],
              "additionalProperties": false
            },
            "businessUnits": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "name": {
                    "type": "string"
                  },
                  "shortName": {
                    "type": "string"
                  },
                  "color": {
                    "type": "string"
                  },
                  "logo": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "id",
                  "name",
                  "shortName",
                  "color",
                  "logo"
                ],
                "additionalProperties": false
              }
            },
            "quoteLossReasons": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Motifs de perte d'un devis de l'organisation (#651), dans l'ordre des réglages, « Autre » compris : la transition vers refused exige l'un d'eux en lossReason."
            }
          },
          "required": [
            "name",
            "version",
            "minAppVersion",
            "logo",
            "logoOnBrand",
            "colors",
            "sso",
            "auth",
            "logoCompact",
            "locale",
            "currency",
            "labels",
            "fieldLabels",
            "modules",
            "capabilities",
            "businessUnits",
            "quoteLossReasons"
          ],
          "additionalProperties": false
        }
      ]
    }
  }
}

default : Erreur - enveloppe problem+json (RFC 9457)

Contenu de la réponse default
{
  "application/problem+json": {
    "schema": {
      "$ref": "#/components/schemas/Problem"
    }
  }
}
Opération OpenAPI complète
{
  "summary": "Bootstrap metadata-driven de l'instance (ADR-104)",
  "description": "Sans Authorization : méta PUBLIQUE (identité visuelle du login + contrat de version) - aucune donnée métier, pas de liste de modules. Avec un Bearer valide (session utilisateur §2bis ou token d'app) : méta COMPLÈTE (modules actifs, branding et labels runtime, capacités, entités). Un Bearer invalide répond 401 - jamais de dégradation silencieuse vers la forme publique.",
  "tags": [
    "meta"
  ],
  "security": [
    {
      "oauth2": []
    },
    {
      "userSession": []
    }
  ],
  "responses": {
    "200": {
      "description": "Méta publique (anonyme) ou complète (authentifié)",
      "content": {
        "application/json": {
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Nom de l'instance (productName)"
                  },
                  "version": {
                    "type": "string",
                    "description": "Version produit de l'instance (semver ADR-097)"
                  },
                  "minAppVersion": {
                    "type": "string",
                    "description": "Version minimale de l'app mobile supportée - l'app compare et dégrade explicitement"
                  },
                  "logo": {
                    "type": "string"
                  },
                  "logoOnBrand": {
                    "type": "string"
                  },
                  "colors": {
                    "type": "object",
                    "properties": {
                      "primary": {
                        "type": "string"
                      },
                      "primaryAccent": {
                        "type": "string"
                      },
                      "soft": {
                        "type": "string"
                      },
                      "dark": {
                        "type": "string"
                      },
                      "background": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "primary",
                      "primaryAccent",
                      "soft",
                      "dark",
                      "background"
                    ],
                    "additionalProperties": false
                  },
                  "sso": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "google",
                        "microsoft"
                      ]
                    },
                    "description": "Providers SSO actifs sur l'instance (T-762) - le login n'affiche que ceux-là"
                  },
                  "auth": {
                    "type": "object",
                    "properties": {
                      "loginUrl": {
                        "type": "string",
                        "description": "Entrée de la connexion mobile par le navigateur système (T-1020, ADR-141 D5) : GET <loginUrl>?redirect=<scheme de retour de l'app> ; au retour, POST /api/auth/handoff/mobile { token }"
                      }
                    },
                    "required": [
                      "loginUrl"
                    ],
                    "additionalProperties": false,
                    "description": "Connexion de l'app : aucun mot de passe, passkey ou code d'application dans le navigateur système"
                  }
                },
                "required": [
                  "name",
                  "version",
                  "minAppVersion",
                  "logo",
                  "logoOnBrand",
                  "colors",
                  "sso",
                  "auth"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "Nom de l'instance (productName)"
                  },
                  "version": {
                    "type": "string",
                    "description": "Version produit de l'instance (semver ADR-097)"
                  },
                  "minAppVersion": {
                    "type": "string",
                    "description": "Version minimale de l'app mobile supportée - l'app compare et dégrade explicitement"
                  },
                  "logo": {
                    "type": "string"
                  },
                  "logoOnBrand": {
                    "type": "string"
                  },
                  "colors": {
                    "type": "object",
                    "properties": {
                      "primary": {
                        "type": "string"
                      },
                      "primaryAccent": {
                        "type": "string"
                      },
                      "soft": {
                        "type": "string"
                      },
                      "dark": {
                        "type": "string"
                      },
                      "background": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "primary",
                      "primaryAccent",
                      "soft",
                      "dark",
                      "background"
                    ],
                    "additionalProperties": false
                  },
                  "sso": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "google",
                        "microsoft"
                      ]
                    },
                    "description": "Providers SSO actifs sur l'instance (T-762) - le login n'affiche que ceux-là"
                  },
                  "auth": {
                    "type": "object",
                    "properties": {
                      "loginUrl": {
                        "type": "string"
                      },
                      "loginMethod": {
                        "anyOf": [
                          {
                            "type": "string",
                            "enum": [
                              "passkey",
                              "passkey_or_totp"
                            ]
                          },
                          {
                            "type": "null"
                          }
                        ],
                        "description": "Méthode de connexion du compte (T-1017, ADR-141 D3) : passkey (défaut) ou passkey_or_totp (mode élargi posé par un admin - l'app propose alors la gestion du code d'application). Null pour une app connectée."
                      }
                    },
                    "required": [
                      "loginUrl",
                      "loginMethod"
                    ],
                    "additionalProperties": false
                  },
                  "logoCompact": {
                    "type": "string"
                  },
                  "locale": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "labels": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "object",
                      "properties": {
                        "singular": {
                          "type": "string"
                        },
                        "plural": {
                          "type": "string"
                        },
                        "all": {
                          "type": "string"
                        },
                        "create": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "singular",
                        "plural"
                      ],
                      "additionalProperties": false
                    },
                    "description": "Labels du glossaire (cycle, businessUnit, resource, objets renommables)"
                  },
                  "fieldLabels": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "string"
                      }
                    }
                  },
                  "modules": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "type": "boolean"
                    },
                    "description": "Modules actifs de l'instance - la navigation de l'app s'en déduit"
                  },
                  "capabilities": {
                    "type": "object",
                    "properties": {
                      "pdfDownload": {
                        "type": "boolean"
                      }
                    },
                    "required": [
                      "pdfDownload"
                    ],
                    "additionalProperties": false
                  },
                  "businessUnits": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                        },
                        "name": {
                          "type": "string"
                        },
                        "shortName": {
                          "type": "string"
                        },
                        "color": {
                          "type": "string"
                        },
                        "logo": {
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "name",
                        "shortName",
                        "color",
                        "logo"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "quoteLossReasons": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "Motifs de perte d'un devis de l'organisation (#651), dans l'ordre des réglages, « Autre » compris : la transition vers refused exige l'un d'eux en lossReason."
                  }
                },
                "required": [
                  "name",
                  "version",
                  "minAppVersion",
                  "logo",
                  "logoOnBrand",
                  "colors",
                  "sso",
                  "auth",
                  "logoCompact",
                  "locale",
                  "currency",
                  "labels",
                  "fieldLabels",
                  "modules",
                  "capabilities",
                  "businessUnits",
                  "quoteLossReasons"
                ],
                "additionalProperties": false
              }
            ]
          }
        }
      }
    },
    "default": {
      "description": "Erreur - enveloppe problem+json (RFC 9457)",
      "content": {
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  }
}