POST
/
v1
/
tenants
/
bulk
curl https://api.geldstuck.com/v1/tenants/bulk \
  -H "Authorization: Bearer $ADMIN_JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "tenants": [
      { "name": "Acme A" },
      { "name": "Acme B", "metadata": { "region": "us" } }
    ]
  }'
{
  "created": [
    {
      "tenantId": "tnt_01HX...",
      "name": "Acme A",
      "accessKey": "pk_live_...",
      "secretKey": "sk_live_...",
      "webhookSecret": "whsec_..."
    },
    {
      "tenantId": "tnt_01HY...",
      "name": "Acme B",
      "accessKey": "pk_live_...",
      "secretKey": "sk_live_...",
      "webhookSecret": "whsec_..."
    }
  ],
  "failed": []
}
Creates up to 100 tenants per call. Each tenant gets its own key pair and webhook secret.

Body

tenants
array
required
Array of tenant objects, each with a required name and optional metadata.

Returns

created
array
Tenant objects with secretKey / webhookSecret included. Shown once.
failed
array
Items that failed validation, each with index, name, and error.
curl https://api.geldstuck.com/v1/tenants/bulk \
  -H "Authorization: Bearer $ADMIN_JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "tenants": [
      { "name": "Acme A" },
      { "name": "Acme B", "metadata": { "region": "us" } }
    ]
  }'
{
  "created": [
    {
      "tenantId": "tnt_01HX...",
      "name": "Acme A",
      "accessKey": "pk_live_...",
      "secretKey": "sk_live_...",
      "webhookSecret": "whsec_..."
    },
    {
      "tenantId": "tnt_01HY...",
      "name": "Acme B",
      "accessKey": "pk_live_...",
      "secretKey": "sk_live_...",
      "webhookSecret": "whsec_..."
    }
  ],
  "failed": []
}