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

# Valider le JSON

> Envoyez du JSON pour valider s'il est correctement formaté

export const HeaderAPI = ({noProfileKey, profileKeyRequired}) => <>
    <ParamField header="Authorization" type="string" required>
      <a href="/apis/overview#authorization">API Key</a> of the Primary Profile.
      <br />
      <br />
      Format: <code>Authorization: Bearer API_KEY</code>
    </ParamField>
    {!noProfileKey && (profileKeyRequired ? <ParamField header="Profile-Key" type="string" required>
          <a href="/apis/overview#profile-key-format">Profile Key</a> of a User Profile.
          <br />
          <br />
          Format: <code>Profile-Key: PROFILE_KEY</code>
        </ParamField> : <ParamField header="Profile-Key" type="string">
          <a href="/apis/overview#profile-key-format">Profile Key</a> of a User Profile.
          <br />
          <br />
          Format: <code>Profile-Key: PROFILE_KEY</code>
        </ParamField>)}
  </>;

export const PlansAvailable = ({plans = [], maxPackRequired}) => {
  let displayPlans = plans;
  if (plans && plans.length === 1) {
    const lowerCasePlan = plans[0].toLowerCase();
    if (lowerCasePlan === "business") {
      displayPlans = ["Launch", "Business", "Enterprise"];
    } else if (lowerCasePlan === "premium") {
      displayPlans = ["Premium", "Launch", "Business", "Enterprise"];
    }
  }
  return <Note>
Available on {displayPlans.length === 1 ? "the " : ""}
{displayPlans.join(", ").replace(/\b\w/g, l => l.toUpperCase())}{" "}
{displayPlans.length > 1 ? "plans" : "plan"}.

{maxPackRequired && <span onClick={() => window.open('https://www.ayrshare.com/docs/additional/maxpack', '_self')} className="flex items-center mt-2 cursor-pointer">
 <span className="px-1.5 py-0.5 rounded text-sm" style={{
    backgroundColor: '#C264B6',
    color: 'white',
    fontSize: '12px'
  }}>
   Max Pack required
 </span>
</span>}
</Note>;
};

<PlansAvailable plans={["premium"]} maxPackRequired={false} />

Envoyez du JSON pour valider s'il est correctement formaté.
Vous pouvez valider votre JSON en utilisant un linter en ligne, tel que [https://jsonlint.com/](https://jsonlint.com/) ou en utilisant [Postman](/testing/postman).

Si vous utilisez un outil no-code tel que Bubble ou Make ou si vous recevez une réponse 500 « Bad Request », ce point de terminaison est utile pour déboguer la requête JSON.

## Paramètres d'en-tête

<HeaderAPI noProfileKey={true} />

<ul class="custom-bullets">
  <li>Envoyez les données en tant que texte. Si vous utilisez Postman, assurez-vous de sélectionner « Text » comme type.</li>
  <li>Définissez `"Content-Type": "text/plain"`.</li>
</ul>

## Exemples de requête

Envoyez n'importe quel JSON à ce point de terminaison pour le valider.

Voici un exemple de JSON invalide en utilisant Postman. Pouvez-vous le repérer ? Une virgule manquante à la fin du deuxième paramètre `platforms`.

Assurez-vous de définir le `Content-Type` dans l'en-tête comme `text/plain` et de sélectionner « Text » lors de l'envoi.

<img class="center" src="https://mintcdn.com/ayrshare-docs/Nmrhj2Gh7WSf62Bh/images/apis/validate/json.webp?fit=max&auto=format&n=Nmrhj2Gh7WSf62Bh&q=85&s=97c9aba02aba44ee47247c295523d259" alt="Postman Validate JSON" width="1200" height="610" data-path="images/apis/validate/json.webp" />

<RequestExample />

<ResponseExample>
  ```json 200: OK Valid JSON theme={"system"}
  {
      "status": "success",
      "message": "Valid JSON. Nice Job!"
  }
  ```

  ```json 400: Bad Request Invalid JSON theme={"system"}
  {
    "status": "error",
    "message": "JSON is not valid. Unexpected end of JSON input while parsing near '{\"test\": \"happy}'"
  }
  ```
</ResponseExample>
