Products

Create multiple products

Creates multiple products in one operation (max 100)


POST
/v1/products/bulk
AuthorizationBearer <token>

API Key authentication.

Format: Authorization: Bearer beel_sk_<key>

Scopes: API Keys use the same scopes as OAuth2 tokens. Each key is created with specific scopes that limit which endpoints it can access. The required scope for each endpoint is documented in the operation's security section under OAuth2.

Obtaining Keys: API Keys are managed from the BeeL dashboard

Security: API Keys are secret credentials. Do not share them or store them in source code

In: header

Header Parameters

Idempotency-Key?string

Idempotency key for the entire operation

Formatuuid
products
Items1 <= items <= 100

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://app.beel.es/api/v1/products/bulk" \  -H "Content-Type: application/json" \  -d '{    "products": [      {        "name": "Technical consulting"      }    ]  }'
{
  "success": true,
  "data": {
    "created_products": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "code": "SERV-001",
        "name": "Technical consulting",
        "description": "Specialized technical consulting services in web development",
        "category": "CONSULTING",
        "default_price": 85.5,
        "unit": "hours",
        "main_tax": {
          "type": "IVA",
          "percentage": 21,
          "regime_key": "01"
        },
        "equivalence_surcharge": 5.2,
        "irpf": 15,
        "active": true,
        "created_at": "2025-01-18T10:30:00Z",
        "updated_at": "2025-01-18T15:45:30Z"
      }
    ],
    "errors": [
      {
        "index": 0,
        "code": "string",
        "name": "string",
        "error": "string"
      }
    ],
    "summary": {
      "total_processed": 0,
      "successful": 0,
      "failed": 0
    }
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "BAD_REQUEST",
    "message": "Invalid request"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "Authentication required"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "The provided data is not valid",
    "details": {
      "field": "specific error message"
    }
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}
{
  "success": false,
  "error": {
    "code": "INTERNAL_ERROR",
    "message": "Internal server error"
  },
  "meta": {
    "timestamp": "2025-01-15T10:30:00Z",
    "request_id": "4bf92f3577b34da6a3ce929d0e0e4736"
  }
}