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

# Claves API

> Generá y administrá la clave de tu organización. Revisá acceso por plan, permisos y conexión de integraciones.

export const Availability = ({lang = 'es', plan, addon, permission, route, status}) => {
  const L = lang === 'en' ? {
    plan: 'Plan',
    addon: 'Add-on',
    permission: 'Permission',
    route: 'Where',
    status: 'Status',
    addonNote: 'enabled on request',
    allPlans: 'All plans',
    beta: 'Beta',
    nuevo: 'New',
    soon: 'Coming soon'
  } : {
    plan: 'Plan',
    addon: 'Add-on',
    permission: 'Permiso',
    route: 'Dónde',
    status: 'Estado',
    addonNote: 'se activa a pedido',
    allPlans: 'Todos los planes',
    beta: 'Beta',
    nuevo: 'Nuevo',
    soon: 'Próximamente'
  };
  const items = [];
  if (plan) items.push([L.plan, plan]);
  if (addon) items.push([L.addon, `${addon} · ${L.addonNote}`]);
  if (permission) items.push([L.permission, permission]);
  if (route) items.push([L.route, route]);
  if (status) items.push([L.status, L[status] || status]);
  return <div style={{
    display: 'flex',
    flexWrap: 'wrap',
    gap: '6px 22px',
    padding: '12px 16px',
    margin: '4px 0 24px',
    border: '1px solid rgba(2, 82, 255, 0.28)',
    borderLeft: '3px solid #0252ff',
    borderRadius: '8px',
    background: 'rgba(2, 82, 255, 0.05)',
    fontSize: '13.5px',
    lineHeight: '1.5'
  }}>
      {items.map(([k, v]) => <div key={k} style={{
    display: 'flex',
    gap: '6px',
    alignItems: 'baseline'
  }}>
          <span style={{
    fontSize: '10.5px',
    fontWeight: 600,
    letterSpacing: '0.07em',
    textTransform: 'uppercase',
    opacity: 0.65
  }}>{k}</span>
          <span style={{
    fontWeight: 500
  }}>{v}</span>
        </div>)}
    </div>;
};

<Availability lang="es" route="Claves API" permission="organization.create para generar" plan="Plan con acceso a API" />

La clave API identifica a tu organización ante la API pública de ContactShip. La app admite una clave por organización. El plan debe incluir acceso a la API; un permiso administrativo no reemplaza ese requisito.

## Generar y usar

1. Elegí la organización con la que va a trabajar tu integración.
2. Abrí **Claves API** y usá el botón para generar la clave.
3. Copiala y guardala en la configuración privada de tu servidor o herramienta de automatización.
4. Enviá el valor en el encabezado `x-api-key` de las solicitudes a la API.

```bash theme={null}
curl 'https://api.contactship.ai/v1/credits'   -H 'x-api-key: YOUR_API_KEY'
```

Reemplazá `YOUR_API_KEY` en tu entorno privado. No incluyas la clave en páginas web públicas, URLs, capturas ni tickets de soporte.

## Permisos y disponibilidad

| Requisito             | Aplicación                                      |
| --------------------- | ----------------------------------------------- |
| Acceso API del plan   | Necesario para generar la clave                 |
| `organization.create` | Generar                                         |
| `organization.delete` | Eliminar desde el menú de la clave              |
| Organización activa   | Determina a qué organización pertenece la clave |

La pantalla no ofrece claves individuales con permisos o alcances personalizados. No asumas que una clave tiene el mismo alcance restringido que un miembro humano.

## Eliminar o reemplazar

<Warning>
  Eliminar la clave interrumpe las integraciones que la usan. Identificá los sistemas dependientes antes de reemplazarla y actualizá sus credenciales.
</Warning>

Si necesitás reemplazarla, coordiná la eliminación, generación y actualización de los sistemas que la consumen. No se documenta un período de coexistencia entre claves.

## Problemas frecuentes

| Situación                                       | Qué revisar                                                                             |
| ----------------------------------------------- | --------------------------------------------------------------------------------------- |
| Ya existe una clave para la organización        | Revisá la tarjeta existente; la app no genera una segunda clave simultánea.             |
| La app muestra un límite de plan                | Comprobá el acceso API en **Planes**.                                                   |
| No aparece el botón para generar                | Revisá `organization.create`.                                                           |
| La integración recibe un error de autenticación | Comprobá encabezado, clave vigente y organización. No compartas el secreto con soporte. |

## Preguntas frecuentes

<AccordionGroup>
  <Accordion title="¿Puedo usar una clave para varias organizaciones?">
    Cada clave pertenece a una organización. Configurá credenciales separadas para trabajar con organizaciones diferentes.
  </Accordion>

  <Accordion title="¿Hay claves con permisos solo de lectura?">
    El configurador actual no ofrece alcances por clave. No la uses como si fuera una credencial de solo lectura.
  </Accordion>

  <Accordion title="¿Qué le envío a soporte si falla una solicitud?">
    Enviá método, ruta, hora y código de respuesta. Reemplazá la clave y otros secretos por valores ocultos.
  </Accordion>
</AccordionGroup>

## Ver también

* [API Reference](/api-reference/introduction)
* [Roles y permisos](/es/organizacion/roles-y-permisos)
* [Planes y límites](/es/facturacion/planes)
