igniral_create_dynamic_endpoint
Creates a dynamic API endpoint for an existing application, defining its data schema, HTTP methods, visibility, and security policy.
Instructions
Creates a dynamic API endpoint within an existing application. Requires an applicationId from a previous igniral_create_application call.
Use this iteratively to add all needed endpoints to the application. Each endpoint defines its data schema (JSON Schema format), HTTP methods, visibility (PUBLIC/PRIVATE), and security policy.
Security policies:
NONE: Anyone with role permissions sees all data
OWNER_ONLY: Users only see data they created (most common for personal data)
CLAIM_FILTER: Filter data based on JWT claims (requires securityConfig)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| applicationId | Yes | ID of the application to add the endpoint to | |
| endpointPath | Yes | URL path for the endpoint (e.g., '/products', '/users', '/orders'). Must start with / and use lowercase letters, numbers, and hyphens. | |
| allowedMethods | Yes | HTTP methods to enable: ['GET', 'POST', 'PUT', 'DELETE']. Include all methods the endpoint should support. | |
| schemaDefinition | Yes | JSON Schema defining the data structure for this endpoint. Must include "$schema", "type": "object", and "properties". Each property needs a type (string, number, integer, boolean, array, object). | |
| type | No | Endpoint type: 'JSON' for data APIs (default), 'FILE' for file uploads | |
| visibility | No | Endpoint visibility: 'PRIVATE' (default, requires auth) or 'PUBLIC' (accessible without auth, only for public apps) | |
| securityPolicy | No | Data access control: 'NONE' (shared data), 'OWNER_ONLY' (users see only their data), 'CLAIM_FILTER' (filter by JWT claims, requires securityConfig) | |
| securityConfig | No | Required when securityPolicy is 'CLAIM_FILTER'. Defines which JWT claim maps to which data field for filtering. | |
| endpointDocumentation | No | Human-readable documentation for this endpoint |