{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/api-evangelist/polyapi/blob/main/json-schema/client-function.json", "title": "PolyAPI Client Function", "description": "A client function is a shared function that runs wherever it is executed, rather than in the PolyAPI cloud infrastructure.", "type": "object", "properties": { "id": { "type": "string", "description": "The unique identifier of the client function." }, "name": { "type": "string", "description": "The name of the client function." }, "description": { "type": "string", "description": "A description of what the client function does." }, "context": { "type": "string", "description": "The context path for organizing the function in the catalog." }, "language": { "type": "string", "enum": ["typescript", "python", "java", "csharp"], "description": "The programming language of the function." }, "code": { "type": "string", "description": "The function source code." }, "state": { "type": "string", "enum": ["active", "inactive", "deprecated"], "description": "The lifecycle state of the function." }, "owner": { "type": "string", "description": "The owner of the function." }, "visibility": { "type": "string", "enum": ["public", "private"], "description": "The visibility of the function." }, "createdAt": { "type": "string", "format": "date-time", "description": "Timestamp when the function was created." }, "updatedAt": { "type": "string", "format": "date-time", "description": "Timestamp when the function was last updated." } }, "required": ["name", "language", "code"] }