> ## 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.

# Batch Get All

> Recupera los datos de usuario de todos los user profiles

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>;
};

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>)}
  </>;

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

Recupera los datos de usuario de todos los user profiles. Utiliza el endpoint batch como alternativa a llamar al endpoint /user para cada uno de tus usuarios en rápida sucesión, algo que puede estar limitado por los rate limits.

El endpoint devolverá una URL prefirmada al archivo que contiene todos los datos de los user profiles. Ten en cuenta el momento indicado por el campo `urlAvailable`, que indica cuándo será accesible el archivo.

La URL prefirmada expira a los 7 días de su creación. Puede generarse un nuevo archivo cada 3 horas.

También puedes recibir una notificación cuando el archivo esté listo a través del [Batch Action webhook](/apis/webhooks/actions#batch-action).

## Parámetros de cabecera

<HeaderAPI noProfileKey />

<ResponseExample>
  ```json 200: Success theme={"system"}
  {
      "success": true,
      "url": "https://storage.googleapis.com/batch.ayrshare.com/users/9iskiedwtOddd/users-batch-2024-01-11-22-42.json",
      "urlAvailable": "2024-01-11T22:47:36Z",
      "urlExpires": "2024-01-18T22:42:36Z",
      "lastUpdated": "2024-01-11T22:42:36.808Z",
      "nextUpdate": "2024-01-11T22:54:36.808Z"
  }
  ```

  ```json 403: Forbidden theme={"system"}
  {
    "action": "authorization",
    "status": "error",
    "code": 102,
    "message": "API Key not valid. Please be sure to send a Header Authorization containing 'Bearer API_KEY'. .../ayrshare.com/rest-api/overview#authorization"
  }
  ```
</ResponseExample>
