diff --git a/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/java/io/ballerina/flowmodelgenerator/extension/CopilotLibraryService.java b/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/java/io/ballerina/flowmodelgenerator/extension/CopilotLibraryService.java index d15f18f1ea..234ca5eeda 100644 --- a/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/java/io/ballerina/flowmodelgenerator/extension/CopilotLibraryService.java +++ b/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/java/io/ballerina/flowmodelgenerator/extension/CopilotLibraryService.java @@ -23,9 +23,37 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.stream.JsonReader; +import io.ballerina.compiler.api.SemanticModel; +import io.ballerina.compiler.api.symbols.ArrayTypeSymbol; +import io.ballerina.compiler.api.symbols.ClassSymbol; +import io.ballerina.compiler.api.symbols.ConstantSymbol; +import io.ballerina.compiler.api.symbols.Documentation; +import io.ballerina.compiler.api.symbols.EnumSymbol; +import io.ballerina.compiler.api.symbols.FunctionSymbol; +import io.ballerina.compiler.api.symbols.MapTypeSymbol; +import io.ballerina.compiler.api.symbols.ModuleSymbol; +import io.ballerina.compiler.api.symbols.Qualifier; +import io.ballerina.compiler.api.symbols.RecordTypeSymbol; +import io.ballerina.compiler.api.symbols.StreamTypeSymbol; +import io.ballerina.compiler.api.symbols.Symbol; +import io.ballerina.compiler.api.symbols.TableTypeSymbol; +import io.ballerina.compiler.api.symbols.TypeDefinitionSymbol; +import io.ballerina.compiler.api.symbols.TypeDescKind; +import io.ballerina.compiler.api.symbols.TypeReferenceTypeSymbol; +import io.ballerina.compiler.api.symbols.TypeSymbol; +import io.ballerina.compiler.api.symbols.UnionTypeSymbol; +import io.ballerina.compiler.api.values.ConstantValue; import io.ballerina.flowmodelgenerator.extension.request.GetAllLibrariesRequest; import io.ballerina.flowmodelgenerator.extension.request.GetSelectedLibrariesRequest; import io.ballerina.flowmodelgenerator.extension.response.GetAllLibrariesResponse; +import io.ballerina.modelgenerator.commons.FieldData; +import io.ballerina.modelgenerator.commons.FunctionData; +import io.ballerina.modelgenerator.commons.FunctionDataBuilder; +import io.ballerina.modelgenerator.commons.ModuleInfo; +import io.ballerina.modelgenerator.commons.PackageUtil; +import io.ballerina.modelgenerator.commons.ParameterData; +import io.ballerina.modelgenerator.commons.ReturnTypeData; +import io.ballerina.modelgenerator.commons.TypeDefData; import org.ballerinalang.annotation.JavaSPIService; import org.ballerinalang.langserver.commons.service.spi.ExtendedLanguageServerService; import org.ballerinalang.langserver.commons.workspace.WorkspaceManager; @@ -37,11 +65,23 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; import java.util.Arrays; import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.concurrent.CompletableFuture; +import static io.ballerina.modelgenerator.commons.CommonUtils.getRawType; +import static io.ballerina.modelgenerator.commons.FunctionDataBuilder.REST_RESOURCE_PATH; + /** * Service for managing Copilot library operations. * Provides streaming JSON processing for efficient memory usage. @@ -54,6 +94,7 @@ public class CopilotLibraryService implements ExtendedLanguageServerService { private static final String CORE_CONTEXT_JSON_PATH = "/copilot/context.json"; private static final String HEALTHCARE_CONTEXT_JSON_PATH = "/copilot/healthcare-context.json"; + private static final String GENERIC_SERVICES_JSON_PATH = "/copilot/generic-services.json"; private static final String MODE_CORE = "CORE"; private static final String MODE_HEALTHCARE = "HEALTHCARE"; @@ -108,6 +149,39 @@ public CompletableFuture getFilteredLibraries(GetSelect }); } + @JsonRequest + public CompletableFuture getLibrariesListFromSearchIndex() { + + return CompletableFuture.supplyAsync(() -> { + try { + JsonArray libraries = loadLibrariesFromDatabase(); + return createResponse(libraries); + } catch (Exception e) { + throw new RuntimeException("Failed to load libraries from database: " + e.getMessage(), e); + } + }); + } + + @JsonRequest + public CompletableFuture getFilteredLibrariesFromSemanticModel + (GetSelectedLibrariesRequest request) { + + return CompletableFuture.supplyAsync(() -> { + try { + String[] libraryNames = request.libNames(); + if (libraryNames == null || libraryNames.length == 0) { + // Return empty response if no library names provided + return createResponse(new JsonArray()); + } + + JsonArray filteredLibraries = loadFilteredLibrariesFromSemanticModel(libraryNames); + return createResponse(filteredLibraries); + } catch (Exception e) { + throw new RuntimeException("Failed to load filtered libraries: " + e.getMessage(), e); + } + }); + } + /** * Loads libraries from the context.json file using streaming JSON parsing with optional filtering. * @@ -281,4 +355,1232 @@ private GetAllLibrariesResponse createResponse(JsonArray libraries) { response.setLibraries(libraries); return response; } + + /** + * Loads libraries from the search-index database. + * Returns a JSON array with format: [{ "name": "org/package_name", "description": "..." }] + * Note: The same package may occur multiple times in the Package table with different versions. + * This method returns distinct org/package_name and description combinations. + * + * @return JsonArray containing libraries with name (org/package_name) and description + * @throws IOException if database file access fails + * @throws SQLException if database query fails + */ + private JsonArray loadLibrariesFromDatabase() throws IOException, SQLException { + + JsonArray result = new JsonArray(); + // Use LinkedHashMap to maintain insertion order and track unique packages + Map packageToDescriptionMap = new LinkedHashMap<>(); + + String dbPath = getDatabasePath(); + String sql = """ + SELECT DISTINCT org, package_name, description + FROM Package + WHERE org IS NOT NULL AND package_name IS NOT NULL + ORDER BY org, package_name; + """; + + try (Connection conn = DriverManager.getConnection(dbPath); + PreparedStatement stmt = conn.prepareStatement(sql); + ResultSet rs = stmt.executeQuery()) { + + while (rs.next()) { + String org = rs.getString("org"); + String packageName = rs.getString("package_name"); + String description = rs.getString("description"); + + // Create the full name as "org/package_name" + String fullName = org + "/" + packageName; + + // Store only if not already present (handles duplicates) + if (!packageToDescriptionMap.containsKey(fullName)) { + packageToDescriptionMap.put(fullName, description != null ? description : ""); + } + } + } + + // Convert the map to JSON array format + for (Map.Entry entry : packageToDescriptionMap.entrySet()) { + JsonObject packageObj = new JsonObject(); + packageObj.addProperty(FIELD_NAME, entry.getKey()); + packageObj.addProperty(FIELD_DESCRIPTION, entry.getValue()); + result.add(packageObj); + } + + return result; + } + + /** + * Loads filtered libraries using the semantic model. + * Returns a JSON array with package information including: + * - clients (client classes) with methods + * - Functions (module-level) + * + * @param libraryNames Array of library names in "org/package_name" format to filter + * @return JsonArray containing library details with clients and functions + */ + private JsonArray loadFilteredLibrariesFromSemanticModel(String[] libraryNames) { + + JsonArray result = new JsonArray(); + + for (String libraryName : libraryNames) { + // Parse library name "org/package_name" + String[] parts = libraryName.split("/"); + if (parts.length != 2) { + continue; // Skip invalid format + } + String org = parts[0]; + String packageName = parts[1]; + + // Create module info (use latest version by passing null) + ModuleInfo moduleInfo = new ModuleInfo(org, packageName, org + "/" + + packageName, null); + + // Get semantic model for the module + Optional optSemanticModel = PackageUtil.getSemanticModel(org, packageName); + if (optSemanticModel.isEmpty()) { + continue; // Skip if semantic model not found + } + + SemanticModel semanticModel = optSemanticModel.get(); + + // Try to get the package description from database + String description = getPackageDescriptionFromDatabase(org, packageName); + + // Create package object + JsonObject packageObj = new JsonObject(); + packageObj.addProperty(FIELD_NAME, libraryName); + packageObj.addProperty(FIELD_DESCRIPTION, description); + + // Arrays to hold clients, functions, typedefs, and services + JsonArray clients = new JsonArray(); + JsonArray functions = new JsonArray(); + JsonArray typedefs = new JsonArray(); + JsonArray services = new JsonArray(); + + // Load services from inbuilt triggers + JsonArray triggerServices = loadServicesFromInbuiltTriggers(libraryName); + triggerServices.forEach(services::add); + + // Load generic services + JsonArray genericServices = loadGenericServicesForLibrary(libraryName); + genericServices.forEach(services::add); + + for (Symbol symbol : semanticModel.moduleSymbols()) { + switch (symbol.kind()) { + case CLASS: + ClassSymbol classSymbol = (ClassSymbol) symbol; + + // Process only PUBLIC classes: CLIENT classes (connectors) and normal classes + if (classSymbol.qualifiers().contains(Qualifier.PUBLIC)) { + boolean isClient = classSymbol.qualifiers().contains(Qualifier.CLIENT); + String className = classSymbol.getName().orElse(isClient ? "Client" : "Class"); + + FunctionData.Kind classKind; + if (isClient) { + classKind = FunctionData.Kind.CONNECTOR; + } else { + classKind = FunctionData.Kind.CLASS_INIT; + } + + FunctionData classData = new FunctionDataBuilder() + .semanticModel(semanticModel) + .moduleInfo(moduleInfo) + .name(className) + .parentSymbol(classSymbol) + .functionResultKind(classKind) + .build(); + + JsonObject classObj = new JsonObject(); + classObj.addProperty("name", className); + classObj.addProperty("description", classData.description()); + + JsonArray methods = new JsonArray(); + + // Add the constructor/init function first + JsonObject constructorObj = functionDataToJson(classData, org, packageName); + constructorObj.addProperty("name", "init"); // Override name to "init" for constructor + methods.add(constructorObj); + + // Then add all other methods (remote functions, resource functions, etc.) + List classMethods = new FunctionDataBuilder() + .semanticModel(semanticModel) + .moduleInfo(moduleInfo) + .parentSymbolType(className) + .parentSymbol(classSymbol) + .buildChildNodes(); + + for (FunctionData method : classMethods) { + JsonObject methodObj = functionDataToJson(method, org, packageName); + methods.add(methodObj); + } + classObj.add("functions", methods); + + if (isClient) { + clients.add(classObj); + } else { + typedefs.add(classObj); + } + } + break; + + case FUNCTION: + FunctionSymbol functionSymbol = + (FunctionSymbol) symbol; + + if (functionSymbol.qualifiers().contains(Qualifier.PUBLIC)) { + FunctionData functionData = new FunctionDataBuilder() + .semanticModel(semanticModel) + .moduleInfo(moduleInfo) + .functionSymbol(functionSymbol) + .build(); + + JsonObject functionObj = functionDataToJson(functionData, org, packageName); + functions.add(functionObj); + } + break; + + case TYPE_DEFINITION: + TypeDefinitionSymbol typeDefSymbol = (TypeDefinitionSymbol) symbol; + + if (typeDefSymbol.qualifiers().contains(Qualifier.PUBLIC)) { + TypeDefData typeDefData = buildTypeDefDataFromSymbol(typeDefSymbol); + JsonObject typeDefObj = typeDefDataToJson(typeDefData, org, packageName); + typedefs.add(typeDefObj); + } + break; + + case ENUM: + EnumSymbol enumSymbol = (EnumSymbol) symbol; + + if (enumSymbol.qualifiers().contains(Qualifier.PUBLIC)) { + TypeDefData enumData = buildEnumTypeDefData(enumSymbol); + JsonObject enumObj = typeDefDataToJson(enumData, org, packageName); + typedefs.add(enumObj); + } + break; + + case CONSTANT: + ConstantSymbol constantSymbol = (ConstantSymbol) symbol; + + if (constantSymbol.qualifiers().contains(Qualifier.PUBLIC)) { + TypeDefData constantData = buildConstantTypeDefData(constantSymbol); + JsonObject constantObj = typeDefDataToJson(constantData, org, packageName); + + // Add varType using ConstantValue + JsonObject varTypeObj = new JsonObject(); + String varTypeName = ""; + Object constValue = constantSymbol.constValue(); + if (constValue instanceof ConstantValue constantValue) { + varTypeName = constantValue.valueType().typeKind().getName(); + } + + // Fallback to type descriptor if constValue is null or not ConstantValue + if (varTypeName.isEmpty()) { + TypeSymbol typeSymbol = constantSymbol.typeDescriptor(); + if (typeSymbol != null && !typeSymbol.signature().isEmpty()) { + varTypeName = typeSymbol.signature(); + } + } + + varTypeObj.addProperty("name", varTypeName); + constantObj.add("varType", varTypeObj); + + typedefs.add(constantObj); + } + break; + + default: + // Skip other symbol types + break; + } + } + + // Add collected data to package object + packageObj.add("clients", clients); + packageObj.add("functions", functions); + packageObj.add("typeDefs", typedefs); + packageObj.add("services", services); + + result.add(packageObj); + } + + return result; + } + + /** + * Gets the JDBC database path for the search-index.sqlite file. + * + * @return the JDBC database path + * @throws IOException if database file cannot be accessed + */ + private String getDatabasePath() throws IOException { + + String indexFileName = "search-index.sqlite"; + java.net.URL dbUrl = getClass().getClassLoader().getResource(indexFileName); + + if (dbUrl == null) { + throw new IOException("Database resource not found: " + indexFileName); + } + + // Copy database to temp directory + java.nio.file.Path tempDir = java.nio.file.Files.createTempDirectory("search-index"); + java.nio.file.Path tempFile = tempDir.resolve(indexFileName); + + try (InputStream inputStream = dbUrl.openStream()) { + java.nio.file.Files.copy(inputStream, tempFile); + } + + return "jdbc:sqlite:" + tempFile; + } + + /** + * Retrieves the package description from the database for a given org and package name. + * + * @param org the organization name + * @param packageName the package name + * @return the package description, or empty string if not found + */ + private String getPackageDescriptionFromDatabase(String org, String packageName) { + String description = ""; + + try { + String dbPath = getDatabasePath(); + String sql = """ + SELECT description + FROM Package + WHERE org = ? AND package_name = ? + ORDER BY id DESC + LIMIT 1; + """; + + try (Connection conn = DriverManager.getConnection(dbPath); + PreparedStatement stmt = conn.prepareStatement(sql)) { + + stmt.setString(1, org); + stmt.setString(2, packageName); + + try (ResultSet rs = stmt.executeQuery()) { + if (rs.next()) { + String desc = rs.getString("description"); + description = desc != null ? desc : ""; + } + } + } + } catch (IOException | SQLException e) { + throw new RuntimeException("Error retrieving package description for " + org + "/" + packageName + ": " + + e.getMessage()); + } + + return description; + } + + /** + * Converts FunctionData to JsonObject manually to avoid Gson reflection issues. + * + * @param functionData the function data to convert + * @param currentOrg the current package organization + * @param currentPackage the current package name + * @return JsonObject representation + */ + private JsonObject functionDataToJson(FunctionData functionData, String currentOrg, String currentPackage) { + JsonObject obj = new JsonObject(); + + // For resource functions, don't add "name" field, add "accessor" and "paths" instead + boolean isResourceFunction = functionData.kind() == FunctionData.Kind.RESOURCE; + + if (!isResourceFunction) { + obj.addProperty("name", functionData.name()); + } + + // Map function kind to human-readable type + String functionType = getFunctionTypeString(functionData.kind()); + obj.addProperty("type", functionType); + obj.addProperty("description", functionData.description()); + + // Add resource-specific fields for resource functions + if (isResourceFunction) { + // Extract accessor and paths from resourcePath + String resourcePath = functionData.resourcePath(); + if (resourcePath != null && !resourcePath.isEmpty()) { + JsonArray pathsArray = new JsonArray(); + + if (REST_RESOURCE_PATH.equals(resourcePath)) { + // For rest resource path, add a special path parameter + obj.addProperty("accessor", functionData.name()); + JsonObject pathParam = new JsonObject(); + pathParam.addProperty("name", "path"); + pathParam.addProperty("type", "..."); + pathsArray.add(pathParam); + } else { + // Parse normal resource paths + String[] pathParts = parseResourcePath(resourcePath); + obj.addProperty("accessor", pathParts[0]); + + // Parse paths array + String[] paths = pathParts[1].split("/"); + for (String path : paths) { + if (path.isEmpty()) { + continue; + } + // Check if it's a path parameter (starts with []) + if (path.startsWith("[") && path.endsWith("]")) { + // Path parameter: extract name and type + String paramContent = path.substring(1, path.length() - 1); + String[] paramParts = paramContent.split(":"); + JsonObject pathParam = new JsonObject(); + pathParam.addProperty("name", paramParts[0].trim()); + if (paramParts.length > 1) { + pathParam.addProperty("type", paramParts[1].trim()); + } else { + pathParam.addProperty("type", "string"); + } + pathsArray.add(pathParam); + } else { + // Regular path segment + pathsArray.add(path); + } + } + } + obj.add("paths", pathsArray); + } + } + + // Add parameters array if present + if (functionData.parameters() != null) { + JsonArray parametersArray = new JsonArray(); + for (Map.Entry entry : + functionData.parameters().entrySet()) { + JsonObject paramObj = parameterDataToJsonForArray(entry.getValue(), currentOrg, currentPackage); + parametersArray.add(paramObj); + } + obj.add("parameters", parametersArray); + } + + // Add return object with type + JsonObject returnObj = new JsonObject(); + + // Use ReturnTypeData if available, otherwise fall back to returnType string + if (functionData.returnTypeData() != null) { + ReturnTypeData returnTypeData = functionData.returnTypeData(); + + JsonObject returnTypeObj = new JsonObject(); + returnTypeObj.addProperty("name", returnTypeData.name()); + + returnObj.add("type", returnTypeObj); + } else if (functionData.returnType() != null) { + // Fallback to old format + JsonObject returnTypeObj = new JsonObject(); + returnTypeObj.addProperty("name", functionData.returnType()); + returnObj.add("type", returnTypeObj); + } + + obj.add("return", returnObj); + + return obj; + } + + /** + * Parses a resource path string to extract accessor and path. + * + * @param resourcePath the resource path string + * @return array with [accessor, path] + */ + private String[] parseResourcePath(String resourcePath) { + String trimmed = resourcePath.trim(); + int firstSlash = trimmed.indexOf('/'); + + if (firstSlash > 0) { + // Format: "accessor /path" + return new String[]{ + trimmed.substring(0, firstSlash).trim(), + trimmed.substring(firstSlash) + }; + } else if (firstSlash == 0) { + // Format: "/path" (default to "get") + return new String[]{"get", trimmed}; + } else { + // No path, just accessor + return new String[]{trimmed, ""}; + } + } + + /** + * Converts FunctionData.Kind to human-readable function type string. + * + * @param kind the function kind + * @return string representation for JSON + */ + private String getFunctionTypeString(FunctionData.Kind kind) { + if (kind == null) { + return "Normal Function"; + } + return switch (kind) { + case CLASS_INIT, CONNECTOR, LISTENER_INIT -> "Constructor"; + case REMOTE -> "Remote Function"; + case RESOURCE -> "Resource Function"; + default -> "Normal Function"; + }; + } + + /** + * Converts ParameterData to JsonObject for use in array format (with type links). + * + * @param paramData the parameter data to convert + * @param currentOrg the current package organization + * @param currentPackage the current package name + * @return JsonObject representation + */ + private JsonObject parameterDataToJsonForArray(ParameterData paramData, + String currentOrg, String currentPackage) { + JsonObject obj = new JsonObject(); + obj.addProperty("name", paramData.name()); + obj.addProperty("description", paramData.description()); + obj.addProperty("optional", paramData.optional()); + obj.addProperty("default", paramData.defaultValue()); + + // Add type object + if (paramData.type() != null) { + JsonObject typeObj = new JsonObject(); + String typeName = paramData.type(); + + if (!typeName.isEmpty()) { + typeObj.addProperty("name", typeName); + + // Add type links from import statements if available + if (paramData.importStatements() != null && !paramData.importStatements().isEmpty()) { + String recordName = extractRecordNameFromTypeSymbol(paramData.typeSymbol()); + JsonArray links = extractTypeLinks( + paramData.importStatements(), recordName, currentOrg, currentPackage); + + if (!links.isEmpty()) { + typeObj.add("links", links); + } + } + } + obj.add("type", typeObj); + } + return obj; + } + + /** + * Converts TypeDefData to JsonObject manually with org and package info for link generation. + */ + private JsonObject typeDefDataToJson(TypeDefData typeDefData, String currentOrg, String currentPackage) { + JsonObject obj = new JsonObject(); + obj.addProperty("name", typeDefData.name()); + obj.addProperty("description", typeDefData.description()); + obj.addProperty("type", typeDefData.type() != null ? typeDefData.type().getValue() : null); + + TypeDefData.TypeCategory category = typeDefData.type(); + + // Only add value for CONSTANT category + if (category == TypeDefData.TypeCategory.CONSTANT) { + obj.addProperty("value", typeDefData.baseType()); + } + + // Only add fields/members for specific categories (not for CONSTANT, ERROR, or OTHER) + if (typeDefData.fields() != null && + category != TypeDefData.TypeCategory.CONSTANT && + category != TypeDefData.TypeCategory.ERROR && + category != TypeDefData.TypeCategory.OTHER) { + + JsonArray fieldsArray = new JsonArray(); + + for (FieldData field : typeDefData.fields()) { + if (category == TypeDefData.TypeCategory.UNION) { + fieldsArray.add(field.name()); + } else { + JsonObject fieldObj; + + if (category == TypeDefData.TypeCategory.ENUM) { + // Enum members: only name and description + fieldObj = new JsonObject(); + fieldObj.addProperty("name", field.name()); + fieldObj.addProperty("description", field.description()); + } else { + fieldObj = fieldDataToJson(field, currentOrg, currentPackage); + } + + fieldsArray.add(fieldObj); + } + } + + // Use "members" for ENUM and UNION, "fields" for others + String arrayName = (category == TypeDefData.TypeCategory.ENUM || + category == TypeDefData.TypeCategory.UNION) ? "members" : "fields"; + obj.add(arrayName, fieldsArray); + } + + return obj; + } + + /** + * Converts FieldData to JsonObject manually with org and package info for link generation. + * Used for RECORD fields and other non-enum, non-constant field types. + */ + private JsonObject fieldDataToJson(FieldData fieldData, String currentOrg, String currentPackage) { + JsonObject obj = new JsonObject(); + obj.addProperty("name", fieldData.name()); + obj.addProperty("description", fieldData.description()); + obj.addProperty("optional", fieldData.optional()); + + // Add type object + if (fieldData.type() != null) { + JsonObject typeObj = new JsonObject(); + String typeName = fieldData.type().name(); + + // Get the formatted record name from TypeSymbol + String recordName = extractRecordNameFromTypeSymbol(fieldData.type().typeSymbol()); + + typeObj.addProperty("name", typeName); + + // Extract type links if we have the TypeSymbol and org/package info + if (currentOrg != null && currentPackage != null && fieldData.type().typeSymbol() != null) { + TypeSymbol typeSymbol = fieldData.type().typeSymbol(); + String importStatements = extractImportStatementsFromTypeSymbol(typeSymbol); + + if (importStatements != null && !importStatements.isEmpty()) { + JsonArray links = extractTypeLinks(importStatements, recordName, currentOrg, currentPackage); + if (!links.isEmpty()) { + typeObj.add("links", links); + } + } + } + + obj.add("type", typeObj); + } + + return obj; + } + + /** + * Extracts the record name from TypeSymbol handling Union, TypeReference, Array, and basic types. + */ + private String extractRecordNameFromTypeSymbol(TypeSymbol typeSymbol) { + if (typeSymbol == null) { + return ""; + } + + switch (typeSymbol.typeKind()) { + case UNION: + // Handle union types + UnionTypeSymbol unionType = (UnionTypeSymbol) typeSymbol; + List memberTypes = new java.util.ArrayList<>(); + for (TypeSymbol member : unionType.memberTypeDescriptors()) { + memberTypes.add(extractRecordNameFromTypeSymbol(member)); + } + return String.join("|", memberTypes); + + case TYPE_REFERENCE: + // Handle type references - get the definition name from the referenced type + TypeReferenceTypeSymbol typeRef = (TypeReferenceTypeSymbol) typeSymbol; + return typeRef.definition().getName() + .or(() -> typeRef.typeDescriptor().getName()) + .orElse(typeSymbol.typeKind().getName()); + + case ARRAY: + // Handle array types - recursively get the member type name + ArrayTypeSymbol arrayType = (ArrayTypeSymbol) typeSymbol; + return extractRecordNameFromTypeSymbol(arrayType.memberTypeDescriptor()) + "[]"; + + default: + // For other types, use getName() directly + return typeSymbol.getName().orElse(typeSymbol.signature()); + } + } + + /** + * Builds TypeDefData from a TypeDefinitionSymbol using FunctionDataBuilder's allMembers function. + */ + private TypeDefData buildTypeDefDataFromSymbol(TypeDefinitionSymbol typeDefSymbol) { + String typeName = typeDefSymbol.getName().orElse(""); + String typeDescription = typeDefSymbol.documentation() + .flatMap(Documentation::description) + .orElse(""); + + TypeSymbol typeDescriptor = typeDefSymbol.typeDescriptor(); + TypeSymbol rawType = getRawType(typeDescriptor); + TypeDescKind typeKind = rawType.typeKind(); + + // Use FunctionDataBuilder.allMembers to extract all type information + Map typeMap = new java.util.LinkedHashMap<>(); + FunctionDataBuilder.allMembers(typeMap, typeDescriptor); + + // Determine type category + TypeDefData.TypeCategory typeCategory = switch (typeKind) { + case RECORD -> TypeDefData.TypeCategory.RECORD; + case UNION -> TypeDefData.TypeCategory.UNION; + case OBJECT -> TypeDefData.TypeCategory.CLASS; + case ERROR -> TypeDefData.TypeCategory.ERROR; + default -> TypeDefData.TypeCategory.OTHER; + }; + + // Extract fields based on type + List fields = new java.util.ArrayList<>(); + String baseType = null; + + baseType = switch (typeKind) { + case RECORD -> { + extractRecordFields((RecordTypeSymbol) rawType, fields); + yield typeDescriptor.signature(); + } + case UNION -> { + extractUnionMembers((UnionTypeSymbol) rawType, fields); + yield typeDescriptor.signature(); + } + case MAP -> extractMapFields((MapTypeSymbol) rawType, fields); + case TABLE -> { + extractTableFields((TableTypeSymbol) rawType, fields); + yield typeDescriptor.signature(); + } + case STREAM -> { + extractStreamFields((StreamTypeSymbol) rawType, fields); + yield typeDescriptor.signature(); + } + default -> typeDescriptor.signature(); + }; + + return new TypeDefData(typeName, typeDescription, typeCategory, fields, baseType); + } + + private void extractRecordFields(RecordTypeSymbol recordType, List fields) { + recordType.fieldDescriptors().forEach((key, fieldSymbol) -> { + String fieldName = fieldSymbol.getName().orElse(key); + String fieldDescription = fieldSymbol.documentation() + .flatMap(Documentation::description) + .orElse(""); + TypeSymbol fieldTypeSymbol = fieldSymbol.typeDescriptor(); + boolean optional = fieldSymbol.isOptional() || fieldSymbol.hasDefaultValue(); + + FieldData.FieldType fieldType = new FieldData.FieldType(fieldTypeSymbol.signature(), fieldTypeSymbol); + fields.add(new FieldData(fieldName, fieldDescription, fieldType, optional)); + }); + + // Handle rest field if present + recordType.restTypeDescriptor().ifPresent(restType -> { + FieldData.FieldType fieldType = new FieldData.FieldType(restType.signature(), restType); + fields.add(new FieldData("", "Rest field", fieldType, false)); + }); + } + + private void extractUnionMembers(UnionTypeSymbol unionType, List fields) { + unionType.memberTypeDescriptors().forEach(memberType -> { + String memberTypeName = memberType.signature(); + FieldData.FieldType fieldType = new FieldData.FieldType(memberTypeName, memberType); + fields.add(new FieldData(memberTypeName, "Union member", fieldType, false)); + }); + } + + private String extractMapFields(MapTypeSymbol mapType, List fields) { + TypeSymbol constraintType = mapType.typeParam(); + String constraintTypeName = constraintType.signature(); + FieldData.FieldType fieldType = new FieldData.FieldType(constraintTypeName, constraintType); + fields.add(new FieldData("constraint", "Map constraint type", fieldType, false)); + return "map<" + constraintTypeName + ">"; + } + + private void extractTableFields(TableTypeSymbol tableType, List fields) { + TypeSymbol rowType = tableType.rowTypeParameter(); + FieldData.FieldType rowFieldType = new FieldData.FieldType(rowType.signature(), rowType); + fields.add(new FieldData("rowType", "Table row type", rowFieldType, false)); + + // Extract key constraint if present + tableType.keyConstraintTypeParameter().ifPresent(keyType -> { + FieldData.FieldType keyFieldType = new FieldData.FieldType(keyType.signature(), keyType); + fields.add(new FieldData("keyConstraint", "Table key constraint", keyFieldType, false)); + }); + } + + private void extractStreamFields(StreamTypeSymbol streamType, List fields) { + TypeSymbol streamTypeParam = streamType.typeParameter(); + FieldData.FieldType streamFieldType = new FieldData.FieldType(streamTypeParam.signature(), streamTypeParam); + fields.add(new FieldData("valueType", "Stream value type", streamFieldType, false)); + + TypeSymbol completionType = streamType.completionValueTypeParameter(); + FieldData.FieldType completionFieldType = new FieldData.FieldType(completionType.signature(), completionType); + fields.add(new FieldData("completionType", "Stream completion type", completionFieldType, false)); + } + + /** + * Builds TypeDefData for an Enum symbol. + */ + private TypeDefData buildEnumTypeDefData(EnumSymbol enumSymbol) { + String typeName = enumSymbol.getName().orElse(""); + String typeDescription = enumSymbol.documentation() + .flatMap(Documentation::description) + .orElse(""); + + List enumMembers = new java.util.ArrayList<>(); + + // Extract enum members + for (ConstantSymbol member : enumSymbol.members()) { + String memberName = member.getName().orElse(""); + String memberDescription = member.documentation() + .flatMap(Documentation::description) + .orElse(""); + + // Get the constant value if available + String memberValue = memberName; + Object constValueObj = member.constValue(); + if (constValueObj instanceof ConstantValue constantValue) { + Object value = constantValue.value(); + if (value != null) { + memberValue = value.toString(); + } + } + + FieldData.FieldType fieldType = new FieldData.FieldType(memberValue); + enumMembers.add(new FieldData(memberName, memberDescription, fieldType, false)); + } + + return new TypeDefData(typeName, typeDescription, TypeDefData.TypeCategory.ENUM, enumMembers, null); + } + + /** + * Builds TypeDefData for a Constant symbol. + */ + private TypeDefData buildConstantTypeDefData(ConstantSymbol constantSymbol) { + String typeName = constantSymbol.getName().orElse(""); + String typeDescription = constantSymbol.documentation() + .flatMap(Documentation::description) + .orElse(""); + + // Get the constant's type and value + TypeSymbol typeSymbol = constantSymbol.typeDescriptor(); + + // Get the constant value if available + String constantValue = typeSymbol.signature(); + Object constValueObj = constantSymbol.constValue(); + if (constValueObj instanceof ConstantValue constantVal) { + Object value = constantVal.value(); + if (value != null) { + constantValue = value.toString(); + } + } + + return new TypeDefData(typeName, typeDescription, TypeDefData.TypeCategory.CONSTANT, + new java.util.ArrayList<>(), constantValue); + } + + /** + * Extracts import statements from a TypeSymbol by analyzing its module information. + * Returns a comma-separated string of package paths (e.g., "org/package, org2/package2"). + */ + private String extractImportStatementsFromTypeSymbol(TypeSymbol typeSymbol) { + if (typeSymbol == null) { + return null; + } + + // Get the module information from the type symbol + Optional moduleOpt = typeSymbol.getModule(); + if (moduleOpt.isEmpty()) { + return null; + } + + ModuleSymbol moduleSymbol = moduleOpt.get(); + + // Get org and module name + String org = moduleSymbol.id().orgName(); + String moduleName = moduleSymbol.id().moduleName(); + + // Return the package path + return org + "/" + moduleName; + } + + /** + * Extracts type links from import statements string combined with type symbol. + */ + private JsonArray extractTypeLinks(String importStatements, + String recordName, + String currentOrg, + String currentPackage) { + JsonArray links = new JsonArray(); + + if (importStatements == null || importStatements.trim().isEmpty()) { + return links; + } + + // Split by semicolon to get individual import statements + String[] imports = importStatements.split(","); + for (String importStmt : imports) { + String packagePath = importStmt.trim(); + + if (packagePath.isEmpty()) { + continue; + } + + // Handle "as alias" part if present + int asIndex = packagePath.indexOf(" as "); + if (asIndex > 0) { + packagePath = packagePath.substring(0, asIndex).trim(); + } + + String[] parts = packagePath.split("/"); + if (parts.length >= 2) { + String org = parts[0]; + String pkgName = parts[1]; + + // Skip predefined lang libs + if (isPredefinedLangLib(org, pkgName)) { + continue; + } + + // Determine if it's internal or external + boolean isInternal = org.equals(currentOrg) && pkgName.equals(currentPackage); + + // Create the link object + JsonObject link = new JsonObject(); + link.addProperty("category", isInternal ? "internal" : "external"); + link.addProperty("recordName", recordName); + + if (!isInternal) { + // Add library name for external types + link.addProperty("libraryName", org + "/" + pkgName); + } + + links.add(link); + } + } + + return links; + } + + /** + * Checks if a module is a predefined language library. + */ + private boolean isPredefinedLangLib(String orgName, String packageName) { + return "ballerina".equals(orgName) && + packageName.startsWith("lang.") && + !packageName.equals("lang.annotations"); + } + + /** + * Loads services from inbuilt-triggers JSON files. + * These JSON files contain service definitions with listener and function information. + * + * @param libraryName the library name (e.g., "ballerinax/kafka") + * @return JsonArray containing services, or empty array if not found + */ + private JsonArray loadServicesFromInbuiltTriggers(String libraryName) { + JsonArray services = new JsonArray(); + + // Map library names to inbuilt-triggers file names + // This is specifically for known trigger libraries like kafka, asb, GitHub, etc. + String triggerFileName = getInbuiltTriggerFileName(libraryName); + if (triggerFileName == null) { + return services; // No inbuilt trigger for this library + } + + try (InputStream inputStream = CopilotLibraryService.class.getResourceAsStream("/inbuilt-triggers/" + + triggerFileName)) { + if (inputStream == null) { + return services; // File not found + } + + try (InputStreamReader reader = new InputStreamReader(inputStream, StandardCharsets.UTF_8)) { + + JsonObject triggerData = JsonParser.parseReader(reader).getAsJsonObject(); + + // Extract listener information + JsonObject listener = triggerData.getAsJsonObject("listener"); + if (listener == null) { + return services; + } + + // Extract service types + JsonArray serviceTypes = triggerData.getAsJsonArray("serviceTypes"); + if (serviceTypes == null || serviceTypes.isEmpty()) { + return services; + } + + // For each service type, create a service object + for (JsonElement serviceTypeElement : serviceTypes) { + JsonObject serviceType = serviceTypeElement.getAsJsonObject(); + + JsonObject serviceObj = new JsonObject(); + + // Service type: "fixed" for specific listeners + serviceObj.addProperty("type", "fixed"); + + // Build listener object + JsonObject listenerObj = buildListenerFromTriggerData(listener); + serviceObj.add("listener", listenerObj); + + // Extract functions from service type + JsonArray functionsFromService = serviceType.getAsJsonArray("functions"); + if (functionsFromService != null && !functionsFromService.isEmpty()) { + JsonArray transformedFunctions = new JsonArray(); + for (JsonElement funcElement : functionsFromService) { + JsonObject func = funcElement.getAsJsonObject(); + JsonObject transformedFunc = transformServiceFunction(func); + transformedFunctions.add(transformedFunc); + } + serviceObj.add("functions", transformedFunctions); + } + + services.add(serviceObj); + } + + } + } catch (IOException e) { + // If file doesn't exist or cannot be read, return empty array + return services; + } + + return services; + } + + /** + * Loads generic services for a specific library from the generic-services.json file. + * Returns services defined for libraries like ballerina/http, ballerina/graphql, etc. + * + * @param libraryName the library name (e.g., "ballerina/http") + * @return JsonArray containing services for this library, or empty array if not found + */ + private JsonArray loadGenericServicesForLibrary(String libraryName) { + JsonArray matchingServices = new JsonArray(); + + try (InputStream inputStream = CopilotLibraryService.class.getResourceAsStream(GENERIC_SERVICES_JSON_PATH)) { + if (inputStream == null) { + return matchingServices; // File not found, return empty array + } + + try (InputStreamReader reader = new InputStreamReader(inputStream, StandardCharsets.UTF_8)) { + JsonObject genericServicesData = JsonParser.parseReader(reader).getAsJsonObject(); + + // Get the services array + JsonArray allServices = genericServicesData.getAsJsonArray("services"); + if (allServices == null || allServices.isEmpty()) { + return matchingServices; + } + + // Filter services by library name + for (JsonElement serviceElement : allServices) { + JsonObject service = serviceElement.getAsJsonObject(); + + // Check if this service belongs to the requested library + if (service.has("libraryName") && + service.get("libraryName").getAsString().equals(libraryName)) { + + // Create a copy of the service without the libraryName field + JsonObject serviceObj = new JsonObject(); + serviceObj.addProperty("type", service.get("type").getAsString()); + serviceObj.addProperty("instructions", service.get("instructions").getAsString()); + + // Copy listener object + if (service.has("listener")) { + serviceObj.add("listener", service.get("listener")); + } + + // Copy functions array if present + if (service.has("functions")) { + serviceObj.add("functions", service.get("functions")); + } + + matchingServices.add(serviceObj); + } + } + } + } catch (IOException e) { + // If file doesn't exist or cannot be read, return empty array + return matchingServices; + } + + return matchingServices; + } + + /** + * Maps library names to inbuilt-trigger file names. + * + * @param libraryName the library name (e.g., "ballerinax/kafka") + * @return the trigger file name (e.g., "kafka.json") or null if not a trigger library + */ + private String getInbuiltTriggerFileName(String libraryName) { + // Remove org prefix if present + String packageName = libraryName.contains("/") ? + libraryName.substring(libraryName.indexOf("/") + 1) : libraryName; + + // Map known trigger libraries to their JSON file names + return switch (packageName) { + case "kafka" -> "kafka.json"; + case "asb" -> "asb.json"; + case "jms" -> "jms.json"; + case "rabbitmq" -> "rabbitmq.json"; + case "nats" -> "nats.json"; + case "ftp" -> "ftp.json"; + case "mqtt" -> "mqtt.json"; + case "salesforce" -> "salesforce.json"; + case "trigger.github", "github" -> "github.json"; + default -> null; + }; + } + + /** + * Builds a listener object from inbuilt-triggers listener data. + * + * @param listenerData the listener JSON object from triggers file + * @return JsonObject representing the listener + */ + private JsonObject buildListenerFromTriggerData(JsonObject listenerData) { + JsonObject listenerObj = new JsonObject(); + + // Get listener name from valueTypeConstraint + String listenerName = listenerData.has("valueTypeConstraint") ? + listenerData.get("valueTypeConstraint").getAsString() : "Listener"; + listenerObj.addProperty("name", listenerName); + + // Extract parameters from listener properties + JsonArray parametersArray = new JsonArray(); + if (listenerData.has("properties")) { + JsonObject properties = listenerData.getAsJsonObject("properties"); + for (String propKey : properties.keySet()) { + JsonObject prop = properties.getAsJsonObject(propKey); + JsonObject paramObj = buildParameterFromProperty(propKey, prop); + parametersArray.add(paramObj); + } + } + + listenerObj.add("parameters", parametersArray); + return listenerObj; + } + + /** + * Builds a parameter object from a listener property. + * + * @param propertyName the property name + * @param property the property JSON object + * @return JsonObject representing the parameter, or null if invalid + */ + private JsonObject buildParameterFromProperty(String propertyName, JsonObject property) { + JsonObject paramObj = new JsonObject(); + + // Parameter name + paramObj.addProperty("name", propertyName); + + // Parameter description from metadata + String description = ""; + if (property.has("metadata")) { + JsonObject metadata = property.getAsJsonObject("metadata"); + if (metadata.has("description")) { + description = metadata.get("description").getAsString(); + } + } + paramObj.addProperty("description", description); + + // Parameter type + JsonObject typeObj = new JsonObject(); + String typeName = property.has("valueTypeConstraint") ? + property.get("valueTypeConstraint").getAsString() : "string"; + typeObj.addProperty("name", typeName); + paramObj.add("type", typeObj); + + // Default value if present + if (property.has("placeholder") && !property.get("placeholder").isJsonNull()) { + paramObj.addProperty("default", property.get("placeholder").getAsString()); + } + + return paramObj; + } + + /** + * Transforms a service function from trigger data to the required format. + * + * @param functionData the function JSON object from triggers file + * @return JsonObject representing the transformed function + */ + private JsonObject transformServiceFunction(JsonObject functionData) { + JsonObject func = new JsonObject(); + + // Function name + if (functionData.has("name")) { + func.addProperty("name", functionData.get("name").getAsString()); + } + + String functionType = "Remote Function"; + if (functionData.has("qualifiers")) { + JsonArray qualifiers = functionData.getAsJsonArray("qualifiers"); + if (qualifiers != null && !qualifiers.isEmpty()) { + String qualifier = qualifiers.get(0).getAsString(); + functionType = qualifier.equals("remote") ? "Remote Function" : "Normal Function"; + } + } + func.addProperty("type", functionType); + + // Function documentation + if (functionData.has("documentation")) { + func.addProperty("description", functionData.get("documentation").getAsString()); + } + + // Parameters + if (functionData.has("parameters")) { + JsonArray parameters = functionData.getAsJsonArray("parameters"); + JsonArray transformedParams = new JsonArray(); + for (JsonElement paramElement : parameters) { + JsonObject param = paramElement.getAsJsonObject(); + JsonObject transformedParam = new JsonObject(); + + // Parameter name + if (param.has("name")) { + transformedParam.addProperty("name", param.get("name").getAsString()); + } + + // Parameter description + if (param.has("documentation")) { + transformedParam.addProperty("description", param.get("documentation").getAsString()); + } + + // Parameter type + JsonObject typeObj = new JsonObject(); + if (param.has("type")) { + JsonElement typeElement = param.get("type"); + if (typeElement.isJsonArray()) { + // If type is an array, get the first element (or default type) + JsonArray typeArray = typeElement.getAsJsonArray(); + if (!typeArray.isEmpty()) { + typeObj.addProperty("name", typeArray.get(0).getAsString()); + } + } else { + typeObj.addProperty("name", typeElement.getAsString()); + } + } else if (param.has("typeName")) { + typeObj.addProperty("name", param.get("typeName").getAsString()); + } + transformedParam.add("type", typeObj); + + // Optional flag + if (param.has("optional")) { + transformedParam.addProperty("optional", param.get("optional").getAsBoolean()); + } + + transformedParams.add(transformedParam); + } + func.add("parameters", transformedParams); + } + + // Return type + if (functionData.has("returnType")) { + JsonObject returnTypeData = functionData.getAsJsonObject("returnType"); + JsonObject returnObj = new JsonObject(); + JsonObject returnTypeObj = new JsonObject(); + + if (returnTypeData.has("typeName")) { + returnTypeObj.addProperty("name", returnTypeData.get("typeName").getAsString()); + } else if (returnTypeData.has("type")) { + JsonElement typeElement = returnTypeData.get("type"); + if (typeElement.isJsonArray()) { + JsonArray typeArray = typeElement.getAsJsonArray(); + if (!typeArray.isEmpty()) { + returnTypeObj.addProperty("name", typeArray.get(0).getAsString()); + } + } else { + returnTypeObj.addProperty("name", typeElement.getAsString()); + } + } + returnObj.add("type", returnTypeObj); + func.add("return", returnObj); + } + + return func; + } } diff --git a/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/java/module-info.java b/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/java/module-info.java index 9bf24a7f04..d74d7e46da 100644 --- a/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/java/module-info.java +++ b/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/java/module-info.java @@ -33,4 +33,5 @@ requires io.ballerina.model.generator.commons; requires io.ballerina.toml; requires java.net.http; + requires java.sql; } diff --git a/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/resources/copilot/generic-services.json b/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/resources/copilot/generic-services.json new file mode 100644 index 0000000000..80bb44e2b4 --- /dev/null +++ b/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/resources/copilot/generic-services.json @@ -0,0 +1,55 @@ +{ + "services": [ + { + "libraryName": "ballerina/graphql", + "type": "generic", + "instructions": "", + "listener": { + "name": "Listener", + "parameters": [ + { + "name": "listenTo", + "description": "Port number to listen to the GraphQL service endpoint.", + "type": { + "name": "int" + } + } + ] + } + }, + { + "libraryName": "ballerina/http", + "type": "generic", + "instructions": "", + "listener": { + "name": "Listener", + "parameters": [ + { + "name": "port", + "description": "Listening port of the HTTP service listener", + "type": { + "name": "int" + } + } + ] + } + }, + { + "libraryName": "ballerina/ai", + "type": "generic", + "instructions": "", + "listener": { + "name": "Listener", + "parameters": [ + { + "name": "listenOn", + "description": "Listening port of the HTTP service listener", + "type": { + "name": "int" + } + } + ] + } + } + ] +} diff --git a/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/resources/search-index.sqlite b/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/resources/search-index.sqlite index ab157fff43..ae922371df 100644 Binary files a/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/resources/search-index.sqlite and b/flow-model-generator/modules/flow-model-generator-ls-extension/src/main/resources/search-index.sqlite differ diff --git a/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/java/io/ballerina/flowmodelgenerator/extension/GetFilteredLibrariesFromSemanticModel.java b/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/java/io/ballerina/flowmodelgenerator/extension/GetFilteredLibrariesFromSemanticModel.java new file mode 100644 index 0000000000..805a7aa4d8 --- /dev/null +++ b/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/java/io/ballerina/flowmodelgenerator/extension/GetFilteredLibrariesFromSemanticModel.java @@ -0,0 +1,624 @@ +/* + * Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com) + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package io.ballerina.flowmodelgenerator.extension; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import io.ballerina.flowmodelgenerator.extension.request.GetSelectedLibrariesRequest; +import io.ballerina.modelgenerator.commons.AbstractLSTest; +import org.testng.Assert; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; + +/** + * Test cases for getFilteredLibrariesFromSemanticModel method. + * Tests the functionality of retrieving filtered libraries using the semantic model. + * Specifically focuses on verifying internal and external link references. + * + * @since 1.0.0 + */ +public class GetFilteredLibrariesFromSemanticModel extends AbstractLSTest { + + @DataProvider(name = "data-provider") + @Override + protected Object[] getConfigsList() { + return new Object[][]{ + {Path.of("get_filtered_libraries_from_semantic_api.json")}, + }; + } + + @Override + @Test(dataProvider = "data-provider") + public void test(Path config) throws IOException { + Path configJsonPath = configDir.resolve(config); + TestConfig testConfig = gson.fromJson(Files.newBufferedReader(configJsonPath), TestConfig.class); + + // Create request with library names to filter + GetSelectedLibrariesRequest request = new GetSelectedLibrariesRequest( + testConfig.libNames().toArray(new String[0])); + JsonElement response = getResponse(request); + JsonArray actualLibraries = response.getAsJsonObject().getAsJsonArray("libraries"); + + boolean assertFailure = false; + + if (actualLibraries == null) { + log.info("No libraries array found in response"); + assertFailure = true; + } else if (actualLibraries.size() != testConfig.expectedLibraries().size()) { + log.info("Expected " + testConfig.expectedLibraries().size() + " libraries, but got " + + actualLibraries.size()); + assertFailure = true; + } else { + // Verify that each returned library matches the expected library structure + for (int i = 0; i < actualLibraries.size(); i++) { + JsonObject actualLibrary = actualLibraries.get(i).getAsJsonObject(); + Library expectedLibrary = testConfig.expectedLibraries().get(i); + + if (!actualLibrary.has("name")) { + log.info("Library object at index " + i + " missing 'name' field"); + assertFailure = true; + break; + } + + String actualLibraryName = actualLibrary.get("name").getAsString(); + if (!actualLibraryName.equals(expectedLibrary.name())) { + log.info("Library mismatch at index " + i + ": expected '" + expectedLibrary.name() + + "', got '" + actualLibraryName + "'"); + assertFailure = true; + break; + } + + // Verify complete library structure (should have typeDefs, clients, functions) + if (!actualLibrary.has("typeDefs") || !actualLibrary.has("clients") || + !actualLibrary.has("functions")) { + log.info("Library '" + actualLibraryName + "' missing required fields"); + assertFailure = true; + break; + } + + // Verify links in the library + if (!verifyLinksInLibrary(actualLibrary)) { + log.info("Link verification failed for library: " + actualLibraryName); + assertFailure = true; + break; + } + } + } + + if (assertFailure) { + Assert.fail(String.format("Failed test: '%s' (%s)", testConfig.description(), configJsonPath)); + } + } + + /** + * Verifies that all links in a library have proper structure. + * Internal links should have recordName but NOT libraryName. + * External links should have both recordName and libraryName. + */ + private boolean verifyLinksInLibrary(JsonObject library) { + // Verify links in typeDefs + if (library.has("typeDefs")) { + if (!verifyLinksInTypeDefs(library.getAsJsonArray("typeDefs"))) { + return false; + } + } + + // Verify links in clients + if (library.has("clients")) { + JsonArray clients = library.getAsJsonArray("clients"); + for (JsonElement clientElement : clients) { + JsonObject client = clientElement.getAsJsonObject(); + if (client.has("functions")) { + if (!verifyLinksInFunctions(client.getAsJsonArray("functions"))) { + return false; + } + } + } + } + + // Verify links in functions + if (library.has("functions")) { + if (!verifyLinksInFunctions(library.getAsJsonArray("functions"))) { + return false; + } + } + + return true; + } + + /** + * Verifies links in type definitions. + */ + private boolean verifyLinksInTypeDefs(JsonArray typeDefs) { + for (JsonElement typeDefElement : typeDefs) { + JsonObject typeDef = typeDefElement.getAsJsonObject(); + + if (typeDef.has("fields")) { + JsonArray fields = typeDef.getAsJsonArray("fields"); + for (JsonElement fieldElement : fields) { + JsonObject field = fieldElement.getAsJsonObject(); + if (field.has("type")) { + JsonObject typeObj = field.getAsJsonObject("type"); + if (typeObj.has("links")) { + if (!verifyLinkStructure(typeObj.getAsJsonArray("links"))) { + return false; + } + } + } + } + } + } + return true; + } + + /** + * Verifies links in functions. + */ + private boolean verifyLinksInFunctions(JsonArray functions) { + for (JsonElement funcElement : functions) { + JsonObject func = funcElement.getAsJsonObject(); + + // Check links in parameters + if (func.has("parameters")) { + JsonArray parameters = func.getAsJsonArray("parameters"); + for (JsonElement paramElement : parameters) { + JsonObject param = paramElement.getAsJsonObject(); + if (param.has("type")) { + JsonObject typeObj = param.getAsJsonObject("type"); + if (typeObj.has("links")) { + if (!verifyLinkStructure(typeObj.getAsJsonArray("links"))) { + return false; + } + } + } + } + } + + // Check links in return type + if (func.has("return")) { + JsonObject returnObj = func.getAsJsonObject("return"); + if (returnObj.has("type")) { + JsonObject typeObj = returnObj.getAsJsonObject("type"); + if (typeObj.has("links")) { + if (!verifyLinkStructure(typeObj.getAsJsonArray("links"))) { + return false; + } + } + } + } + } + return true; + } + + /** + * Verifies the structure of link objects. + * Internal links must have recordName but NOT libraryName. + * External links must have both recordName and libraryName. + */ + private boolean verifyLinkStructure(JsonArray links) { + for (JsonElement linkElement : links) { + JsonObject link = linkElement.getAsJsonObject(); + + if (!link.has("category")) { + log.info("Link missing 'category' field"); + return false; + } + + String category = link.get("category").getAsString(); + + if ("internal".equals(category)) { + if (!link.has("recordName")) { + log.info("Internal link missing 'recordName' field"); + return false; + } + if (link.has("libraryName")) { + log.info("Internal link should NOT have 'libraryName' field"); + return false; + } + } else if ("external".equals(category)) { + if (!link.has("recordName")) { + log.info("External link missing 'recordName' field"); + return false; + } + if (!link.has("libraryName")) { + log.info("External link missing 'libraryName' field"); + return false; + } + } + } + return true; + } + + /** + * Test internal links - types that reference other types within the same package. + * For example, in ballerina/http, OAuth2GrantConfig has internal links to other http types. + */ + @Test + public void testInternalLinks() throws IOException { + GetSelectedLibrariesRequest request = new GetSelectedLibrariesRequest( + new String[]{"ballerina/http"} + ); + JsonElement response = getResponse(request); + JsonArray libraries = response.getAsJsonObject().getAsJsonArray("libraries"); + + Assert.assertFalse(libraries.isEmpty(), "Response should not be empty for ballerina/http"); + + JsonObject httpLibrary = libraries.get(0).getAsJsonObject(); + Assert.assertEquals(httpLibrary.get("name").getAsString(), "ballerina/http"); + + // Count internal links + int internalLinkCount = countLinksInLibrary(httpLibrary, "internal"); + + // ballerina/http should have internal links (e.g., OAuth2GrantConfig references other http types) + Assert.assertTrue(internalLinkCount > 0, + "ballerina/http should have internal links between its own types"); + } + + /** + * Test external links - types that reference types from other packages. + * For example, ballerina/http uses types from ballerina/auth. + */ + @Test + public void testExternalLinks() throws IOException { + GetSelectedLibrariesRequest request = new GetSelectedLibrariesRequest( + new String[]{"ballerina/http"} + ); + JsonElement response = getResponse(request); + JsonArray libraries = response.getAsJsonObject().getAsJsonArray("libraries"); + + Assert.assertFalse(libraries.isEmpty(), "Response should not be empty"); + + JsonObject library = libraries.get(0).getAsJsonObject(); + + // Count external links + int externalLinkCount = countLinksInLibrary(library, "external"); + + // ballerina/http should have external links (e.g., to ballerina/auth types) + Assert.assertTrue(externalLinkCount > 0, + "ballerina/http should have external links to other libraries"); + + // Verify that external links have proper libraryName + boolean hasValidExternalLink = hasValidExternalLinks(library); + Assert.assertTrue(hasValidExternalLink, + "External links should have valid libraryName field"); + } + + /** + * Test that multiple libraries are retrieved correctly with proper link references. + * When requesting both ballerina/http and ballerina/io, both should be returned. + */ + @Test + public void testMultipleLibrariesWithLinks() throws IOException { + GetSelectedLibrariesRequest request = new GetSelectedLibrariesRequest( + new String[]{"ballerina/http", "ballerina/io"} + ); + JsonElement response = getResponse(request); + JsonArray libraries = response.getAsJsonObject().getAsJsonArray("libraries"); + + // Should return both libraries + Assert.assertTrue(libraries.size() >= 2, + "Should return at least 2 libraries when both are requested"); + + // Verify both libraries are present + boolean hasHttp = false; + boolean hasIo = false; + + for (JsonElement libElement : libraries) { + JsonObject lib = libElement.getAsJsonObject(); + String libName = lib.get("name").getAsString(); + if ("ballerina/http".equals(libName)) { + hasHttp = true; + // Verify structure + Assert.assertTrue(lib.has("description"), "ballerina/http should have description"); + Assert.assertTrue(lib.has("typeDefs"), "ballerina/http should have typeDefs"); + Assert.assertTrue(lib.has("clients"), "ballerina/http should have clients"); + Assert.assertTrue(lib.has("functions"), "ballerina/http should have functions"); + + // Verify links + Assert.assertTrue(verifyLinksInLibrary(lib), + "ballerina/http should have valid link structure"); + } else if ("ballerina/io".equals(libName)) { + hasIo = true; + // Verify structure + Assert.assertTrue(lib.has("description"), "ballerina/io should have description"); + Assert.assertTrue(lib.has("typeDefs"), "ballerina/io should have typeDefs"); + Assert.assertTrue(lib.has("functions"), "ballerina/io should have functions"); + + // Verify links + Assert.assertTrue(verifyLinksInLibrary(lib), + "ballerina/io should have valid link structure"); + } + } + + Assert.assertTrue(hasHttp, "Response should include ballerina/http"); + Assert.assertTrue(hasIo, "Response should include ballerina/io"); + } + + /** + * Counts the number of links of a specific category in a library. + */ + private int countLinksInLibrary(JsonObject library, String category) { + int count = 0; + + // Count in typeDefs + if (library.has("typeDefs")) { + count += countLinksInTypeDefs(library.getAsJsonArray("typeDefs"), category); + } + + // Count in clients + if (library.has("clients")) { + JsonArray clients = library.getAsJsonArray("clients"); + for (JsonElement clientElement : clients) { + JsonObject client = clientElement.getAsJsonObject(); + if (client.has("functions")) { + count += countLinksInFunctions(client.getAsJsonArray("functions"), category); + } + } + } + + // Count in functions + if (library.has("functions")) { + count += countLinksInFunctions(library.getAsJsonArray("functions"), category); + } + + return count; + } + + /** + * Counts links in type definitions. + */ + private int countLinksInTypeDefs(JsonArray typeDefs, String category) { + int count = 0; + for (JsonElement typeDefElement : typeDefs) { + JsonObject typeDef = typeDefElement.getAsJsonObject(); + + if (typeDef.has("fields")) { + JsonArray fields = typeDef.getAsJsonArray("fields"); + for (JsonElement fieldElement : fields) { + JsonObject field = fieldElement.getAsJsonObject(); + if (field.has("type")) { + JsonObject typeObj = field.getAsJsonObject("type"); + if (typeObj.has("links")) { + count += countLinksByCategory(typeObj.getAsJsonArray("links"), category); + } + } + } + } + } + return count; + } + + /** + * Counts links in functions. + */ + private int countLinksInFunctions(JsonArray functions, String category) { + int count = 0; + for (JsonElement funcElement : functions) { + JsonObject func = funcElement.getAsJsonObject(); + + // Count in parameters + if (func.has("parameters")) { + JsonArray parameters = func.getAsJsonArray("parameters"); + for (JsonElement paramElement : parameters) { + JsonObject param = paramElement.getAsJsonObject(); + if (param.has("type")) { + JsonObject typeObj = param.getAsJsonObject("type"); + if (typeObj.has("links")) { + count += countLinksByCategory(typeObj.getAsJsonArray("links"), category); + } + } + } + } + + // Count in return type + if (func.has("return")) { + JsonObject returnObj = func.getAsJsonObject("return"); + if (returnObj.has("type")) { + JsonObject typeObj = returnObj.getAsJsonObject("type"); + if (typeObj.has("links")) { + count += countLinksByCategory(typeObj.getAsJsonArray("links"), category); + } + } + } + } + return count; + } + + /** + * Counts links of a specific category. + */ + private int countLinksByCategory(JsonArray links, String category) { + int count = 0; + for (JsonElement linkElement : links) { + JsonObject link = linkElement.getAsJsonObject(); + if (link.has("category") && link.get("category").getAsString().equals(category)) { + count++; + } + } + return count; + } + + /** + * Checks if a library has valid external links with proper libraryName. + */ + private boolean hasValidExternalLinks(JsonObject library) { + // Check in typeDefs + if (library.has("typeDefs")) { + if (hasValidExternalLinksInTypeDefs(library.getAsJsonArray("typeDefs"))) { + return true; + } + } + + // Check in clients + if (library.has("clients")) { + JsonArray clients = library.getAsJsonArray("clients"); + for (JsonElement clientElement : clients) { + JsonObject client = clientElement.getAsJsonObject(); + if (client.has("functions")) { + if (hasValidExternalLinksInFunctions(client.getAsJsonArray("functions"))) { + return true; + } + } + } + } + + // Check in functions + if (library.has("functions")) { + if (hasValidExternalLinksInFunctions(library.getAsJsonArray("functions"))) { + return true; + } + } + + return false; + } + + /** + * Checks for valid external links in type definitions. + */ + private boolean hasValidExternalLinksInTypeDefs(JsonArray typeDefs) { + for (JsonElement typeDefElement : typeDefs) { + JsonObject typeDef = typeDefElement.getAsJsonObject(); + + if (typeDef.has("fields")) { + JsonArray fields = typeDef.getAsJsonArray("fields"); + for (JsonElement fieldElement : fields) { + JsonObject field = fieldElement.getAsJsonObject(); + if (field.has("type")) { + JsonObject typeObj = field.getAsJsonObject("type"); + if (typeObj.has("links")) { + JsonArray links = typeObj.getAsJsonArray("links"); + for (JsonElement linkElement : links) { + JsonObject link = linkElement.getAsJsonObject(); + if (link.has("category") && + link.get("category").getAsString().equals("external") && + link.has("recordName") && + link.has("libraryName")) { + return true; + } + } + } + } + } + } + } + return false; + } + + /** + * Checks for valid external links in functions. + */ + private boolean hasValidExternalLinksInFunctions(JsonArray functions) { + for (JsonElement funcElement : functions) { + JsonObject func = funcElement.getAsJsonObject(); + + // Check in parameters + if (func.has("parameters")) { + JsonArray parameters = func.getAsJsonArray("parameters"); + for (JsonElement paramElement : parameters) { + JsonObject param = paramElement.getAsJsonObject(); + if (param.has("type")) { + JsonObject typeObj = param.getAsJsonObject("type"); + if (typeObj.has("links")) { + JsonArray links = typeObj.getAsJsonArray("links"); + for (JsonElement linkElement : links) { + JsonObject link = linkElement.getAsJsonObject(); + if (link.has("category") && + link.get("category").getAsString().equals("external") && + link.has("recordName") && + link.has("libraryName")) { + return true; + } + } + } + } + } + } + + // Check in return type + if (func.has("return")) { + JsonObject returnObj = func.getAsJsonObject("return"); + if (returnObj.has("type")) { + JsonObject typeObj = returnObj.getAsJsonObject("type"); + if (typeObj.has("links")) { + JsonArray links = typeObj.getAsJsonArray("links"); + for (JsonElement linkElement : links) { + JsonObject link = linkElement.getAsJsonObject(); + if (link.has("category") && + link.get("category").getAsString().equals("external") && + link.has("recordName") && + link.has("libraryName")) { + return true; + } + } + } + } + } + } + return false; + } + + @Override + protected String getResourceDir() { + return "copilot_library"; + } + + @Override + protected Class clazz() { + return GetFilteredLibrariesFromSemanticModel.class; + } + + @Override + protected String getApiName() { + return "getFilteredLibrariesFromSemanticModel"; + } + + @Override + protected String getServiceName() { + return "copilotLibraryManager"; + } + + /** + * Test configuration record. + * + * @param description The description of the test + * @param libNames Array of library names to filter + * @param expectedLibraries The expected list of libraries + */ + public record TestConfig(String description, List libNames, List expectedLibraries) { + } + + /** + * Library record for expected library structure. + * + * @param name The library name + * @param description The library description + * @param typeDefs Type definitions + * @param clients Client definitions + * @param functions Function definitions + */ + public record Library(String name, String description, List typeDefs, List clients, + List functions) { + } +} diff --git a/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/java/io/ballerina/flowmodelgenerator/extension/GetLibrariesListFromSearchIndex.java b/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/java/io/ballerina/flowmodelgenerator/extension/GetLibrariesListFromSearchIndex.java new file mode 100644 index 0000000000..db35073e30 --- /dev/null +++ b/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/java/io/ballerina/flowmodelgenerator/extension/GetLibrariesListFromSearchIndex.java @@ -0,0 +1,144 @@ +/* + * Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com) + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package io.ballerina.flowmodelgenerator.extension; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import io.ballerina.flowmodelgenerator.extension.request.GetAllLibrariesRequest; +import io.ballerina.modelgenerator.commons.AbstractLSTest; +import org.testng.Assert; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; + +/** + * Tests for the Copilot Library Service getLibrariesListFromSearchIndex method. + * + */ +public class GetLibrariesListFromSearchIndex extends AbstractLSTest { + + @DataProvider(name = "data-provider") + @Override + protected Object[] getConfigsList() { + return new Object[][]{ + {Path.of("get_libraries_list_from_database.json")}, + }; + } + + @Override + @Test(dataProvider = "data-provider") + public void test(Path config) throws IOException { + Path configJsonPath = configDir.resolve(config); + TestConfig testConfig = gson.fromJson(Files.newBufferedReader(configJsonPath), TestConfig.class); + + GetAllLibrariesRequest request = new GetAllLibrariesRequest(null); + JsonElement response = getResponse(request); + + JsonArray actualLibraries = response.getAsJsonObject().getAsJsonArray("libraries"); + + boolean assertFailure = false; + + if (actualLibraries == null) { + log.info("No libraries array found in response"); + assertFailure = true; + } else if (actualLibraries.size() != testConfig.expectedLibraries().size()) { + log.info("Expected " + testConfig.expectedLibraries().size() + " libraries, but got " + + actualLibraries.size()); + assertFailure = true; + } else { + for (int i = 0; i < actualLibraries.size(); i++) { + String actualLibrary = actualLibraries.get(i).getAsJsonObject().get("name").getAsString(); + String expectedLibrary = testConfig.expectedLibraries().get(i).name; + if (!actualLibrary.equals(expectedLibrary)) { + log.info("Library mismatch at index " + i + ": expected '" + expectedLibrary + "', got '" + + actualLibrary + "'"); + assertFailure = true; + break; + } + + // Verify description based on expected value + JsonElement descriptionElement = actualLibraries.get(i).getAsJsonObject().get("description"); + String actualDescription = (descriptionElement != null && !descriptionElement.isJsonNull()) + ? descriptionElement.getAsString() : null; + String expectedDescription = testConfig.expectedLibraries().get(i).description; + + // Check if the actual description matches the expected description + boolean isActualEmpty = actualDescription == null || actualDescription.trim().isEmpty(); + boolean isExpectedEmpty = expectedDescription == null || expectedDescription.trim().isEmpty(); + + if (isActualEmpty != isExpectedEmpty) { + if (isExpectedEmpty) { + log.info("Expected empty description but got non-empty description for library at index " + + i + ": '" + actualLibrary + "' - actual: '" + actualDescription + "'"); + } else { + log.info("Expected non-empty description but got empty description for library at index " + + i + ": '" + actualLibrary + "'"); + } + assertFailure = true; + break; + } + } + } + + if (assertFailure) { + Assert.fail(String.format("Failed test: '%s' (%s)", testConfig.description(), configJsonPath)); + } + } + + @Override + protected String getResourceDir() { + return "copilot_library"; + } + + @Override + protected Class clazz() { + return GetLibrariesListFromSearchIndex.class; + } + + @Override + protected String getApiName() { + return "getLibrariesListFromSearchIndex"; + } + + @Override + protected String getServiceName() { + return "copilotLibraryManager"; + } + + /** + * Represents the test configuration for the getLibrariesList1 API. + * + * @param description The description of the test + * @param expectedLibraries The expected list of libraries + */ + private record TestConfig(String description, List expectedLibraries) { + + public String description() { + return description == null ? "" : description; + } + } + + private record CompactLibrary(String name, String description) { + // Compact representation of a library with only name and description + } +} diff --git a/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/copilot_library/get_filtered_libraries.json b/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/copilot_library/get_filtered_libraries.json index 82b13bbeea..c8f771c235 100644 --- a/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/copilot_library/get_filtered_libraries.json +++ b/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/copilot_library/get_filtered_libraries.json @@ -1,6 +1,23875 @@ { + "libNames": [ + "ballerina/http", + "ballerina/io" + ], "description": "Test Copilot libraries filtering", - "libNames": ["ballerina/http", "ballerina/io"], - "mode": "CORE", - "expectedLibraries": [{"name":"ballerina/http","description":"This module allows you to access the http client and server endpoints.","typeDefs":[{"name":"CredentialsConfig","description":"Represents credentials for Basic Auth authentication.","type":"Record","fields":[]},{"name":"BearerTokenConfig","description":"Represents token for Bearer token authentication.","type":"Record","fields":[{"name":"token","type":{"name":"string"},"description":"Bearer token for authentication"}]},{"name":"JwtIssuerConfig","description":"Represents JWT issuer configurations for JWT authentication.","type":"Record","fields":[]},{"name":"ClientConfiguration","description":"Provides a set of configurations for controlling the behaviours when communicating with a remote HTTP endpoint. The following fields are inherited from the other configuration records in addition to the Client-specific configs.","type":"Record","fields":[{"name":"timeout","type":{"name":"int"},"description":""}]},{"name":"HttpVersion","description":"Defines the supported HTTP protocols.","type":"Enum","members":[{"name":"HTTP_1_0","description":"Represents HTTP/1.0 protocol"},{"name":"HTTP_1_1","description":"Represents HTTP/1.1 protocol"},{"name":"HTTP_2_0","description":"Represents HTTP/2.0 protocol"}]},{"name":"ClientHttp2Settings","description":"Provides settings related to HTTP/2 protocol.","type":"Record","fields":[{"name":"http2PriorKnowledge","type":{"name":"boolean?"},"description":"Configuration to enable HTTP/2 prior knowledge"},{"name":"http2InitialWindowSize","type":{"name":"int?"},"description":"Configuration to change the initial window size"}]},{"name":"Compression","description":"Options to compress using gzip or deflate.","type":"Record","fields":[]},{"name":"KeepAlive","type":"Record","description":"Defines the possible values for the keep-alive configuration in service and client endpoints.","fields":[]},{"name":"Chunking","type":"Record","description":"Defines the possible values for the chunking configuration in HTTP services and clients.","fields":[]},{"name":"PoolConfiguration","type":"Record","description":"Configurations for managing HTTP client connection pool.","fields":[{"name":"maxActiveConnections","type":{"name":"int"},"description":"Max active connections per route(host:port). Default value is -1 which indicates unlimited."}]},{"name":"CacheConfig","type":"Record","description":"Provides a set of configurations for controlling the caching behaviour of the endpoint.","fields":[{"name":"enabled","type":{"name":"boolean?"},"description":"Specifies whether HTTP caching is enabled. Caching is enabled by default."}]},{"name":"CircuitBreakerConfig","type":"Record","description":"Provides a set of configurations for controlling the behaviour of the Circuit Breaker.","fields":[]},{"name":"RetryConfig","type":"Record","description":"Provides configurations for controlling the retrying behavior in failure scenarios.","fields":[{"name":"count","type":{"name":"int?"},"description":"Number of retry attempts before giving up"}]},{"name":"ResponseLimitConfigs","type":"Record","description":"Provides inbound response status line, total header and entity body size threshold configurations.","fields":[{"name":"maxHeaderSize","type":{"name":"int?"},"description":"Maximum allowed size for headers. Exceeding this limit will result in a ClientError"}]},{"name":"ClientSecureSocket","type":"Record","description":"Provides configurations for facilitating secure communication with a remote HTTP endpoint.","fields":[{"name":"enable","type":{"name":"boolean?"},"description":"Enable SSL validation"}]},{"name":"Method","type":"Enum","description":"Represents HTTP methods.","members":["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD"]},{"name":"RequestMessage","type":"Union","description":"The types of messages that are accepted by HTTP client when sending out the outbound request.","members":["anydata","Request"]},{"name":"ClientAuthConfig","type":"Union","description":"Defines the authentication configurations for the HTTP client.","members":["CredentialsConfig","BearerTokenConfig","JwtIssuerConfig"]},{"name":"QueryParams","type":"typedesc","description":"Defines the record type of query parameters supported with client resource methods.","member":["map"]},{"name":"ProxyConfig","type":"Record","description":"Proxy server configurations to be used with the HTTP client endpoint.","fields":[{"name":"port","type":{"name":"int?"},"description":"Enable SSL validation"}]},{"name":"Response","type":"Class","description":"Represents an HTTP response.","functions":[]}],"clients":[{"name":"Client","description":"The HTTP client provides the capability for initiating contact with a remote HTTP service. The API it provides includes the functions for the standard HTTP methods forwarding a received request and sending requests using custom HTTP verbs.","functions":[{"name":"init","type":"Constructor","description":"Gets invoked to initialize the client. During initialization, the configurations provided through the config record is used to determine which type of additional behaviours are added to the endpoint (e.g., caching, security, circuit breaking).","parameters":[{"name":"url","type":{"name":"string"},"description":"URL of the target service"},{"name":"config","type":{"name":"ClientConfiguration?","links":[{"category":"internal","recordName":"ClientConfiguration"}]},"description":"The configurations to be used when initializing the client"}],"return":{"type":{"name":"nil"}}},{"name":"get","type":"Remote Function","description":"function can be used to send HTTP GET requests to HTTP endpoints.","parameters":[{"name":"path","type":{"name":"string"},"description":"Resource path"},{"name":"headers","type":{"name":"map?"},"description":"The entity headers"}],"return":{"type":{"name":"<>|error"},"description":"The response record of the request or an `http:ClientError` if failed to establish the communication with the upstream server or a data binding failure"}},{"name":"post","type":"Remote Function","description":"function can be used to send HTTP POST requests to HTTP endpoints.","parameters":[{"name":"path","type":{"name":"string"},"description":"Resource path"},{"name":"message","type":{"name":"anydata"},"description":"An HTTP outbound request or any allowed payload"},{"name":"headers","type":{"name":"map?"},"description":"The entity headers"}],"return":{"type":{"name":"<>|error"},"description":"The response record of the request or an `http:ClientError` if failed to establish the communication with the upstream server or a data binding failure"}},{"name":"put","type":"Remote Function","description":"function can be used to send HTTP PUT requests to HTTP endpoints.","parameters":[{"name":"path","type":{"name":"string"},"description":"Resource path"},{"name":"message","type":{"name":"anydata"},"description":"An HTTP outbound request or any allowed payload"},{"name":"headers","type":{"name":"map?"},"description":"The entity headers"}],"return":{"type":{"name":"<>|error"},"description":"The response record of the request or an `http:ClientError` if failed to establish the communication with the upstream server or a data binding failure"}},{"name":"delete","type":"Remote Function","description":"function can be used to send HTTP DELETE requests to HTTP endpoints.","parameters":[{"name":"path","type":{"name":"string"},"description":"Resource path"},{"name":"message","type":{"name":"anydata"},"description":"An HTTP outbound request or any allowed payload"},{"name":"headers","type":{"name":"map?"},"description":"The entity headers"}],"return":{"type":{"name":"<>|error"},"description":"The response record of the request or an `http:ClientError` if failed to establish the communication with the upstream server or a data binding failure"}}]}]},{"name":"ballerina/io","description":"This module provides file read/write APIs and console print/read APIs. The file APIs allow read and write operations on different kinds of file types such as bytes, text, CSV, JSON, and XML. Further, these file APIs can be categorized as streaming and non-streaming APIs.","typeDefs":[{"fields":[{"name":"system","description":"The system identifier","type":{"name":"string?"},"default":"()"},{"name":"'public","description":"","type":{"name":"string?"},"default":"()"},{"name":"internalSubset","description":"Internal DTD schema","type":{"name":"string?"},"default":"()"}],"name":"XmlDoctype","description":"Represents the XML DOCTYPE entity.","type":"Record"},{"fields":[{"name":"xmlEntityType","description":"The entity type of the XML input (the default value is `DOCUMENT_ENTITY`)","type":{"name":"XmlEntityType","links":[{"category":"internal","recordName":"XmlEntityType"}]},"default":"DOCUMENT_ENTITY"},{"name":"doctype","description":"XML DOCTYPE value (the default value is `()`)","type":{"name":"XmlDoctype?","links":[{"category":"internal","recordName":"XmlDoctype"}]},"default":"()"}],"name":"XmlWriteOptions","description":"The writing options of an XML.","type":"Record"},{"name":"AccessDeniedError","description":"This will get returned due to file permission issues.","type":"error"},{"name":"ConfigurationError","description":"This will get returned if there is an invalid configuration.","type":"error"},{"name":"ConnectionTimedOutError","description":"This will return when connection timed out happen when try to connect to a remote host.","type":"error"},{"name":"EofError","description":"This will get returned if read operations are performed on a channel after it closed.","type":"error"},{"name":"Error","description":"Represents IO module related errors.","type":"error"},{"name":"FileNotFoundError","description":"This will get returned if the file is not available in the given file path.","type":"error"},{"name":"GenericError","description":"Represents generic IO error. The detail record contains the information related to the error.","type":"error"},{"name":"TypeMismatchError","description":"This will get returned when there is an mismatch of given type and the expected type.","type":"error"},{"value":"\"BE\"","varType":{"name":"string"},"name":"BIG_ENDIAN","description":"Specifies the bytes to be in the order of most significant byte first.","type":"Constant"},{"value":"\":\"","varType":{"name":"string"},"name":"COLON","description":"Colon (:) will be use as the field separator.","type":"Constant"},{"value":"\",\"","varType":{"name":"string"},"name":"COMMA","description":"Comma (,) will be used as the field separator.","type":"Constant"},{"value":"\"csv\"","varType":{"name":"string"},"name":"CSV","description":"Field separator will be \",\" and the record separator will be a new line.","type":"Constant"},{"value":"\"\\n\"","varType":{"name":"string"},"name":"CSV_RECORD_SEPARATOR","description":"Represents the record separator of the CSV file.","type":"Constant"},{"value":"\"default\"","varType":{"name":"string"},"name":"DEFAULT","description":"The default value is the format specified by the CSVChannel. Precedence will be given to the field separator and record separator.","type":"Constant"},{"value":"\"UTF8\"","varType":{"name":"string"},"name":"DEFAULT_ENCODING","description":"Default encoding for the abstract read/write APIs.","type":"Constant"},{"value":"\":\"","varType":{"name":"string"},"name":"FS_COLON","description":"Represents the colon separator, which should be used to identify colon-separated files.","type":"Constant"},{"value":"\"LE\"","varType":{"name":"string"},"name":"LITTLE_ENDIAN","description":"Specifies the byte order to be the least significant byte first.","type":"Constant"},{"value":"0","varType":{"name":"int"},"name":"MINIMUM_HEADER_COUNT","description":"Represents the minimum number of headers, which will be included in the CSV.","type":"Constant"},{"value":"\"\\n\"","varType":{"name":"string"},"name":"NEW_LINE","description":"New line character.","type":"Constant"},{"value":"2","varType":{"name":"int"},"name":"stderr","description":"Represents the standard error stream.","type":"Constant"},{"value":"1","varType":{"name":"int"},"name":"stdout","description":"Represents the standard output stream.","type":"Constant"},{"value":"\"\\t\"","varType":{"name":"string"},"name":"TAB","description":"Tab (/t) will be use as the field separator.","type":"Constant"},{"value":"\"tdf\"","varType":{"name":"string"},"name":"TDF","description":"Field separator will be a tab and the record separator will be a new line.","type":"Constant"},{"members":[{"name":"OVERWRITE","description":"Overwrite(truncate the existing content)"},{"name":"APPEND","description":"Append to the existing content"}],"name":"FileWriteOption","description":"Represents a file opening options for writing.","type":"Enum"},{"members":[{"name":"DOCUMENT_ENTITY","description":"An XML document with a single root node"},{"name":"EXTERNAL_PARSED_ENTITY","description":"Externally parsed well-formed XML entity"}],"name":"XmlEntityType","description":"Represents the XML entity type that needs to be written.","type":"Enum"},{"functions":[],"name":"BlockStream","description":"","type":"Class"},{"functions":[],"name":"CsvIterator","description":"","type":"Class"},{"functions":[],"name":"CSVStream","description":"","type":"Class"},{"functions":[],"name":"LineStream","description":"","type":"Class"},{"functions":[],"name":"ReadableByteChannel","description":"","type":"Class"},{"functions":[],"name":"ReadableCharacterChannel","description":"","type":"Class"},{"functions":[],"name":"ReadableCSVChannel","description":"","type":"Class"},{"functions":[],"name":"ReadableDataChannel","description":"","type":"Class"},{"functions":[],"name":"ReadableTextRecordChannel","description":"","type":"Class"},{"functions":[],"name":"StringReader","description":"","type":"Class"},{"functions":[],"name":"WritableByteChannel","description":"","type":"Class"},{"functions":[],"name":"WritableCharacterChannel","description":"","type":"Class"},{"functions":[],"name":"WritableCSVChannel","description":"","type":"Class"},{"functions":[],"name":"WritableDataChannel","description":"","type":"Class"},{"functions":[],"name":"WritableTextRecordChannel","description":"","type":"Class"},{"functions":[],"name":"PrintableRawTemplate","description":"","type":"Class"},{"members":[],"name":"Printable","description":"Defines all the printable types.\n1. any typed value\n2. errors\n3. `io:PrintableRawTemplate` - an raw templated value","type":"Union"},{"members":[],"name":"FileOutputStream","description":"Defines the output streaming types.\n1. `stdout` - standard output stream\n2. `stderr` - standard error stream","type":"Union"},{"members":[],"name":"ByteOrder","description":"Represents network byte order.\n\nBIG_ENDIAN - specifies the bytes to be in the order of most significant byte first.\n\nLITTLE_ENDIAN - specifies the byte order to be the least significant byte first.","type":"Union"},{"members":[],"name":"Format","description":"The format, which will be used to represent the CSV.\n\nDEFAULT - The default value is the format specified by the CSVChannel. Precedence will be given to the field\nseparator and record separator.\n\nCSV - Field separator will be \",\" and the record separator will be a new line.\n\nTDF - Field separator will be a tab and the record separator will be a new line.","type":"Union"},{"members":[],"name":"Separator","description":"Field separators, which are supported by the `DelimitedTextRecordChannel`.\n\nCOMMA - Delimited text records will be separated using a comma\n\nTAB - Delimited text records will be separated using a tab\n\nCOLON - Delimited text records will be separated using a colon(:)","type":"Union"},{"members":[],"name":"Block","description":"The read-only byte array that is used to read the byte content from the streams.","type":"IntersectionType"}],"clients":[],"functions":[{"name":"fileReadBytes","type":"Normal Function","description":"Read the entire file content as a byte array.\n```ballerina\nbyte[]|io:Error content = io:fileReadBytes(\"./resources/myfile.txt\");\n```","parameters":[{"name":"path","description":"The path of the file","type":{"name":"string"}}],"return":{"description":"A read-only byte array or an `io:Error`","type":{"name":"readonly&byte[]|Error","links":[{"category":"internal","recordName":"Error"}]}}},{"name":"fileReadCsv","type":"Normal Function","description":"Read file content as a CSV.\nWhen the expected data type is record[], the first entry of the csv file should contain matching headers.\n```ballerina\nstring[][]|io:Error content = io:fileReadCsv(\"./resources/myfile.csv\");\nrecord{}[]|io:Error content = io:fileReadCsv(\"./resources/myfile.csv\");\n```","parameters":[{"name":"path","description":"The CSV file path","type":{"name":"string"}},{"name":"skipHeaders","description":"Number of headers, which should be skipped prior to reading records","type":{"name":"int"},"default":"0"},{"name":"returnType","description":"The type of the return value (string[] or a Ballerina record)","type":{"name":"typedesc>"},"default":"<>"}],"return":{"description":"The entire CSV content in the channel as an array of string arrays, array of Ballerina records or an `io:Error`","type":{"name":"returnType[]|Error","links":[{"category":"internal","recordName":"Error"}]}}},{"name":"fileReadJson","type":"Normal Function","description":"Reads file content as a JSON.\n```ballerina\njson|io:Error content = io:fileReadJson(\"./resources/myfile.json\");\n```","parameters":[{"name":"path","description":"The path of the JSON file","type":{"name":"string"}}],"return":{"description":"The file content as a JSON object or an `io:Error`","type":{"name":"json|Error","links":[{"category":"internal","recordName":"Error"}]}}},{"name":"fileReadLines","type":"Normal Function","description":"Reads the entire file content as a list of lines.\nThe resulting string array does not contain the terminal carriage (e.g., `\\r` or `\\n`).\n```ballerina\nstring[]|io:Error content = io:fileReadLines(\"./resources/myfile.txt\");\n```","parameters":[{"name":"path","description":"The path of the file","type":{"name":"string"}}],"return":{"description":"The file as list of lines or an `io:Error`","type":{"name":"string[]|Error","links":[{"category":"internal","recordName":"Error"}]}}},{"name":"fileReadString","type":"Normal Function","description":"Reads the entire file content as a `string`.\nThe resulting string output does not contain the terminal carriage (e.g., `\\r` or `\\n`).\n```ballerina\nstring|io:Error content = io:fileReadString(\"./resources/myfile.txt\");\n```","parameters":[{"name":"path","description":"The path of the file","type":{"name":"string"}}],"return":{"description":"The entire file content as a string or an `io:Error`","type":{"name":"string|Error","links":[{"category":"internal","recordName":"Error"}]}}},{"name":"fileWriteBytes","type":"Normal Function","description":"Write a set of bytes to a file.\n```ballerina\nbyte[] content = [60, 78, 39, 28];\nio:Error? result = io:fileWriteBytes(\"./resources/myfile.txt\", content);\n```","parameters":[{"name":"path","description":"The path of the file","type":{"name":"string"}},{"name":"content","description":"Byte content to write","type":{"name":"byte[]"}},{"name":"option","description":"To indicate whether to overwrite or append the given content","type":{"name":"FileWriteOption","links":[{"category":"internal","recordName":"FileWriteOption"}]},"default":"OVERWRITE"}],"return":{"description":"An `io:Error` or else `()`","type":{"name":"Error?","links":[{"category":"internal","recordName":"Error"}]}}},{"name":"fileWriteCsv","type":"Normal Function","description":"Write CSV content to a file.\nWhen the input is a record[] type in `OVERWRITE`, headers will be written to the CSV file by default.\nFor `APPEND`, order of the existing csv file is inferred using the headers and used as the order.\n```ballerina\ntype Coord record {int x;int y;};\nCoord[] contentRecord = [{x: 1,y: 2},{x: 1,y: 2}]\nstring[][] content = [[\"Anne\", \"Johnson\", \"SE\"], [\"John\", \"Cameron\", \"QA\"]];\nio:Error? result = io:fileWriteCsv(\"./resources/myfile.csv\", content);\nio:Error? resultRecord = io:fileWriteCsv(\"./resources/myfileRecord.csv\", contentRecord);\n```","parameters":[{"name":"path","description":"The CSV file path","type":{"name":"string"}},{"name":"content","description":"CSV content as an array of string arrays or a array of Ballerina records","type":{"name":"string[]|map[]"}},{"name":"option","description":"To indicate whether to overwrite or append the given content","type":{"name":"FileWriteOption","links":[{"category":"internal","recordName":"FileWriteOption"}]},"default":"OVERWRITE"}],"return":{"description":"`()` when the writing was successful or an `io:Error`","type":{"name":"Error?","links":[{"category":"internal","recordName":"Error"}]}}},{"name":"fileWriteJson","type":"Normal Function","description":"Write a JSON to a file.\n```ballerina\njson content = {\"name\": \"Anne\", \"age\": 30};\nio:Error? result = io:fileWriteJson(\"./resources/myfile.json\", content);\n```","parameters":[{"name":"path","description":"The path of the JSON file","type":{"name":"string"}},{"name":"content","description":"JSON content to write","type":{"name":"json"}}],"return":{"description":"`()` when the writing was successful or an `io:Error`","type":{"name":"Error?","links":[{"category":"internal","recordName":"Error"}]}}},{"name":"fileWriteLines","type":"Normal Function","description":"Write an array of lines to a file.\nDuring the writing operation, a newline character `\\n` will be added after each line.\n```ballerina\nstring[] content = [\"Hello Universe..!!\", \"How are you?\"];\nio:Error? result = io:fileWriteLines(\"./resources/myfile.txt\", content);\n```","parameters":[{"name":"path","description":"The path of the file","type":{"name":"string"}},{"name":"content","description":"An array of string lines to write","type":{"name":"string[]"}},{"name":"option","description":"To indicate whether to overwrite or append the given content","type":{"name":"FileWriteOption","links":[{"category":"internal","recordName":"FileWriteOption"}]},"default":"OVERWRITE"}],"return":{"description":"`()` when the writing was successful or an `io:Error`","type":{"name":"Error?","links":[{"category":"internal","recordName":"Error"}]}}},{"name":"fileWriteString","type":"Normal Function","description":"Write a string content to a file.\n```ballerina\nstring content = \"Hello Universe..!!\";\nio:Error? result = io:fileWriteString(\"./resources/myfile.txt\", content);\n```","parameters":[{"name":"path","description":"The path of the file","type":{"name":"string"}},{"name":"content","description":"String content to write","type":{"name":"string"}},{"name":"option","description":"To indicate whether to overwrite or append the given content","type":{"name":"FileWriteOption","links":[{"category":"internal","recordName":"FileWriteOption"}]},"default":"OVERWRITE"}],"return":{"description":"`()` when the writing was successful or an `io:Error`","type":{"name":"Error?","links":[{"category":"internal","recordName":"Error"}]}}}]}] -} \ No newline at end of file + "expectedLibraries": [ + { + "name": "ballerina/http", + "description": "This module provides APIs for connecting and interacting with HTTP and HTTP2 endpoints. It facilitates two types of network entry points as the `Client` and `Listener`.", + "clients": [ + { + "name": "ClientOAuth2Handler", + "description": "Defines the OAuth2 handler for client authentication.", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Defines the OAuth2 handler for client authentication.", + "parameters": [ + { + "name": "config", + "description": "The `http:OAuth2GrantConfig` instance", + "optional": false, + "type": { + "name": "http:OAuth2GrantConfig", + "links": [ + { + "category": "internal", + "recordName": "OAuth2GrantConfig" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:ClientOAuth2Handler" + } + } + }, + { + "name": "enrich", + "type": "Remote Function", + "description": "Enrich the request with the relevant authentication requirements.\n", + "parameters": [ + { + "name": "req", + "description": "The `http:Request` instance", + "optional": false, + "type": { + "name": "http:Request", + "links": [ + { + "category": "internal", + "recordName": "Request" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Request" + } + } + }, + { + "name": "enrichHeaders", + "type": "Normal Function", + "description": "Enrich the headers map with the relevant authentication requirements.\n", + "parameters": [ + { + "name": "headers", + "description": "The headers map", + "optional": false, + "type": { + "name": "map" + } + } + ], + "return": { + "type": { + "name": "map" + } + } + }, + { + "name": "getSecurityHeaders", + "type": "Normal Function", + "description": "Returns the headers map with the relevant authentication requirements.\n", + "parameters": [], + "return": { + "type": { + "name": "map" + } + } + } + ] + }, + { + "name": "ListenerLdapUserStoreBasicAuthHandler", + "description": "Defines the LDAP store Basic Auth handler for listener authentication.", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Defines the LDAP store Basic Auth handler for listener authentication.", + "parameters": [ + { + "name": "config", + "description": "The `http:LdapUserStoreConfig` instance", + "optional": false, + "type": { + "name": "http:LdapUserStoreConfig", + "links": [ + { + "category": "internal", + "recordName": "LdapUserStoreConfig" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:ListenerLdapUserStoreBasicAuthHandler" + } + } + }, + { + "name": "authenticate", + "type": "Remote Function", + "description": "Authenticates with the relevant authentication requirements.\n", + "parameters": [ + { + "name": "data", + "description": "The `http:Request` instance or `http:Headers` instance or `string` Authorization header", + "optional": false, + "type": { + "name": "http:Request|http:Headers|string", + "links": [ + { + "category": "internal", + "recordName": "Request|Headers|string" + } + ] + } + } + ], + "return": { + "type": { + "name": "auth:UserDetails|http:Unauthorized" + } + } + }, + { + "name": "authorize", + "type": "Remote Function", + "description": "Authorizes with the relevant authorization requirements.\n", + "parameters": [ + { + "name": "userDetails", + "description": "The `auth:UserDetails` instance which is received from authentication results", + "optional": false, + "type": { + "name": "auth:UserDetails", + "links": [ + { + "category": "external", + "recordName": "UserDetails", + "libraryName": "ballerina/auth" + } + ] + } + }, + { + "name": "expectedScopes", + "description": "The expected scopes as `string` or `string[]`", + "optional": false, + "type": { + "name": "string|string[]" + } + } + ], + "return": { + "type": { + "name": "http:Forbidden|()" + } + } + } + ] + }, + { + "name": "ListenerOAuth2Handler", + "description": "Defines the OAuth2 handler for listener authentication.", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Defines the OAuth2 handler for listener authentication.", + "parameters": [ + { + "name": "config", + "description": "The `http:OAuth2IntrospectionConfig` instance", + "optional": false, + "type": { + "name": "http:OAuth2IntrospectionConfig", + "links": [ + { + "category": "internal", + "recordName": "OAuth2IntrospectionConfig" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:ListenerOAuth2Handler" + } + } + }, + { + "name": "authorize", + "type": "Remote Function", + "description": "Authorizes with the relevant authentication & authorization requirements.\n", + "parameters": [ + { + "name": "data", + "description": "The `http:Request` instance or `http:Headers` instance or `string` Authorization header", + "optional": false, + "type": { + "name": "http:Request|http:Headers|string", + "links": [ + { + "category": "internal", + "recordName": "Request|Headers|string" + } + ] + } + }, + { + "name": "expectedScopes", + "description": "The expected scopes as `string` or `string[]`", + "optional": true, + "default": "()", + "type": { + "name": "string|string[]|()" + } + }, + { + "name": "optionalParams", + "description": "Map of optional parameters that need to be sent to introspection endpoint", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + } + ], + "return": { + "type": { + "name": "oauth2:IntrospectionResponse|http:Unauthorized|http:Forbidden" + } + } + } + ] + }, + { + "name": "Client", + "description": "The HTTP client provides functionality to connect to remote HTTP services and perform requests using standard HTTP methods like GET, POST, PUT, DELETE, etc.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "The HTTP client provides functionality to connect to remote HTTP services and perform requests using standard HTTP methods like GET, POST, PUT, DELETE, etc.\n", + "parameters": [ + { + "name": "url", + "description": "URL of the target service", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "httpVersion", + "description": "HTTP protocol version supported by the client", + "optional": true, + "default": "\"2.0\"", + "type": { + "name": "http:HttpVersion", + "links": [ + { + "category": "internal", + "recordName": "HttpVersion" + } + ] + } + }, + { + "name": "http1Settings", + "description": "HTTP/1.x specific settings", + "optional": true, + "default": "{}", + "type": { + "name": "http:ClientHttp1Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp1Settings" + } + ] + } + }, + { + "name": "http2Settings", + "description": "HTTP/2 specific settings", + "optional": true, + "default": "{}", + "type": { + "name": "http:ClientHttp2Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp2Settings" + } + ] + } + }, + { + "name": "timeout", + "description": "Maximum time(in seconds) to wait for a response before the request times out", + "optional": true, + "default": "0.0d", + "type": { + "name": "decimal" + } + }, + { + "name": "forwarded", + "description": "The choice of setting `Forwarded`/`X-Forwarded-For` header, when acting as a proxy", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "followRedirects", + "description": "HTTP redirect handling configurations (with 3xx status codes)", + "optional": true, + "default": "()", + "type": { + "name": "http:FollowRedirects|()", + "links": [ + { + "category": "internal", + "recordName": "FollowRedirects|()" + } + ] + } + }, + { + "name": "poolConfig", + "description": "Configurations associated with the request connection pool", + "optional": true, + "default": "()", + "type": { + "name": "http:PoolConfiguration|()", + "links": [ + { + "category": "internal", + "recordName": "PoolConfiguration|()" + } + ] + } + }, + { + "name": "cache", + "description": "HTTP response caching related configurations", + "optional": true, + "default": "{}", + "type": { + "name": "http:CacheConfig", + "links": [ + { + "category": "internal", + "recordName": "CacheConfig" + } + ] + } + }, + { + "name": "compression", + "description": "Enable request/response compression (using `accept-encoding` header)", + "optional": true, + "default": "\"AUTO\"", + "type": { + "name": "http:Compression", + "links": [ + { + "category": "internal", + "recordName": "Compression" + } + ] + } + }, + { + "name": "auth", + "description": "Client authentication options (Basic, Bearer token, OAuth, etc.)", + "optional": true, + "default": "()", + "type": { + "name": "http:CredentialsConfig|http:BearerTokenConfig|http:JwtIssuerConfig|http:OAuth2ClientCredentialsGrantConfig|http:OAuth2PasswordGrantConfig|http:OAuth2RefreshTokenGrantConfig|http:OAuth2JwtBearerGrantConfig|()", + "links": [ + { + "category": "internal", + "recordName": "CredentialsConfig|BearerTokenConfig|JwtIssuerConfig|OAuth2ClientCredentialsGrantConfig|OAuth2PasswordGrantConfig|OAuth2RefreshTokenGrantConfig|OAuth2JwtBearerGrantConfig|()" + } + ] + } + }, + { + "name": "circuitBreaker", + "description": "Circuit breaker configurations to prevent cascading failures", + "optional": true, + "default": "()", + "type": { + "name": "http:CircuitBreakerConfig|()", + "links": [ + { + "category": "internal", + "recordName": "CircuitBreakerConfig|()" + } + ] + } + }, + { + "name": "retryConfig", + "description": "Automatic retry settings for failed requests", + "optional": true, + "default": "()", + "type": { + "name": "http:RetryConfig|()", + "links": [ + { + "category": "internal", + "recordName": "RetryConfig|()" + } + ] + } + }, + { + "name": "cookieConfig", + "description": "Cookie handling settings for session management", + "optional": true, + "default": "()", + "type": { + "name": "http:CookieConfig|()", + "links": [ + { + "category": "internal", + "recordName": "CookieConfig|()" + } + ] + } + }, + { + "name": "responseLimits", + "description": "Limits for response size and headers (to prevent memory issues)", + "optional": true, + "default": "{}", + "type": { + "name": "http:ResponseLimitConfigs", + "links": [ + { + "category": "internal", + "recordName": "ResponseLimitConfigs" + } + ] + } + }, + { + "name": "proxy", + "description": "Proxy server settings if requests need to go through a proxy", + "optional": true, + "default": "()", + "type": { + "name": "http:ProxyConfig|()", + "links": [ + { + "category": "internal", + "recordName": "ProxyConfig|()" + } + ] + } + }, + { + "name": "validation", + "description": "Enable automatic payload validation for request/response data against constraints", + "optional": true, + "default": "false", + "type": { + "name": "boolean" + } + }, + { + "name": "socketConfig", + "description": "Low-level socket settings (timeouts, buffer sizes, etc.)", + "optional": true, + "default": "{}", + "type": { + "name": "http:ClientSocketConfig", + "links": [ + { + "category": "internal", + "recordName": "ClientSocketConfig" + } + ] + } + }, + { + "name": "laxDataBinding", + "description": "Enable relaxed data binding on the client side.\nWhen enabled:\n- `null` values in JSON are allowed to be mapped to optional fields\n- missing fields in JSON are allowed to be mapped as `null` values", + "optional": true, + "default": "false", + "type": { + "name": "boolean" + } + }, + { + "name": "secureSocket", + "description": "SSL/TLS security settings for HTTPS connections", + "optional": true, + "default": "()", + "type": { + "name": "http:ClientSecureSocket|()", + "links": [ + { + "category": "internal", + "recordName": "ClientSecureSocket|()" + } + ] + } + }, + { + "name": "config", + "description": "The configurations to be used when initializing the `client`", + "optional": true, + "type": { + "name": "http:ClientConfiguration", + "links": [ + { + "category": "internal", + "recordName": "ClientConfiguration" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:Client" + } + } + }, + { + "type": "Resource Function", + "description": "The client resource function to send HTTP GET requests to HTTP endpoints.\n", + "accessor": "get", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "get", + "type": "Remote Function", + "description": "Retrieve a representation of a specified resource from an HTTP endpoint.\n", + "parameters": [ + { + "name": "path", + "description": "Request path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The client resource function to send HTTP POST requests to HTTP endpoints.\n", + "accessor": "post", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "post", + "type": "Remote Function", + "description": "Create a new resource or submit data to a resource for processing.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The client resource function to send HTTP PUT requests to HTTP endpoints.\n", + "accessor": "put", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "put", + "type": "Remote Function", + "description": "Create a new resource or replace a representation of a specified resource.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The client resource function to send HTTP DELETE requests to HTTP endpoints.\n", + "accessor": "delete", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An optional HTTP outbound request or any allowed payload", + "optional": true, + "default": "{}", + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "delete", + "type": "Remote Function", + "description": "Remove a specified resource from an HTTP endpoint.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An optional HTTP outbound request message or any allowed payload", + "optional": true, + "default": "{}", + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The client resource function to send HTTP PATCH requests to HTTP endpoints.\n", + "accessor": "patch", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "patch", + "type": "Remote Function", + "description": "Partially update an existing resource in an HTTP endpoint.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The client resource function to send HTTP HEAD requests to HTTP endpoints.\n", + "accessor": "head", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "name": "head", + "type": "Remote Function", + "description": "Get the metadata of a resource in the form of headers without the body. Often used for testing the resource existence or finding recent modifications.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "type": "Resource Function", + "description": "The client resource function to send HTTP OPTIONS requests to HTTP endpoints.\n", + "accessor": "options", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "options", + "type": "Remote Function", + "description": "Get the communication options for a specified resource.\n", + "parameters": [ + { + "name": "path", + "description": "Request path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "execute", + "type": "Remote Function", + "description": "Send a request using any HTTP method. Can be used to invoke the endpoint with a custom or less common HTTP method.\n", + "parameters": [ + { + "name": "httpVerb", + "description": "HTTP verb value", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "forward", + "type": "Remote Function", + "description": "Forward an incoming request to another endpoint using the same HTTP method. Can be used in proxy or gateway scenarios.\n", + "parameters": [ + { + "name": "path", + "description": "Request path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "request", + "description": "An HTTP inbound request message", + "optional": false, + "type": { + "name": "http:Request", + "links": [ + { + "category": "internal", + "recordName": "Request" + } + ] + } + }, + { + "name": "targetType", + "description": "Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "submit", + "type": "Remote Function", + "description": "Send an asynchronous HTTP request that does not wait for the response immediately. Can be used for non-blocking operations.\n", + "parameters": [ + { + "name": "httpVerb", + "description": "The HTTP verb value. The HTTP verb is case-sensitive. Use the `http:Method` type to specify the\nthe standard HTTP methods.", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "path", + "description": "The resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:HttpFuture" + } + } + }, + { + "name": "getResponse", + "type": "Remote Function", + "description": "Get the response from a previously submitted asynchronous request. Can be used after calling `submit()` action to retrieve the actual response.\n", + "parameters": [ + { + "name": "httpFuture", + "description": "The `http:HttpFuture` related to a previous asynchronous invocation", + "optional": false, + "type": { + "name": "http:HttpFuture", + "links": [ + { + "category": "internal", + "recordName": "HttpFuture" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "name": "hasPromise", + "type": "Remote Function", + "description": "Check if the server has sent a push promise for additional resources. Should be used with HTTP/2 server push functionality.\n", + "parameters": [ + { + "name": "httpFuture", + "description": "The `http:HttpFuture` relates to a previous asynchronous invocation", + "optional": false, + "type": { + "name": "http:HttpFuture", + "links": [ + { + "category": "internal", + "recordName": "HttpFuture" + } + ] + } + } + ], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "getNextPromise", + "type": "Remote Function", + "description": "Get the next server push promise that contains information about additional resources the server wants to send.\n", + "parameters": [ + { + "name": "httpFuture", + "description": "The `http:HttpFuture` related to a previous asynchronous invocation", + "optional": false, + "type": { + "name": "http:HttpFuture", + "links": [ + { + "category": "internal", + "recordName": "HttpFuture" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:PushPromise" + } + } + }, + { + "name": "getPromisedResponse", + "type": "Remote Function", + "description": "Get the actual response data from a server push promise. Can be used to receive resources that the server proactively sends.\n", + "parameters": [ + { + "name": "promise", + "description": "The related `http:PushPromise`", + "optional": false, + "type": { + "name": "http:PushPromise", + "links": [ + { + "category": "internal", + "recordName": "PushPromise" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "name": "rejectPromise", + "type": "Remote Function", + "description": "Reject a server push promise to decline receiving the additional resource.\n", + "parameters": [ + { + "name": "promise", + "description": "The Push Promise to be rejected", + "optional": false, + "type": { + "name": "http:PushPromise", + "links": [ + { + "category": "internal", + "recordName": "PushPromise" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getCookieStore", + "type": "Normal Function", + "description": "Get the cookie storage associated with this HTTP client. Can be used to access stored cookies for session management.\n", + "parameters": [], + "return": { + "type": { + "name": "http:CookieStore|()" + } + } + }, + { + "name": "circuitBreakerForceClose", + "type": "Normal Function", + "description": "Force the circuit breaker to allow all requests through, ignoring current error rates. Can be used to manually\nrestore service after fixing issues.", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "circuitBreakerForceOpen", + "type": "Normal Function", + "description": "Force the circuit breaker to block all requests until the reset time expires. Can be used to manually stop\nrequests during maintenance or known issues.", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getCircuitBreakerCurrentState", + "type": "Normal Function", + "description": "Check the current state of the circuit breaker. Can be used to monitor the health status of your HTTP connections.\n", + "parameters": [], + "return": { + "type": { + "name": "http:CircuitState" + } + } + } + ] + }, + { + "name": "Caller", + "description": "The caller actions for responding to client requests.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "The caller actions for responding to client requests.\n", + "parameters": [ + { + "name": "remoteAddress", + "optional": false, + "type": { + "name": "http:Remote", + "links": [ + { + "category": "internal", + "recordName": "Remote" + } + ] + } + }, + { + "name": "localAddress", + "optional": false, + "type": { + "name": "http:Local", + "links": [ + { + "category": "internal", + "recordName": "Local" + } + ] + } + }, + { + "name": "protocol", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "resourceAccessor", + "optional": false, + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "ballerina/http:Caller" + } + } + }, + { + "name": "respond", + "type": "Remote Function", + "description": "Sends the outbound response to the caller.\n", + "parameters": [ + { + "name": "message", + "description": "The outbound response or status code response or error or any allowed payload", + "optional": true, + "default": "{}", + "type": { + "name": "anydata|http:Response|mime:Entity[]|stream|stream|stream|http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse|error", + "links": [ + { + "category": "internal", + "recordName": "anydata|Response|Entity[]|stream|stream|stream|Continue|SwitchingProtocols|Processing|EarlyHints|Ok|Created|Accepted|NonAuthoritativeInformation|NoContent|ResetContent|PartialContent|MultiStatus|AlreadyReported|IMUsed|MultipleChoices|MovedPermanently|Found|SeeOther|NotModified|UseProxy|TemporaryRedirect|PermanentRedirect|BadRequest|Unauthorized|PaymentRequired|Forbidden|NotFound|MethodNotAllowed|NotAcceptable|ProxyAuthenticationRequired|RequestTimeout|Conflict|Gone|LengthRequired|PreconditionFailed|PayloadTooLarge|UriTooLong|UnsupportedMediaType|RangeNotSatisfiable|ExpectationFailed|MisdirectedRequest|UnprocessableEntity|Locked|FailedDependency|TooEarly|PreconditionRequired|UnavailableDueToLegalReasons|UpgradeRequired|TooManyRequests|RequestHeaderFieldsTooLarge|InternalServerError|NotImplemented|BadGateway|ServiceUnavailable|GatewayTimeout|HttpVersionNotSupported|VariantAlsoNegotiates|InsufficientStorage|LoopDetected|NotExtended|NetworkAuthenticationRequired|DefaultStatusCodeResponse|error" + }, + { + "category": "external", + "recordName": "anydata|Response|Entity[]|stream|stream|stream|Continue|SwitchingProtocols|Processing|EarlyHints|Ok|Created|Accepted|NonAuthoritativeInformation|NoContent|ResetContent|PartialContent|MultiStatus|AlreadyReported|IMUsed|MultipleChoices|MovedPermanently|Found|SeeOther|NotModified|UseProxy|TemporaryRedirect|PermanentRedirect|BadRequest|Unauthorized|PaymentRequired|Forbidden|NotFound|MethodNotAllowed|NotAcceptable|ProxyAuthenticationRequired|RequestTimeout|Conflict|Gone|LengthRequired|PreconditionFailed|PayloadTooLarge|UriTooLong|UnsupportedMediaType|RangeNotSatisfiable|ExpectationFailed|MisdirectedRequest|UnprocessableEntity|Locked|FailedDependency|TooEarly|PreconditionRequired|UnavailableDueToLegalReasons|UpgradeRequired|TooManyRequests|RequestHeaderFieldsTooLarge|InternalServerError|NotImplemented|BadGateway|ServiceUnavailable|GatewayTimeout|HttpVersionNotSupported|VariantAlsoNegotiates|InsufficientStorage|LoopDetected|NotExtended|NetworkAuthenticationRequired|DefaultStatusCodeResponse|error", + "libraryName": "ballerina/mime" + }, + { + "category": "external", + "recordName": "anydata|Response|Entity[]|stream|stream|stream|Continue|SwitchingProtocols|Processing|EarlyHints|Ok|Created|Accepted|NonAuthoritativeInformation|NoContent|ResetContent|PartialContent|MultiStatus|AlreadyReported|IMUsed|MultipleChoices|MovedPermanently|Found|SeeOther|NotModified|UseProxy|TemporaryRedirect|PermanentRedirect|BadRequest|Unauthorized|PaymentRequired|Forbidden|NotFound|MethodNotAllowed|NotAcceptable|ProxyAuthenticationRequired|RequestTimeout|Conflict|Gone|LengthRequired|PreconditionFailed|PayloadTooLarge|UriTooLong|UnsupportedMediaType|RangeNotSatisfiable|ExpectationFailed|MisdirectedRequest|UnprocessableEntity|Locked|FailedDependency|TooEarly|PreconditionRequired|UnavailableDueToLegalReasons|UpgradeRequired|TooManyRequests|RequestHeaderFieldsTooLarge|InternalServerError|NotImplemented|BadGateway|ServiceUnavailable|GatewayTimeout|HttpVersionNotSupported|VariantAlsoNegotiates|InsufficientStorage|LoopDetected|NotExtended|NetworkAuthenticationRequired|DefaultStatusCodeResponse|error", + "libraryName": "ballerina/io" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "promise", + "type": "Remote Function", + "description": "Pushes a promise to the caller.\n", + "parameters": [ + { + "name": "promise", + "description": "Push promise message", + "optional": false, + "type": { + "name": "http:PushPromise", + "links": [ + { + "category": "internal", + "recordName": "PushPromise" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "pushPromisedResponse", + "type": "Remote Function", + "description": "Sends a promised push response to the caller.\n", + "parameters": [ + { + "name": "promise", + "description": "Push promise message", + "optional": false, + "type": { + "name": "http:PushPromise", + "links": [ + { + "category": "internal", + "recordName": "PushPromise" + } + ] + } + }, + { + "name": "response", + "description": "The outbound response", + "optional": false, + "type": { + "name": "http:Response", + "links": [ + { + "category": "internal", + "recordName": "Response" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "'continue", + "type": "Remote Function", + "description": "Sends a `100-continue` response to the caller.\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "redirect", + "type": "Remote Function", + "description": "Sends a redirect response to the user with the specified redirection status code.\n", + "parameters": [ + { + "name": "response", + "description": "Response to be sent to the caller", + "optional": false, + "type": { + "name": "http:Response", + "links": [ + { + "category": "internal", + "recordName": "Response" + } + ] + } + }, + { + "name": "code", + "description": "The redirect status code to be sent", + "optional": false, + "type": { + "name": "http:RedirectCode", + "links": [ + { + "category": "internal", + "recordName": "RedirectCode" + } + ] + } + }, + { + "name": "locations", + "description": "An array of URLs to which the caller can redirect to", + "optional": false, + "type": { + "name": "string[]" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getRemoteHostName", + "type": "Normal Function", + "description": "Gets the hostname from the remote address. This method may trigger a DNS reverse lookup if the address was created\nwith a literal IP address.\n```ballerina\nstring? remoteHost = caller.getRemoteHostName();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "string|()" + } + } + } + ] + }, + { + "name": "StatusCodeClient", + "description": "The HTTP status code client provides the capability for initiating contact with a remote HTTP service. The API it\nprovides includes the functions for the standard HTTP methods forwarding a received request and sending requests\nusing custom HTTP verbs. The responses can be binded to `http:StatusCodeResponse` types", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "The HTTP status code client provides the capability for initiating contact with a remote HTTP service. The API it\nprovides includes the functions for the standard HTTP methods forwarding a received request and sending requests\nusing custom HTTP verbs. The responses can be binded to `http:StatusCodeResponse` types", + "parameters": [ + { + "name": "url", + "description": "URL of the target service", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "httpVersion", + "description": "HTTP protocol version supported by the client", + "optional": true, + "default": "\"2.0\"", + "type": { + "name": "http:HttpVersion", + "links": [ + { + "category": "internal", + "recordName": "HttpVersion" + } + ] + } + }, + { + "name": "http1Settings", + "description": "HTTP/1.x specific settings", + "optional": true, + "default": "{}", + "type": { + "name": "http:ClientHttp1Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp1Settings" + } + ] + } + }, + { + "name": "http2Settings", + "description": "HTTP/2 specific settings", + "optional": true, + "default": "{}", + "type": { + "name": "http:ClientHttp2Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp2Settings" + } + ] + } + }, + { + "name": "timeout", + "description": "Maximum time(in seconds) to wait for a response before the request times out", + "optional": true, + "default": "0.0d", + "type": { + "name": "decimal" + } + }, + { + "name": "forwarded", + "description": "The choice of setting `Forwarded`/`X-Forwarded-For` header, when acting as a proxy", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "followRedirects", + "description": "HTTP redirect handling configurations (with 3xx status codes)", + "optional": true, + "default": "()", + "type": { + "name": "http:FollowRedirects|()", + "links": [ + { + "category": "internal", + "recordName": "FollowRedirects|()" + } + ] + } + }, + { + "name": "poolConfig", + "description": "Configurations associated with the request connection pool", + "optional": true, + "default": "()", + "type": { + "name": "http:PoolConfiguration|()", + "links": [ + { + "category": "internal", + "recordName": "PoolConfiguration|()" + } + ] + } + }, + { + "name": "cache", + "description": "HTTP response caching related configurations", + "optional": true, + "default": "{}", + "type": { + "name": "http:CacheConfig", + "links": [ + { + "category": "internal", + "recordName": "CacheConfig" + } + ] + } + }, + { + "name": "compression", + "description": "Enable request/response compression (using `accept-encoding` header)", + "optional": true, + "default": "\"AUTO\"", + "type": { + "name": "http:Compression", + "links": [ + { + "category": "internal", + "recordName": "Compression" + } + ] + } + }, + { + "name": "auth", + "description": "Client authentication options (Basic, Bearer token, OAuth, etc.)", + "optional": true, + "default": "()", + "type": { + "name": "http:CredentialsConfig|http:BearerTokenConfig|http:JwtIssuerConfig|http:OAuth2ClientCredentialsGrantConfig|http:OAuth2PasswordGrantConfig|http:OAuth2RefreshTokenGrantConfig|http:OAuth2JwtBearerGrantConfig|()", + "links": [ + { + "category": "internal", + "recordName": "CredentialsConfig|BearerTokenConfig|JwtIssuerConfig|OAuth2ClientCredentialsGrantConfig|OAuth2PasswordGrantConfig|OAuth2RefreshTokenGrantConfig|OAuth2JwtBearerGrantConfig|()" + } + ] + } + }, + { + "name": "circuitBreaker", + "description": "Circuit breaker configurations to prevent cascading failures", + "optional": true, + "default": "()", + "type": { + "name": "http:CircuitBreakerConfig|()", + "links": [ + { + "category": "internal", + "recordName": "CircuitBreakerConfig|()" + } + ] + } + }, + { + "name": "retryConfig", + "description": "Automatic retry settings for failed requests", + "optional": true, + "default": "()", + "type": { + "name": "http:RetryConfig|()", + "links": [ + { + "category": "internal", + "recordName": "RetryConfig|()" + } + ] + } + }, + { + "name": "cookieConfig", + "description": "Cookie handling settings for session management", + "optional": true, + "default": "()", + "type": { + "name": "http:CookieConfig|()", + "links": [ + { + "category": "internal", + "recordName": "CookieConfig|()" + } + ] + } + }, + { + "name": "responseLimits", + "description": "Limits for response size and headers (to prevent memory issues)", + "optional": true, + "default": "{}", + "type": { + "name": "http:ResponseLimitConfigs", + "links": [ + { + "category": "internal", + "recordName": "ResponseLimitConfigs" + } + ] + } + }, + { + "name": "proxy", + "description": "Proxy server settings if requests need to go through a proxy", + "optional": true, + "default": "()", + "type": { + "name": "http:ProxyConfig|()", + "links": [ + { + "category": "internal", + "recordName": "ProxyConfig|()" + } + ] + } + }, + { + "name": "validation", + "description": "Enable automatic payload validation for request/response data against constraints", + "optional": true, + "default": "false", + "type": { + "name": "boolean" + } + }, + { + "name": "socketConfig", + "description": "Low-level socket settings (timeouts, buffer sizes, etc.)", + "optional": true, + "default": "{}", + "type": { + "name": "http:ClientSocketConfig", + "links": [ + { + "category": "internal", + "recordName": "ClientSocketConfig" + } + ] + } + }, + { + "name": "laxDataBinding", + "description": "Enable relaxed data binding on the client side.\nWhen enabled:\n- `null` values in JSON are allowed to be mapped to optional fields\n- missing fields in JSON are allowed to be mapped as `null` values", + "optional": true, + "default": "false", + "type": { + "name": "boolean" + } + }, + { + "name": "secureSocket", + "description": "SSL/TLS security settings for HTTPS connections", + "optional": true, + "default": "()", + "type": { + "name": "http:ClientSecureSocket|()", + "links": [ + { + "category": "internal", + "recordName": "ClientSecureSocket|()" + } + ] + } + }, + { + "name": "config", + "description": "The configurations to be used when initializing the `client`", + "optional": true, + "type": { + "name": "http:ClientConfiguration", + "links": [ + { + "category": "internal", + "recordName": "ClientConfiguration" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:StatusCodeClient" + } + } + }, + { + "type": "Resource Function", + "description": "The client resource function to send HTTP POST requests to HTTP endpoints.\n", + "accessor": "post", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP status code response, which is expected to be returned after data binding", + "optional": true, + "default": "http:StatusCodeResponse", + "type": { + "name": "http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse", + "links": [ + { + "category": "internal", + "recordName": "StatusCodeResponse" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "post", + "type": "Remote Function", + "description": "The `Client.post()` function can be used to send HTTP POST requests to HTTP endpoints.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP status code response, which is expected to be returned after data binding", + "optional": true, + "default": "http:StatusCodeResponse", + "type": { + "name": "http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse", + "links": [ + { + "category": "internal", + "recordName": "StatusCodeResponse" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The client resource function to send HTTP PUT requests to HTTP endpoints.\n", + "accessor": "put", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP status code response, which is expected to be returned after data binding", + "optional": true, + "default": "http:StatusCodeResponse", + "type": { + "name": "http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse", + "links": [ + { + "category": "internal", + "recordName": "StatusCodeResponse" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "put", + "type": "Remote Function", + "description": "The `Client.put()` function can be used to send HTTP PUT requests to HTTP endpoints.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP status code response, which is expected to be returned after data binding", + "optional": true, + "default": "http:StatusCodeResponse", + "type": { + "name": "http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse", + "links": [ + { + "category": "internal", + "recordName": "StatusCodeResponse" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The client resource function to send HTTP PATCH requests to HTTP endpoints.\n", + "accessor": "patch", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP status code response, which is expected to be returned after data binding", + "optional": true, + "default": "http:StatusCodeResponse", + "type": { + "name": "http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse", + "links": [ + { + "category": "internal", + "recordName": "StatusCodeResponse" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "patch", + "type": "Remote Function", + "description": "The `Client.patch()` function can be used to send HTTP PATCH requests to HTTP endpoints.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP status code response, which is expected to be returned after data binding", + "optional": true, + "default": "http:StatusCodeResponse", + "type": { + "name": "http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse", + "links": [ + { + "category": "internal", + "recordName": "StatusCodeResponse" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The client resource function to send HTTP DELETE requests to HTTP endpoints.\n", + "accessor": "delete", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An optional HTTP outbound request or any allowed payload", + "optional": true, + "default": "{}", + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP status code response, which is expected to be returned after data binding", + "optional": true, + "default": "http:StatusCodeResponse", + "type": { + "name": "http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse", + "links": [ + { + "category": "internal", + "recordName": "StatusCodeResponse" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "delete", + "type": "Remote Function", + "description": "The `Client.delete()` function can be used to send HTTP DELETE requests to HTTP endpoints.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An optional HTTP outbound request message or any allowed payload", + "optional": true, + "default": "{}", + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP status code response, which is expected to be returned after data binding", + "optional": true, + "default": "http:StatusCodeResponse", + "type": { + "name": "http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse", + "links": [ + { + "category": "internal", + "recordName": "StatusCodeResponse" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The client resource function to send HTTP HEAD requests to HTTP endpoints.\n", + "accessor": "head", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "name": "head", + "type": "Remote Function", + "description": "The `Client.head()` function can be used to send HTTP HEAD requests to HTTP endpoints.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "type": "Resource Function", + "description": "The client resource function to send HTTP GET requests to HTTP endpoints.\n", + "accessor": "get", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "HTTP status code response, which is expected to be returned after data binding", + "optional": true, + "default": "http:StatusCodeResponse", + "type": { + "name": "http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse", + "links": [ + { + "category": "internal", + "recordName": "StatusCodeResponse" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "get", + "type": "Remote Function", + "description": "The `Client.get()` function can be used to send HTTP GET requests to HTTP endpoints.\n", + "parameters": [ + { + "name": "path", + "description": "Request path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "HTTP status code response, which is expected to be returned after data binding", + "optional": true, + "default": "http:StatusCodeResponse", + "type": { + "name": "http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse", + "links": [ + { + "category": "internal", + "recordName": "StatusCodeResponse" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The client resource function to send HTTP OPTIONS requests to HTTP endpoints.\n", + "accessor": "options", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "HTTP status code response, which is expected to be returned after data binding", + "optional": true, + "default": "http:StatusCodeResponse", + "type": { + "name": "http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse", + "links": [ + { + "category": "internal", + "recordName": "StatusCodeResponse" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "options", + "type": "Remote Function", + "description": "The `Client.options()` function can be used to send HTTP OPTIONS requests to HTTP endpoints.\n", + "parameters": [ + { + "name": "path", + "description": "Request path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "HTTP status code response, which is expected to be returned after data binding", + "optional": true, + "default": "http:StatusCodeResponse", + "type": { + "name": "http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse", + "links": [ + { + "category": "internal", + "recordName": "StatusCodeResponse" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "execute", + "type": "Remote Function", + "description": "Invokes an HTTP call with the specified HTTP verb.\n", + "parameters": [ + { + "name": "httpVerb", + "description": "HTTP verb value", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP status code response, which is expected to be returned after data binding", + "optional": true, + "default": "http:StatusCodeResponse", + "type": { + "name": "http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse", + "links": [ + { + "category": "internal", + "recordName": "StatusCodeResponse" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "forward", + "type": "Remote Function", + "description": "The `Client.forward()` function can be used to invoke an HTTP call with inbound request's HTTP verb\n", + "parameters": [ + { + "name": "path", + "description": "Request path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "request", + "description": "An HTTP inbound request message", + "optional": false, + "type": { + "name": "http:Request", + "links": [ + { + "category": "internal", + "recordName": "Request" + } + ] + } + }, + { + "name": "targetType", + "description": "HTTP status code response, which is expected to be returned after data binding", + "optional": true, + "default": "http:StatusCodeResponse", + "type": { + "name": "http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse", + "links": [ + { + "category": "internal", + "recordName": "StatusCodeResponse" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "submit", + "type": "Remote Function", + "description": "Submits an HTTP request to a service with the specified HTTP verb.\nThe `Client->submit()` function does not give out a `http:Response` as the result.\nRather it returns an `http:HttpFuture` which can be used to do further interactions with the endpoint.\n", + "parameters": [ + { + "name": "httpVerb", + "description": "The HTTP verb value. The HTTP verb is case-sensitive. Use the `http:Method` type to specify the\nthe standard HTTP methods.", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "path", + "description": "The resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:HttpFuture" + } + } + }, + { + "name": "getResponse", + "type": "Remote Function", + "description": "This just pass the request to actual network call.\n", + "parameters": [ + { + "name": "httpFuture", + "description": "The `http:HttpFuture` related to a previous asynchronous invocation", + "optional": false, + "type": { + "name": "http:HttpFuture", + "links": [ + { + "category": "internal", + "recordName": "HttpFuture" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "name": "hasPromise", + "type": "Remote Function", + "description": "This just pass the request to actual network call.\n", + "parameters": [ + { + "name": "httpFuture", + "description": "The `http:HttpFuture` relates to a previous asynchronous invocation", + "optional": false, + "type": { + "name": "http:HttpFuture", + "links": [ + { + "category": "internal", + "recordName": "HttpFuture" + } + ] + } + } + ], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "getNextPromise", + "type": "Remote Function", + "description": "This just pass the request to actual network call.\n", + "parameters": [ + { + "name": "httpFuture", + "description": "The `http:HttpFuture` related to a previous asynchronous invocation", + "optional": false, + "type": { + "name": "http:HttpFuture", + "links": [ + { + "category": "internal", + "recordName": "HttpFuture" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:PushPromise" + } + } + }, + { + "name": "getPromisedResponse", + "type": "Remote Function", + "description": "Passes the request to an actual network call.\n", + "parameters": [ + { + "name": "promise", + "description": "The related `http:PushPromise`", + "optional": false, + "type": { + "name": "http:PushPromise", + "links": [ + { + "category": "internal", + "recordName": "PushPromise" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "name": "rejectPromise", + "type": "Remote Function", + "description": "This just pass the request to actual network call.\n", + "parameters": [ + { + "name": "promise", + "description": "The Push Promise to be rejected", + "optional": false, + "type": { + "name": "http:PushPromise", + "links": [ + { + "category": "internal", + "recordName": "PushPromise" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getCookieStore", + "type": "Normal Function", + "description": "Retrieves the cookie store of the client.\n", + "parameters": [], + "return": { + "type": { + "name": "http:CookieStore|()" + } + } + }, + { + "name": "circuitBreakerForceClose", + "type": "Normal Function", + "description": "The circuit breaker client related method to force the circuit into a closed state in which it will allow\nrequests regardless of the error percentage until the failure threshold exceeds.", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "circuitBreakerForceOpen", + "type": "Normal Function", + "description": "The circuit breaker client related method to force the circuit into a open state in which it will suspend all\nrequests until `resetTime` interval exceeds.", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getCircuitBreakerCurrentState", + "type": "Normal Function", + "description": "The circuit breaker client related method to provides the `http:CircuitState` of the circuit breaker.\n", + "parameters": [], + "return": { + "type": { + "name": "http:CircuitState" + } + } + } + ] + }, + { + "name": "FailoverClient", + "description": "An HTTP client endpoint which provides failover support over multiple HTTP clients.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "An HTTP client endpoint which provides failover support over multiple HTTP clients.\n", + "parameters": [ + { + "name": "httpVersion", + "description": "HTTP protocol version supported by the client", + "optional": true, + "default": "\"2.0\"", + "type": { + "name": "http:HttpVersion", + "links": [ + { + "category": "internal", + "recordName": "HttpVersion" + } + ] + } + }, + { + "name": "http1Settings", + "description": "HTTP/1.x specific settings", + "optional": true, + "default": "{}", + "type": { + "name": "http:ClientHttp1Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp1Settings" + } + ] + } + }, + { + "name": "http2Settings", + "description": "HTTP/2 specific settings", + "optional": true, + "default": "{}", + "type": { + "name": "http:ClientHttp2Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp2Settings" + } + ] + } + }, + { + "name": "timeout", + "description": "Maximum time(in seconds) to wait for a response before the request times out", + "optional": true, + "default": "0.0d", + "type": { + "name": "decimal" + } + }, + { + "name": "forwarded", + "description": "The choice of setting `Forwarded`/`X-Forwarded-For` header, when acting as a proxy", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "followRedirects", + "description": "HTTP redirect handling configurations (with 3xx status codes)", + "optional": true, + "default": "()", + "type": { + "name": "http:FollowRedirects|()", + "links": [ + { + "category": "internal", + "recordName": "FollowRedirects|()" + } + ] + } + }, + { + "name": "poolConfig", + "description": "Configurations associated with the request connection pool", + "optional": true, + "default": "()", + "type": { + "name": "http:PoolConfiguration|()", + "links": [ + { + "category": "internal", + "recordName": "PoolConfiguration|()" + } + ] + } + }, + { + "name": "cache", + "description": "HTTP response caching related configurations", + "optional": true, + "default": "{}", + "type": { + "name": "http:CacheConfig", + "links": [ + { + "category": "internal", + "recordName": "CacheConfig" + } + ] + } + }, + { + "name": "compression", + "description": "Enable request/response compression (using `accept-encoding` header)", + "optional": true, + "default": "\"AUTO\"", + "type": { + "name": "http:Compression", + "links": [ + { + "category": "internal", + "recordName": "Compression" + } + ] + } + }, + { + "name": "auth", + "description": "Client authentication options (Basic, Bearer token, OAuth, etc.)", + "optional": true, + "default": "()", + "type": { + "name": "http:CredentialsConfig|http:BearerTokenConfig|http:JwtIssuerConfig|http:OAuth2ClientCredentialsGrantConfig|http:OAuth2PasswordGrantConfig|http:OAuth2RefreshTokenGrantConfig|http:OAuth2JwtBearerGrantConfig|()", + "links": [ + { + "category": "internal", + "recordName": "CredentialsConfig|BearerTokenConfig|JwtIssuerConfig|OAuth2ClientCredentialsGrantConfig|OAuth2PasswordGrantConfig|OAuth2RefreshTokenGrantConfig|OAuth2JwtBearerGrantConfig|()" + } + ] + } + }, + { + "name": "circuitBreaker", + "description": "Circuit breaker configurations to prevent cascading failures", + "optional": true, + "default": "()", + "type": { + "name": "http:CircuitBreakerConfig|()", + "links": [ + { + "category": "internal", + "recordName": "CircuitBreakerConfig|()" + } + ] + } + }, + { + "name": "retryConfig", + "description": "Automatic retry settings for failed requests", + "optional": true, + "default": "()", + "type": { + "name": "http:RetryConfig|()", + "links": [ + { + "category": "internal", + "recordName": "RetryConfig|()" + } + ] + } + }, + { + "name": "cookieConfig", + "description": "Cookie handling settings for session management", + "optional": true, + "default": "()", + "type": { + "name": "http:CookieConfig|()", + "links": [ + { + "category": "internal", + "recordName": "CookieConfig|()" + } + ] + } + }, + { + "name": "responseLimits", + "description": "Limits for response size and headers (to prevent memory issues)", + "optional": true, + "default": "{}", + "type": { + "name": "http:ResponseLimitConfigs", + "links": [ + { + "category": "internal", + "recordName": "ResponseLimitConfigs" + } + ] + } + }, + { + "name": "proxy", + "description": "Proxy server settings if requests need to go through a proxy", + "optional": true, + "default": "()", + "type": { + "name": "http:ProxyConfig|()", + "links": [ + { + "category": "internal", + "recordName": "ProxyConfig|()" + } + ] + } + }, + { + "name": "validation", + "description": "Enable automatic payload validation for request/response data against constraints", + "optional": true, + "default": "false", + "type": { + "name": "boolean" + } + }, + { + "name": "socketConfig", + "description": "Low-level socket settings (timeouts, buffer sizes, etc.)", + "optional": true, + "default": "{}", + "type": { + "name": "http:ClientSocketConfig", + "links": [ + { + "category": "internal", + "recordName": "ClientSocketConfig" + } + ] + } + }, + { + "name": "laxDataBinding", + "description": "Enable relaxed data binding on the client side.\nWhen enabled:\n- `null` values in JSON are allowed to be mapped to optional fields\n- missing fields in JSON are allowed to be mapped as `null` values", + "optional": true, + "default": "false", + "type": { + "name": "boolean" + } + }, + { + "name": "targets", + "description": "The upstream HTTP endpoints among which the incoming HTTP traffic load should be sent on failover", + "optional": true, + "default": "[]", + "type": { + "name": "http:TargetService[]", + "links": [ + { + "category": "internal", + "recordName": "TargetService[]" + } + ] + } + }, + { + "name": "failoverCodes", + "description": "Array of HTTP response status codes for which the failover behaviour should be triggered", + "optional": true, + "default": "[]", + "type": { + "name": "int[]" + } + }, + { + "name": "interval", + "description": "Failover delay interval in seconds", + "optional": true, + "default": "0.0d", + "type": { + "name": "decimal" + } + }, + { + "name": "failoverClientConfig", + "description": "The configurations of the client endpoint associated with this `Failover` instance", + "optional": true, + "type": { + "name": "http:FailoverClientConfiguration", + "links": [ + { + "category": "internal", + "recordName": "FailoverClientConfiguration" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:FailoverClient" + } + } + }, + { + "type": "Resource Function", + "description": "The POST resource function implementation of the Failover Connector.\n", + "accessor": "post", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "post", + "type": "Remote Function", + "description": "The POST remote function implementation of the Failover Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The PUT resource function implementation of the Failover Connector.\n", + "accessor": "put", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "put", + "type": "Remote Function", + "description": "The PUT remote function implementation of the Failover Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The PATCH resource function implementation of the Failover Connector.\n", + "accessor": "patch", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "patch", + "type": "Remote Function", + "description": "The PATCH remote function implementation of the Failover Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The DELETE resource function implementation of the Failover Connector.\n", + "accessor": "delete", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An optional HTTP outbound request or any allowed payload", + "optional": true, + "default": "{}", + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "delete", + "type": "Remote Function", + "description": "The DELETE remote function implementation of the Failover Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An optional HTTP outbound request message or any allowed payload", + "optional": true, + "default": "{}", + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The HEAD resource function implementation of the Failover Connector.\n", + "accessor": "head", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "name": "head", + "type": "Remote Function", + "description": "The HEAD remote function implementation of the Failover Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "type": "Resource Function", + "description": "The GET resource function implementation of the Failover Connector.\n", + "accessor": "get", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "get", + "type": "Remote Function", + "description": "The GET remote function implementation of the Failover Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The OPTIONS resource function implementation of the Failover Connector.\n", + "accessor": "options", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "options", + "type": "Remote Function", + "description": "The OPTIONS remote function implementation of the Failover Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "execute", + "type": "Remote Function", + "description": "Invokes an HTTP call with the specified HTTP method.\n", + "parameters": [ + { + "name": "httpVerb", + "description": "HTTP verb value", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "forward", + "type": "Remote Function", + "description": "Invokes an HTTP call using the incoming request's HTTP method.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "request", + "description": "An HTTP request", + "optional": false, + "type": { + "name": "http:Request", + "links": [ + { + "category": "internal", + "recordName": "Request" + } + ] + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "submit", + "type": "Remote Function", + "description": "Submits an HTTP request to a service with the specified HTTP verb. The `FailoverClient.submit()` function does not\nreturn an `http:Response` as the result. Rather it returns an `http:HttpFuture` which can be used for subsequent interactions\nwith the HTTP endpoint.\n", + "parameters": [ + { + "name": "httpVerb", + "description": "The HTTP verb value. The HTTP verb is case-sensitive. Use the `http:Method` type to specify the\nthe standard HTTP methods.", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "path", + "description": "The resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:HttpFuture" + } + } + }, + { + "name": "getResponse", + "type": "Remote Function", + "description": "Retrieves the `http:Response` for a previously-submitted request.\n", + "parameters": [ + { + "name": "httpFuture", + "description": "The `http:HttpFuture` related to a previous asynchronous invocation", + "optional": false, + "type": { + "name": "http:HttpFuture", + "links": [ + { + "category": "internal", + "recordName": "HttpFuture" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "name": "hasPromise", + "type": "Remote Function", + "description": "Checks whether an `http:PushPromise` exists for a previously-submitted request.\n", + "parameters": [ + { + "name": "httpFuture", + "description": "The `http:HttpFuture` related to a previous asynchronous invocation", + "optional": false, + "type": { + "name": "http:HttpFuture", + "links": [ + { + "category": "internal", + "recordName": "HttpFuture" + } + ] + } + } + ], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "getNextPromise", + "type": "Remote Function", + "description": "Retrieves the next available `http:PushPromise` for a previously-submitted request.\n", + "parameters": [ + { + "name": "httpFuture", + "description": "The `http:HttpFuture` related to a previous asynchronous invocation", + "optional": false, + "type": { + "name": "http:HttpFuture", + "links": [ + { + "category": "internal", + "recordName": "HttpFuture" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:PushPromise" + } + } + }, + { + "name": "getPromisedResponse", + "type": "Remote Function", + "description": "Retrieves the promised server push `http:Response` message.\n", + "parameters": [ + { + "name": "promise", + "description": "The related `http:PushPromise`", + "optional": false, + "type": { + "name": "http:PushPromise", + "links": [ + { + "category": "internal", + "recordName": "PushPromise" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "name": "rejectPromise", + "type": "Remote Function", + "description": "Rejects an `http:PushPromise`. When an `http:PushPromise` is rejected, there is no chance of fetching a promised\nresponse using the rejected promise.\n", + "parameters": [ + { + "name": "promise", + "description": "The Push Promise to be rejected", + "optional": false, + "type": { + "name": "http:PushPromise", + "links": [ + { + "category": "internal", + "recordName": "PushPromise" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getSucceededEndpointIndex", + "type": "Normal Function", + "description": "Gets the index of the `TargetService[]` array which given a successful response.\n", + "parameters": [], + "return": { + "type": { + "name": "int" + } + } + } + ] + }, + { + "name": "LoadBalanceClient", + "description": "LoadBalanceClient endpoint provides load balancing functionality over multiple HTTP clients.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "LoadBalanceClient endpoint provides load balancing functionality over multiple HTTP clients.\n", + "parameters": [ + { + "name": "httpVersion", + "description": "HTTP protocol version supported by the client", + "optional": true, + "default": "\"2.0\"", + "type": { + "name": "http:HttpVersion", + "links": [ + { + "category": "internal", + "recordName": "HttpVersion" + } + ] + } + }, + { + "name": "http1Settings", + "description": "HTTP/1.x specific settings", + "optional": true, + "default": "{}", + "type": { + "name": "http:ClientHttp1Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp1Settings" + } + ] + } + }, + { + "name": "http2Settings", + "description": "HTTP/2 specific settings", + "optional": true, + "default": "{}", + "type": { + "name": "http:ClientHttp2Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp2Settings" + } + ] + } + }, + { + "name": "timeout", + "description": "Maximum time(in seconds) to wait for a response before the request times out", + "optional": true, + "default": "0.0d", + "type": { + "name": "decimal" + } + }, + { + "name": "forwarded", + "description": "The choice of setting `Forwarded`/`X-Forwarded-For` header, when acting as a proxy", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "followRedirects", + "description": "HTTP redirect handling configurations (with 3xx status codes)", + "optional": true, + "default": "()", + "type": { + "name": "http:FollowRedirects|()", + "links": [ + { + "category": "internal", + "recordName": "FollowRedirects|()" + } + ] + } + }, + { + "name": "poolConfig", + "description": "Configurations associated with the request connection pool", + "optional": true, + "default": "()", + "type": { + "name": "http:PoolConfiguration|()", + "links": [ + { + "category": "internal", + "recordName": "PoolConfiguration|()" + } + ] + } + }, + { + "name": "cache", + "description": "HTTP response caching related configurations", + "optional": true, + "default": "{}", + "type": { + "name": "http:CacheConfig", + "links": [ + { + "category": "internal", + "recordName": "CacheConfig" + } + ] + } + }, + { + "name": "compression", + "description": "Enable request/response compression (using `accept-encoding` header)", + "optional": true, + "default": "\"AUTO\"", + "type": { + "name": "http:Compression", + "links": [ + { + "category": "internal", + "recordName": "Compression" + } + ] + } + }, + { + "name": "auth", + "description": "Client authentication options (Basic, Bearer token, OAuth, etc.)", + "optional": true, + "default": "()", + "type": { + "name": "http:CredentialsConfig|http:BearerTokenConfig|http:JwtIssuerConfig|http:OAuth2ClientCredentialsGrantConfig|http:OAuth2PasswordGrantConfig|http:OAuth2RefreshTokenGrantConfig|http:OAuth2JwtBearerGrantConfig|()", + "links": [ + { + "category": "internal", + "recordName": "CredentialsConfig|BearerTokenConfig|JwtIssuerConfig|OAuth2ClientCredentialsGrantConfig|OAuth2PasswordGrantConfig|OAuth2RefreshTokenGrantConfig|OAuth2JwtBearerGrantConfig|()" + } + ] + } + }, + { + "name": "circuitBreaker", + "description": "Circuit breaker configurations to prevent cascading failures", + "optional": true, + "default": "()", + "type": { + "name": "http:CircuitBreakerConfig|()", + "links": [ + { + "category": "internal", + "recordName": "CircuitBreakerConfig|()" + } + ] + } + }, + { + "name": "retryConfig", + "description": "Automatic retry settings for failed requests", + "optional": true, + "default": "()", + "type": { + "name": "http:RetryConfig|()", + "links": [ + { + "category": "internal", + "recordName": "RetryConfig|()" + } + ] + } + }, + { + "name": "cookieConfig", + "description": "Cookie handling settings for session management", + "optional": true, + "default": "()", + "type": { + "name": "http:CookieConfig|()", + "links": [ + { + "category": "internal", + "recordName": "CookieConfig|()" + } + ] + } + }, + { + "name": "responseLimits", + "description": "Limits for response size and headers (to prevent memory issues)", + "optional": true, + "default": "{}", + "type": { + "name": "http:ResponseLimitConfigs", + "links": [ + { + "category": "internal", + "recordName": "ResponseLimitConfigs" + } + ] + } + }, + { + "name": "proxy", + "description": "Proxy server settings if requests need to go through a proxy", + "optional": true, + "default": "()", + "type": { + "name": "http:ProxyConfig|()", + "links": [ + { + "category": "internal", + "recordName": "ProxyConfig|()" + } + ] + } + }, + { + "name": "validation", + "description": "Enable automatic payload validation for request/response data against constraints", + "optional": true, + "default": "false", + "type": { + "name": "boolean" + } + }, + { + "name": "socketConfig", + "description": "Low-level socket settings (timeouts, buffer sizes, etc.)", + "optional": true, + "default": "{}", + "type": { + "name": "http:ClientSocketConfig", + "links": [ + { + "category": "internal", + "recordName": "ClientSocketConfig" + } + ] + } + }, + { + "name": "laxDataBinding", + "description": "Enable relaxed data binding on the client side.\nWhen enabled:\n- `null` values in JSON are allowed to be mapped to optional fields\n- missing fields in JSON are allowed to be mapped as `null` values", + "optional": true, + "default": "false", + "type": { + "name": "boolean" + } + }, + { + "name": "targets", + "description": "The upstream HTTP endpoints among which the incoming HTTP traffic load should be distributed", + "optional": true, + "default": "[]", + "type": { + "name": "http:TargetService[]", + "links": [ + { + "category": "internal", + "recordName": "TargetService[]" + } + ] + } + }, + { + "name": "lbRule", + "description": "The `LoadBalancing` rule", + "optional": true, + "default": "()", + "type": { + "name": "http:LoadBalancerRule|()", + "links": [ + { + "category": "internal", + "recordName": "LoadBalancerRule|()" + } + ] + } + }, + { + "name": "failover", + "description": "Configuration for the load balancer whether to fail over a failure", + "optional": true, + "default": "false", + "type": { + "name": "boolean" + } + }, + { + "name": "loadBalanceClientConfig", + "description": "The configurations for the load balance client endpoint", + "optional": true, + "type": { + "name": "http:LoadBalanceClientConfiguration", + "links": [ + { + "category": "internal", + "recordName": "LoadBalanceClientConfiguration" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:LoadBalanceClient" + } + } + }, + { + "type": "Resource Function", + "description": "The POST resource function implementation of the LoadBalancer Connector.\n", + "accessor": "post", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "post", + "type": "Remote Function", + "description": "The POST remote function implementation of the LoadBalancer Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The PUT resource function implementation of the LoadBalancer Connector.\n", + "accessor": "put", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "put", + "type": "Remote Function", + "description": "The PUT remote function implementation of the Load Balance Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The PATCH resource function implementation of the LoadBalancer Connector.\n", + "accessor": "patch", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "patch", + "type": "Remote Function", + "description": "The PATCH remote function implementation of the LoadBalancer Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The DELETE resource function implementation of the LoadBalancer Connector.\n", + "accessor": "delete", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "message", + "description": "An optional HTTP outbound request or any allowed payload", + "optional": true, + "default": "{}", + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "delete", + "type": "Remote Function", + "description": "The DELETE remote function implementation of the LoadBalancer Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An optional HTTP outbound request message or any allowed payload", + "optional": true, + "default": "{}", + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The HEAD resource function implementation of the LoadBalancer Connector.\n", + "accessor": "head", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "name": "head", + "type": "Remote Function", + "description": "The HEAD remote function implementation of the LoadBalancer Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "type": "Resource Function", + "description": "The GET resource function implementation of the LoadBalancer Connector.\n", + "accessor": "get", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "get", + "type": "Remote Function", + "description": "The GET remote function implementation of the LoadBalancer Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Request path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "type": "Resource Function", + "description": "The OPTIONS resource function implementation of the LoadBalancer Connector.\n", + "accessor": "options", + "paths": [ + { + "name": "path", + "type": "..." + } + ], + "parameters": [ + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + }, + { + "name": "Additional Values", + "description": "Capture key value pairs", + "optional": true, + "type": { + "name": "http:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + }, + { + "name": "params", + "description": "The query parameters", + "optional": true, + "type": { + "name": "http:QueryParams", + "links": [ + { + "category": "internal", + "recordName": "QueryParams" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "options", + "type": "Remote Function", + "description": "The OPTIONS remote function implementation of the LoadBalancer Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Request path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "execute", + "type": "Remote Function", + "description": "The EXECUTE remote function implementation of the LoadBalancer Connector.\n", + "parameters": [ + { + "name": "httpVerb", + "description": "HTTP verb value", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + }, + { + "name": "headers", + "description": "The entity headers", + "optional": true, + "default": "()", + "type": { + "name": "map|()" + } + }, + { + "name": "mediaType", + "description": "The MIME type header of the request entity", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "forward", + "type": "Remote Function", + "description": "The FORWARD remote function implementation of the LoadBalancer Connector.\n", + "parameters": [ + { + "name": "path", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "request", + "description": "An HTTP request", + "optional": false, + "type": { + "name": "http:Request", + "links": [ + { + "category": "internal", + "recordName": "Request" + } + ] + } + }, + { + "name": "targetType", + "description": "HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding", + "optional": true, + "default": "http:Response|anydata|stream", + "type": { + "name": "http:Response|anydata|stream", + "links": [ + { + "category": "internal", + "recordName": "Response|anydata|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "submit", + "type": "Remote Function", + "description": "The submit implementation of the LoadBalancer Connector.\n", + "parameters": [ + { + "name": "httpVerb", + "description": "The HTTP verb value. The HTTP verb is case-sensitive. Use the `http:Method` type to specify the\nthe standard HTTP methods.", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "path", + "description": "The resource path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "An HTTP outbound request or any allowed payload", + "optional": false, + "type": { + "name": "http:RequestMessage", + "links": [ + { + "category": "internal", + "recordName": "RequestMessage" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:HttpFuture" + } + } + }, + { + "name": "getResponse", + "type": "Remote Function", + "description": "The getResponse implementation of the LoadBalancer Connector.\n", + "parameters": [ + { + "name": "httpFuture", + "description": "The `http:HttpFuture` related to a previous asynchronous invocation", + "optional": false, + "type": { + "name": "http:HttpFuture", + "links": [ + { + "category": "internal", + "recordName": "HttpFuture" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "name": "hasPromise", + "type": "Remote Function", + "description": "The hasPromise implementation of the LoadBalancer Connector.\n", + "parameters": [ + { + "name": "httpFuture", + "description": "The `http:HttpFuture` related to a previous asynchronous invocation", + "optional": false, + "type": { + "name": "http:HttpFuture", + "links": [ + { + "category": "internal", + "recordName": "HttpFuture" + } + ] + } + } + ], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "getNextPromise", + "type": "Remote Function", + "description": "The getNextPromise implementation of the LoadBalancer Connector.\n", + "parameters": [ + { + "name": "httpFuture", + "description": "The `http:HttpFuture` related to a previous asynchronous invocation", + "optional": false, + "type": { + "name": "http:HttpFuture", + "links": [ + { + "category": "internal", + "recordName": "HttpFuture" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:PushPromise" + } + } + }, + { + "name": "getPromisedResponse", + "type": "Remote Function", + "description": "The getPromisedResponse implementation of the LoadBalancer Connector.\n", + "parameters": [ + { + "name": "promise", + "description": "The related `http:PushPromise`", + "optional": false, + "type": { + "name": "http:PushPromise", + "links": [ + { + "category": "internal", + "recordName": "PushPromise" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Response" + } + } + }, + { + "name": "rejectPromise", + "type": "Remote Function", + "description": "The rejectPromise implementation of the LoadBalancer Connector.\n", + "parameters": [ + { + "name": "promise", + "description": "The Push Promise to be rejected", + "optional": false, + "type": { + "name": "http:PushPromise", + "links": [ + { + "category": "internal", + "recordName": "PushPromise" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + } + ] + } + ], + "functions": [ + { + "name": "authenticateResource", + "type": "Normal Function", + "description": "Uses for declarative auth design, where the authentication/authorization decision is taken\nby reading the auth annotations provided in service/resource and the `Authorization` header of request.\n", + "parameters": [ + { + "name": "serviceRef", + "description": "The service reference where the resource locates", + "optional": false, + "type": { + "name": "http:Service", + "links": [ + { + "category": "internal", + "recordName": "Service" + } + ] + } + }, + { + "name": "methodName", + "description": "The name of the subjected resource", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "resourcePath", + "description": "The relative path", + "optional": false, + "type": { + "name": "string[]" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "createHttpCachingClient", + "type": "Normal Function", + "description": "Creates an HTTP client capable of caching HTTP responses.\n", + "parameters": [ + { + "name": "url", + "description": "The URL of the HTTP endpoint to connect", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "config", + "description": "The configurations for the client endpoint associated with the caching client", + "optional": false, + "type": { + "name": "http:ClientConfiguration", + "links": [ + { + "category": "internal", + "recordName": "ClientConfiguration" + } + ] + } + }, + { + "name": "cacheConfig", + "description": "The configurations for the HTTP cache to be used with the caching client", + "optional": false, + "type": { + "name": "http:CacheConfig", + "links": [ + { + "category": "internal", + "recordName": "CacheConfig" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:HttpClient" + } + } + }, + { + "name": "parseHeader", + "type": "Normal Function", + "description": "Parses the header value which contains multiple values or parameters.\n```ballerina\n http:HeaderValue[] values = check http:parseHeader(\"text/plain;level=1;q=0.6, application/xml;level=2\");\n```\n", + "parameters": [ + { + "name": "headerValue", + "description": "The header value", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "http:HeaderValue[]" + } + } + }, + { + "name": "getHeaderMap", + "type": "Normal Function", + "description": "Converts the headers represented as a map of `anydata` to a map of `string` or `string` array. The `value:toString`\nmethod will be used to convert the values to `string`. Additionally if the header name is specified by the\n`http:Header` annotation, then it will be used as the header name.\n```ballerina\ntype Headers record {\n @http:Header {name: \"X-API-VERSION\"}\n string apiVersion;\n int id;\n};\nHeaders headers = {apiVersion: \"v1\", id: 1};\nmap headersMap = http:getHeaderMap(headers); // { \"X-API-VERSION\": \"v1\", \"id\": \"1\" }\n```\n", + "parameters": [ + { + "name": "headers", + "description": "The headers represented as a map of anydata", + "optional": false, + "type": { + "name": "map" + } + } + ], + "return": { + "type": { + "name": "map" + } + } + }, + { + "name": "getQueryMap", + "type": "Normal Function", + "description": "If the query name is specified by the `http:Query` annotation, then this function will return the queries map\nwith the specified query name. Otherwise, it will return the map as it is.\n```ballerina\ntype Queries record {\n @http:Query {name: \"filter_ids\"}\n string[] ids;\n};\nQueries queries = {ids: [\"1\", \"2\"]};\nmap queriesMap = http:getQueryMap(queries); // { \"filter_ids\": [\"1\", \"2\"] }\n```\n", + "parameters": [ + { + "name": "queries", + "description": "The queries represented as a map of anydata", + "optional": false, + "type": { + "name": "map" + } + } + ], + "return": { + "type": { + "name": "map" + } + } + }, + { + "name": "getDefaultListener", + "type": "Normal Function", + "description": "Returns the default HTTP listener. If the default listener is not already created, a new\nlistener will be created with the port and configuration. An error will be returned if\nthe listener creation fails.\n\nThe default listener configuration can be changed in the `Config.toml` file. Example:\n```toml\n[ballerina.http]\ndefaultListenerPort = 8080\n[ballerina.http.defaultListenerConfig]\nhttpVersion = \"1.1\"\n[ballerina.http.defaultListenerConfig.secureSocket.key]\npath = \"resources/certs/key.pem\"\npassword = \"password\"\n```\n", + "parameters": [], + "return": { + "type": { + "name": "http:Listener" + } + } + }, + { + "name": "createHttpSecureClient", + "type": "Normal Function", + "description": "Creates an HTTP client capable of securing HTTP requests with authentication.\n", + "parameters": [ + { + "name": "url", + "description": "Base URL", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "config", + "description": "Client endpoint configurations", + "optional": false, + "type": { + "name": "http:ClientConfiguration", + "links": [ + { + "category": "internal", + "recordName": "ClientConfiguration" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:HttpClient" + } + } + } + ], + "typeDefs": [ + { + "name": "AUTH_HEADER", + "description": "Represents the Authorization header name.", + "type": "Constant", + "value": "Authorization", + "varType": { + "name": "string" + } + }, + { + "name": "AUTH_SCHEME_BASIC", + "description": "The prefix used to denote the Basic authentication scheme.", + "type": "Constant", + "value": "Basic", + "varType": { + "name": "string" + } + }, + { + "name": "AUTH_SCHEME_BEARER", + "description": "The prefix used to denote the Bearer authentication scheme.", + "type": "Constant", + "value": "Bearer", + "varType": { + "name": "string" + } + }, + { + "name": "NO_CACHE", + "description": "Forces the cache to validate a cached response with the origin server before serving.", + "type": "Constant", + "value": "no-cache", + "varType": { + "name": "string" + } + }, + { + "name": "NO_STORE", + "description": "Instructs the cache to not store a response in non-volatile storage.", + "type": "Constant", + "value": "no-store", + "varType": { + "name": "string" + } + }, + { + "name": "NO_TRANSFORM", + "description": "Instructs intermediaries not to transform the payload.", + "type": "Constant", + "value": "no-transform", + "varType": { + "name": "string" + } + }, + { + "name": "MAX_AGE", + "description": "When used in requests, `max-age` implies that clients are not willing to accept responses whose age is greater\nthan `max-age`. When used in responses, the response is to be considered stale after the specified\nnumber of seconds.", + "type": "Constant", + "value": "max-age", + "varType": { + "name": "string" + } + }, + { + "name": "MAX_STALE", + "description": "Indicates that the client is willing to accept responses which have exceeded their freshness lifetime by no more\nthan the specified number of seconds.", + "type": "Constant", + "value": "max-stale", + "varType": { + "name": "string" + } + }, + { + "name": "MIN_FRESH", + "description": "Indicates that the client is only accepting responses whose freshness lifetime >= current age + min-fresh.", + "type": "Constant", + "value": "min-fresh", + "varType": { + "name": "string" + } + }, + { + "name": "ONLY_IF_CACHED", + "description": "Indicates that the client is only willing to accept a cached response. A cached response is served subject to\nother constraints posed by the request.", + "type": "Constant", + "value": "only-if-cached", + "varType": { + "name": "string" + } + }, + { + "name": "MUST_REVALIDATE", + "description": "Indicates that once the response has become stale, it should not be reused for subsequent requests without\nvalidating with the origin server.", + "type": "Constant", + "value": "must-revalidate", + "varType": { + "name": "string" + } + }, + { + "name": "PUBLIC", + "description": "Indicates that any cache may store the response.", + "type": "Constant", + "value": "public", + "varType": { + "name": "string" + } + }, + { + "name": "PRIVATE", + "description": "Indicates that the response is intended for a single user and should not be stored by shared caches.", + "type": "Constant", + "value": "private", + "varType": { + "name": "string" + } + }, + { + "name": "PROXY_REVALIDATE", + "description": "Has the same semantics as `must-revalidate`, except that this does not apply to private caches.", + "type": "Constant", + "value": "proxy-revalidate", + "varType": { + "name": "string" + } + }, + { + "name": "S_MAX_AGE", + "description": "In shared caches, `s-maxage` overrides the `max-age` or `expires` header field.", + "type": "Constant", + "value": "s-maxage", + "varType": { + "name": "string" + } + }, + { + "name": "MAX_STALE_ANY_AGE", + "description": "Setting this as the `max-stale` directives indicates that the `max-stale` directive does not specify a limit.", + "type": "Constant", + "value": "9223372036854775807", + "varType": { + "name": "decimal" + } + }, + { + "name": "CACHE_CONTROL_AND_VALIDATORS", + "description": "This is a more restricted mode of RFC 7234. Setting this as the caching policy restricts caching to instances\nwhere the `cache-control` header and either the `etag` or `last-modified` header are present.", + "type": "Constant", + "value": "CACHE_CONTROL_AND_VALIDATORS", + "varType": { + "name": "string" + } + }, + { + "name": "RFC_7234", + "description": "Caching behaviour is as specified by the RFC 7234 specification.", + "type": "Constant", + "value": "RFC_7234", + "varType": { + "name": "string" + } + }, + { + "name": "REDIRECT_MULTIPLE_CHOICES_300", + "description": "Represents the HTTP redirect status code `300 - Multiple Choices`.", + "type": "Constant", + "value": "300", + "varType": { + "name": "int" + } + }, + { + "name": "REDIRECT_MOVED_PERMANENTLY_301", + "description": "Represents the HTTP redirect status code `301 - Moved Permanently`.", + "type": "Constant", + "value": "301", + "varType": { + "name": "int" + } + }, + { + "name": "REDIRECT_FOUND_302", + "description": "Represents the HTTP redirect status code `302 - Found`.", + "type": "Constant", + "value": "302", + "varType": { + "name": "int" + } + }, + { + "name": "REDIRECT_SEE_OTHER_303", + "description": "Represents the HTTP redirect status code `303 - See Other`.", + "type": "Constant", + "value": "303", + "varType": { + "name": "int" + } + }, + { + "name": "REDIRECT_NOT_MODIFIED_304", + "description": "Represents the HTTP redirect status code `304 - Not Modified`.", + "type": "Constant", + "value": "304", + "varType": { + "name": "int" + } + }, + { + "name": "REDIRECT_USE_PROXY_305", + "description": "Represents the HTTP redirect status code `305 - Use Proxy`.", + "type": "Constant", + "value": "305", + "varType": { + "name": "int" + } + }, + { + "name": "REDIRECT_TEMPORARY_REDIRECT_307", + "description": "Represents the HTTP redirect status code `307 - Temporary Redirect`.", + "type": "Constant", + "value": "307", + "varType": { + "name": "int" + } + }, + { + "name": "REDIRECT_PERMANENT_REDIRECT_308", + "description": "Represents the HTTP redirect status code `308 - Permanent Redirect`.", + "type": "Constant", + "value": "308", + "varType": { + "name": "int" + } + }, + { + "name": "DEFAULT_LISTENER_TIMEOUT", + "description": "Constant for the default listener endpoint timeout in seconds", + "type": "Constant", + "value": "60", + "varType": { + "name": "decimal" + } + }, + { + "name": "DEFAULT_GRACEFULSTOP_TIMEOUT", + "description": "Constant for the default listener gracefulStop timeout in seconds", + "type": "Constant", + "value": "0", + "varType": { + "name": "decimal" + } + }, + { + "name": "MULTIPART_AS_PRIMARY_TYPE", + "description": "Represents multipart primary type", + "type": "Constant", + "value": "multipart/", + "varType": { + "name": "string" + } + }, + { + "name": "HTTP_FORWARD", + "description": "Constant for the HTTP FORWARD method", + "type": "Constant", + "value": "FORWARD", + "varType": { + "name": "string" + } + }, + { + "name": "HTTP_GET", + "description": "Constant for the HTTP GET method", + "type": "Constant", + "value": "GET", + "varType": { + "name": "string" + } + }, + { + "name": "HTTP_POST", + "description": "Constant for the HTTP POST method", + "type": "Constant", + "value": "POST", + "varType": { + "name": "string" + } + }, + { + "name": "HTTP_DELETE", + "description": "Constant for the HTTP DELETE method", + "type": "Constant", + "value": "DELETE", + "varType": { + "name": "string" + } + }, + { + "name": "HTTP_OPTIONS", + "description": "Constant for the HTTP OPTIONS method", + "type": "Constant", + "value": "OPTIONS", + "varType": { + "name": "string" + } + }, + { + "name": "HTTP_PUT", + "description": "Constant for the HTTP PUT method", + "type": "Constant", + "value": "PUT", + "varType": { + "name": "string" + } + }, + { + "name": "HTTP_PATCH", + "description": "Constant for the HTTP PATCH method", + "type": "Constant", + "value": "PATCH", + "varType": { + "name": "string" + } + }, + { + "name": "HTTP_HEAD", + "description": "Constant for the HTTP HEAD method", + "type": "Constant", + "value": "HEAD", + "varType": { + "name": "string" + } + }, + { + "name": "HTTP_SUBMIT", + "description": "constant for the HTTP SUBMIT method", + "type": "Constant", + "value": "SUBMIT", + "varType": { + "name": "string" + } + }, + { + "name": "HTTP_NONE", + "description": "Constant for the identify not an HTTP Operation", + "type": "Constant", + "value": "NONE", + "varType": { + "name": "string" + } + }, + { + "name": "CHUNKING_AUTO", + "description": "If the payload is less than 8KB, content-length header is set in the outbound request/response,\notherwise chunking header is set in the outbound request/response.}", + "type": "Constant", + "value": "AUTO", + "varType": { + "name": "string" + } + }, + { + "name": "CHUNKING_ALWAYS", + "description": "Always set chunking header in the response.", + "type": "Constant", + "value": "ALWAYS", + "varType": { + "name": "string" + } + }, + { + "name": "CHUNKING_NEVER", + "description": "Never set the chunking header even if the payload is larger than 8KB in the outbound request/response.", + "type": "Constant", + "value": "NEVER", + "varType": { + "name": "string" + } + }, + { + "name": "COMPRESSION_AUTO", + "description": "When service behaves as a HTTP gateway inbound request/response accept-encoding option is set as the\noutbound request/response accept-encoding/content-encoding option.", + "type": "Constant", + "value": "AUTO", + "varType": { + "name": "string" + } + }, + { + "name": "COMPRESSION_ALWAYS", + "description": "Always set accept-encoding/content-encoding in outbound request/response.", + "type": "Constant", + "value": "ALWAYS", + "varType": { + "name": "string" + } + }, + { + "name": "COMPRESSION_NEVER", + "description": "Never set accept-encoding/content-encoding header in outbound request/response.", + "type": "Constant", + "value": "NEVER", + "varType": { + "name": "string" + } + }, + { + "name": "LEADING", + "description": "Header is placed before the payload of the request/response.", + "type": "Constant", + "value": "leading", + "varType": { + "name": "string" + } + }, + { + "name": "TRAILING", + "description": "Header is placed after the payload of the request/response.", + "type": "Constant", + "value": "trailing", + "varType": { + "name": "string" + } + }, + { + "name": "JWT_INFORMATION", + "description": "Constant to get the jwt information from the request context.", + "type": "Constant", + "value": "JWT_INFORMATION", + "varType": { + "name": "string" + } + }, + { + "name": "AGE", + "description": "HTTP header key `age`. Gives the current age of a cached HTTP response. ", + "type": "Constant", + "value": "age", + "varType": { + "name": "string" + } + }, + { + "name": "AUTHORIZATION", + "description": "HTTP header key `authorization` ", + "type": "Constant", + "value": "authorization", + "varType": { + "name": "string" + } + }, + { + "name": "CACHE_CONTROL", + "description": "HTTP header key `cache-control`. Specifies the cache control directives required for the function of HTTP caches.", + "type": "Constant", + "value": "cache-control", + "varType": { + "name": "string" + } + }, + { + "name": "CONTENT_LENGTH", + "description": "HTTP header key `content-length`. Specifies the size of the response body in bytes. ", + "type": "Constant", + "value": "content-length", + "varType": { + "name": "string" + } + }, + { + "name": "CONTENT_TYPE", + "description": "HTTP header key `content-type`. Specifies the type of the message payload. ", + "type": "Constant", + "value": "content-type", + "varType": { + "name": "string" + } + }, + { + "name": "DATE", + "description": "HTTP header key `date`. The timestamp at the time the response was generated/received. ", + "type": "Constant", + "value": "date", + "varType": { + "name": "string" + } + }, + { + "name": "ETAG", + "description": "HTTP header key `etag`. A finger print for a resource which is used by HTTP caches to identify whether a\nresource representation has changed.", + "type": "Constant", + "value": "etag", + "varType": { + "name": "string" + } + }, + { + "name": "EXPECT", + "description": "HTTP header key `expect`. Specifies expectations to be fulfilled by the server. ", + "type": "Constant", + "value": "expect", + "varType": { + "name": "string" + } + }, + { + "name": "EXPIRES", + "description": "HTTP header key `expires`. Specifies the time at which the response becomes stale. ", + "type": "Constant", + "value": "expires", + "varType": { + "name": "string" + } + }, + { + "name": "IF_MATCH", + "description": "HTTP header key `if-match` ", + "type": "Constant", + "value": "if-match", + "varType": { + "name": "string" + } + }, + { + "name": "IF_MODIFIED_SINCE", + "description": "HTTP header key `if-modified-since`. Used when validating (with the origin server) whether a cached response\nis still valid. If the representation of the resource has modified since the timestamp in this field, a\n304 response is returned.", + "type": "Constant", + "value": "if-modified-since", + "varType": { + "name": "string" + } + }, + { + "name": "IF_NONE_MATCH", + "description": "HTTP header key `if-none-match`. Used when validating (with the origin server) whether a cached response is\nstill valid. If the ETag provided in this field matches the representation of the requested resource, a\n304 response is returned.", + "type": "Constant", + "value": "if-none-match", + "varType": { + "name": "string" + } + }, + { + "name": "IF_RANGE", + "description": "HTTP header key `if-range` ", + "type": "Constant", + "value": "if-range", + "varType": { + "name": "string" + } + }, + { + "name": "IF_UNMODIFIED_SINCE", + "description": "HTTP header key `if-unmodified-since` ", + "type": "Constant", + "value": "if-unmodified-since", + "varType": { + "name": "string" + } + }, + { + "name": "LAST_MODIFIED", + "description": "HTTP header key `last-modified`. The time at which the resource was last modified. ", + "type": "Constant", + "value": "last-modified", + "varType": { + "name": "string" + } + }, + { + "name": "LOCATION", + "description": "HTTP header key `location`. Indicates the URL to redirect a request to. ", + "type": "Constant", + "value": "location", + "varType": { + "name": "string" + } + }, + { + "name": "PRAGMA", + "description": "HTTP header key `pragma`. Used in dealing with HTTP 1.0 caches which do not understand the `cache-control` header.", + "type": "Constant", + "value": "pragma", + "varType": { + "name": "string" + } + }, + { + "name": "PROXY_AUTHORIZATION", + "description": "HTTP header key `proxy-authorization`. Contains the credentials to authenticate a user agent to a proxy serve.", + "type": "Constant", + "value": "proxy-authorization", + "varType": { + "name": "string" + } + }, + { + "name": "SERVER", + "description": "HTTP header key `server`. Specifies the details of the origin server.", + "type": "Constant", + "value": "server", + "varType": { + "name": "string" + } + }, + { + "name": "WARNING", + "description": "HTTP header key `warning`. Specifies warnings generated when serving stale responses from HTTP caches. ", + "type": "Constant", + "value": "warning", + "varType": { + "name": "string" + } + }, + { + "name": "TRANSFER_ENCODING", + "description": "HTTP header key `transfer-encoding`. Specifies what type of transformation has been applied to entity body. ", + "type": "Constant", + "value": "transfer-encoding", + "varType": { + "name": "string" + } + }, + { + "name": "CONNECTION", + "description": "HTTP header key `connection`. Allows the sender to specify options that are desired for that particular connection.", + "type": "Constant", + "value": "connection", + "varType": { + "name": "string" + } + }, + { + "name": "UPGRADE", + "description": "HTTP header key `upgrade`. Allows the client to specify what additional communication protocols it supports and\nwould like to use, if the server finds it appropriate to switch protocols.", + "type": "Constant", + "value": "upgrade", + "varType": { + "name": "string" + } + }, + { + "name": "PASSED", + "description": "Mutual SSL handshake is successful.", + "type": "Constant", + "value": "passed", + "varType": { + "name": "string" + } + }, + { + "name": "FAILED", + "description": "Mutual SSL handshake has failed.", + "type": "Constant", + "value": "failed", + "varType": { + "name": "string" + } + }, + { + "name": "NONE", + "description": "Not a mutual ssl connection.", + "type": "Constant", + "value": "()", + "varType": { + "name": "nil" + } + }, + { + "name": "KEEPALIVE_AUTO", + "description": "Decides to keep the connection alive or not based on the `connection` header of the client request }", + "type": "Constant", + "value": "AUTO", + "varType": { + "name": "string" + } + }, + { + "name": "KEEPALIVE_ALWAYS", + "description": "Keeps the connection alive irrespective of the `connection` header value }", + "type": "Constant", + "value": "ALWAYS", + "varType": { + "name": "string" + } + }, + { + "name": "KEEPALIVE_NEVER", + "description": "Closes the connection irrespective of the `connection` header value }", + "type": "Constant", + "value": "NEVER", + "varType": { + "name": "string" + } + }, + { + "name": "SERVICE_NAME", + "description": "Constant for the service name reference.", + "type": "Constant", + "value": "SERVICE_NAME", + "varType": { + "name": "string" + } + }, + { + "name": "RESOURCE_NAME", + "description": "Constant for the resource name reference.", + "type": "Constant", + "value": "RESOURCE_NAME", + "varType": { + "name": "string" + } + }, + { + "name": "REQUEST_METHOD", + "description": "Constant for the request method reference.", + "type": "Constant", + "value": "REQUEST_METHOD", + "varType": { + "name": "string" + } + }, + { + "name": "STATUS_CONTINUE", + "description": "The HTTP response status code: 100 Continue", + "type": "Constant", + "value": "100", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_SWITCHING_PROTOCOLS", + "description": "The HTTP response status code: 101 Switching Protocols", + "type": "Constant", + "value": "101", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_PROCESSING", + "description": "The HTTP response status code: 102 Processing", + "type": "Constant", + "value": "102", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_EARLY_HINTS", + "description": "The HTTP response status code: 103 Early Hints", + "type": "Constant", + "value": "103", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_OK", + "description": "The HTTP response status code: 200 OK", + "type": "Constant", + "value": "200", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_CREATED", + "description": "The HTTP response status code: 201 Created", + "type": "Constant", + "value": "201", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_ACCEPTED", + "description": "The HTTP response status code: 202 Accepted", + "type": "Constant", + "value": "202", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_NON_AUTHORITATIVE_INFORMATION", + "description": "The HTTP response status code: 203 Non Authoritative Information", + "type": "Constant", + "value": "203", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_NO_CONTENT", + "description": "The HTTP response status code: 204 No Content", + "type": "Constant", + "value": "204", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_RESET_CONTENT", + "description": "The HTTP response status code: 205 Reset Content", + "type": "Constant", + "value": "205", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_PARTIAL_CONTENT", + "description": "The HTTP response status code: 206 Partial Content", + "type": "Constant", + "value": "206", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_MULTI_STATUS", + "description": "The HTTP response status code: 207 Multi-Status", + "type": "Constant", + "value": "207", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_ALREADY_REPORTED", + "description": "The HTTP response status code: 208 Already Reported", + "type": "Constant", + "value": "208", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_IM_USED", + "description": "The HTTP response status code: 226 IM Used", + "type": "Constant", + "value": "226", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_MULTIPLE_CHOICES", + "description": "The HTTP response status code: 300 Multiple Choices", + "type": "Constant", + "value": "300", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_MOVED_PERMANENTLY", + "description": "The HTTP response status code: 301 Moved Permanently", + "type": "Constant", + "value": "301", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_FOUND", + "description": "The HTTP response status code: 302 Found", + "type": "Constant", + "value": "302", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_SEE_OTHER", + "description": "The HTTP response status code: 303 See Other", + "type": "Constant", + "value": "303", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_NOT_MODIFIED", + "description": "The HTTP response status code: 304 Not Modified", + "type": "Constant", + "value": "304", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_USE_PROXY", + "description": "The HTTP response status code: 305 Use Proxy", + "type": "Constant", + "value": "305", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_TEMPORARY_REDIRECT", + "description": "The HTTP response status code: 307 Temporary Redirect", + "type": "Constant", + "value": "307", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_PERMANENT_REDIRECT", + "description": "The HTTP response status code: 308 Permanent Redirect", + "type": "Constant", + "value": "308", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_BAD_REQUEST", + "description": "The HTTP response status code: 400 Bad Request", + "type": "Constant", + "value": "400", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_UNAUTHORIZED", + "description": "The HTTP response status code: 401 Unauthorized", + "type": "Constant", + "value": "401", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_PAYMENT_REQUIRED", + "description": "The HTTP response status code: 402 Payment Required", + "type": "Constant", + "value": "402", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_FORBIDDEN", + "description": "The HTTP response status code: 403 Forbidden", + "type": "Constant", + "value": "403", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_NOT_FOUND", + "description": "The HTTP response status code: 404 Not Found", + "type": "Constant", + "value": "404", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_METHOD_NOT_ALLOWED", + "description": "The HTTP response status code: 405 Method Not Allowed", + "type": "Constant", + "value": "405", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_NOT_ACCEPTABLE", + "description": "The HTTP response status code: 406 Not Acceptable", + "type": "Constant", + "value": "406", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_PROXY_AUTHENTICATION_REQUIRED", + "description": "The HTTP response status code: 407 Proxy Authentication Required", + "type": "Constant", + "value": "407", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_REQUEST_TIMEOUT", + "description": "The HTTP response status code: 408 Request Timeout", + "type": "Constant", + "value": "408", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_CONFLICT", + "description": "The HTTP response status code: 409 Conflict", + "type": "Constant", + "value": "409", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_GONE", + "description": "The HTTP response status code: 410 Gone", + "type": "Constant", + "value": "410", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_LENGTH_REQUIRED", + "description": "The HTTP response status code: 411 Length Required", + "type": "Constant", + "value": "411", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_PRECONDITION_FAILED", + "description": "The HTTP response status code: 412 Precondition Failed", + "type": "Constant", + "value": "412", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_PAYLOAD_TOO_LARGE", + "description": "The HTTP response status code: 413 Payload Too Large", + "type": "Constant", + "value": "413", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_URI_TOO_LONG", + "description": "The HTTP response status code: 414 URI Too Long", + "type": "Constant", + "value": "414", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_UNSUPPORTED_MEDIA_TYPE", + "description": "The HTTP response status code: 415 Unsupported Media Type", + "type": "Constant", + "value": "415", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_RANGE_NOT_SATISFIABLE", + "description": "The HTTP response status code: 416 Range Not Satisfiable", + "type": "Constant", + "value": "416", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_EXPECTATION_FAILED", + "description": "The HTTP response status code: 417 Expectation Failed", + "type": "Constant", + "value": "417", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_MISDIRECTED_REQUEST", + "description": "The HTTP response status code: 421 Misdirected Request", + "type": "Constant", + "value": "421", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_UNPROCESSABLE_ENTITY", + "description": "The HTTP response status code: 422 Unprocessable Entity", + "type": "Constant", + "value": "422", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_LOCKED", + "description": "The HTTP response status code: 423 Locked", + "type": "Constant", + "value": "423", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_FAILED_DEPENDENCY", + "description": "The HTTP response status code: 424 Failed Dependency", + "type": "Constant", + "value": "424", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_TOO_EARLY", + "description": "The HTTP response status code: 425 Too Early", + "type": "Constant", + "value": "425", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_UPGRADE_REQUIRED", + "description": "The HTTP response status code: 426 Upgrade Required", + "type": "Constant", + "value": "426", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_PRECONDITION_REQUIRED", + "description": "The HTTP response status code: 428 Precondition Required", + "type": "Constant", + "value": "428", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_TOO_MANY_REQUESTS", + "description": "The HTTP response status code: 429 Too Many Requests", + "type": "Constant", + "value": "429", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE", + "description": "The HTTP response status code: 431 Request Header Fields Too Large", + "type": "Constant", + "value": "431", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_UNAVAILABLE_DUE_TO_LEGAL_REASONS", + "description": "The HTTP response status code: 451 Unavailable Due To Legal Reasons", + "type": "Constant", + "value": "451", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_INTERNAL_SERVER_ERROR", + "description": "The HTTP response status code: 500 Internal Server Error", + "type": "Constant", + "value": "500", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_NOT_IMPLEMENTED", + "description": "The HTTP response status code: 501 Not Implemented", + "type": "Constant", + "value": "501", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_BAD_GATEWAY", + "description": "The HTTP response status code: 502 Bad Gateway", + "type": "Constant", + "value": "502", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_SERVICE_UNAVAILABLE", + "description": "The HTTP response status code: 503 Service Unavailable", + "type": "Constant", + "value": "503", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_GATEWAY_TIMEOUT", + "description": "The HTTP response status code: 504 Gateway Timeout", + "type": "Constant", + "value": "504", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_HTTP_VERSION_NOT_SUPPORTED", + "description": "The HTTP response status code: 505 HTTP Version Not Supported", + "type": "Constant", + "value": "505", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_VARIANT_ALSO_NEGOTIATES", + "description": "The HTTP response status code: 506 Variant Also Negotiates", + "type": "Constant", + "value": "506", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_INSUFFICIENT_STORAGE", + "description": "The HTTP response status code: 507 Insufficient Storage", + "type": "Constant", + "value": "507", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_LOOP_DETECTED", + "description": "The HTTP response status code: 508 Loop Detected", + "type": "Constant", + "value": "508", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_NOT_EXTENDED", + "description": "The HTTP response status code: 510 Not Extended", + "type": "Constant", + "value": "510", + "varType": { + "name": "int" + } + }, + { + "name": "STATUS_NETWORK_AUTHENTICATION_REQUIRED", + "description": "The HTTP response status code: 511 Network Authorization Required", + "type": "Constant", + "value": "511", + "varType": { + "name": "int" + } + }, + { + "name": "CB_OPEN_STATE", + "description": "Represents the open state of the circuit. When the Circuit Breaker is in `OPEN` state, requests will fail\nimmediately.", + "type": "Constant", + "value": "OPEN", + "varType": { + "name": "string" + } + }, + { + "name": "CB_HALF_OPEN_STATE", + "description": "Represents the half-open state of the circuit. When the Circuit Breaker is in `HALF_OPEN` state, a trial request\nwill be sent to the upstream service. If it fails, the circuit will trip again and move to the `OPEN` state. If not,\nit will move to the `CLOSED` state.", + "type": "Constant", + "value": "HALF_OPEN", + "varType": { + "name": "string" + } + }, + { + "name": "CB_CLOSED_STATE", + "description": "Represents the closed state of the circuit. When the Circuit Breaker is in `CLOSED` state, all requests will be\nallowed to go through to the upstream service. If the failures exceed the configured threhold values, the circuit\nwill trip and move to the `OPEN` state.", + "type": "Constant", + "value": "CLOSED", + "varType": { + "name": "string" + } + }, + { + "name": "CredentialsConfig", + "description": "Represents credentials for Basic Auth authentication.", + "type": "Record", + "fields": [ + { + "name": "username", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "password", + "description": "", + "optional": false, + "type": { + "name": "string" + } + } + ] + }, + { + "name": "BearerTokenConfig", + "description": "Represents token for Bearer token authentication.\n", + "type": "Record", + "fields": [ + { + "name": "token", + "description": "", + "optional": false, + "type": { + "name": "string" + } + } + ] + }, + { + "name": "JwtIssuerConfig", + "description": "Represents JWT issuer configurations for JWT authentication.", + "type": "Record", + "fields": [ + { + "name": "issuer", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "username", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "audience", + "description": "", + "optional": true, + "type": { + "name": "string|string[]" + } + }, + { + "name": "jwtId", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "keyId", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "customClaims", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "expTime", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "signatureConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/jwt:2.15.1:IssuerSignatureConfig", + "links": [ + { + "category": "external", + "recordName": "IssuerSignatureConfig", + "libraryName": "ballerina/jwt" + } + ] + } + } + ] + }, + { + "name": "OAuth2ClientCredentialsGrantConfig", + "description": "Represents OAuth2 client credentials grant configurations for OAuth2 authentication.", + "type": "Record", + "fields": [ + { + "name": "tokenUrl", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "clientId", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "clientSecret", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "scopes", + "description": "", + "optional": true, + "type": { + "name": "string|string[]" + } + }, + { + "name": "defaultTokenExpTime", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "clockSkew", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "optionalParams", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "credentialBearer", + "description": "", + "optional": true, + "type": { + "name": "ballerina/oauth2:2.15.0:CredentialBearer", + "links": [ + { + "category": "external", + "recordName": "CredentialBearer", + "libraryName": "ballerina/oauth2" + } + ] + } + }, + { + "name": "clientConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/oauth2:2.15.0:ClientConfiguration", + "links": [ + { + "category": "external", + "recordName": "ClientConfiguration", + "libraryName": "ballerina/oauth2" + } + ] + } + } + ] + }, + { + "name": "OAuth2PasswordGrantConfig", + "description": "Represents OAuth2 password grant configurations for OAuth2 authentication.", + "type": "Record", + "fields": [ + { + "name": "tokenUrl", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "username", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "password", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "clientId", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "clientSecret", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "scopes", + "description": "", + "optional": true, + "type": { + "name": "string|string[]" + } + }, + { + "name": "refreshConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/oauth2:2.15.0:RefreshConfig|\"INFER_REFRESH_CONFIG\"" + } + }, + { + "name": "defaultTokenExpTime", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "clockSkew", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "optionalParams", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "credentialBearer", + "description": "", + "optional": true, + "type": { + "name": "ballerina/oauth2:2.15.0:CredentialBearer", + "links": [ + { + "category": "external", + "recordName": "CredentialBearer", + "libraryName": "ballerina/oauth2" + } + ] + } + }, + { + "name": "clientConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/oauth2:2.15.0:ClientConfiguration", + "links": [ + { + "category": "external", + "recordName": "ClientConfiguration", + "libraryName": "ballerina/oauth2" + } + ] + } + } + ] + }, + { + "name": "OAuth2RefreshTokenGrantConfig", + "description": "Represents OAuth2 refresh token grant configurations for OAuth2 authentication.", + "type": "Record", + "fields": [ + { + "name": "refreshUrl", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "refreshToken", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "clientId", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "clientSecret", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "scopes", + "description": "", + "optional": true, + "type": { + "name": "string|string[]" + } + }, + { + "name": "defaultTokenExpTime", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "clockSkew", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "optionalParams", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "credentialBearer", + "description": "", + "optional": true, + "type": { + "name": "ballerina/oauth2:2.15.0:CredentialBearer", + "links": [ + { + "category": "external", + "recordName": "CredentialBearer", + "libraryName": "ballerina/oauth2" + } + ] + } + }, + { + "name": "clientConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/oauth2:2.15.0:ClientConfiguration", + "links": [ + { + "category": "external", + "recordName": "ClientConfiguration", + "libraryName": "ballerina/oauth2" + } + ] + } + } + ] + }, + { + "name": "OAuth2JwtBearerGrantConfig", + "description": "Represents OAuth2 JWT bearer grant configurations for OAuth2 authentication.", + "type": "Record", + "fields": [ + { + "name": "tokenUrl", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "assertion", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "clientId", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "clientSecret", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "scopes", + "description": "", + "optional": true, + "type": { + "name": "string|string[]" + } + }, + { + "name": "defaultTokenExpTime", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "clockSkew", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "optionalParams", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "credentialBearer", + "description": "", + "optional": true, + "type": { + "name": "ballerina/oauth2:2.15.0:CredentialBearer", + "links": [ + { + "category": "external", + "recordName": "CredentialBearer", + "libraryName": "ballerina/oauth2" + } + ] + } + }, + { + "name": "clientConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/oauth2:2.15.0:ClientConfiguration", + "links": [ + { + "category": "external", + "recordName": "ClientConfiguration", + "libraryName": "ballerina/oauth2" + } + ] + } + } + ] + }, + { + "name": "OAuth2GrantConfig", + "description": "Represents OAuth2 grant configurations for OAuth2 authentication.", + "type": "Union", + "members": [ + "ballerina/http:2.15.4:OAuth2ClientCredentialsGrantConfig", + "ballerina/http:2.15.4:OAuth2PasswordGrantConfig", + "ballerina/http:2.15.4:OAuth2RefreshTokenGrantConfig", + "ballerina/http:2.15.4:OAuth2JwtBearerGrantConfig" + ] + }, + { + "name": "FileUserStoreConfig", + "description": "Represents file user store configurations for Basic Auth authentication.", + "type": "Record", + "fields": [] + }, + { + "name": "LdapUserStoreConfig", + "description": "Represents LDAP user store configurations for Basic Auth authentication.", + "type": "Record", + "fields": [ + { + "name": "domainName", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "connectionUrl", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "connectionName", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "connectionPassword", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "userSearchBase", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "userEntryObjectClass", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "userNameAttribute", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "userNameSearchFilter", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "userNameListFilter", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "groupSearchBase", + "description": "", + "optional": false, + "type": { + "name": "string[]" + } + }, + { + "name": "groupEntryObjectClass", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "groupNameAttribute", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "groupNameSearchFilter", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "groupNameListFilter", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "membershipAttribute", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "userRolesCacheEnabled", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "connectionPoolingEnabled", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "connectionTimeout", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "readTimeout", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "secureSocket", + "description": "", + "optional": true, + "type": { + "name": "ballerina/auth:2.14.0:SecureSocket", + "links": [ + { + "category": "external", + "recordName": "SecureSocket", + "libraryName": "ballerina/auth" + } + ] + } + } + ] + }, + { + "name": "JwtValidatorConfig", + "description": "Represents JWT validator configurations for JWT authentication.\n", + "type": "Record", + "fields": [ + { + "name": "scopeKey", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "issuer", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "username", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "audience", + "description": "", + "optional": true, + "type": { + "name": "string|string[]" + } + }, + { + "name": "jwtId", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "keyId", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "customClaims", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "clockSkew", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "signatureConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/jwt:2.15.1:ValidatorSignatureConfig", + "links": [ + { + "category": "external", + "recordName": "ValidatorSignatureConfig", + "libraryName": "ballerina/jwt" + } + ] + } + }, + { + "name": "cacheConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/cache:3.10.0:CacheConfig", + "links": [ + { + "category": "external", + "recordName": "CacheConfig", + "libraryName": "ballerina/cache" + } + ] + } + }, + { + "name": "", + "description": "Rest field", + "optional": false, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "OAuth2IntrospectionConfig", + "description": "Represents OAuth2 introspection server configurations for OAuth2 authentication.\n", + "type": "Record", + "fields": [ + { + "name": "scopeKey", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "url", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "tokenTypeHint", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "optionalParams", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "cacheConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/cache:3.10.0:CacheConfig", + "links": [ + { + "category": "external", + "recordName": "CacheConfig", + "libraryName": "ballerina/cache" + } + ] + } + }, + { + "name": "defaultTokenExpTime", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "clientConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/oauth2:2.15.0:ClientConfiguration", + "links": [ + { + "category": "external", + "recordName": "ClientConfiguration", + "libraryName": "ballerina/oauth2" + } + ] + } + }, + { + "name": "", + "description": "Rest field", + "optional": false, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "ClientAuthConfig", + "description": "Defines the authentication configurations for the HTTP client.", + "type": "Union", + "members": [ + "ballerina/http:2.15.4:CredentialsConfig", + "ballerina/http:2.15.4:BearerTokenConfig", + "ballerina/http:2.15.4:JwtIssuerConfig", + "ballerina/http:2.15.4:OAuth2ClientCredentialsGrantConfig", + "ballerina/http:2.15.4:OAuth2PasswordGrantConfig", + "ballerina/http:2.15.4:OAuth2RefreshTokenGrantConfig", + "ballerina/http:2.15.4:OAuth2JwtBearerGrantConfig" + ] + }, + { + "name": "ClientBasicAuthHandler", + "description": "Initializes the `http:ClientBasicAuthHandler` object.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Initializes the `http:ClientBasicAuthHandler` object.\n", + "parameters": [ + { + "name": "config", + "description": "The `http:CredentialsConfig` instance", + "optional": false, + "type": { + "name": "http:CredentialsConfig", + "links": [ + { + "category": "internal", + "recordName": "CredentialsConfig" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:ClientBasicAuthHandler" + } + } + }, + { + "name": "enrich", + "type": "Normal Function", + "description": "Enrich the request with the relevant authentication requirements.\n", + "parameters": [ + { + "name": "req", + "description": "The `http:Request` instance", + "optional": false, + "type": { + "name": "http:Request", + "links": [ + { + "category": "internal", + "recordName": "Request" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Request" + } + } + }, + { + "name": "enrichHeaders", + "type": "Normal Function", + "description": "Enrich the headers map with the relevant authentication requirements.\n", + "parameters": [ + { + "name": "headers", + "description": "The headers map", + "optional": false, + "type": { + "name": "map" + } + } + ], + "return": { + "type": { + "name": "map" + } + } + }, + { + "name": "getSecurityHeaders", + "type": "Normal Function", + "description": "Returns the headers map with the relevant authentication requirements.\n", + "parameters": [], + "return": { + "type": { + "name": "map" + } + } + } + ] + }, + { + "name": "ClientBearerTokenAuthHandler", + "description": "Initializes the `http:ClientBearerTokenAuthHandler` object.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Initializes the `http:ClientBearerTokenAuthHandler` object.\n", + "parameters": [ + { + "name": "config", + "description": "The `http:BearerTokenConfig` instance", + "optional": false, + "type": { + "name": "http:BearerTokenConfig", + "links": [ + { + "category": "internal", + "recordName": "BearerTokenConfig" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:ClientBearerTokenAuthHandler" + } + } + }, + { + "name": "enrich", + "type": "Normal Function", + "description": "Enrich the request with the relevant authentication requirements.\n", + "parameters": [ + { + "name": "req", + "description": "The `http:Request` instance", + "optional": false, + "type": { + "name": "http:Request", + "links": [ + { + "category": "internal", + "recordName": "Request" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Request" + } + } + }, + { + "name": "enrichHeaders", + "type": "Normal Function", + "description": "Enrich the headers map with the relevant authentication requirements.\n", + "parameters": [ + { + "name": "headers", + "description": "The headers map", + "optional": false, + "type": { + "name": "map" + } + } + ], + "return": { + "type": { + "name": "map" + } + } + }, + { + "name": "getSecurityHeaders", + "type": "Normal Function", + "description": "Returns the headers map with the relevant authentication requirements.\n", + "parameters": [], + "return": { + "type": { + "name": "map" + } + } + } + ] + }, + { + "name": "ClientSelfSignedJwtAuthHandler", + "description": "Initializes the `http:ClientSelfSignedJwtAuthProvider` object.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Initializes the `http:ClientSelfSignedJwtAuthProvider` object.\n", + "parameters": [ + { + "name": "config", + "description": "The `http:JwtIssuerConfig` instance", + "optional": false, + "type": { + "name": "http:JwtIssuerConfig", + "links": [ + { + "category": "internal", + "recordName": "JwtIssuerConfig" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:ClientSelfSignedJwtAuthHandler" + } + } + }, + { + "name": "enrich", + "type": "Normal Function", + "description": "Enrich the request with the relevant authentication requirements.\n", + "parameters": [ + { + "name": "req", + "description": "The `http:Request` instance", + "optional": false, + "type": { + "name": "http:Request", + "links": [ + { + "category": "internal", + "recordName": "Request" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Request" + } + } + }, + { + "name": "enrichHeaders", + "type": "Normal Function", + "description": "Enrich the headers map with the relevant authentication requirements.\n", + "parameters": [ + { + "name": "headers", + "description": "The headers map", + "optional": false, + "type": { + "name": "map" + } + } + ], + "return": { + "type": { + "name": "map" + } + } + }, + { + "name": "getSecurityHeaders", + "type": "Normal Function", + "description": "Returns the headers map with the relevant authentication requirements.\n", + "parameters": [], + "return": { + "type": { + "name": "map" + } + } + } + ] + }, + { + "name": "FileUserStoreConfigWithScopes", + "description": "Represents the auth annotation for file user store configurations with scopes.\n", + "type": "Record", + "fields": [ + { + "name": "fileUserStoreConfig", + "description": "", + "optional": false, + "type": { + "name": "ballerina/http:2.15.4:FileUserStoreConfig", + "links": [ + { + "category": "internal", + "recordName": "FileUserStoreConfig" + } + ] + } + }, + { + "name": "scopes", + "description": "", + "optional": true, + "type": { + "name": "string|string[]" + } + } + ] + }, + { + "name": "LdapUserStoreConfigWithScopes", + "description": "Represents the auth annotation for LDAP user store configurations with scopes.\n", + "type": "Record", + "fields": [ + { + "name": "ldapUserStoreConfig", + "description": "", + "optional": false, + "type": { + "name": "ballerina/http:2.15.4:LdapUserStoreConfig", + "links": [ + { + "category": "internal", + "recordName": "LdapUserStoreConfig" + } + ] + } + }, + { + "name": "scopes", + "description": "", + "optional": true, + "type": { + "name": "string|string[]" + } + } + ] + }, + { + "name": "JwtValidatorConfigWithScopes", + "description": "Represents the auth annotation for JWT validator configurations with scopes.\n", + "type": "Record", + "fields": [ + { + "name": "jwtValidatorConfig", + "description": "", + "optional": false, + "type": { + "name": "ballerina/http:2.15.4:JwtValidatorConfig", + "links": [ + { + "category": "internal", + "recordName": "JwtValidatorConfig" + } + ] + } + }, + { + "name": "scopes", + "description": "", + "optional": true, + "type": { + "name": "string|string[]" + } + } + ] + }, + { + "name": "OAuth2IntrospectionConfigWithScopes", + "description": "Represents the auth annotation for OAuth2 introspection server configurations with scopes.\n", + "type": "Record", + "fields": [ + { + "name": "oauth2IntrospectionConfig", + "description": "", + "optional": false, + "type": { + "name": "ballerina/http:2.15.4:OAuth2IntrospectionConfig", + "links": [ + { + "category": "internal", + "recordName": "OAuth2IntrospectionConfig" + } + ] + } + }, + { + "name": "scopes", + "description": "", + "optional": true, + "type": { + "name": "string|string[]" + } + } + ] + }, + { + "name": "Scopes", + "description": "Represents the annotation used for authorization.\n", + "type": "Record", + "fields": [ + { + "name": "scopes", + "description": "", + "optional": false, + "type": { + "name": "string|string[]" + } + } + ] + }, + { + "name": "ListenerAuthConfig", + "description": "Defines the authentication configurations for the HTTP listener.", + "type": "Union", + "members": [ + "ballerina/http:2.15.4:FileUserStoreConfigWithScopes", + "ballerina/http:2.15.4:LdapUserStoreConfigWithScopes", + "ballerina/http:2.15.4:JwtValidatorConfigWithScopes", + "ballerina/http:2.15.4:OAuth2IntrospectionConfigWithScopes" + ] + }, + { + "name": "ListenerFileUserStoreBasicAuthHandler", + "description": "Initializes the `http:ListenerFileUserStoreBasicAuthHandler` object.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Initializes the `http:ListenerFileUserStoreBasicAuthHandler` object.\n", + "parameters": [ + { + "name": "config", + "description": "The `http:FileUserStoreConfig` instance", + "optional": true, + "default": "{}", + "type": { + "name": "http:FileUserStoreConfig", + "links": [ + { + "category": "internal", + "recordName": "FileUserStoreConfig" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:ListenerFileUserStoreBasicAuthHandler" + } + } + }, + { + "name": "authenticate", + "type": "Normal Function", + "description": "Authenticates with the relevant authentication requirements.\n", + "parameters": [ + { + "name": "data", + "description": "The `http:Request` instance or `http:Headers` instance or `string` Authorization header", + "optional": false, + "type": { + "name": "http:Request|http:Headers|string", + "links": [ + { + "category": "internal", + "recordName": "Request|Headers|string" + } + ] + } + } + ], + "return": { + "type": { + "name": "auth:UserDetails|http:Unauthorized" + } + } + }, + { + "name": "authorize", + "type": "Normal Function", + "description": "Authorizes with the relevant authorization requirements.\n", + "parameters": [ + { + "name": "userDetails", + "description": "The `auth:UserDetails` instance which is received from authentication results", + "optional": false, + "type": { + "name": "auth:UserDetails", + "links": [ + { + "category": "external", + "recordName": "UserDetails", + "libraryName": "ballerina/auth" + } + ] + } + }, + { + "name": "expectedScopes", + "description": "The expected scopes as `string` or `string[]`", + "optional": false, + "type": { + "name": "string|string[]" + } + } + ], + "return": { + "type": { + "name": "http:Forbidden|()" + } + } + } + ] + }, + { + "name": "ListenerJwtAuthHandler", + "description": "Initializes the `http:ListenerJwtAuthHandler` object.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Initializes the `http:ListenerJwtAuthHandler` object.\n", + "parameters": [ + { + "name": "config", + "description": "The `http:JwtValidatorConfig` instance", + "optional": false, + "type": { + "name": "http:JwtValidatorConfig", + "links": [ + { + "category": "internal", + "recordName": "JwtValidatorConfig" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:ListenerJwtAuthHandler" + } + } + }, + { + "name": "authenticate", + "type": "Normal Function", + "description": "Authenticates with the relevant authentication requirements.\n", + "parameters": [ + { + "name": "data", + "description": "The `http:Request` instance or `http:Headers` instance or `string` Authorization header", + "optional": false, + "type": { + "name": "http:Request|http:Headers|string", + "links": [ + { + "category": "internal", + "recordName": "Request|Headers|string" + } + ] + } + } + ], + "return": { + "type": { + "name": "jwt:Payload|http:Unauthorized" + } + } + }, + { + "name": "authorize", + "type": "Normal Function", + "description": "Authorizes with the relevant authorization requirements.\n", + "parameters": [ + { + "name": "jwtPayload", + "description": "The `jwt:Payload` instance which is received from authentication results", + "optional": false, + "type": { + "name": "jwt:Payload", + "links": [ + { + "category": "external", + "recordName": "Payload", + "libraryName": "ballerina/jwt" + } + ] + } + }, + { + "name": "expectedScopes", + "description": "The expected scopes as `string` or `string[]`", + "optional": false, + "type": { + "name": "string|string[]" + } + } + ], + "return": { + "type": { + "name": "http:Forbidden|()" + } + } + } + ] + }, + { + "name": "SseEvent", + "description": "Represents a Server Sent Event emitted from a service.", + "type": "Record", + "fields": [ + { + "name": "event", + "description": "Name of the event", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "id", + "description": "Id of the event", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "data", + "description": "Data part of the event", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "'retry", + "description": "The reconnect time on failure in milliseconds.", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "comment", + "description": "Comment added to the event", + "optional": true, + "type": { + "name": "string" + } + } + ] + }, + { + "name": "CachingPolicy", + "description": "Used for configuring the caching behaviour. Setting the `policy` field in the `CacheConfig` record allows\nthe user to control the caching behaviour.", + "type": "Union", + "members": [ + "\"CACHE_CONTROL_AND_VALIDATORS\"", + "\"RFC_7234\"" + ] + }, + { + "name": "CacheConfig", + "description": "Provides a set of configurations for controlling the caching behaviour of the endpoint.\n", + "type": "Record", + "fields": [ + { + "name": "enabled", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "isShared", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "capacity", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "evictionFactor", + "description": "", + "optional": true, + "type": { + "name": "float" + } + }, + { + "name": "policy", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CachingPolicy", + "links": [ + { + "category": "internal", + "recordName": "CachingPolicy" + } + ] + } + } + ] + }, + { + "name": "CookieOptions", + "description": "The options to be used when initializing the `http:Cookie`.\n", + "type": "Record", + "fields": [ + { + "name": "path", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "domain", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "expires", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "maxAge", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "httpOnly", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "secure", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "createdTime", + "description": "", + "optional": true, + "type": { + "name": "ballerina/time:2.8.0:Utc", + "links": [ + { + "category": "external", + "recordName": "Utc", + "libraryName": "ballerina/time" + } + ] + } + }, + { + "name": "lastAccessedTime", + "description": "", + "optional": true, + "type": { + "name": "ballerina/time:2.8.0:Utc", + "links": [ + { + "category": "external", + "recordName": "Utc", + "libraryName": "ballerina/time" + } + ] + } + }, + { + "name": "hostOnly", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + } + ] + }, + { + "name": "PersistentCookieHandler", + "description": "The representation of a persistent cookie handler object type for managing persistent cookies.", + "type": "Class", + "fields": [] + }, + { + "name": "HttpServiceConfig", + "description": "Contains the configurations for an HTTP service.\n", + "type": "Record", + "fields": [ + { + "name": "host", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "compression", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CompressionConfig", + "links": [ + { + "category": "internal", + "recordName": "CompressionConfig" + } + ] + } + }, + { + "name": "chunking", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:Chunking", + "links": [ + { + "category": "internal", + "recordName": "Chunking" + } + ] + } + }, + { + "name": "cors", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CorsConfig", + "links": [ + { + "category": "internal", + "recordName": "CorsConfig" + } + ] + } + }, + { + "name": "auth", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ListenerAuthConfig[]" + } + }, + { + "name": "mediaTypeSubtypePrefix", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "treatNilableAsOptional", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "openApiDefinition", + "description": "", + "optional": true, + "type": { + "name": "byte[]" + } + }, + { + "name": "validation", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "serviceType", + "description": "", + "optional": true, + "type": { + "name": "typedesc" + } + }, + { + "name": "basePath", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "laxDataBinding", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + } + ] + }, + { + "name": "CompressionConfig", + "description": "A record for providing configurations for content compression.", + "type": "Record", + "fields": [ + { + "name": "enable", + "description": "The status of compression", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:Compression", + "links": [ + { + "category": "internal", + "recordName": "Compression" + } + ] + } + }, + { + "name": "contentTypes", + "description": "Content types which are allowed for compression", + "optional": true, + "type": { + "name": "string[]" + } + } + ] + }, + { + "name": "Compression", + "description": "Options to compress using gzip or deflate.\n\n`AUTO`: When service behaves as a HTTP gateway inbound request/response accept-encoding option is set as the\noutbound request/response accept-encoding/content-encoding option\n`ALWAYS`: Always set accept-encoding/content-encoding in outbound request/response\n`NEVER`: Never set accept-encoding/content-encoding header in outbound request/response", + "type": "Union", + "members": [ + "\"AUTO\"", + "\"ALWAYS\"", + "\"NEVER\"" + ] + }, + { + "name": "Chunking", + "description": "Defines the possible values for the chunking configuration in HTTP services and clients.\n\n`AUTO`: If the payload is less than 8KB, content-length header is set in the outbound request/response,\notherwise chunking header is set in the outbound request/response\n`ALWAYS`: Always set chunking header in the response\n`NEVER`: Never set the chunking header even if the payload is larger than 8KB in the outbound request/response", + "type": "Union", + "members": [ + "\"AUTO\"", + "\"ALWAYS\"", + "\"NEVER\"" + ] + }, + { + "name": "CorsConfig", + "description": "Configurations for CORS support.\n", + "type": "Record", + "fields": [ + { + "name": "allowHeaders", + "description": "", + "optional": true, + "type": { + "name": "string[]" + } + }, + { + "name": "allowMethods", + "description": "", + "optional": true, + "type": { + "name": "string[]" + } + }, + { + "name": "allowOrigins", + "description": "", + "optional": true, + "type": { + "name": "string[]" + } + }, + { + "name": "exposeHeaders", + "description": "", + "optional": true, + "type": { + "name": "string[]" + } + }, + { + "name": "allowCredentials", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "maxAge", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + } + ] + }, + { + "name": "Service", + "description": "The HTTP service type.", + "type": "Class", + "fields": [] + }, + { + "name": "ServiceContract", + "description": "The HTTP service contract type.", + "type": "Class", + "fields": [] + }, + { + "name": "HttpResourceConfig", + "description": "Configuration for an HTTP resource.\n", + "type": "Record", + "fields": [ + { + "name": "name", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "consumes", + "description": "", + "optional": true, + "type": { + "name": "string[]" + } + }, + { + "name": "produces", + "description": "", + "optional": true, + "type": { + "name": "string[]" + } + }, + { + "name": "cors", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CorsConfig", + "links": [ + { + "category": "internal", + "recordName": "CorsConfig" + } + ] + } + }, + { + "name": "transactionInfectable", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "auth", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ListenerAuthConfig[]|ballerina/http:2.15.4:Scopes" + } + }, + { + "name": "linkedTo", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:LinkedTo[]" + } + } + ] + }, + { + "name": "LinkedTo", + "description": "", + "type": "Record", + "fields": [ + { + "name": "name", + "description": "Name of the linked resource", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "relation", + "description": "Name of the relationship between the linked resource and the current resource.\nDefaulted to the IANA link relation `self`", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "method", + "description": "Method allowed in the linked resource", + "optional": true, + "type": { + "name": "string" + } + } + ] + }, + { + "name": "HttpPayload", + "description": "Defines the Payload resource signature parameter and return parameter.\n", + "type": "Record", + "fields": [ + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string|string[]" + } + } + ] + }, + { + "name": "HttpCallerInfo", + "description": "Configures the typing details type of the Caller resource signature parameter.\n", + "type": "Record", + "fields": [ + { + "name": "respondType", + "description": "", + "optional": true, + "type": { + "name": "typedesc" + } + } + ] + }, + { + "name": "Response", + "description": "", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:Response" + } + } + }, + { + "name": "getEntity", + "type": "Normal Function", + "description": "Gets the `Entity` associated with the response.\n", + "parameters": [], + "return": { + "type": { + "name": "mime:Entity" + } + } + }, + { + "name": "setEntity", + "type": "Normal Function", + "description": "Sets the provided `Entity` to the response.\n", + "parameters": [ + { + "name": "e", + "description": "The `Entity` to be set to the response", + "optional": false, + "type": { + "name": "mime:Entity", + "links": [ + { + "category": "external", + "recordName": "Entity", + "libraryName": "ballerina/mime" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "hasHeader", + "type": "Normal Function", + "description": "Checks whether the requested header key exists in the header map.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "position", + "description": "Represents the position of the header as an optional parameter", + "optional": true, + "default": "\"leading\"", + "type": { + "name": "http:HeaderPosition", + "links": [ + { + "category": "internal", + "recordName": "HeaderPosition" + } + ] + } + } + ], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "getHeader", + "type": "Normal Function", + "description": "Returns the value of the specified header. If the specified header key maps to multiple values, the first of\nthese values is returned.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "position", + "description": "Represents the position of the header as an optional parameter. If the position is `http:TRAILING`,\nthe entity-body of the `Response` must be accessed initially.", + "optional": true, + "default": "\"leading\"", + "type": { + "name": "http:HeaderPosition", + "links": [ + { + "category": "internal", + "recordName": "HeaderPosition" + } + ] + } + } + ], + "return": { + "type": { + "name": "string" + } + } + }, + { + "name": "addHeader", + "type": "Normal Function", + "description": "Adds the specified header to the response. Existing header values are not replaced, except for the `Content-Type`\nheader. In the case of the `Content-Type` header, the existing value is replaced with the specified value.\n. Panic if an illegal header is passed.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headerValue", + "description": "The header value", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "position", + "description": "Represents the position of the header as an optional parameter. If the position is `http:TRAILING`,\nthe entity-body of the `Response` must be accessed initially.", + "optional": true, + "default": "\"leading\"", + "type": { + "name": "http:HeaderPosition", + "links": [ + { + "category": "internal", + "recordName": "HeaderPosition" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getHeaders", + "type": "Normal Function", + "description": "Gets all the header values to which the specified header key maps to.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "position", + "description": "Represents the position of the header as an optional parameter. If the position is `http:TRAILING`,\nthe entity-body of the `Response` must be accessed initially.", + "optional": true, + "default": "\"leading\"", + "type": { + "name": "http:HeaderPosition", + "links": [ + { + "category": "internal", + "recordName": "HeaderPosition" + } + ] + } + } + ], + "return": { + "type": { + "name": "string[]" + } + } + }, + { + "name": "setHeader", + "type": "Normal Function", + "description": "Sets the specified header to the response. If a mapping already exists for the specified header key, the\nexisting header value is replaced with the specified header value. Panic if an illegal header is passed.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headerValue", + "description": "The header value", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "position", + "description": "Represents the position of the header as an optional parameter. If the position is `http:TRAILING`,\nthe entity-body of the `Response` must be accessed initially.", + "optional": true, + "default": "\"leading\"", + "type": { + "name": "http:HeaderPosition", + "links": [ + { + "category": "internal", + "recordName": "HeaderPosition" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "removeHeader", + "type": "Normal Function", + "description": "Removes the specified header from the response.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "position", + "description": "Represents the position of the header as an optional parameter. If the position is `http:TRAILING`,\nthe entity-body of the `Response` must be accessed initially.", + "optional": true, + "default": "\"leading\"", + "type": { + "name": "http:HeaderPosition", + "links": [ + { + "category": "internal", + "recordName": "HeaderPosition" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "removeAllHeaders", + "type": "Normal Function", + "description": "Removes all the headers from the response.\n", + "parameters": [ + { + "name": "position", + "description": "Represents the position of the header as an optional parameter. If the position is `http:TRAILING`,\nthe entity-body of the `Response` must be accessed initially.", + "optional": true, + "default": "\"leading\"", + "type": { + "name": "http:HeaderPosition", + "links": [ + { + "category": "internal", + "recordName": "HeaderPosition" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getHeaderNames", + "type": "Normal Function", + "description": "Gets all the names of the headers of the response.\n", + "parameters": [ + { + "name": "position", + "description": "Represents the position of the header as an optional parameter. If the position is `http:TRAILING`,\nthe entity-body of the `Response` must be accessed initially.", + "optional": true, + "default": "\"leading\"", + "type": { + "name": "http:HeaderPosition", + "links": [ + { + "category": "internal", + "recordName": "HeaderPosition" + } + ] + } + } + ], + "return": { + "type": { + "name": "string[]" + } + } + }, + { + "name": "setContentType", + "type": "Normal Function", + "description": "Sets the `content-type` header to the response.\n", + "parameters": [ + { + "name": "contentType", + "description": "Content type value to be set as the `content-type` header", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getContentType", + "type": "Normal Function", + "description": "Gets the type of the payload of the response (i.e., the `content-type` header value).\n", + "parameters": [], + "return": { + "type": { + "name": "string" + } + } + }, + { + "name": "getJsonPayload", + "type": "Normal Function", + "description": "Extract `json` payload from the response. For an empty payload, `http:NoContentError` is returned.\n\nIf the content type is not JSON, an `http:ClientError` is returned.\n", + "parameters": [], + "return": { + "type": { + "name": "json" + } + } + }, + { + "name": "getXmlPayload", + "type": "Normal Function", + "description": "Extracts `xml` payload from the response. For an empty payload, `http:NoContentError` is returned.\n\nIf the content type is not XML, an `http:ClientError` is returned.\n", + "parameters": [], + "return": { + "type": { + "name": "xml" + } + } + }, + { + "name": "getTextPayload", + "type": "Normal Function", + "description": "Extracts `text` payload from the response. For an empty payload, `http:NoContentError` is returned.\n\nIf the content type is not of type text, an `http:ClientError` is returned.\n", + "parameters": [], + "return": { + "type": { + "name": "string" + } + } + }, + { + "name": "getByteStream", + "type": "Normal Function", + "description": "Gets the response payload as a stream of byte[], except in the case of multiparts. To retrieve multiparts, use\n`Response.getBodyParts()`.\n", + "parameters": [ + { + "name": "arraySize", + "description": "A defaultable parameter to state the size of the byte array. Default size is 8KB", + "optional": true, + "default": "0", + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "stream" + } + } + }, + { + "name": "getBinaryPayload", + "type": "Normal Function", + "description": "Gets the response payload as a `byte[]`.\n", + "parameters": [], + "return": { + "type": { + "name": "byte[]" + } + } + }, + { + "name": "getSseEventStream", + "type": "Normal Function", + "description": "Gets the response payload as a `stream` of SseEvent.\n", + "parameters": [], + "return": { + "type": { + "name": "stream" + } + } + }, + { + "name": "getBodyParts", + "type": "Normal Function", + "description": "Extracts body parts from the response. If the content type is not a composite media type, an error is returned.\n", + "parameters": [], + "return": { + "type": { + "name": "mime:Entity[]" + } + } + }, + { + "name": "setETag", + "type": "Normal Function", + "description": "Sets the `etag` header for the given payload. The ETag is generated using a CRC32 hash isolated function.\n", + "parameters": [ + { + "name": "payload", + "description": "The payload for which the ETag should be set", + "optional": false, + "type": { + "name": "json|xml|string|byte[]" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setLastModified", + "type": "Normal Function", + "description": "Sets the current time as the `last-modified` header.", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setJsonPayload", + "type": "Normal Function", + "description": "Sets a `json` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/json`. Any existing content-type can be\noverridden by passing the content-type as an optional parameter.\n", + "parameters": [ + { + "name": "payload", + "description": "The `json` payload", + "optional": false, + "type": { + "name": "json" + } + }, + { + "name": "contentType", + "description": "The content type of the payload. This is an optional parameter.\nThe `application/json` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setAnydataAsJsonPayload", + "type": "Normal Function", + "description": "Sets a `anydata` payaload, as a `json` payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/json`. Any existing content-type can be\noverridden by passing the content-type as an optional parameter.\n", + "parameters": [ + { + "name": "payload", + "description": "The `json` payload", + "optional": false, + "type": { + "name": "anydata" + } + }, + { + "name": "contentType", + "description": "The content type of the payload. This is an optional parameter.\nThe `application/json` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setXmlPayload", + "type": "Normal Function", + "description": "Sets an `xml` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/xml`. Any existing content-type can be\noverridden by passing the content-type as an optional parameter.\n", + "parameters": [ + { + "name": "payload", + "description": "The `xml` payload", + "optional": false, + "type": { + "name": "xml" + } + }, + { + "name": "contentType", + "description": "The content type of the payload. This is an optional parameter.\nThe `application/xml` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setTextPayload", + "type": "Normal Function", + "description": "Sets a `string` as the payload. If the content-type header is not set then this method set\ncontent-type headers with the default content-type, which is `text/plain`. Any\nexisting content-type can be overridden by passing the content-type as an optional parameter.\n", + "parameters": [ + { + "name": "payload", + "description": "The `string` payload", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "contentType", + "description": "The content type of the payload. This is an optional parameter.\nThe `text/plain` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setBinaryPayload", + "type": "Normal Function", + "description": "Sets a `byte[]` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/octet-stream`. Any existing content-type\ncan be overridden by passing the content-type as an optional parameter.\n", + "parameters": [ + { + "name": "payload", + "description": "The `byte[]` payload", + "optional": false, + "type": { + "name": "byte[]" + } + }, + { + "name": "contentType", + "description": "The content type of the payload. This is an optional parameter.\nThe `application/octet-stream` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setBodyParts", + "type": "Normal Function", + "description": "Set multiparts as the payload. If the content-type header is not set then this method\nset content-type headers with the default content-type, which is `multipart/form-data`.\nAny existing content-type can be overridden by passing the content-type as an optional parameter.\n", + "parameters": [ + { + "name": "bodyParts", + "description": "The entities which make up the message body", + "optional": false, + "type": { + "name": "mime:Entity[]", + "links": [ + { + "category": "external", + "recordName": "Entity[]", + "libraryName": "ballerina/mime" + } + ] + } + }, + { + "name": "contentType", + "description": "The content type of the top level message. This is an optional parameter.\nThe `multipart/form-data` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setFileAsPayload", + "type": "Normal Function", + "description": "Sets the content of the specified file as the entity body of the response. If the content-type header\nis not set then this method set content-type headers with the default content-type, which is\n`application/octet-stream`. Any existing content-type can be overridden by passing the content-type\nas an optional parameter.\n", + "parameters": [ + { + "name": "filePath", + "description": "Path to the file to be set as the payload", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "contentType", + "description": "The content type of the specified file. This is an optional parameter.\nThe `application/octet-stream` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setByteStream", + "type": "Normal Function", + "description": "Sets a `Stream` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/octet-stream`. Any existing content-type can\nbe overridden by passing the content-type as an optional parameter.\n", + "parameters": [ + { + "name": "byteStream", + "description": "Byte stream, which needs to be set to the response", + "optional": false, + "type": { + "name": "stream", + "links": [ + { + "category": "external", + "recordName": "stream", + "libraryName": "ballerina/io" + } + ] + } + }, + { + "name": "contentType", + "description": "Content-type to be used with the payload. This is an optional parameter.\nThe `application/octet-stream` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setSseEventStream", + "type": "Normal Function", + "description": "Sets an `http:SseEvent` stream as the payload, along with the Content-Type and Cache-Control \nheaders set to 'text/event-stream' and 'no-cache', respectively.\n", + "parameters": [ + { + "name": "eventStream", + "description": "SseEvent stream, which needs to be set to the response", + "optional": false, + "type": { + "name": "stream|stream", + "links": [ + { + "category": "internal", + "recordName": "stream|stream" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setPayload", + "type": "Normal Function", + "description": "Sets the response payload. This method overrides any existing content-type by passing the content-type\nas an optional parameter. If the content type parameter is not provided then the default value derived\nfrom the payload will be used as content-type only when there are no existing content-type header. If\nthe payload is non-json typed value then the value is converted to json using the `toJson` method.\n", + "parameters": [ + { + "name": "payload", + "description": "Payload can be of type `string`, `xml`, `byte[]`, `json`, `stream`,\nstream(represents Server-Sent events), `Entity[]` (i.e., a set of body\nparts) or any other value of type `anydata` which will be converted to `json` using the\n`toJson` method.", + "optional": false, + "type": { + "name": "anydata|mime:Entity[]|stream|stream", + "links": [ + { + "category": "internal", + "recordName": "anydata|Entity[]|stream|stream" + }, + { + "category": "external", + "recordName": "anydata|Entity[]|stream|stream", + "libraryName": "ballerina/mime" + }, + { + "category": "external", + "recordName": "anydata|Entity[]|stream|stream", + "libraryName": "ballerina/io" + } + ] + } + }, + { + "name": "contentType", + "description": "Content-type to be used with the payload. This is an optional parameter", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "addCookie", + "type": "Normal Function", + "description": "Adds the cookie to response.\n", + "parameters": [ + { + "name": "cookie", + "description": "The cookie, which is added to response", + "optional": false, + "type": { + "name": "http:Cookie", + "links": [ + { + "category": "internal", + "recordName": "Cookie" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "removeCookiesFromRemoteStore", + "type": "Normal Function", + "description": "Deletes the cookies in the client's cookie store.\n", + "parameters": [ + { + "name": "cookiesToRemove", + "description": "Cookies to be deleted", + "optional": true, + "type": { + "name": "http:Cookie", + "links": [ + { + "category": "internal", + "recordName": "Cookie[]" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getCookies", + "type": "Normal Function", + "description": "Gets cookies from the response.\n", + "parameters": [], + "return": { + "type": { + "name": "http:Cookie[]" + } + } + }, + { + "name": "getStatusCodeRecord", + "type": "Normal Function", + "description": "Gets the status code response record from the response.\n", + "parameters": [], + "return": { + "type": { + "name": "http:StatusCodeRecord" + } + } + } + ] + }, + { + "name": "ResponseCacheControl", + "description": "Configures cache control directives for an `http:Response`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Configures cache control directives for an `http:Response`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:ResponseCacheControl" + } + } + }, + { + "name": "populateFields", + "type": "Normal Function", + "description": "", + "parameters": [ + { + "name": "cacheConfig", + "optional": false, + "type": { + "name": "http:HttpCacheConfig", + "links": [ + { + "category": "internal", + "recordName": "HttpCacheConfig" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "buildCacheControlDirectives", + "type": "Normal Function", + "description": "Builds the cache control directives string from the current `http:ResponseCacheControl` configurations.\n", + "parameters": [], + "return": { + "type": { + "name": "string" + } + } + } + ] + }, + { + "name": "ResponseMessage", + "description": "The types of messages that are accepted by HTTP `listener` when sending out the outbound response.", + "type": "Union", + "members": [ + "anydata", + "ballerina/http:2.15.4:Response", + "ballerina/mime:2.12.1:Entity[]", + "stream", + "stream", + "stream" + ] + }, + { + "name": "CommonResponse", + "description": "The common attributed of response status code record type.\n", + "type": "Record", + "fields": [ + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "Continue", + "description": "The status code response record of `Continue`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusContinue", + "links": [ + { + "category": "internal", + "recordName": "StatusContinue" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "Status", + "description": "The `Status` object creates the distinction for the different response status code types.\n", + "type": "Class", + "fields": [] + }, + { + "name": "StatusContinue", + "description": "Represents the status code of `STATUS_CONTINUE`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_CONTINUE`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusContinue" + } + } + } + ] + }, + { + "name": "SwitchingProtocols", + "description": "The status code response record of `SwitchingProtocols`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusSwitchingProtocols", + "links": [ + { + "category": "internal", + "recordName": "StatusSwitchingProtocols" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusSwitchingProtocols", + "description": "Represents the status code of `STATUS_SWITCHING_PROTOCOLS`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_SWITCHING_PROTOCOLS`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusSwitchingProtocols" + } + } + } + ] + }, + { + "name": "Processing", + "description": "The status code response record of `Processing`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusProcessing", + "links": [ + { + "category": "internal", + "recordName": "StatusProcessing" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusProcessing", + "description": "Represents the status code of `STATUS_PROCESSING`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_PROCESSING`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusProcessing" + } + } + } + ] + }, + { + "name": "EarlyHints", + "description": "The status code response record of `EarlyHints`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusEarlyHints", + "links": [ + { + "category": "internal", + "recordName": "StatusEarlyHints" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusEarlyHints", + "description": "Represents the status code of `STATUS_EARLY_HINTS`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_EARLY_HINTS`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusEarlyHints" + } + } + } + ] + }, + { + "name": "Ok", + "description": "The status code response record of `Ok`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusOK", + "links": [ + { + "category": "internal", + "recordName": "StatusOK" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusOK", + "description": "Represents the status code of `STATUS_OK`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_OK`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusOK" + } + } + } + ] + }, + { + "name": "Created", + "description": "The status code response record of `Created`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusCreated", + "links": [ + { + "category": "internal", + "recordName": "StatusCreated" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusCreated", + "description": "Represents the status code of `STATUS_CREATED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_CREATED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusCreated" + } + } + } + ] + }, + { + "name": "Accepted", + "description": "The status code response record of `Accepted`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusAccepted", + "links": [ + { + "category": "internal", + "recordName": "StatusAccepted" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusAccepted", + "description": "Represents the status code of `STATUS_ACCEPTED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_ACCEPTED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusAccepted" + } + } + } + ] + }, + { + "name": "NonAuthoritativeInformation", + "description": "The status code response record of `NonAuthoritativeInformation`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusNonAuthoritativeInformation", + "links": [ + { + "category": "internal", + "recordName": "StatusNonAuthoritativeInformation" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusNonAuthoritativeInformation", + "description": "Represents the status code of `STATUS_NON_AUTHORITATIVE_INFORMATION`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_NON_AUTHORITATIVE_INFORMATION`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusNonAuthoritativeInformation" + } + } + } + ] + }, + { + "name": "NoContent", + "description": "The status code response record of `NoContent`.\n", + "type": "Record", + "fields": [ + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusNoContent", + "links": [ + { + "category": "internal", + "recordName": "StatusNoContent" + } + ] + } + } + ] + }, + { + "name": "StatusNoContent", + "description": "Represents the status code of `STATUS_NO_CONTENT`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_NO_CONTENT`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusNoContent" + } + } + } + ] + }, + { + "name": "ResetContent", + "description": "The status code response record of `ResetContent`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusResetContent", + "links": [ + { + "category": "internal", + "recordName": "StatusResetContent" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusResetContent", + "description": "Represents the status code of `STATUS_RESET_CONTENT`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_RESET_CONTENT`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusResetContent" + } + } + } + ] + }, + { + "name": "PartialContent", + "description": "The status code response record of `PartialContent`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusPartialContent", + "links": [ + { + "category": "internal", + "recordName": "StatusPartialContent" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusPartialContent", + "description": "Represents the status code of `STATUS_PARTIAL_CONTENT`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_PARTIAL_CONTENT`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusPartialContent" + } + } + } + ] + }, + { + "name": "MultiStatus", + "description": "The status code response record of `MultiStatus`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusMultiStatus", + "links": [ + { + "category": "internal", + "recordName": "StatusMultiStatus" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusMultiStatus", + "description": "Represents the status code of `STATUS_MULTI_STATUS`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_MULTI_STATUS`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusMultiStatus" + } + } + } + ] + }, + { + "name": "AlreadyReported", + "description": "The status code response record of `AlreadyReported`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusAlreadyReported", + "links": [ + { + "category": "internal", + "recordName": "StatusAlreadyReported" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusAlreadyReported", + "description": "Represents the status code of `STATUS_ALREADY_REPORTED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_ALREADY_REPORTED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusAlreadyReported" + } + } + } + ] + }, + { + "name": "IMUsed", + "description": "The status code response record of `IMUsed`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusIMUsed", + "links": [ + { + "category": "internal", + "recordName": "StatusIMUsed" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusIMUsed", + "description": "Represents the status code of `STATUS_IM_USED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_IM_USED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusIMUsed" + } + } + } + ] + }, + { + "name": "MultipleChoices", + "description": "The status code response record of `MultipleChoices`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusMultipleChoices", + "links": [ + { + "category": "internal", + "recordName": "StatusMultipleChoices" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusMultipleChoices", + "description": "Represents the status code of `STATUS_MULTIPLE_CHOICES`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_MULTIPLE_CHOICES`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusMultipleChoices" + } + } + } + ] + }, + { + "name": "MovedPermanently", + "description": "The status code response record of `MovedPermanently`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusMovedPermanently", + "links": [ + { + "category": "internal", + "recordName": "StatusMovedPermanently" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusMovedPermanently", + "description": "Represents the status code of `STATUS_MOVED_PERMANENTLY`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_MOVED_PERMANENTLY`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusMovedPermanently" + } + } + } + ] + }, + { + "name": "Found", + "description": "The status code response record of `Found`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusFound", + "links": [ + { + "category": "internal", + "recordName": "StatusFound" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusFound", + "description": "Represents the status code of `STATUS_FOUND`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_FOUND`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusFound" + } + } + } + ] + }, + { + "name": "SeeOther", + "description": "The status code response record of `SeeOther`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusSeeOther", + "links": [ + { + "category": "internal", + "recordName": "StatusSeeOther" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusSeeOther", + "description": "Represents the status code of `STATUS_SEE_OTHER`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_SEE_OTHER`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusSeeOther" + } + } + } + ] + }, + { + "name": "NotModified", + "description": "The status code response record of `NotModified`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusNotModified", + "links": [ + { + "category": "internal", + "recordName": "StatusNotModified" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusNotModified", + "description": "Represents the status code of `STATUS_NOT_MODIFIED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_NOT_MODIFIED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusNotModified" + } + } + } + ] + }, + { + "name": "UseProxy", + "description": "The status code response record of `UseProxy`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusUseProxy", + "links": [ + { + "category": "internal", + "recordName": "StatusUseProxy" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusUseProxy", + "description": "Represents the status code of `STATUS_USE_PROXY`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_USE_PROXY`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusUseProxy" + } + } + } + ] + }, + { + "name": "TemporaryRedirect", + "description": "The status code response record of `TemporaryRedirect`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusTemporaryRedirect", + "links": [ + { + "category": "internal", + "recordName": "StatusTemporaryRedirect" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusTemporaryRedirect", + "description": "Represents the status code of `STATUS_TEMPORARY_REDIRECT`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_TEMPORARY_REDIRECT`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusTemporaryRedirect" + } + } + } + ] + }, + { + "name": "PermanentRedirect", + "description": "The status code response record of `PermanentRedirect`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusPermanentRedirect", + "links": [ + { + "category": "internal", + "recordName": "StatusPermanentRedirect" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusPermanentRedirect", + "description": "Represents the status code of `STATUS_PERMANENT_REDIRECT`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_PERMANENT_REDIRECT`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusPermanentRedirect" + } + } + } + ] + }, + { + "name": "BadRequest", + "description": "The status code response record of `BadRequest`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusBadRequest", + "links": [ + { + "category": "internal", + "recordName": "StatusBadRequest" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusBadRequest", + "description": "Represents the status code of `STATUS_BAD_REQUEST`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_BAD_REQUEST`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusBadRequest" + } + } + } + ] + }, + { + "name": "Unauthorized", + "description": "The status code response record of `Unauthorized`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusUnauthorized", + "links": [ + { + "category": "internal", + "recordName": "StatusUnauthorized" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusUnauthorized", + "description": "Represents the status code of `STATUS_UNAUTHORIZED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_UNAUTHORIZED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusUnauthorized" + } + } + } + ] + }, + { + "name": "PaymentRequired", + "description": "The status code response record of `PaymentRequired`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusPaymentRequired", + "links": [ + { + "category": "internal", + "recordName": "StatusPaymentRequired" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusPaymentRequired", + "description": "Represents the status code of `STATUS_PAYMENT_REQUIRED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_PAYMENT_REQUIRED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusPaymentRequired" + } + } + } + ] + }, + { + "name": "Forbidden", + "description": "The status code response record of `Forbidden`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusForbidden", + "links": [ + { + "category": "internal", + "recordName": "StatusForbidden" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusForbidden", + "description": "Represents the status code of `STATUS_FORBIDDEN`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_FORBIDDEN`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusForbidden" + } + } + } + ] + }, + { + "name": "NotFound", + "description": "The status code response record of `NotFound`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusNotFound", + "links": [ + { + "category": "internal", + "recordName": "StatusNotFound" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusNotFound", + "description": "Represents the status code of `STATUS_NOT_FOUND`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_NOT_FOUND`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusNotFound" + } + } + } + ] + }, + { + "name": "MethodNotAllowed", + "description": "The status code response record of `MethodNotAllowed`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusMethodNotAllowed", + "links": [ + { + "category": "internal", + "recordName": "StatusMethodNotAllowed" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusMethodNotAllowed", + "description": "Represents the status code of `STATUS_METHOD_NOT_ALLOWED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_METHOD_NOT_ALLOWED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusMethodNotAllowed" + } + } + } + ] + }, + { + "name": "NotAcceptable", + "description": "The status code response record of `NotAcceptable`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusNotAcceptable", + "links": [ + { + "category": "internal", + "recordName": "StatusNotAcceptable" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusNotAcceptable", + "description": "Represents the status code of `STATUS_NOT_ACCEPTABLE`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_NOT_ACCEPTABLE`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusNotAcceptable" + } + } + } + ] + }, + { + "name": "ProxyAuthenticationRequired", + "description": "The status code response record of `ProxyAuthenticationRequired`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusProxyAuthenticationRequired", + "links": [ + { + "category": "internal", + "recordName": "StatusProxyAuthenticationRequired" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusProxyAuthenticationRequired", + "description": "Represents the status code of `STATUS_PROXY_AUTHENTICATION_REQUIRED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_PROXY_AUTHENTICATION_REQUIRED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusProxyAuthenticationRequired" + } + } + } + ] + }, + { + "name": "RequestTimeout", + "description": "The status code response record of `RequestTimeout`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusRequestTimeout", + "links": [ + { + "category": "internal", + "recordName": "StatusRequestTimeout" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusRequestTimeout", + "description": "Represents the status code of `STATUS_REQUEST_TIMEOUT`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_REQUEST_TIMEOUT`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusRequestTimeout" + } + } + } + ] + }, + { + "name": "Conflict", + "description": "The status code response record of `Conflict`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusConflict", + "links": [ + { + "category": "internal", + "recordName": "StatusConflict" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusConflict", + "description": "Represents the status code of `STATUS_CONFLICT`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_CONFLICT`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusConflict" + } + } + } + ] + }, + { + "name": "Gone", + "description": "The status code response record of `Gone`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusGone", + "links": [ + { + "category": "internal", + "recordName": "StatusGone" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusGone", + "description": "Represents the status code of `STATUS_GONE`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_GONE`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusGone" + } + } + } + ] + }, + { + "name": "LengthRequired", + "description": "The status code response record of `LengthRequired`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusLengthRequired", + "links": [ + { + "category": "internal", + "recordName": "StatusLengthRequired" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusLengthRequired", + "description": "Represents the status code of `STATUS_LENGTH_REQUIRED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_LENGTH_REQUIRED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusLengthRequired" + } + } + } + ] + }, + { + "name": "PreconditionFailed", + "description": "The status code response record of `PreconditionFailed`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusPreconditionFailed", + "links": [ + { + "category": "internal", + "recordName": "StatusPreconditionFailed" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusPreconditionFailed", + "description": "Represents the status code of `STATUS_PRECONDITION_FAILED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_PRECONDITION_FAILED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusPreconditionFailed" + } + } + } + ] + }, + { + "name": "PayloadTooLarge", + "description": "The status code response record of `PayloadTooLarge`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusPayloadTooLarge", + "links": [ + { + "category": "internal", + "recordName": "StatusPayloadTooLarge" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusPayloadTooLarge", + "description": "Represents the status code of `STATUS_PAYLOAD_TOO_LARGE`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_PAYLOAD_TOO_LARGE`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusPayloadTooLarge" + } + } + } + ] + }, + { + "name": "UriTooLong", + "description": "The status code response record of `UriTooLong`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusUriTooLong", + "links": [ + { + "category": "internal", + "recordName": "StatusUriTooLong" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusUriTooLong", + "description": "Represents the status code of `STATUS_URI_TOO_LONG`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_URI_TOO_LONG`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusUriTooLong" + } + } + } + ] + }, + { + "name": "UnsupportedMediaType", + "description": "The status code response record of `UnsupportedMediaType`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusUnsupportedMediaType", + "links": [ + { + "category": "internal", + "recordName": "StatusUnsupportedMediaType" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusUnsupportedMediaType", + "description": "Represents the status code of `STATUS_UNSUPPORTED_MEDIA_TYPE`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_UNSUPPORTED_MEDIA_TYPE`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusUnsupportedMediaType" + } + } + } + ] + }, + { + "name": "RangeNotSatisfiable", + "description": "The status code response record of `RangeNotSatisfiable`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusRangeNotSatisfiable", + "links": [ + { + "category": "internal", + "recordName": "StatusRangeNotSatisfiable" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusRangeNotSatisfiable", + "description": "Represents the status code of `STATUS_RANGE_NOT_SATISFIABLE`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_RANGE_NOT_SATISFIABLE`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusRangeNotSatisfiable" + } + } + } + ] + }, + { + "name": "ExpectationFailed", + "description": "The status code response record of `ExpectationFailed`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusExpectationFailed", + "links": [ + { + "category": "internal", + "recordName": "StatusExpectationFailed" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusExpectationFailed", + "description": "Represents the status code of `STATUS_EXPECTATION_FAILED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_EXPECTATION_FAILED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusExpectationFailed" + } + } + } + ] + }, + { + "name": "MisdirectedRequest", + "description": "The status code response record of `MisdirectedRequest`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusMisdirectedRequest", + "links": [ + { + "category": "internal", + "recordName": "StatusMisdirectedRequest" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusMisdirectedRequest", + "description": "Represents the status code of `STATUS_MISDIRECTED_REQUEST`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_MISDIRECTED_REQUEST`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusMisdirectedRequest" + } + } + } + ] + }, + { + "name": "UnprocessableEntity", + "description": "The status code response record of `UnprocessableEntity`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusUnprocessableEntity", + "links": [ + { + "category": "internal", + "recordName": "StatusUnprocessableEntity" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusUnprocessableEntity", + "description": "Represents the status code of `STATUS_UNPROCESSABLE_ENTITY`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_UNPROCESSABLE_ENTITY`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusUnprocessableEntity" + } + } + } + ] + }, + { + "name": "Locked", + "description": "The status code response record of `Locked`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusLocked", + "links": [ + { + "category": "internal", + "recordName": "StatusLocked" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusLocked", + "description": "Represents the status code of `STATUS_LOCKED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_LOCKED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusLocked" + } + } + } + ] + }, + { + "name": "FailedDependency", + "description": "The status code response record of `FailedDependency`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusFailedDependency", + "links": [ + { + "category": "internal", + "recordName": "StatusFailedDependency" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusFailedDependency", + "description": "Represents the status code of `STATUS_FAILED_DEPENDENCY`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_FAILED_DEPENDENCY`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusFailedDependency" + } + } + } + ] + }, + { + "name": "TooEarly", + "description": "The status code response record of `TooEarly`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusTooEarly", + "links": [ + { + "category": "internal", + "recordName": "StatusTooEarly" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusTooEarly", + "description": "Represents the status code of `STATUS_TOO_EARLY`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_TOO_EARLY`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusTooEarly" + } + } + } + ] + }, + { + "name": "PreconditionRequired", + "description": "The status code response record of `PreconditionRequired`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusPreconditionRequired", + "links": [ + { + "category": "internal", + "recordName": "StatusPreconditionRequired" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusPreconditionRequired", + "description": "Represents the status code of `STATUS_PRECONDITION_REQUIRED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_PRECONDITION_REQUIRED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusPreconditionRequired" + } + } + } + ] + }, + { + "name": "UnavailableDueToLegalReasons", + "description": "The status code response record of `UnavailableDueToLegalReasons`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusUnavailableDueToLegalReasons", + "links": [ + { + "category": "internal", + "recordName": "StatusUnavailableDueToLegalReasons" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusUnavailableDueToLegalReasons", + "description": "Represents the status code of `STATUS_UNAVAILABLE_DUE_TO_LEGAL_REASONS`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_UNAVAILABLE_DUE_TO_LEGAL_REASONS`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusUnavailableDueToLegalReasons" + } + } + } + ] + }, + { + "name": "UpgradeRequired", + "description": "The status code response record of `UpgradeRequired`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusUpgradeRequired", + "links": [ + { + "category": "internal", + "recordName": "StatusUpgradeRequired" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusUpgradeRequired", + "description": "Represents the status code of `STATUS_UPGRADE_REQUIRED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_UPGRADE_REQUIRED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusUpgradeRequired" + } + } + } + ] + }, + { + "name": "TooManyRequests", + "description": "The status code response record of `TooManyRequests`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusTooManyRequests", + "links": [ + { + "category": "internal", + "recordName": "StatusTooManyRequests" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusTooManyRequests", + "description": "Represents the status code of `STATUS_TOO_MANY_REQUESTS`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_TOO_MANY_REQUESTS`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusTooManyRequests" + } + } + } + ] + }, + { + "name": "RequestHeaderFieldsTooLarge", + "description": "The status code response record of `RequestHeaderFieldsTooLarge`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusRequestHeaderFieldsTooLarge", + "links": [ + { + "category": "internal", + "recordName": "StatusRequestHeaderFieldsTooLarge" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusRequestHeaderFieldsTooLarge", + "description": "Represents the status code of `STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusRequestHeaderFieldsTooLarge" + } + } + } + ] + }, + { + "name": "InternalServerError", + "description": "The status code response record of `InternalServerError`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusInternalServerError", + "links": [ + { + "category": "internal", + "recordName": "StatusInternalServerError" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusInternalServerError", + "description": "Represents the status code of `STATUS_INTERNAL_SERVER_ERROR`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_INTERNAL_SERVER_ERROR`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusInternalServerError" + } + } + } + ] + }, + { + "name": "NotImplemented", + "description": "The status code response record of `NotImplemented`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusNotImplemented", + "links": [ + { + "category": "internal", + "recordName": "StatusNotImplemented" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusNotImplemented", + "description": "Represents the status code of `STATUS_NOT_IMPLEMENTED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_NOT_IMPLEMENTED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusNotImplemented" + } + } + } + ] + }, + { + "name": "BadGateway", + "description": "The status code response record of `BadGateway`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusBadGateway", + "links": [ + { + "category": "internal", + "recordName": "StatusBadGateway" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusBadGateway", + "description": "Represents the status code of `STATUS_BAD_GATEWAY`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_BAD_GATEWAY`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusBadGateway" + } + } + } + ] + }, + { + "name": "ServiceUnavailable", + "description": "The status code response record of `ServiceUnavailable`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusServiceUnavailable", + "links": [ + { + "category": "internal", + "recordName": "StatusServiceUnavailable" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusServiceUnavailable", + "description": "Represents the status code of `STATUS_SERVICE_UNAVAILABLE`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_SERVICE_UNAVAILABLE`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusServiceUnavailable" + } + } + } + ] + }, + { + "name": "GatewayTimeout", + "description": "The status code response record of `GatewayTimeout`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusGatewayTimeout", + "links": [ + { + "category": "internal", + "recordName": "StatusGatewayTimeout" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusGatewayTimeout", + "description": "Represents the status code of `STATUS_GATEWAY_TIMEOUT`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_GATEWAY_TIMEOUT`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusGatewayTimeout" + } + } + } + ] + }, + { + "name": "HttpVersionNotSupported", + "description": "The status code response record of `HttpVersionNotSupported`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusHttpVersionNotSupported", + "links": [ + { + "category": "internal", + "recordName": "StatusHttpVersionNotSupported" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusHttpVersionNotSupported", + "description": "Represents the status code of `STATUS_HTTP_VERSION_NOT_SUPPORTED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_HTTP_VERSION_NOT_SUPPORTED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusHttpVersionNotSupported" + } + } + } + ] + }, + { + "name": "VariantAlsoNegotiates", + "description": "The status code response record of `VariantAlsoNegotiates`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusVariantAlsoNegotiates", + "links": [ + { + "category": "internal", + "recordName": "StatusVariantAlsoNegotiates" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusVariantAlsoNegotiates", + "description": "Represents the status code of `STATUS_VARIANT_ALSO_NEGOTIATES`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_VARIANT_ALSO_NEGOTIATES`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusVariantAlsoNegotiates" + } + } + } + ] + }, + { + "name": "InsufficientStorage", + "description": "The status code response record of `InsufficientStorage`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusInsufficientStorage", + "links": [ + { + "category": "internal", + "recordName": "StatusInsufficientStorage" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusInsufficientStorage", + "description": "Represents the status code of `STATUS_INSUFFICIENT_STORAGE`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_INSUFFICIENT_STORAGE`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusInsufficientStorage" + } + } + } + ] + }, + { + "name": "LoopDetected", + "description": "The status code response record of `LoopDetected`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusLoopDetected", + "links": [ + { + "category": "internal", + "recordName": "StatusLoopDetected" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusLoopDetected", + "description": "Represents the status code of `STATUS_LOOP_DETECTED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_LOOP_DETECTED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusLoopDetected" + } + } + } + ] + }, + { + "name": "NotExtended", + "description": "The status code response record of `NotExtended`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusNotExtended", + "links": [ + { + "category": "internal", + "recordName": "StatusNotExtended" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusNotExtended", + "description": "Represents the status code of `STATUS_NOT_EXTENDED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_NOT_EXTENDED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusNotExtended" + } + } + } + ] + }, + { + "name": "NetworkAuthenticationRequired", + "description": "The status code response record of `NetworkAuthenticationRequired`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusNetworkAuthenticationRequired", + "links": [ + { + "category": "internal", + "recordName": "StatusNetworkAuthenticationRequired" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusNetworkAuthenticationRequired", + "description": "Represents the status code of `STATUS_NETWORK_AUTHENTICATION_REQUIRED`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the status code of `STATUS_NETWORK_AUTHENTICATION_REQUIRED`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:StatusNetworkAuthenticationRequired" + } + } + } + ] + }, + { + "name": "DefaultStatusCodeResponse", + "description": "The default status code response record.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": false, + "type": { + "name": "ballerina/http:2.15.4:DefaultStatus", + "links": [ + { + "category": "internal", + "recordName": "DefaultStatus" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "DefaultStatus", + "description": "", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "", + "parameters": [ + { + "name": "code", + "optional": false, + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "ballerina/http:DefaultStatus" + } + } + } + ] + }, + { + "name": "StatusCodeResponse", + "description": "Defines the possible status code response record types.", + "type": "Union", + "members": [ + "ballerina/http:2.15.4:Continue", + "ballerina/http:2.15.4:SwitchingProtocols", + "ballerina/http:2.15.4:Processing", + "ballerina/http:2.15.4:EarlyHints", + "ballerina/http:2.15.4:Ok", + "ballerina/http:2.15.4:Created", + "ballerina/http:2.15.4:Accepted", + "ballerina/http:2.15.4:NonAuthoritativeInformation", + "ballerina/http:2.15.4:NoContent", + "ballerina/http:2.15.4:ResetContent", + "ballerina/http:2.15.4:PartialContent", + "ballerina/http:2.15.4:MultiStatus", + "ballerina/http:2.15.4:AlreadyReported", + "ballerina/http:2.15.4:IMUsed", + "ballerina/http:2.15.4:MultipleChoices", + "ballerina/http:2.15.4:MovedPermanently", + "ballerina/http:2.15.4:Found", + "ballerina/http:2.15.4:SeeOther", + "ballerina/http:2.15.4:NotModified", + "ballerina/http:2.15.4:UseProxy", + "ballerina/http:2.15.4:TemporaryRedirect", + "ballerina/http:2.15.4:PermanentRedirect", + "ballerina/http:2.15.4:BadRequest", + "ballerina/http:2.15.4:Unauthorized", + "ballerina/http:2.15.4:PaymentRequired", + "ballerina/http:2.15.4:Forbidden", + "ballerina/http:2.15.4:NotFound", + "ballerina/http:2.15.4:MethodNotAllowed", + "ballerina/http:2.15.4:NotAcceptable", + "ballerina/http:2.15.4:ProxyAuthenticationRequired", + "ballerina/http:2.15.4:RequestTimeout", + "ballerina/http:2.15.4:Conflict", + "ballerina/http:2.15.4:Gone", + "ballerina/http:2.15.4:LengthRequired", + "ballerina/http:2.15.4:PreconditionFailed", + "ballerina/http:2.15.4:PayloadTooLarge", + "ballerina/http:2.15.4:UriTooLong", + "ballerina/http:2.15.4:UnsupportedMediaType", + "ballerina/http:2.15.4:RangeNotSatisfiable", + "ballerina/http:2.15.4:ExpectationFailed", + "ballerina/http:2.15.4:MisdirectedRequest", + "ballerina/http:2.15.4:UnprocessableEntity", + "ballerina/http:2.15.4:Locked", + "ballerina/http:2.15.4:FailedDependency", + "ballerina/http:2.15.4:TooEarly", + "ballerina/http:2.15.4:PreconditionRequired", + "ballerina/http:2.15.4:UnavailableDueToLegalReasons", + "ballerina/http:2.15.4:UpgradeRequired", + "ballerina/http:2.15.4:TooManyRequests", + "ballerina/http:2.15.4:RequestHeaderFieldsTooLarge", + "ballerina/http:2.15.4:InternalServerError", + "ballerina/http:2.15.4:NotImplemented", + "ballerina/http:2.15.4:BadGateway", + "ballerina/http:2.15.4:ServiceUnavailable", + "ballerina/http:2.15.4:GatewayTimeout", + "ballerina/http:2.15.4:HttpVersionNotSupported", + "ballerina/http:2.15.4:VariantAlsoNegotiates", + "ballerina/http:2.15.4:InsufficientStorage", + "ballerina/http:2.15.4:LoopDetected", + "ballerina/http:2.15.4:NotExtended", + "ballerina/http:2.15.4:NetworkAuthenticationRequired", + "ballerina/http:2.15.4:DefaultStatusCodeResponse" + ] + }, + { + "name": "Error", + "description": "Defines the common error type for the module.", + "type": "Error" + }, + { + "name": "HttpHeader", + "description": "Defines the Header resource signature parameter.\n", + "type": "Record", + "fields": [ + { + "name": "name", + "description": "", + "optional": true, + "type": { + "name": "string" + } + } + ] + }, + { + "name": "HttpQuery", + "description": "Defines the query resource signature parameter.\n", + "type": "Record", + "fields": [ + { + "name": "name", + "description": "", + "optional": true, + "type": { + "name": "string" + } + } + ] + }, + { + "name": "HttpCacheConfig", + "description": "Defines the HTTP response cache configuration. By default the `no-cache` directive is setted to the `cache-control`\nheader. In addition to that `etag` and `last-modified` headers are also added for cache validation.\n", + "type": "Record", + "fields": [ + { + "name": "mustRevalidate", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "noCache", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "noStore", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "noTransform", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "isPrivate", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "proxyRevalidate", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "maxAge", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "sMaxAge", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "noCacheFields", + "description": "", + "optional": true, + "type": { + "name": "string[]" + } + }, + { + "name": "privateFields", + "description": "", + "optional": true, + "type": { + "name": "string[]" + } + }, + { + "name": "setETag", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "setLastModified", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + } + ] + }, + { + "name": "TargetService", + "description": "Represents a single service and its related configurations.\n", + "type": "Record", + "fields": [ + { + "name": "url", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "secureSocket", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientSecureSocket?" + } + } + ] + }, + { + "name": "ClientSecureSocket", + "description": "Provides configurations for facilitating secure communication with a remote HTTP endpoint.\n", + "type": "Record", + "fields": [ + { + "name": "enable", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "cert", + "description": "", + "optional": true, + "type": { + "name": "ballerina/crypto:2.9.3:TrustStore|string" + } + }, + { + "name": "key", + "description": "", + "optional": true, + "type": { + "name": "ballerina/crypto:2.9.3:KeyStore|ballerina/http:2.15.4:CertKey" + } + }, + { + "name": "protocol", + "description": "", + "optional": true, + "type": { + "name": "record {|ballerina/http:2.15.4:Protocol name; string[] versions;|}" + } + }, + { + "name": "certValidation", + "description": "", + "optional": true, + "type": { + "name": "record {|ballerina/http:2.15.4:CertValidationType 'type; int cacheSize; int cacheValidityPeriod;|}" + } + }, + { + "name": "ciphers", + "description": "", + "optional": true, + "type": { + "name": "string[]" + } + }, + { + "name": "verifyHostName", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "shareSession", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "handshakeTimeout", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "sessionTimeout", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "serverName", + "description": "", + "optional": true, + "type": { + "name": "string" + } + } + ] + }, + { + "name": "CertKey", + "description": "Represents combination of certificate, private key and private key password if encrypted.\n", + "type": "Record", + "fields": [ + { + "name": "certFile", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "keyFile", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "keyPassword", + "description": "", + "optional": true, + "type": { + "name": "string" + } + } + ] + }, + { + "name": "Protocol", + "description": "Represents protocol options.", + "type": "Enum", + "members": [ + { + "name": "DTLS", + "description": "" + }, + { + "name": "TLS", + "description": "" + }, + { + "name": "SSL", + "description": "" + } + ] + }, + { + "name": "CertValidationType", + "description": "Represents certification validation type options.", + "type": "Enum", + "members": [ + { + "name": "OCSP_STAPLING", + "description": "" + }, + { + "name": "OCSP_CRL", + "description": "" + } + ] + }, + { + "name": "CommonClientConfiguration", + "description": "Common client configurations for the next level clients.", + "type": "Record", + "fields": [ + { + "name": "httpVersion", + "description": "HTTP protocol version supported by the client", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:HttpVersion", + "links": [ + { + "category": "internal", + "recordName": "HttpVersion" + } + ] + } + }, + { + "name": "http1Settings", + "description": "HTTP/1.x specific settings", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientHttp1Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp1Settings" + } + ] + } + }, + { + "name": "http2Settings", + "description": "HTTP/2 specific settings", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientHttp2Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp2Settings" + } + ] + } + }, + { + "name": "timeout", + "description": "Maximum time(in seconds) to wait for a response before the request times out", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "forwarded", + "description": "The choice of setting `Forwarded`/`X-Forwarded-For` header, when acting as a proxy", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "followRedirects", + "description": "HTTP redirect handling configurations (with 3xx status codes)", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:FollowRedirects?" + } + }, + { + "name": "poolConfig", + "description": "Configurations associated with the request connection pool", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:PoolConfiguration?" + } + }, + { + "name": "cache", + "description": "HTTP response caching related configurations", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CacheConfig", + "links": [ + { + "category": "internal", + "recordName": "CacheConfig" + } + ] + } + }, + { + "name": "compression", + "description": "Enable request/response compression (using `accept-encoding` header)", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:Compression", + "links": [ + { + "category": "internal", + "recordName": "Compression" + } + ] + } + }, + { + "name": "auth", + "description": "Client authentication options (Basic, Bearer token, OAuth, etc.)", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientAuthConfig?" + } + }, + { + "name": "circuitBreaker", + "description": "Circuit breaker configurations to prevent cascading failures", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CircuitBreakerConfig?" + } + }, + { + "name": "retryConfig", + "description": "Automatic retry settings for failed requests", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:RetryConfig?" + } + }, + { + "name": "cookieConfig", + "description": "Cookie handling settings for session management", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CookieConfig?" + } + }, + { + "name": "responseLimits", + "description": "Limits for response size and headers (to prevent memory issues)", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ResponseLimitConfigs", + "links": [ + { + "category": "internal", + "recordName": "ResponseLimitConfigs" + } + ] + } + }, + { + "name": "proxy", + "description": "Proxy server settings if requests need to go through a proxy", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ProxyConfig?" + } + }, + { + "name": "validation", + "description": "Enable automatic payload validation for request/response data against constraints", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "socketConfig", + "description": "Low-level socket settings (timeouts, buffer sizes, etc.)", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientSocketConfig", + "links": [ + { + "category": "internal", + "recordName": "ClientSocketConfig" + } + ] + } + }, + { + "name": "laxDataBinding", + "description": "Enable relaxed data binding on the client side.\nWhen enabled:\n- `null` values in JSON are allowed to be mapped to optional fields\n- missing fields in JSON are allowed to be mapped as `null` values", + "optional": true, + "type": { + "name": "boolean" + } + } + ] + }, + { + "name": "HttpVersion", + "description": "Defines the supported HTTP protocols.", + "type": "Enum", + "members": [ + { + "name": "HTTP_2_0", + "description": "Represents HTTP/2.0 protocol" + }, + { + "name": "HTTP_1_1", + "description": "Represents HTTP/1.1 protocol" + }, + { + "name": "HTTP_1_0", + "description": "Represents HTTP/1.0 protocol" + } + ] + }, + { + "name": "ClientHttp1Settings", + "description": "Provides settings related to HTTP/1.x protocol.\n", + "type": "Record", + "fields": [ + { + "name": "keepAlive", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:KeepAlive", + "links": [ + { + "category": "internal", + "recordName": "KeepAlive" + } + ] + } + }, + { + "name": "chunking", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:Chunking", + "links": [ + { + "category": "internal", + "recordName": "Chunking" + } + ] + } + }, + { + "name": "proxy", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ProxyConfig?" + } + } + ] + }, + { + "name": "KeepAlive", + "description": "Defines the possible values for the keep-alive configuration in service and client endpoints.", + "type": "Union", + "members": [ + "\"AUTO\"", + "\"ALWAYS\"", + "\"NEVER\"" + ] + }, + { + "name": "ProxyConfig", + "description": "Proxy server configurations to be used with the HTTP client endpoint.\n", + "type": "Record", + "fields": [ + { + "name": "host", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "port", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "userName", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "password", + "description": "", + "optional": true, + "type": { + "name": "string" + } + } + ] + }, + { + "name": "ClientHttp2Settings", + "description": "Provides settings related to HTTP/2 protocol.\n", + "type": "Record", + "fields": [ + { + "name": "http2PriorKnowledge", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "http2InitialWindowSize", + "description": "", + "optional": true, + "type": { + "name": "int" + } + } + ] + }, + { + "name": "FollowRedirects", + "description": "Provides configurations for controlling the endpoint's behaviour in response to HTTP redirect related responses.\nThe response status codes of 301, 302, and 303 are redirected using a GET request while 300, 305, 307, and 308\nstatus codes use the original request HTTP method during redirection.\n", + "type": "Record", + "fields": [ + { + "name": "enabled", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "maxCount", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "allowAuthHeaders", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + } + ] + }, + { + "name": "PoolConfiguration", + "description": "Configurations for managing HTTP client connection pool.\n", + "type": "Record", + "fields": [ + { + "name": "maxActiveConnections", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "maxIdleConnections", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "waitTime", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "maxActiveStreamsPerConnection", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "minEvictableIdleTime", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "timeBetweenEvictionRuns", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "minIdleTimeInStaleState", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "timeBetweenStaleEviction", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + } + ] + }, + { + "name": "CircuitBreakerConfig", + "description": "Provides a set of configurations for controlling the behaviour of the Circuit Breaker.", + "type": "Record", + "fields": [ + { + "name": "rollingWindow", + "description": "The `http:RollingWindow` options of the `CircuitBreaker`", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:RollingWindow", + "links": [ + { + "category": "internal", + "recordName": "RollingWindow" + } + ] + } + }, + { + "name": "failureThreshold", + "description": "The threshold for request failures. When this threshold exceeds, the circuit trips. The threshold should be a\nvalue between 0 and 1", + "optional": true, + "type": { + "name": "float" + } + }, + { + "name": "resetTime", + "description": "The time period (in seconds) to wait before attempting to make another request to the upstream service", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "statusCodes", + "description": "Array of HTTP response status codes which are considered as failures", + "optional": true, + "type": { + "name": "int[]" + } + } + ] + }, + { + "name": "RollingWindow", + "description": "Represents a rolling window in the Circuit Breaker.\n", + "type": "Record", + "fields": [ + { + "name": "requestVolumeThreshold", + "description": "Minimum number of requests in a `RollingWindow` that will trip the circuit.", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "timeWindow", + "description": "Time period in seconds for which the failure threshold is calculated", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "bucketSize", + "description": "The granularity at which the time window slides. This is measured in seconds.", + "optional": true, + "type": { + "name": "decimal" + } + } + ] + }, + { + "name": "RetryConfig", + "description": "Provides configurations for controlling the retrying behavior in failure scenarios.\n", + "type": "Record", + "fields": [ + { + "name": "count", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "interval", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "backOffFactor", + "description": "", + "optional": true, + "type": { + "name": "float" + } + }, + { + "name": "maxWaitInterval", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "statusCodes", + "description": "", + "optional": true, + "type": { + "name": "int[]" + } + } + ] + }, + { + "name": "CookieConfig", + "description": "Client configuration for cookies.\n", + "type": "Record", + "fields": [ + { + "name": "enabled", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "maxCookiesPerDomain", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "maxTotalCookieCount", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "blockThirdPartyCookies", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "persistentCookieHandler", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:PersistentCookieHandler", + "links": [ + { + "category": "internal", + "recordName": "PersistentCookieHandler" + } + ] + } + } + ] + }, + { + "name": "ResponseLimitConfigs", + "description": "Provides inbound response status line, total header and entity body size threshold configurations.\n", + "type": "Record", + "fields": [ + { + "name": "maxStatusLineLength", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "maxHeaderSize", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "maxEntityBodySize", + "description": "", + "optional": true, + "type": { + "name": "int" + } + } + ] + }, + { + "name": "ClientSocketConfig", + "description": "Provides settings related to client socket configuration.\n", + "type": "Record", + "fields": [ + { + "name": "connectTimeOut", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "receiveBufferSize", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "sendBufferSize", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "tcpNoDelay", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "socketReuse", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "keepAlive", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + } + ] + }, + { + "name": "ClientConfiguration", + "description": "Provides a set of configurations for controlling the behaviours when communicating with a remote HTTP endpoint.\nThe following fields are inherited from the other configuration records in addition to the `Client`-specific\nconfigs.\n", + "type": "Record", + "fields": [ + { + "name": "secureSocket", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientSecureSocket?" + } + }, + { + "name": "httpVersion", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:HttpVersion", + "links": [ + { + "category": "internal", + "recordName": "HttpVersion" + } + ] + } + }, + { + "name": "http1Settings", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientHttp1Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp1Settings" + } + ] + } + }, + { + "name": "http2Settings", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientHttp2Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp2Settings" + } + ] + } + }, + { + "name": "timeout", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "forwarded", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "followRedirects", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:FollowRedirects?" + } + }, + { + "name": "poolConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:PoolConfiguration?" + } + }, + { + "name": "cache", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CacheConfig", + "links": [ + { + "category": "internal", + "recordName": "CacheConfig" + } + ] + } + }, + { + "name": "compression", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:Compression", + "links": [ + { + "category": "internal", + "recordName": "Compression" + } + ] + } + }, + { + "name": "auth", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientAuthConfig?" + } + }, + { + "name": "circuitBreaker", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CircuitBreakerConfig?" + } + }, + { + "name": "retryConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:RetryConfig?" + } + }, + { + "name": "cookieConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CookieConfig?" + } + }, + { + "name": "responseLimits", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ResponseLimitConfigs", + "links": [ + { + "category": "internal", + "recordName": "ResponseLimitConfigs" + } + ] + } + }, + { + "name": "proxy", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ProxyConfig?" + } + }, + { + "name": "validation", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "socketConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientSocketConfig", + "links": [ + { + "category": "internal", + "recordName": "ClientSocketConfig" + } + ] + } + }, + { + "name": "laxDataBinding", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + } + ] + }, + { + "name": "Method", + "description": "Represents HTTP methods.", + "type": "Enum", + "members": [ + { + "name": "OPTIONS", + "description": "" + }, + { + "name": "HEAD", + "description": "" + }, + { + "name": "PATCH", + "description": "" + }, + { + "name": "DELETE", + "description": "" + }, + { + "name": "PUT", + "description": "" + }, + { + "name": "POST", + "description": "" + }, + { + "name": "GET", + "description": "" + } + ] + }, + { + "name": "ClientObject", + "description": "The representation of the http Client object type for managing resilient clients.", + "type": "Class", + "fields": [] + }, + { + "name": "PathParamType", + "description": "Defines the path parameter types.", + "type": "Union", + "members": [ + "boolean", + "int", + "float", + "decimal", + "string" + ] + }, + { + "name": "SimpleQueryParamType", + "description": "Defines the possible simple query parameter types.", + "type": "Union", + "members": [ + "boolean", + "int", + "float", + "decimal", + "string" + ] + }, + { + "name": "QueryParamType", + "description": "Defines the query parameter type supported with client resource methods.", + "type": "Union", + "members": [ + "ballerina/http:2.15.4:SimpleQueryParamType[]", + "boolean", + "int", + "float", + "decimal", + "string" + ] + }, + { + "name": "QueryParams", + "description": "Defines the record type of query parameters supported with client resource methods.", + "type": "Record", + "fields": [ + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "never" + } + }, + { + "name": "targetType", + "description": "", + "optional": true, + "type": { + "name": "never" + } + }, + { + "name": "message", + "description": "", + "optional": true, + "type": { + "name": "never" + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "never" + } + }, + { + "name": "", + "description": "Rest field", + "optional": false, + "type": { + "name": "ballerina/http:2.15.4:QueryParamType", + "links": [ + { + "category": "internal", + "recordName": "QueryParamType" + } + ] + } + } + ] + }, + { + "name": "RedirectCode", + "description": "Defines the HTTP redirect codes as a type.", + "type": "Union", + "members": [ + "300", + "301", + "302", + "303", + "304", + "305", + "307", + "308" + ] + }, + { + "name": "HeaderPosition", + "description": "Defines the position of the headers in the request/response.\n\n`LEADING`: Header is placed before the payload of the request/response\n`TRAILING`: Header is placed after the payload of the request/response", + "type": "Union", + "members": [ + "\"leading\"", + "\"trailing\"" + ] + }, + { + "name": "Detail", + "description": "Represents the details of an HTTP error.\n", + "type": "Record", + "fields": [ + { + "name": "statusCode", + "description": "", + "optional": false, + "type": { + "name": "int" + } + }, + { + "name": "headers", + "description": "", + "optional": false, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": false, + "type": { + "name": "anydata" + } + }, + { + "name": "", + "description": "Rest field", + "optional": false, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "StatusCodeBindingErrorDetail", + "description": "Represents the details of an HTTP status code binding client error.\n", + "type": "Record", + "fields": [ + { + "name": "fromDefaultStatusCodeMapping", + "description": "", + "optional": false, + "type": { + "name": "boolean" + } + }, + { + "name": "statusCode", + "description": "", + "optional": false, + "type": { + "name": "int" + } + }, + { + "name": "headers", + "description": "", + "optional": false, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": false, + "type": { + "name": "anydata" + } + }, + { + "name": "", + "description": "Rest field", + "optional": false, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "LoadBalanceActionErrorData", + "description": "Represents the details of the `LoadBalanceActionError`.\n", + "type": "Record", + "fields": [ + { + "name": "httpActionErr", + "description": "", + "optional": true, + "type": { + "name": "error[]" + } + }, + { + "name": "", + "description": "Rest field", + "optional": false, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "ListenerError", + "description": "Defines the possible listener error types.", + "type": "Error" + }, + { + "name": "ClientError", + "description": "Defines the possible client error types.", + "type": "Error" + }, + { + "name": "HeaderNotFoundError", + "description": "Represents a header not found error when retrieving headers.", + "type": "Error" + }, + { + "name": "HeaderBindingError", + "description": "Represents an error, which occurred due to header binding.", + "type": "Error" + }, + { + "name": "PayloadBindingError", + "description": "Represents an error, which occurred due to payload binding.", + "type": "Error" + }, + { + "name": "MediaTypeBindingError", + "description": "Represents an error, which occurred due to media-type binding.", + "type": "Error" + }, + { + "name": "InboundRequestError", + "description": "Defines the listener error types that returned while receiving inbound request.", + "type": "Error" + }, + { + "name": "OutboundResponseError", + "description": "Defines the listener error types that returned while sending outbound response.", + "type": "Error" + }, + { + "name": "GenericListenerError", + "description": "Represents a generic listener error.", + "type": "Error" + }, + { + "name": "InterceptorReturnError", + "description": "Represents an error, which occurred due to a failure in interceptor return.", + "type": "Error" + }, + { + "name": "HeaderValidationError", + "description": "Represents an error, which occurred due to a header constraint validation.", + "type": "Error" + }, + { + "name": "NoContentError", + "description": "Represents an error, which occurred due to the absence of the payload.", + "type": "Error" + }, + { + "name": "PayloadValidationError", + "description": "Represents an error, which occurred due to payload constraint validation.", + "type": "Error" + }, + { + "name": "QueryParameterBindingError", + "description": "Represents an error, which occurred due to a query parameter binding.", + "type": "Error" + }, + { + "name": "QueryParameterValidationError", + "description": "Represents an error, which occurred due to a query parameter constraint validation.", + "type": "Error" + }, + { + "name": "PathParameterBindingError", + "description": "Represents an error, which occurred due to a path parameter binding.", + "type": "Error" + }, + { + "name": "MediaTypeValidationError", + "description": "Represents an error, which occurred due to media type validation.", + "type": "Error" + }, + { + "name": "RequestDispatchingError", + "description": "Represents an error, which occurred during the request dispatching.", + "type": "Error" + }, + { + "name": "ServiceDispatchingError", + "description": "Represents an error, which occurred during the service dispatching.", + "type": "Error" + }, + { + "name": "ResourceDispatchingError", + "description": "Represents an error, which occurred during the resource dispatching.", + "type": "Error" + }, + { + "name": "ListenerAuthError", + "description": "Defines the auth error types that returned from listener.", + "type": "Error" + }, + { + "name": "ListenerAuthnError", + "description": "Defines the authentication error types that returned from listener.", + "type": "Error" + }, + { + "name": "ListenerAuthzError", + "description": "Defines the authorization error types that returned from listener.", + "type": "Error" + }, + { + "name": "OutboundRequestError", + "description": "Defines the client error types that returned while sending outbound request.", + "type": "Error" + }, + { + "name": "InboundResponseError", + "description": "Defines the client error types that returned while receiving inbound response.", + "type": "Error" + }, + { + "name": "ClientAuthError", + "description": "Defines the Auth error types that returned from client.", + "type": "Error" + }, + { + "name": "ResiliencyError", + "description": "Defines the resiliency error types that returned from client.", + "type": "Error" + }, + { + "name": "GenericClientError", + "description": "Represents a generic client error.", + "type": "Error" + }, + { + "name": "Http2ClientError", + "description": "Represents an HTTP/2 client generic error.", + "type": "Error" + }, + { + "name": "SslError", + "description": "Represents a client error that occurred due to SSL failure.", + "type": "Error" + }, + { + "name": "ApplicationResponseError", + "description": "Represents both 4XX and 5XX application response client error.", + "type": "Error" + }, + { + "name": "UnsupportedActionError", + "description": "Represents a client error that occurred due to unsupported action invocation.", + "type": "Error" + }, + { + "name": "MaximumWaitTimeExceededError", + "description": "Represents a client error that occurred exceeding maximum wait time.", + "type": "Error" + }, + { + "name": "CookieHandlingError", + "description": "Represents a cookie error that occurred when using the cookies.", + "type": "Error" + }, + { + "name": "ClientConnectorError", + "description": "Represents a client connector error that occurred.", + "type": "Error" + }, + { + "name": "ClientRequestError", + "description": "Represents an error, which occurred due to bad syntax or incomplete info in the client request(4xx HTTP response).", + "type": "Error" + }, + { + "name": "RemoteServerError", + "description": "Represents an error, which occurred due to a failure of the remote server(5xx HTTP response).", + "type": "Error" + }, + { + "name": "FailoverAllEndpointsFailedError", + "description": "Represents a client error that occurred due to all the failover endpoint failure.", + "type": "Error" + }, + { + "name": "FailoverActionFailedError", + "description": "Represents a client error that occurred due to failover action failure.", + "type": "Error" + }, + { + "name": "UpstreamServiceUnavailableError", + "description": "Represents a client error that occurred due to upstream service unavailability.", + "type": "Error" + }, + { + "name": "AllLoadBalanceEndpointsFailedError", + "description": "Represents a client error that occurred due to all the load balance endpoint failure.", + "type": "Error" + }, + { + "name": "CircuitBreakerConfigError", + "description": "Represents a client error that occurred due to circuit breaker configuration error.", + "type": "Error" + }, + { + "name": "AllRetryAttemptsFailed", + "description": "Represents a client error that occurred due to all the the retry attempts failure.", + "type": "Error" + }, + { + "name": "IdleTimeoutError", + "description": "Represents the error that triggered upon a request/response idle timeout.", + "type": "Error" + }, + { + "name": "LoadBalanceActionError", + "description": "Represents an error occurred in an remote function of the Load Balance connector.", + "type": "Error" + }, + { + "name": "InitializingOutboundRequestError", + "description": "Represents a client error that occurred due to outbound request initialization failure.", + "type": "Error" + }, + { + "name": "WritingOutboundRequestHeadersError", + "description": "Represents a client error that occurred while writing outbound request headers.", + "type": "Error" + }, + { + "name": "WritingOutboundRequestBodyError", + "description": "Represents a client error that occurred while writing outbound request entity body.", + "type": "Error" + }, + { + "name": "InitializingInboundResponseError", + "description": "Represents a client error that occurred due to inbound response initialization failure.", + "type": "Error" + }, + { + "name": "ReadingInboundResponseHeadersError", + "description": "Represents a client error that occurred while reading inbound response headers.", + "type": "Error" + }, + { + "name": "ReadingInboundResponseBodyError", + "description": "Represents a client error that occurred while reading inbound response entity body.", + "type": "Error" + }, + { + "name": "InitializingInboundRequestError", + "description": "Represents a listener error that occurred due to inbound request initialization failure.", + "type": "Error" + }, + { + "name": "ReadingInboundRequestHeadersError", + "description": "Represents a listener error that occurred while reading inbound request headers.", + "type": "Error" + }, + { + "name": "ReadingInboundRequestBodyError", + "description": "Represents a listener error that occurred while writing the inbound request entity body.", + "type": "Error" + }, + { + "name": "InitializingOutboundResponseError", + "description": "Represents a listener error that occurred due to outbound response initialization failure.", + "type": "Error" + }, + { + "name": "WritingOutboundResponseHeadersError", + "description": "Represents a listener error that occurred while writing outbound response headers.", + "type": "Error" + }, + { + "name": "WritingOutboundResponseBodyError", + "description": "Represents a listener error that occurred while writing outbound response entity body.", + "type": "Error" + }, + { + "name": "Initiating100ContinueResponseError", + "description": "Represents an error that occurred due to 100 continue response initialization failure.", + "type": "Error" + }, + { + "name": "Writing100ContinueResponseError", + "description": "Represents an error that occurred while writing 100 continue response.", + "type": "Error" + }, + { + "name": "InvalidCookieError", + "description": "Represents a cookie error that occurred when sending cookies in the response.", + "type": "Error" + }, + { + "name": "ServiceNotFoundError", + "description": "Represents Service Not Found error.", + "type": "Error" + }, + { + "name": "BadMatrixParamError", + "description": "Represents Bad Matrix Parameter in the request error.", + "type": "Error" + }, + { + "name": "ResourceNotFoundError", + "description": "Represents an error, which occurred when the resource is not found during dispatching.", + "type": "Error" + }, + { + "name": "ResourcePathValidationError", + "description": "Represents an error, which occurred due to a path parameter constraint validation.", + "type": "Error" + }, + { + "name": "ResourceMethodNotAllowedError", + "description": "Represents an error, which occurred when the resource method is not allowed during dispatching.", + "type": "Error" + }, + { + "name": "UnsupportedRequestMediaTypeError", + "description": "Represents an error, which occurred when the media type is not supported during dispatching.", + "type": "Error" + }, + { + "name": "RequestNotAcceptableError", + "description": "Represents an error, which occurred when the payload is not acceptable during dispatching.", + "type": "Error" + }, + { + "name": "ResourceDispatchingServerError", + "description": "Represents other internal server errors during dispatching.", + "type": "Error" + }, + { + "name": "StatusCodeResponseBindingError", + "description": "Represents the client status code binding error", + "type": "Error" + }, + { + "name": "StatusCodeBindingClientRequestError", + "description": "Represents the status code binding error that occurred due to 4XX status code response binding", + "type": "Error" + }, + { + "name": "StatusCodeBindingRemoteServerError", + "description": "Represents the status code binding error that occurred due to 5XX status code response binding", + "type": "Error" + }, + { + "name": "StatusCodeResponseDataBindingError", + "description": "Represents the client status code response data binding error", + "type": "Union", + "members": [ + "ballerina/http:2.15.4:MediaTypeBindingStatusCodeClientError", + "ballerina/http:2.15.4:PayloadBindingStatusCodeClientError", + "ballerina/http:2.15.4:HeaderBindingStatusCodeClientError" + ] + }, + { + "name": "RequestInterceptor", + "description": "The HTTP request interceptor service object type", + "type": "Class", + "fields": [] + }, + { + "name": "ResponseInterceptor", + "description": "The HTTP response interceptor service object type", + "type": "Class", + "fields": [] + }, + { + "name": "RequestErrorInterceptor", + "description": "The HTTP request error interceptor service object type", + "type": "Class", + "fields": [] + }, + { + "name": "ResponseErrorInterceptor", + "description": "The HTTP response error interceptor service object type", + "type": "Class", + "fields": [] + }, + { + "name": "InterceptableService", + "description": "The service type to be used when engaging interceptors at the service level", + "type": "Class", + "fields": [] + }, + { + "name": "NextService", + "description": "The return type of an interceptor service function", + "type": "Union", + "members": [ + "ballerina/http:2.15.4:RequestInterceptor", + "ballerina/http:2.15.4:ResponseInterceptor", + "ballerina/http:2.15.4:Service" + ] + }, + { + "name": "Interceptor", + "description": "Types of HTTP interceptor services", + "type": "Union", + "members": [ + "ballerina/http:2.15.4:RequestInterceptor", + "ballerina/http:2.15.4:ResponseInterceptor", + "ballerina/http:2.15.4:RequestErrorInterceptor", + "ballerina/http:2.15.4:ResponseErrorInterceptor" + ] + }, + { + "name": "TraceLogAdvancedConfiguration", + "description": "Represents HTTP trace log configuration.\n", + "type": "Record", + "fields": [ + { + "name": "console", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "path", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "host", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "port", + "description": "", + "optional": true, + "type": { + "name": "int" + } + } + ] + }, + { + "name": "AccessLogConfiguration", + "description": "Represents HTTP access log configuration.\n", + "type": "Record", + "fields": [ + { + "name": "console", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "format", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "attributes", + "description": "", + "optional": true, + "type": { + "name": "string[]" + } + }, + { + "name": "path", + "description": "", + "optional": true, + "type": { + "name": "string" + } + } + ] + }, + { + "name": "MutualSslHandshake", + "description": "A record for providing mutual SSL handshake results.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:MutualSslStatus", + "links": [ + { + "category": "internal", + "recordName": "MutualSslStatus" + } + ] + } + }, + { + "name": "base64EncodedCert", + "description": "", + "optional": true, + "type": { + "name": "string?" + } + } + ] + }, + { + "name": "MutualSslStatus", + "description": "Defines the possible values for the mutual ssl status.\n\n`passed`: Mutual SSL handshake is successful.\n`failed`: Mutual SSL handshake has failed.", + "type": "Union", + "members": [ + "\"passed\"", + "\"failed\"", + "()" + ] + }, + { + "name": "Cloneable", + "description": "Represents a non-error type that can be cloned.", + "type": "Union", + "members": [ + "any & readonly", + "xml", + "ballerina/http:2.15.4:Cloneable[]", + "map", + "table>" + ] + }, + { + "name": "ReqCtxMember", + "description": "Request context member type.", + "type": "Union", + "members": [ + "any & readonly", + "xml", + "ballerina/http:2.15.4:Cloneable[]", + "map", + "table>", + "isolated object {}" + ] + }, + { + "name": "ReqCtxMemberType", + "description": "Request context member type descriptor.", + "type": "Other" + }, + { + "name": "StatusCodeRecord", + "description": "Defines a status code response record type", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "The status code", + "optional": false, + "type": { + "name": "int" + } + }, + { + "name": "headers", + "description": "The headers of the response", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "The response body", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "Remote", + "description": "Presents a read-only view of the remote address.\n", + "type": "Record", + "fields": [ + { + "name": "host", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "port", + "description": "", + "optional": false, + "type": { + "name": "int" + } + }, + { + "name": "ip", + "description": "", + "optional": false, + "type": { + "name": "string" + } + } + ] + }, + { + "name": "Local", + "description": "Presents a read-only view of the local address.\n", + "type": "Record", + "fields": [ + { + "name": "host", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "port", + "description": "", + "optional": false, + "type": { + "name": "int" + } + }, + { + "name": "ip", + "description": "", + "optional": false, + "type": { + "name": "string" + } + } + ] + }, + { + "name": "ListenerConfiguration", + "description": "Provides a set of configurations for HTTP service endpoints.\n", + "type": "Record", + "fields": [ + { + "name": "host", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "http1Settings", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ListenerHttp1Settings", + "links": [ + { + "category": "internal", + "recordName": "ListenerHttp1Settings" + } + ] + } + }, + { + "name": "secureSocket", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ListenerSecureSocket?" + } + }, + { + "name": "httpVersion", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:HttpVersion", + "links": [ + { + "category": "internal", + "recordName": "HttpVersion" + } + ] + } + }, + { + "name": "timeout", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "server", + "description": "", + "optional": true, + "type": { + "name": "string?" + } + }, + { + "name": "requestLimits", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:RequestLimitConfigs", + "links": [ + { + "category": "internal", + "recordName": "RequestLimitConfigs" + } + ] + } + }, + { + "name": "gracefulStopTimeout", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "socketConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ServerSocketConfig", + "links": [ + { + "category": "internal", + "recordName": "ServerSocketConfig" + } + ] + } + }, + { + "name": "http2InitialWindowSize", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "minIdleTimeInStaleState", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "timeBetweenStaleEviction", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + } + ] + }, + { + "name": "ListenerHttp1Settings", + "description": "Provides settings related to HTTP/1.x protocol.\n", + "type": "Record", + "fields": [ + { + "name": "keepAlive", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:KeepAlive", + "links": [ + { + "category": "internal", + "recordName": "KeepAlive" + } + ] + } + }, + { + "name": "maxPipelinedRequests", + "description": "", + "optional": true, + "type": { + "name": "int" + } + } + ] + }, + { + "name": "ListenerSecureSocket", + "description": "Configures the SSL/TLS options to be used for HTTP service.\n", + "type": "Record", + "fields": [ + { + "name": "key", + "description": "", + "optional": false, + "type": { + "name": "ballerina/crypto:2.9.3:KeyStore|ballerina/http:2.15.4:CertKey" + } + }, + { + "name": "mutualSsl", + "description": "", + "optional": true, + "type": { + "name": "record {|ballerina/http:2.15.4:VerifyClient verifyClient; ballerina/crypto:2.9.3:TrustStore|string cert;|}" + } + }, + { + "name": "protocol", + "description": "", + "optional": true, + "type": { + "name": "record {|ballerina/http:2.15.4:Protocol name; string[] versions;|}" + } + }, + { + "name": "certValidation", + "description": "", + "optional": true, + "type": { + "name": "record {|ballerina/http:2.15.4:CertValidationType 'type; int cacheSize; int cacheValidityPeriod;|}" + } + }, + { + "name": "ciphers", + "description": "", + "optional": true, + "type": { + "name": "string[]" + } + }, + { + "name": "shareSession", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "handshakeTimeout", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "sessionTimeout", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + } + ] + }, + { + "name": "VerifyClient", + "description": "Represents client verify options.", + "type": "Enum", + "members": [ + { + "name": "OPTIONAL", + "description": "" + }, + { + "name": "REQUIRE", + "description": "" + } + ] + }, + { + "name": "RequestLimitConfigs", + "description": "Provides inbound request URI, total header and entity body size threshold configurations.\n", + "type": "Record", + "fields": [ + { + "name": "maxUriLength", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "maxHeaderSize", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "maxEntityBodySize", + "description": "", + "optional": true, + "type": { + "name": "int" + } + } + ] + }, + { + "name": "ServerSocketConfig", + "description": "Provides settings related to server socket configuration.\n", + "type": "Record", + "fields": [ + { + "name": "soBackLog", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "connectTimeOut", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "receiveBufferSize", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "sendBufferSize", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "tcpNoDelay", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "socketReuse", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "keepAlive", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + } + ] + }, + { + "name": "InferredListenerConfiguration", + "description": "Provides a set of cloneable configurations for HTTP listener.\n", + "type": "Record", + "fields": [ + { + "name": "host", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "http1Settings", + "description": "", + "optional": false, + "type": { + "name": "ballerina/http:2.15.4:ListenerHttp1Settings", + "links": [ + { + "category": "internal", + "recordName": "ListenerHttp1Settings" + } + ] + } + }, + { + "name": "secureSocket", + "description": "", + "optional": false, + "type": { + "name": "ballerina/http:2.15.4:ListenerSecureSocket?" + } + }, + { + "name": "httpVersion", + "description": "", + "optional": false, + "type": { + "name": "ballerina/http:2.15.4:HttpVersion", + "links": [ + { + "category": "internal", + "recordName": "HttpVersion" + } + ] + } + }, + { + "name": "timeout", + "description": "", + "optional": false, + "type": { + "name": "decimal" + } + }, + { + "name": "server", + "description": "", + "optional": false, + "type": { + "name": "string?" + } + }, + { + "name": "requestLimits", + "description": "", + "optional": false, + "type": { + "name": "ballerina/http:2.15.4:RequestLimitConfigs", + "links": [ + { + "category": "internal", + "recordName": "RequestLimitConfigs" + } + ] + } + } + ] + }, + { + "name": "StatusCodeClientObject", + "description": "The representation of the http Status Code Client object type for managing resilient clients.", + "type": "Class", + "fields": [] + }, + { + "name": "NetworkAuthorizationRequired", + "description": "The status code response record of `NetworkAuthorizationRequired`.\n", + "type": "Record", + "fields": [ + { + "name": "status", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:StatusNetworkAuthenticationRequired", + "links": [ + { + "category": "internal", + "recordName": "StatusNetworkAuthenticationRequired" + } + ] + } + }, + { + "name": "mediaType", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "headers", + "description": "", + "optional": true, + "type": { + "name": "map" + } + }, + { + "name": "body", + "description": "", + "optional": true, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "ErrorPayload", + "description": "Represents the structure of the HTTP error payload.\n", + "type": "Record", + "fields": [ + { + "name": "timestamp", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "status", + "description": "", + "optional": false, + "type": { + "name": "int" + } + }, + { + "name": "reason", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "message", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "path", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "method", + "description": "", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "", + "description": "Rest field", + "optional": false, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "Request", + "description": "", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:Request" + } + } + }, + { + "name": "setEntity", + "type": "Normal Function", + "description": "Sets the provided `Entity` to the request.\n", + "parameters": [ + { + "name": "e", + "description": "The `Entity` to be set to the request", + "optional": false, + "type": { + "name": "mime:Entity", + "links": [ + { + "category": "external", + "recordName": "Entity", + "libraryName": "ballerina/mime" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getQueryParams", + "type": "Normal Function", + "description": "Gets the query parameters of the request as a map consisting of a string array.\n", + "parameters": [], + "return": { + "type": { + "name": "map" + } + } + }, + { + "name": "getQueryParamValue", + "type": "Normal Function", + "description": "Gets the query param value associated with the given key.\n", + "parameters": [ + { + "name": "key", + "description": "Represents the query param key", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "string|()" + } + } + }, + { + "name": "getQueryParamValues", + "type": "Normal Function", + "description": "Gets all the query param values associated with the given key.\n", + "parameters": [ + { + "name": "key", + "description": "Represents the query param key", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "string[]|()" + } + } + }, + { + "name": "getMatrixParams", + "type": "Normal Function", + "description": "Gets the matrix parameters of the request.\n", + "parameters": [ + { + "name": "path", + "description": "Path to the location of matrix parameters", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "map" + } + } + }, + { + "name": "getEntity", + "type": "Normal Function", + "description": "Gets the `Entity` associated with the request.\n", + "parameters": [], + "return": { + "type": { + "name": "mime:Entity" + } + } + }, + { + "name": "hasHeader", + "type": "Normal Function", + "description": "Checks whether the requested header key exists in the header map.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "getHeader", + "type": "Normal Function", + "description": "Returns the value of the specified header. If the specified header key maps to multiple values, the first of\nthese values is returned.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "string" + } + } + }, + { + "name": "getHeaders", + "type": "Normal Function", + "description": "Gets all the header values to which the specified header key maps to.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "string[]" + } + } + }, + { + "name": "setHeader", + "type": "Normal Function", + "description": "Sets the specified header to the request. If a mapping already exists for the specified header key, the existing\nheader value is replaced with the specified header value. Panic if an illegal header is passed.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headerValue", + "description": "The header value", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "addHeader", + "type": "Normal Function", + "description": "Adds the specified header to the request. Existing header values are not replaced, except for the `Content-Type`\nheader. In the case of the `Content-Type` header, the existing value is replaced with the specified value.\nPanic if an illegal header is passed.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headerValue", + "description": "The header value", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "removeHeader", + "type": "Normal Function", + "description": "Removes the specified header from the request.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "removeAllHeaders", + "type": "Normal Function", + "description": "Removes all the headers from the request.", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getHeaderNames", + "type": "Normal Function", + "description": "Gets all the names of the headers of the request.\n", + "parameters": [], + "return": { + "type": { + "name": "string[]" + } + } + }, + { + "name": "expects100Continue", + "type": "Normal Function", + "description": "Checks whether the client expects a `100-continue` response.\n", + "parameters": [], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "setContentType", + "type": "Normal Function", + "description": "Sets the `content-type` header to the request.\n", + "parameters": [ + { + "name": "contentType", + "description": "Content type value to be set as the `content-type` header", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getContentType", + "type": "Normal Function", + "description": "Gets the type of the payload of the request (i.e: the `content-type` header value).\n", + "parameters": [], + "return": { + "type": { + "name": "string" + } + } + }, + { + "name": "getJsonPayload", + "type": "Normal Function", + "description": "Extract `json` payload from the request. For an empty payload, `http:NoContentError` is returned.\n\nIf the content type is not JSON, an `http:ClientError` is returned.\n", + "parameters": [], + "return": { + "type": { + "name": "json" + } + } + }, + { + "name": "getXmlPayload", + "type": "Normal Function", + "description": "Extracts `xml` payload from the request. For an empty payload, `http:NoContentError` is returned.\n\nIf the content type is not XML, an `http:ClientError` is returned.\n", + "parameters": [], + "return": { + "type": { + "name": "xml" + } + } + }, + { + "name": "getTextPayload", + "type": "Normal Function", + "description": "Extracts `text` payload from the request. For an empty payload, `http:NoContentError` is returned.\n\nIf the content type is not of type text, an `http:ClientError` is returned.\n", + "parameters": [], + "return": { + "type": { + "name": "string" + } + } + }, + { + "name": "getByteStream", + "type": "Normal Function", + "description": "Gets the request payload as a stream of byte[], except in the case of multiparts. To retrieve multiparts, use\n`Request.getBodyParts()`.\n", + "parameters": [ + { + "name": "arraySize", + "description": "A defaultable parameter to state the size of the byte array. Default size is 8KB", + "optional": true, + "default": "0", + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "stream" + } + } + }, + { + "name": "getBinaryPayload", + "type": "Normal Function", + "description": "Gets the request payload as a `byte[]`.\n", + "parameters": [], + "return": { + "type": { + "name": "byte[]" + } + } + }, + { + "name": "getFormParams", + "type": "Normal Function", + "description": "Gets the form parameters from the HTTP request as a `map` when content type is application/x-www-form-urlencoded.\n", + "parameters": [], + "return": { + "type": { + "name": "map" + } + } + }, + { + "name": "getBodyParts", + "type": "Normal Function", + "description": "Extracts body parts from the request. If the content type is not a composite media type, an error\nis returned.", + "parameters": [], + "return": { + "type": { + "name": "mime:Entity[]" + } + } + }, + { + "name": "setJsonPayload", + "type": "Normal Function", + "description": "Sets a `json` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/json`. Any existing content-type can be\noverridden by passing the content-type as an optional parameter. If the given payload is a record type with \nthe `@jsondata:Name` annotation, the `jsondata:toJson` function internally converts the record to JSON\n", + "parameters": [ + { + "name": "payload", + "description": "The `json` payload", + "optional": false, + "type": { + "name": "json" + } + }, + { + "name": "contentType", + "description": "The content type of the payload. This is an optional parameter.\nThe `application/json` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setXmlPayload", + "type": "Normal Function", + "description": "Sets an `xml` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/xml`. Any existing content-type can be\noverridden by passing the content-type as an optional parameter.\n", + "parameters": [ + { + "name": "payload", + "description": "The `xml` payload", + "optional": false, + "type": { + "name": "xml" + } + }, + { + "name": "contentType", + "description": "The content type of the payload. This is an optional parameter.\nThe `application/xml` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setTextPayload", + "type": "Normal Function", + "description": "Sets a `string` as the payload. If the content-type header is not set then this method set\ncontent-type headers with the default content-type, which is `text/plain`. Any\nexisting content-type can be overridden by passing the content-type as an optional parameter.\n", + "parameters": [ + { + "name": "payload", + "description": "The `string` payload", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "contentType", + "description": "The content type of the payload. This is an optional parameter.\nThe `text/plain` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setBinaryPayload", + "type": "Normal Function", + "description": "Sets a `byte[]` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/octet-stream`. Any existing content-type\ncan be overridden by passing the content-type as an optional parameter.\n", + "parameters": [ + { + "name": "payload", + "description": "The `byte[]` payload", + "optional": false, + "type": { + "name": "byte[]" + } + }, + { + "name": "contentType", + "description": "The content type of the payload. This is an optional parameter.\nThe `application/octet-stream` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setBodyParts", + "type": "Normal Function", + "description": "Set multiparts as the payload. If the content-type header is not set then this method\nset content-type headers with the default content-type, which is `multipart/form-data`.\nAny existing content-type can be overridden by passing the content-type as an optional parameter.\n", + "parameters": [ + { + "name": "bodyParts", + "description": "The entities which make up the message body", + "optional": false, + "type": { + "name": "mime:Entity[]", + "links": [ + { + "category": "external", + "recordName": "Entity[]", + "libraryName": "ballerina/mime" + } + ] + } + }, + { + "name": "contentType", + "description": "The content type of the top level message. This is an optional parameter.\nThe `multipart/form-data` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setFileAsPayload", + "type": "Normal Function", + "description": "Sets the content of the specified file as the entity body of the request. If the content-type header\nis not set then this method set content-type headers with the default content-type, which is\n`application/octet-stream`. Any existing content-type can be overridden by passing the content-type\nas an optional parameter.\n", + "parameters": [ + { + "name": "filePath", + "description": "Path to the file to be set as the payload", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "contentType", + "description": "The content type of the specified file. This is an optional parameter.\nThe `application/octet-stream` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setByteStream", + "type": "Normal Function", + "description": "Sets a `Stream` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/octet-stream`. Any existing content-type can\nbe overridden by passing the content-type as an optional parameter.\n", + "parameters": [ + { + "name": "byteStream", + "description": "Byte stream, which needs to be set to the request", + "optional": false, + "type": { + "name": "stream", + "links": [ + { + "category": "external", + "recordName": "stream", + "libraryName": "ballerina/io" + } + ] + } + }, + { + "name": "contentType", + "description": "Content-type to be used with the payload. This is an optional parameter.\nThe `application/octet-stream` is the default value", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setPayload", + "type": "Normal Function", + "description": "Sets the request payload. This method overrides any existing content-type by passing the content-type\nas an optional parameter. If the content type parameter is not provided then the default value derived\nfrom the payload will be used as content-type only when there are no existing content-type header.\n", + "parameters": [ + { + "name": "payload", + "description": "Payload can be of type `string`, `xml`, `byte[]`, `json`, `stream`,\n`Entity[]` (i.e., a set of body parts) or any other value of type `anydata` which will\nbe converted to `json` using the `toJson` method.", + "optional": false, + "type": { + "name": "anydata|mime:Entity[]|stream", + "links": [ + { + "category": "external", + "recordName": "anydata|Entity[]|stream", + "libraryName": "ballerina/mime" + }, + { + "category": "external", + "recordName": "anydata|Entity[]|stream", + "libraryName": "ballerina/io" + } + ] + } + }, + { + "name": "contentType", + "description": "Content-type to be used with the payload. This is an optional parameter", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "addCookies", + "type": "Normal Function", + "description": "Adds cookies to the request.\n", + "parameters": [ + { + "name": "cookiesToAdd", + "description": "Represents the cookies to be added", + "optional": false, + "type": { + "name": "http:Cookie[]", + "links": [ + { + "category": "internal", + "recordName": "Cookie[]" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getCookies", + "type": "Normal Function", + "description": "Gets cookies from the request.\n", + "parameters": [], + "return": { + "type": { + "name": "http:Cookie[]" + } + } + } + ] + }, + { + "name": "RequestCacheControl", + "description": "Configures the cache control directives for an `http:Request`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Configures the cache control directives for an `http:Request`.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:RequestCacheControl" + } + } + }, + { + "name": "buildCacheControlDirectives", + "type": "Normal Function", + "description": "Builds the cache control directives string from the current `http:RequestCacheControl` configurations.\n", + "parameters": [], + "return": { + "type": { + "name": "string" + } + } + } + ] + }, + { + "name": "RequestMessage", + "description": "The types of messages that are accepted by HTTP `client` when sending out the outbound request.", + "type": "Union", + "members": [ + "anydata", + "ballerina/http:2.15.4:Request", + "ballerina/mime:2.12.1:Entity[]", + "stream" + ] + }, + { + "name": "TargetType", + "description": "The types of data values that are expected by the HTTP `client` to return after the data binding operation.", + "type": "Other" + }, + { + "name": "HttpOperation", + "description": "Defines the HTTP operations related to circuit breaker, failover and load balancer.\n\n`FORWARD`: Forward the specified payload\n`GET`: Request a resource\n`POST`: Create a new resource\n`DELETE`: Deletes the specified resource\n`OPTIONS`: Request communication options available\n`PUT`: Replace the target resource\n`PATCH`: Apply partial modification to the resource\n`HEAD`: Identical to `GET` but no resource body should be returned\n`SUBMIT`: Submits a http request and returns an HttpFuture object\n`NONE`: No operation should be performed", + "type": "Union", + "members": [ + "\"FORWARD\"", + "\"GET\"", + "\"POST\"", + "\"DELETE\"", + "\"OPTIONS\"", + "\"PUT\"", + "\"PATCH\"", + "\"HEAD\"", + "\"SUBMIT\"", + "\"NONE\"" + ] + }, + { + "name": "HttpFuture", + "description": "Represents a 'future' that returns as a result of an asynchronous HTTP request submission.\nThis can be used as a reference to fetch the results of the submission.", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents a 'future' that returns as a result of an asynchronous HTTP request submission.\nThis can be used as a reference to fetch the results of the submission.", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:HttpFuture" + } + } + } + ] + }, + { + "name": "Link", + "description": "Represents a server-provided hyperlink", + "type": "Record", + "fields": [ + { + "name": "rel", + "description": "Names the relationship of the linked target to the current representation", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "href", + "description": "Target URL", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "types", + "description": "Expected resource representation media types", + "optional": true, + "type": { + "name": "string[]" + } + }, + { + "name": "methods", + "description": "Allowed resource methods", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:Method[]" + } + }, + { + "name": "", + "description": "Rest field", + "optional": false, + "type": { + "name": "anydata" + } + } + ] + }, + { + "name": "Links", + "description": "Represents available server-provided links", + "type": "Record", + "fields": [ + { + "name": "_links", + "description": "Map of available links", + "optional": false, + "type": { + "name": "map" + } + } + ] + }, + { + "name": "HeaderValue", + "description": "Represents the parsed header value details", + "type": "Record", + "fields": [ + { + "name": "value", + "description": "The header value", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "params", + "description": "Map of header parameters", + "optional": false, + "type": { + "name": "map" + } + } + ] + }, + { + "name": "FailoverClientConfiguration", + "description": "Provides a set of HTTP related configurations and failover related configurations.\nThe following fields are inherited from the other configuration records in addition to the failover client-specific\nconfigs.", + "type": "Record", + "fields": [ + { + "name": "targets", + "description": "The upstream HTTP endpoints among which the incoming HTTP traffic load should be sent on failover", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:TargetService[]" + } + }, + { + "name": "failoverCodes", + "description": "Array of HTTP response status codes for which the failover behaviour should be triggered", + "optional": true, + "type": { + "name": "int[]" + } + }, + { + "name": "interval", + "description": "Failover delay interval in seconds", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "httpVersion", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:HttpVersion", + "links": [ + { + "category": "internal", + "recordName": "HttpVersion" + } + ] + } + }, + { + "name": "http1Settings", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientHttp1Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp1Settings" + } + ] + } + }, + { + "name": "http2Settings", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientHttp2Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp2Settings" + } + ] + } + }, + { + "name": "timeout", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "forwarded", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "followRedirects", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:FollowRedirects?" + } + }, + { + "name": "poolConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:PoolConfiguration?" + } + }, + { + "name": "cache", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CacheConfig", + "links": [ + { + "category": "internal", + "recordName": "CacheConfig" + } + ] + } + }, + { + "name": "compression", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:Compression", + "links": [ + { + "category": "internal", + "recordName": "Compression" + } + ] + } + }, + { + "name": "auth", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientAuthConfig?" + } + }, + { + "name": "circuitBreaker", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CircuitBreakerConfig?" + } + }, + { + "name": "retryConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:RetryConfig?" + } + }, + { + "name": "cookieConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CookieConfig?" + } + }, + { + "name": "responseLimits", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ResponseLimitConfigs", + "links": [ + { + "category": "internal", + "recordName": "ResponseLimitConfigs" + } + ] + } + }, + { + "name": "proxy", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ProxyConfig?" + } + }, + { + "name": "validation", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "socketConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientSocketConfig", + "links": [ + { + "category": "internal", + "recordName": "ClientSocketConfig" + } + ] + } + }, + { + "name": "laxDataBinding", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + } + ] + }, + { + "name": "CircuitState", + "description": "A finite type for modeling the states of the Circuit Breaker. The Circuit Breaker starts in the `CLOSED` state.\nIf any failure thresholds are exceeded during execution, the circuit trips and goes to the `OPEN` state. After\nthe specified timeout period expires, the circuit goes to the `HALF_OPEN` state. If the trial request sent while\nin the `HALF_OPEN` state succeeds, the circuit goes back to the `CLOSED` state.", + "type": "Union", + "members": [ + "\"OPEN\"", + "\"HALF_OPEN\"", + "\"CLOSED\"" + ] + }, + { + "name": "CircuitHealth", + "description": "Maintains the health of the Circuit Breaker.", + "type": "Record", + "fields": [ + { + "name": "lastRequestSuccess", + "description": "Whether last request is success or not", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "totalRequestCount", + "description": "Total request count received within the `RollingWindow`", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "lastUsedBucketId", + "description": "ID of the last bucket used in Circuit Breaker calculations", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "startTime", + "description": "Circuit Breaker start time", + "optional": true, + "type": { + "name": "ballerina/time:2.8.0:Utc", + "links": [ + { + "category": "external", + "recordName": "Utc", + "libraryName": "ballerina/time" + } + ] + } + }, + { + "name": "lastRequestTime", + "description": "The time that the last request received", + "optional": true, + "type": { + "name": "ballerina/time:2.8.0:Utc", + "links": [ + { + "category": "external", + "recordName": "Utc", + "libraryName": "ballerina/time" + } + ] + } + }, + { + "name": "lastErrorTime", + "description": "The time that the last error occurred", + "optional": true, + "type": { + "name": "ballerina/time:2.8.0:Utc", + "links": [ + { + "category": "external", + "recordName": "Utc", + "libraryName": "ballerina/time" + } + ] + } + }, + { + "name": "lastForcedOpenTime", + "description": "The time that circuit forcefully opened at last", + "optional": true, + "type": { + "name": "ballerina/time:2.8.0:Utc", + "links": [ + { + "category": "external", + "recordName": "Utc", + "libraryName": "ballerina/time" + } + ] + } + }, + { + "name": "totalBuckets", + "description": "The discrete time buckets into which the time window is divided", + "optional": true, + "type": { + "name": "(ballerina/http:2.15.4:Bucket?)[]" + } + } + ] + }, + { + "name": "Bucket", + "description": "Represents a discrete sub-part of the time window (Bucket).\n", + "type": "Record", + "fields": [ + { + "name": "totalCount", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "failureCount", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "rejectedCount", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "lastUpdatedTime", + "description": "", + "optional": true, + "type": { + "name": "ballerina/time:2.8.0:Utc", + "links": [ + { + "category": "external", + "recordName": "Utc", + "libraryName": "ballerina/time" + } + ] + } + } + ] + }, + { + "name": "CircuitBreakerInferredConfig", + "description": "Derived set of configurations from the `CircuitBreakerConfig`.\n", + "type": "Record", + "fields": [ + { + "name": "failureThreshold", + "description": "", + "optional": true, + "type": { + "name": "float" + } + }, + { + "name": "resetTime", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "statusCodes", + "description": "", + "optional": true, + "type": { + "name": "int[]" + } + }, + { + "name": "noOfBuckets", + "description": "", + "optional": true, + "type": { + "name": "int" + } + }, + { + "name": "rollingWindow", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:RollingWindow", + "links": [ + { + "category": "internal", + "recordName": "RollingWindow" + } + ] + } + } + ] + }, + { + "name": "LoadBalancerRule", + "description": "LoadBalancerRule object type provides a required abstraction to implement different algorithms.", + "type": "Class", + "fields": [] + }, + { + "name": "LoadBalanceClientConfiguration", + "description": "The configurations related to the load balancing client endpoint. The following fields are inherited from the other\nconfiguration records in addition to the load balancing client specific configs.\n", + "type": "Record", + "fields": [ + { + "name": "targets", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:TargetService[]" + } + }, + { + "name": "lbRule", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:LoadBalancerRule?" + } + }, + { + "name": "failover", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "httpVersion", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:HttpVersion", + "links": [ + { + "category": "internal", + "recordName": "HttpVersion" + } + ] + } + }, + { + "name": "http1Settings", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientHttp1Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp1Settings" + } + ] + } + }, + { + "name": "http2Settings", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientHttp2Settings", + "links": [ + { + "category": "internal", + "recordName": "ClientHttp2Settings" + } + ] + } + }, + { + "name": "timeout", + "description": "", + "optional": true, + "type": { + "name": "decimal" + } + }, + { + "name": "forwarded", + "description": "", + "optional": true, + "type": { + "name": "string" + } + }, + { + "name": "followRedirects", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:FollowRedirects?" + } + }, + { + "name": "poolConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:PoolConfiguration?" + } + }, + { + "name": "cache", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CacheConfig", + "links": [ + { + "category": "internal", + "recordName": "CacheConfig" + } + ] + } + }, + { + "name": "compression", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:Compression", + "links": [ + { + "category": "internal", + "recordName": "Compression" + } + ] + } + }, + { + "name": "auth", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientAuthConfig?" + } + }, + { + "name": "circuitBreaker", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CircuitBreakerConfig?" + } + }, + { + "name": "retryConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:RetryConfig?" + } + }, + { + "name": "cookieConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:CookieConfig?" + } + }, + { + "name": "responseLimits", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ResponseLimitConfigs", + "links": [ + { + "category": "internal", + "recordName": "ResponseLimitConfigs" + } + ] + } + }, + { + "name": "proxy", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ProxyConfig?" + } + }, + { + "name": "validation", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + }, + { + "name": "socketConfig", + "description": "", + "optional": true, + "type": { + "name": "ballerina/http:2.15.4:ClientSocketConfig", + "links": [ + { + "category": "internal", + "recordName": "ClientSocketConfig" + } + ] + } + }, + { + "name": "laxDataBinding", + "description": "", + "optional": true, + "type": { + "name": "boolean" + } + } + ] + }, + { + "name": "HttpCache", + "description": "Creates the HTTP cache.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Creates the HTTP cache.\n", + "parameters": [ + { + "name": "cacheConfig", + "description": "The configurations for the HTTP cache", + "optional": false, + "type": { + "name": "http:CacheConfig", + "links": [ + { + "category": "internal", + "recordName": "CacheConfig" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:HttpCache" + } + } + } + ] + }, + { + "name": "Cookie", + "description": "Initializes the `http:Cookie` object.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Initializes the `http:Cookie` object.\n", + "parameters": [ + { + "name": "name", + "description": "Name of the `http:Cookie`", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "value", + "description": "Value of the `http:Cookie`", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "path", + "description": "URI path to which the cookie belongs", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "domain", + "description": "Host to which the cookie will be sent", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "expires", + "description": "Maximum lifetime of the cookie represented as the date and time at which the cookie expires", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "maxAge", + "description": "Maximum lifetime of the cookie represented as the number of seconds until the cookie expires", + "optional": true, + "default": "0", + "type": { + "name": "int" + } + }, + { + "name": "httpOnly", + "description": "Cookie is sent only to HTTP requests", + "optional": true, + "default": "false", + "type": { + "name": "boolean" + } + }, + { + "name": "secure", + "description": "Cookie is sent only to secure channels", + "optional": true, + "default": "false", + "type": { + "name": "boolean" + } + }, + { + "name": "createdTime", + "description": "At what time the cookie was created", + "optional": true, + "default": "[0, 0.0d]", + "type": { + "name": "time:Utc", + "links": [ + { + "category": "external", + "recordName": "Utc", + "libraryName": "ballerina/time" + } + ] + } + }, + { + "name": "lastAccessedTime", + "description": "Last-accessed time of the cookie", + "optional": true, + "default": "[0, 0.0d]", + "type": { + "name": "time:Utc", + "links": [ + { + "category": "external", + "recordName": "Utc", + "libraryName": "ballerina/time" + } + ] + } + }, + { + "name": "hostOnly", + "description": "Cookie is sent only to the requested host", + "optional": true, + "default": "false", + "type": { + "name": "boolean" + } + }, + { + "name": "options", + "description": "The options to be used when initializing the `http:Cookie`", + "optional": true, + "type": { + "name": "http:CookieOptions", + "links": [ + { + "category": "internal", + "recordName": "CookieOptions" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:Cookie" + } + } + }, + { + "name": "isPersistent", + "type": "Normal Function", + "description": "Checks the persistence of the cookie.\n", + "parameters": [], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "isValid", + "type": "Normal Function", + "description": "Checks the validity of the attributes of the cookie.\n", + "parameters": [], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "toStringValue", + "type": "Normal Function", + "description": "Gets the Cookie object in its string representation to be used in the ‘Set-Cookie’ header of the response.\n", + "parameters": [], + "return": { + "type": { + "name": "string" + } + } + } + ] + }, + { + "name": "CookieStore", + "description": "", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "", + "parameters": [ + { + "name": "persistentCookieHandler", + "optional": true, + "default": "()", + "type": { + "name": "http:PersistentCookieHandler|()", + "links": [ + { + "category": "internal", + "recordName": "PersistentCookieHandler|()" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:CookieStore" + } + } + }, + { + "name": "addCookie", + "type": "Normal Function", + "description": "Adds a cookie to the cookie store according to the rules in [RFC-6265](https://tools.ietf.org/html/rfc6265#section-5.3).\n", + "parameters": [ + { + "name": "cookie", + "description": "Cookie to be added", + "optional": false, + "type": { + "name": "http:Cookie", + "links": [ + { + "category": "internal", + "recordName": "Cookie" + } + ] + } + }, + { + "name": "cookieConfig", + "description": "Configurations associated with the cookies", + "optional": false, + "type": { + "name": "http:CookieConfig", + "links": [ + { + "category": "internal", + "recordName": "CookieConfig" + } + ] + } + }, + { + "name": "url", + "description": "Target service URL", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "requestPath", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "addCookies", + "type": "Normal Function", + "description": "Adds an array of cookies.\n", + "parameters": [ + { + "name": "cookiesInResponse", + "description": "Cookies to be added", + "optional": false, + "type": { + "name": "http:Cookie[]", + "links": [ + { + "category": "internal", + "recordName": "Cookie[]" + } + ] + } + }, + { + "name": "cookieConfig", + "description": "Configurations associated with the cookies", + "optional": false, + "type": { + "name": "http:CookieConfig", + "links": [ + { + "category": "internal", + "recordName": "CookieConfig" + } + ] + } + }, + { + "name": "url", + "description": "Target service URL", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "requestPath", + "description": "Resource path", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getCookies", + "type": "Normal Function", + "description": "Gets the relevant cookies for the given URL and the path according to the rules in [RFC-6265](https://tools.ietf.org/html/rfc6265#section-5.4).\n", + "parameters": [ + { + "name": "url", + "description": "URL of the request URI", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "requestPath", + "description": "Path of the request URI", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "http:Cookie[]" + } + } + }, + { + "name": "getAllCookies", + "type": "Normal Function", + "description": "Gets all the cookies in the cookie store.\n", + "parameters": [], + "return": { + "type": { + "name": "http:Cookie[]" + } + } + }, + { + "name": "getCookiesByName", + "type": "Normal Function", + "description": "Gets all the cookies, which have the given name as the name of the cookie.\n", + "parameters": [ + { + "name": "cookieName", + "description": "Name of the cookie", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "http:Cookie[]" + } + } + }, + { + "name": "getCookiesByDomain", + "type": "Normal Function", + "description": "Gets all the cookies, which have the given name as the domain of the cookie.\n", + "parameters": [ + { + "name": "domain", + "description": "Name of the domain", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "http:Cookie[]" + } + } + }, + { + "name": "removeCookie", + "type": "Normal Function", + "description": "Removes a specific cookie.\n", + "parameters": [ + { + "name": "name", + "description": "Name of the cookie to be removed", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "domain", + "description": "Domain of the cookie to be removed", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "path", + "description": "Path of the cookie to be removed", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "removeCookiesByDomain", + "type": "Normal Function", + "description": "Removes cookies, which match with the given domain.\n", + "parameters": [ + { + "name": "domain", + "description": "Domain of the cookie to be removed", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "removeExpiredCookies", + "type": "Normal Function", + "description": "Removes all expired cookies.\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "removeAllCookies", + "type": "Normal Function", + "description": "Removes all the cookies.\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "CsvPersistentCookieHandler", + "description": "", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "", + "parameters": [ + { + "name": "fileName", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "ballerina/http:CsvPersistentCookieHandler" + } + } + }, + { + "name": "storeCookie", + "type": "Normal Function", + "description": "Adds a persistent cookie to the cookie store.\n", + "parameters": [ + { + "name": "cookie", + "description": "Cookie to be added", + "optional": false, + "type": { + "name": "http:Cookie", + "links": [ + { + "category": "internal", + "recordName": "Cookie" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getAllCookies", + "type": "Normal Function", + "description": "Gets all the persistent cookies.\n", + "parameters": [], + "return": { + "type": { + "name": "http:Cookie[]" + } + } + }, + { + "name": "removeCookie", + "type": "Normal Function", + "description": "Removes a specific persistent cookie.\n", + "parameters": [ + { + "name": "name", + "description": "Name of the persistent cookie to be removed", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "domain", + "description": "Domain of the persistent cookie to be removed", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "path", + "description": "Path of the persistent cookie to be removed", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "removeAllCookies", + "type": "Normal Function", + "description": "Removes all persistent cookies.\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "PushPromise", + "description": "Constructs an `http:PushPromise` from a given path and a method.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Constructs an `http:PushPromise` from a given path and a method.\n", + "parameters": [ + { + "name": "path", + "description": "The resource path", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "method", + "description": "The HTTP method", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "ballerina/http:PushPromise" + } + } + }, + { + "name": "hasHeader", + "type": "Normal Function", + "description": "Checks whether the requested header exists.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "getHeader", + "type": "Normal Function", + "description": "Returns the header value with the specified header name.\nIf there are more than one header value for the specified header name, the first value is returned.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "string" + } + } + }, + { + "name": "getHeaders", + "type": "Normal Function", + "description": "Gets transport headers from the `PushPromise`.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "string[]" + } + } + }, + { + "name": "addHeader", + "type": "Normal Function", + "description": "Adds the specified key/value pair as an HTTP header to the `http:PushPromise`. In the case of the `Content-Type`\nheader, the existing value is replaced with the specified value.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headerValue", + "description": "The header value", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "setHeader", + "type": "Normal Function", + "description": "Sets the value of a transport header in the `http:PushPromise`.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "headerValue", + "description": "The header value", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "removeHeader", + "type": "Normal Function", + "description": "Removes a transport header from the `http:PushPromise`.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "removeAllHeaders", + "type": "Normal Function", + "description": "Removes all transport headers from the `http:PushPromise`.", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getHeaderNames", + "type": "Normal Function", + "description": "Gets all transport header names from the `http:PushPromise`.\n", + "parameters": [], + "return": { + "type": { + "name": "string[]" + } + } + } + ] + }, + { + "name": "Headers", + "description": "Represents the headers of the inbound request.", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents the headers of the inbound request.", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:Headers" + } + } + }, + { + "name": "hasHeader", + "type": "Normal Function", + "description": "Checks whether the requested header key exists in the header map.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "getHeader", + "type": "Normal Function", + "description": "Returns the value of the specified header. If the specified header key maps to multiple values, the first of\nthese values is returned.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "string" + } + } + }, + { + "name": "getHeaders", + "type": "Normal Function", + "description": "Gets all the header values to which the specified header key maps to.\n", + "parameters": [ + { + "name": "headerName", + "description": "The header name", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "string[]" + } + } + }, + { + "name": "getHeaderNames", + "type": "Normal Function", + "description": "Gets all the names of the headers of the request.\n", + "parameters": [], + "return": { + "type": { + "name": "string[]" + } + } + } + ] + }, + { + "name": "RequestContext", + "description": "Represents an HTTP Context that allows user to pass data between interceptors.", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Represents an HTTP Context that allows user to pass data between interceptors.", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:RequestContext" + } + } + }, + { + "name": "set", + "type": "Normal Function", + "description": "Sets a member to the request context object.\n", + "parameters": [ + { + "name": "key", + "description": "Represents the member key", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "value", + "description": "Represents the member value", + "optional": false, + "type": { + "name": "http:ReqCtxMember", + "links": [ + { + "category": "internal", + "recordName": "ReqCtxMember" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "get", + "type": "Normal Function", + "description": "Gets a member value from the request context object. It panics if there is no such member.\n", + "parameters": [ + { + "name": "key", + "description": "Represents the member key", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "http:ReqCtxMember" + } + } + }, + { + "name": "hasKey", + "type": "Normal Function", + "description": "Checks whether the request context object has a member corresponds to the key.\n", + "parameters": [ + { + "name": "key", + "description": "Represents the member key", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "keys", + "type": "Normal Function", + "description": "Returns the member keys of the request context object.\n", + "parameters": [], + "return": { + "type": { + "name": "string[]" + } + } + }, + { + "name": "getWithType", + "type": "Normal Function", + "description": "Gets a member value with type from the request context object.\n", + "parameters": [ + { + "name": "key", + "description": "Represents the member key", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "targetType", + "description": "Represents the expected type of the member value", + "optional": true, + "default": "http:ReqCtxMember", + "type": { + "name": "any & readonly|xml|http:Cloneable[]|map|table>|isolated object {}", + "links": [ + { + "category": "internal", + "recordName": "ReqCtxMember" + } + ] + } + } + ], + "return": { + "type": { + "name": "targetType" + } + } + }, + { + "name": "remove", + "type": "Normal Function", + "description": "Removes a member from the request context object. It panics if there is no such member.\n", + "parameters": [ + { + "name": "key", + "description": "Represents the member key", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "next", + "type": "Normal Function", + "description": "Calls the next service in the interceptor pipeline.\n", + "parameters": [], + "return": { + "type": { + "name": "http:RequestInterceptor|http:ResponseInterceptor|http:Service|()" + } + } + } + ] + }, + { + "name": "Listener", + "description": "Gets invoked during module initialization to initialize the listener.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Gets invoked during module initialization to initialize the listener.\n", + "parameters": [ + { + "name": "port", + "description": "Listening port of the HTTP service listener", + "optional": false, + "type": { + "name": "int" + } + }, + { + "name": "host", + "description": "The host name/IP of the endpoint", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "http1Settings", + "description": "Configurations related to HTTP/1.x protocol", + "optional": true, + "default": "{}", + "type": { + "name": "http:ListenerHttp1Settings", + "links": [ + { + "category": "internal", + "recordName": "ListenerHttp1Settings" + } + ] + } + }, + { + "name": "secureSocket", + "description": "The SSL configurations for the service endpoint. This needs to be configured in order to\ncommunicate through HTTPS.", + "optional": true, + "default": "()", + "type": { + "name": "http:ListenerSecureSocket|()", + "links": [ + { + "category": "internal", + "recordName": "ListenerSecureSocket|()" + } + ] + } + }, + { + "name": "httpVersion", + "description": "Highest HTTP version supported by the endpoint", + "optional": true, + "default": "\"2.0\"", + "type": { + "name": "http:HttpVersion", + "links": [ + { + "category": "internal", + "recordName": "HttpVersion" + } + ] + } + }, + { + "name": "timeout", + "description": "Period of time in seconds that a connection waits for a read/write operation. Use value 0 to\ndisable timeout", + "optional": true, + "default": "0.0d", + "type": { + "name": "decimal" + } + }, + { + "name": "server", + "description": "The server name which should appear as a response header", + "optional": true, + "default": "()", + "type": { + "name": "string|()" + } + }, + { + "name": "requestLimits", + "description": "Configurations associated with inbound request size limits", + "optional": true, + "default": "{}", + "type": { + "name": "http:RequestLimitConfigs", + "links": [ + { + "category": "internal", + "recordName": "RequestLimitConfigs" + } + ] + } + }, + { + "name": "gracefulStopTimeout", + "description": "Grace period of time in seconds for listener gracefulStop", + "optional": true, + "default": "0.0d", + "type": { + "name": "decimal" + } + }, + { + "name": "socketConfig", + "description": "Provides settings related to server socket configuration", + "optional": true, + "default": "{}", + "type": { + "name": "http:ServerSocketConfig", + "links": [ + { + "category": "internal", + "recordName": "ServerSocketConfig" + } + ] + } + }, + { + "name": "http2InitialWindowSize", + "description": "Configuration to change the initial window size in HTTP/2", + "optional": true, + "default": "0", + "type": { + "name": "int" + } + }, + { + "name": "minIdleTimeInStaleState", + "description": "Minimum time in seconds for a connection to be kept open which has received a GOAWAY.\nThis only applies for HTTP/2. Default value is 5 minutes. If the value is set to -1,\nthe connection will be closed after all in-flight streams are completed", + "optional": true, + "default": "0.0d", + "type": { + "name": "decimal" + } + }, + { + "name": "timeBetweenStaleEviction", + "description": "Time between the connection stale eviction runs in seconds. This only applies for HTTP/2.\nDefault value is 30 seconds", + "optional": true, + "default": "0.0d", + "type": { + "name": "decimal" + } + }, + { + "name": "config", + "description": "Configurations for the HTTP service listener", + "optional": true, + "type": { + "name": "http:ListenerConfiguration", + "links": [ + { + "category": "internal", + "recordName": "ListenerConfiguration" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/http:Listener" + } + } + }, + { + "name": "'start", + "type": "Normal Function", + "description": "Starts the registered service programmatically.\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "gracefulStop", + "type": "Normal Function", + "description": "Stops the service listener gracefully. Already-accepted requests will be served before connection closure.\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "immediateStop", + "type": "Normal Function", + "description": "Stops the service listener immediately. It is not implemented yet.\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "attach", + "type": "Normal Function", + "description": "Attaches a service to the listener.\n", + "parameters": [ + { + "name": "httpService", + "description": "The service that needs to be attached", + "optional": false, + "type": { + "name": "http:Service", + "links": [ + { + "category": "internal", + "recordName": "Service" + } + ] + } + }, + { + "name": "name", + "description": "Name of the service", + "optional": true, + "default": "()", + "type": { + "name": "string[]|string|()" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "detach", + "type": "Normal Function", + "description": "Detaches an HTTP service from the listener.\n", + "parameters": [ + { + "name": "httpService", + "description": "The service to be detached", + "optional": false, + "type": { + "name": "http:Service", + "links": [ + { + "category": "internal", + "recordName": "Service" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getPort", + "type": "Normal Function", + "description": "Retrieves the port of the HTTP listener.\n", + "parameters": [], + "return": { + "type": { + "name": "int" + } + } + }, + { + "name": "getConfig", + "type": "Normal Function", + "description": "Retrieves the `InferredListenerConfiguration` of the HTTP listener.\n", + "parameters": [], + "return": { + "type": { + "name": "http:InferredListenerConfiguration & readonly" + } + } + } + ] + }, + { + "name": "LoadBalancerRoundRobinRule", + "description": "Implementation of round robin load balancing strategy.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Implementation of round robin load balancing strategy.\n", + "parameters": [], + "return": { + "type": { + "name": "ballerina/http:LoadBalancerRoundRobinRule" + } + } + }, + { + "name": "getNextClient", + "type": "Normal Function", + "description": "Provides an HTTP client, which is chosen according to the round robin algorithm.\n", + "parameters": [ + { + "name": "loadBalanceCallerActionsArray", + "description": "Array of HTTP clients, which needs to be load balanced", + "optional": false, + "type": { + "name": "(http:Client?)[]", + "links": [ + { + "category": "internal", + "recordName": "Client|()[]" + } + ] + } + } + ], + "return": { + "type": { + "name": "http:Client" + } + } + } + ] + } + ], + "services": [ + { + "type": "generic", + "instructions": "", + "listener": { + "name": "Listener", + "parameters": [ + { + "name": "port", + "description": "Listening port of the HTTP service listener", + "type": { + "name": "int" + } + } + ] + } + } + ] + }, + { + "name": "ballerina/io", + "description": "This module provides file read/write APIs and console print/read APIs. The file APIs allow read and write operations on different kinds of file types such as bytes, text, CSV, JSON, and XML. Further, these file APIs can be categorized as streaming and non-streaming APIs.", + "clients": [], + "functions": [ + { + "name": "fileReadBytes", + "type": "Normal Function", + "description": "Read the entire file content as a byte array.\n```ballerina\nbyte[]|io:Error content = io:fileReadBytes(\"./resources/myfile.txt\");\n```", + "parameters": [ + { + "name": "path", + "description": "The path of the file", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "byte[] & readonly" + } + } + }, + { + "name": "fileReadBlocksAsStream", + "type": "Normal Function", + "description": "Read the entire file content as a stream of blocks.\n```ballerina\nstream|io:Error content = io:fileReadBlocksAsStream(\"./resources/myfile.txt\", 1000);\n```", + "parameters": [ + { + "name": "path", + "description": "The path of the file", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "blockSize", + "description": "An optional size of the byte block. The default size is 4KB", + "optional": true, + "default": "0", + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "stream" + } + } + }, + { + "name": "fileWriteBytes", + "type": "Normal Function", + "description": "Write a set of bytes to a file.\n```ballerina\nbyte[] content = [60, 78, 39, 28];\nio:Error? result = io:fileWriteBytes(\"./resources/myfile.txt\", content);\n```", + "parameters": [ + { + "name": "path", + "description": "The path of the file", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "content", + "description": "Byte content to write", + "optional": false, + "type": { + "name": "byte[]" + } + }, + { + "name": "option", + "description": "To indicate whether to overwrite or append the given content", + "optional": true, + "default": "\"APPEND\"", + "type": { + "name": "io:FileWriteOption", + "links": [ + { + "category": "internal", + "recordName": "FileWriteOption" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "fileWriteBlocksFromStream", + "type": "Normal Function", + "description": "Write a byte stream to a file.\n```ballerina\nbyte[] content = [[60, 78, 39, 28]];\nstream byteStream = content.toStream();\nio:Error? result = io:fileWriteBlocksFromStream(\"./resources/myfile.txt\", byteStream);\n```", + "parameters": [ + { + "name": "path", + "description": "The path of the file", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "byteStream", + "description": "Byte stream to write", + "optional": false, + "type": { + "name": "stream", + "links": [ + { + "category": "internal", + "recordName": "stream" + } + ] + } + }, + { + "name": "option", + "description": "To indicate whether to overwrite or append the given content", + "optional": true, + "default": "\"APPEND\"", + "type": { + "name": "io:FileWriteOption", + "links": [ + { + "category": "internal", + "recordName": "FileWriteOption" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "fileReadCsv", + "type": "Normal Function", + "description": "Read file content as a CSV.\nWhen the expected data type is record[], the first entry of the csv file should contain matching headers.\n```ballerina\nstring[][]|io:Error content = io:fileReadCsv(\"./resources/myfile.csv\");\nrecord{}[]|io:Error content = io:fileReadCsv(\"./resources/myfile.csv\");\n```", + "parameters": [ + { + "name": "path", + "description": "The CSV file path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "skipHeaders", + "description": "Number of headers, which should be skipped prior to reading records", + "optional": true, + "default": "0", + "type": { + "name": "int" + } + }, + { + "name": "returnType", + "description": "The type of the return value (string[] or a Ballerina record)", + "optional": true, + "default": "string[]|map", + "type": { + "name": "string[]|map" + } + } + ], + "return": { + "type": { + "name": "returnType[]" + } + } + }, + { + "name": "fileReadCsvAsStream", + "type": "Normal Function", + "description": "Read file content as a CSV.\nWhen the expected data type is stream,\nthe first entry of the csv file should contain matching headers.\n```ballerina\nstream|io:Error content = io:fileReadCsvAsStream(\"./resources/myfile.csv\");\n```", + "parameters": [ + { + "name": "path", + "description": "The CSV file path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "returnType", + "description": "The type of the return value (string[] or a Ballerina record)", + "optional": true, + "default": "string[]|map", + "type": { + "name": "string[]|map" + } + } + ], + "return": { + "type": { + "name": "stream" + } + } + }, + { + "name": "fileWriteCsv", + "type": "Normal Function", + "description": "Write CSV content to a file.\nWhen the input is a record[] type in `OVERWRITE`, headers will be written to the CSV file by default.\nFor `APPEND`, order of the existing csv file is inferred using the headers and used as the order.\n```ballerina\ntype Coord record {int x;int y;};\nCoord[] contentRecord = [{x: 1,y: 2},{x: 1,y: 2}]\nstring[][] content = [[\"Anne\", \"Johnson\", \"SE\"], [\"John\", \"Cameron\", \"QA\"]];\nio:Error? result = io:fileWriteCsv(\"./resources/myfile.csv\", content);\nio:Error? resultRecord = io:fileWriteCsv(\"./resources/myfileRecord.csv\", contentRecord);\n```", + "parameters": [ + { + "name": "path", + "description": "The CSV file path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "content", + "description": "CSV content as an array of string arrays or a array of Ballerina records", + "optional": false, + "type": { + "name": "string[][]|map[]" + } + }, + { + "name": "option", + "description": "To indicate whether to overwrite or append the given content", + "optional": true, + "default": "\"APPEND\"", + "type": { + "name": "io:FileWriteOption", + "links": [ + { + "category": "internal", + "recordName": "FileWriteOption" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "fileWriteCsvFromStream", + "type": "Normal Function", + "description": "Write CSV record stream to a file.\nWhen the input is a `stream` in `OVERWRITE`, headers will be written to the CSV file by default.\nFor `APPEND`, order of the existing csv file is inferred using the headers and used as the order.\n```ballerina\ntype Coord record {int x;int y;};\nCoord[] contentRecord = [{x: 1,y: 2},{x: 1,y: 2}]\nstring[][] content = [[\"Anne\", \"Johnson\", \"SE\"], [\"John\", \"Cameron\", \"QA\"]];\nstream stringStream = content.toStream();\nstream recordStream = contentRecord.toStream();\nio:Error? result = io:fileWriteCsvFromStream(\"./resources/myfile.csv\", stringStream);\nio:Error? resultRecord = io:fileWriteCsvFromStream(\"./resources/myfileRecord.csv\", recordStream);\n```", + "parameters": [ + { + "name": "path", + "description": "The CSV file path", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "content", + "description": "A CSV record stream to be written", + "optional": false, + "type": { + "name": "stream, io:Error?>", + "links": [ + { + "category": "internal", + "recordName": "stream, ballerina/io:1.8.0:Error?>" + } + ] + } + }, + { + "name": "option", + "description": "To indicate whether to overwrite or append the given content", + "optional": true, + "default": "\"APPEND\"", + "type": { + "name": "io:FileWriteOption", + "links": [ + { + "category": "internal", + "recordName": "FileWriteOption" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "fileReadString", + "type": "Normal Function", + "description": "Reads the entire file content as a `string`.\nThe resulting string output does not contain the terminal carriage (e.g., `\\r` or `\\n`).\n```ballerina\nstring|io:Error content = io:fileReadString(\"./resources/myfile.txt\");\n```", + "parameters": [ + { + "name": "path", + "description": "The path of the file", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "string" + } + } + }, + { + "name": "fileReadLines", + "type": "Normal Function", + "description": "Reads the entire file content as a list of lines.\nThe resulting string array does not contain the terminal carriage (e.g., `\\r` or `\\n`).\n```ballerina\nstring[]|io:Error content = io:fileReadLines(\"./resources/myfile.txt\");\n```", + "parameters": [ + { + "name": "path", + "description": "The path of the file", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "string[]" + } + } + }, + { + "name": "fileReadLinesAsStream", + "type": "Normal Function", + "description": "Reads file content as a stream of lines.\nThe resulting stream does not contain the terminal carriage (e.g., `\\r` or `\\n`).\n```ballerina\nstream|io:Error content = io:fileReadLinesAsStream(\"./resources/myfile.txt\");\n```", + "parameters": [ + { + "name": "path", + "description": "The path of the file", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "stream" + } + } + }, + { + "name": "fileReadJson", + "type": "Normal Function", + "description": "Reads file content as a JSON.\n```ballerina\njson|io:Error content = io:fileReadJson(\"./resources/myfile.json\");\n```", + "parameters": [ + { + "name": "path", + "description": "The path of the JSON file", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "json" + } + } + }, + { + "name": "fileReadXml", + "type": "Normal Function", + "description": "Reads file content as an XML.\n```ballerina\nxml|io:Error content = io:fileReadXml(\"./resources/myfile.xml\");\n```", + "parameters": [ + { + "name": "path", + "description": "The path of the XML file", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "xml" + } + } + }, + { + "name": "fileWriteString", + "type": "Normal Function", + "description": "Write a string content to a file.\n```ballerina\nstring content = \"Hello Universe..!!\";\nio:Error? result = io:fileWriteString(\"./resources/myfile.txt\", content);\n```", + "parameters": [ + { + "name": "path", + "description": "The path of the file", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "content", + "description": "String content to write", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "option", + "description": "To indicate whether to overwrite or append the given content", + "optional": true, + "default": "\"APPEND\"", + "type": { + "name": "io:FileWriteOption", + "links": [ + { + "category": "internal", + "recordName": "FileWriteOption" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "fileWriteLines", + "type": "Normal Function", + "description": "Write an array of lines to a file.\nDuring the writing operation, a newline character `\\n` will be added after each line.\n```ballerina\nstring[] content = [\"Hello Universe..!!\", \"How are you?\"];\nio:Error? result = io:fileWriteLines(\"./resources/myfile.txt\", content);\n```", + "parameters": [ + { + "name": "path", + "description": "The path of the file", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "content", + "description": "An array of string lines to write", + "optional": false, + "type": { + "name": "string[]" + } + }, + { + "name": "option", + "description": "To indicate whether to overwrite or append the given content", + "optional": true, + "default": "\"APPEND\"", + "type": { + "name": "io:FileWriteOption", + "links": [ + { + "category": "internal", + "recordName": "FileWriteOption" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "fileWriteLinesFromStream", + "type": "Normal Function", + "description": "Write stream of lines to a file.\nDuring the writing operation, a newline character `\\n` will be added after each line.\n```ballerina\nstring content = [\"Hello Universe..!!\", \"How are you?\"];\nstream lineStream = content.toStream();\nio:Error? result = io:fileWriteLinesFromStream(\"./resources/myfile.txt\", lineStream);\n```", + "parameters": [ + { + "name": "path", + "description": "The path of the file", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "lineStream", + "description": "A stream of lines to write", + "optional": false, + "type": { + "name": "stream", + "links": [ + { + "category": "internal", + "recordName": "stream" + } + ] + } + }, + { + "name": "option", + "description": "To indicate whether to overwrite or append the given content", + "optional": true, + "default": "\"APPEND\"", + "type": { + "name": "io:FileWriteOption", + "links": [ + { + "category": "internal", + "recordName": "FileWriteOption" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "fileWriteJson", + "type": "Normal Function", + "description": "Write a JSON to a file.\n```ballerina\njson content = {\"name\": \"Anne\", \"age\": 30};\nio:Error? result = io:fileWriteJson(\"./resources/myfile.json\", content);\n```", + "parameters": [ + { + "name": "path", + "description": "The path of the JSON file", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "content", + "description": "JSON content to write", + "optional": false, + "type": { + "name": "json" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "fileWriteXml", + "type": "Normal Function", + "description": "Write XML content to a file.\n```ballerina\nxml content = xml `The Lost World`;\nio:Error? result = io:fileWriteXml(\"./resources/myfile.xml\", content);\n```", + "parameters": [ + { + "name": "path", + "description": "The path of the XML file", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "content", + "description": "XML content to write", + "optional": false, + "type": { + "name": "xml" + } + }, + { + "name": "fileWriteOption", + "description": "File write option (`OVERWRITE` and `APPEND` are the possible values and the default value is `OVERWRITE`)", + "optional": true, + "default": "\"APPEND\"", + "type": { + "name": "io:FileWriteOption", + "links": [ + { + "category": "internal", + "recordName": "FileWriteOption" + } + ] + } + }, + { + "name": "xmlEntityType", + "description": "The entity type of the XML input (the default value is `DOCUMENT_ENTITY`)", + "optional": true, + "default": "\"EXTERNAL_PARSED_ENTITY\"", + "type": { + "name": "io:XmlEntityType", + "links": [ + { + "category": "internal", + "recordName": "XmlEntityType" + } + ] + } + }, + { + "name": "doctype", + "description": "XML DOCTYPE value (the default value is `()`)", + "optional": true, + "default": "()", + "type": { + "name": "io:XmlDoctype|()", + "links": [ + { + "category": "internal", + "recordName": "XmlDoctype|()" + } + ] + } + }, + { + "name": "xmlOptions", + "description": "XML writing options (XML entity type and DOCTYPE)", + "optional": true, + "type": { + "name": "io:XmlWriteOptions", + "links": [ + { + "category": "internal", + "recordName": "XmlWriteOptions" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "openReadableFile", + "type": "Normal Function", + "description": "Retrieves a `ReadableByteChannel` from a given file path.\n```ballerina\nio:ReadableByteChannel readableFieldResult = check io:openReadableFile(\"./files/sample.txt\");\n```\n", + "parameters": [ + { + "name": "path", + "description": "Relative/absolute path string to locate the file", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "io:ReadableByteChannel" + } + } + }, + { + "name": "openWritableFile", + "type": "Normal Function", + "description": "Retrieves a `WritableByteChannel` from a given file path.\n```ballerina\nio:WritableByteChannel writableFileResult = check io:openWritableFile(\"./files/sampleResponse.txt\");\n```\n", + "parameters": [ + { + "name": "path", + "description": "Relative/absolute path string to locate the file", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "option", + "description": "To indicate whether to overwrite or append the given content", + "optional": true, + "default": "\"APPEND\"", + "type": { + "name": "io:FileWriteOption", + "links": [ + { + "category": "internal", + "recordName": "FileWriteOption" + } + ] + } + } + ], + "return": { + "type": { + "name": "io:WritableByteChannel" + } + } + }, + { + "name": "createReadableChannel", + "type": "Normal Function", + "description": "Creates an in-memory channel, which will be a reference stream of bytes.\n```ballerina\nvar byteChannel = io:createReadableChannel(content);\n```\n", + "parameters": [ + { + "name": "content", + "description": "Content, which should be exposed as a channel", + "optional": false, + "type": { + "name": "byte[]" + } + } + ], + "return": { + "type": { + "name": "io:ReadableByteChannel" + } + } + }, + { + "name": "openReadableCsvFile", + "type": "Normal Function", + "description": "Retrieves a readable CSV channel from a given file path.\n```ballerina\nio:ReadableCSVChannel rCsvChannel = check io:openReadableCsvFile(srcFileName);\n```\n", + "parameters": [ + { + "name": "path", + "description": "File path, which describes the location of the CSV", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "fieldSeparator", + "description": "CSV record separator (i.e., comma or tab)", + "optional": true, + "default": "\",\"", + "type": { + "name": "io:Separator", + "links": [ + { + "category": "internal", + "recordName": "Separator" + } + ] + } + }, + { + "name": "charset", + "description": "Representation of the encoding characters in the file", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "skipHeaders", + "description": "Number of headers, which should be skipped", + "optional": true, + "default": "0", + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "io:ReadableCSVChannel" + } + } + }, + { + "name": "openWritableCsvFile", + "type": "Normal Function", + "description": "Retrieves a writable CSV channel from a given file path.\n```ballerina\nio:WritableCSVChannel wCsvChannel = check io:openWritableCsvFile(srcFileName);\n```\n", + "parameters": [ + { + "name": "path", + "description": "File path, which describes the location of the CSV", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "fieldSeparator", + "description": "CSV record separator (i.e., comma or tab)", + "optional": true, + "default": "\",\"", + "type": { + "name": "io:Separator", + "links": [ + { + "category": "internal", + "recordName": "Separator" + } + ] + } + }, + { + "name": "charset", + "description": "Representation of the encoding characters in the file", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "skipHeaders", + "description": "Number of headers, which should be skipped", + "optional": true, + "default": "0", + "type": { + "name": "int" + } + }, + { + "name": "option", + "description": "To indicate whether to overwrite or append the given content", + "optional": true, + "default": "\"APPEND\"", + "type": { + "name": "io:FileWriteOption", + "links": [ + { + "category": "internal", + "recordName": "FileWriteOption" + } + ] + } + } + ], + "return": { + "type": { + "name": "io:WritableCSVChannel" + } + } + }, + { + "name": "print", + "type": "Normal Function", + "description": "Prints `any`, `error`, or string templates (such as `The respective int value is ${val}`) value(s) to the `STDOUT`.\n```ballerina\nio:print(\"Start processing the CSV file from \", srcFileName);\n```\n", + "parameters": [ + { + "name": "values", + "description": "The value(s) to be printed", + "optional": true, + "type": { + "name": "io:Printable", + "links": [ + { + "category": "internal", + "recordName": "Printable[]" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "println", + "type": "Normal Function", + "description": "Prints `any`, `error` or string templates(such as `The respective int value is ${val}`) value(s) to the STDOUT\nfollowed by a new line.\n```ballerina\nio:println(\"Start processing the CSV file from \", srcFileName);\n```\n", + "parameters": [ + { + "name": "values", + "description": "The value(s) to be printed", + "optional": true, + "type": { + "name": "io:Printable", + "links": [ + { + "category": "internal", + "recordName": "Printable[]" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "fprint", + "type": "Normal Function", + "description": "Prints `any`, `error`, or string templates(such as `The respective int value is ${val}`) value(s) to\na given stream(STDOUT or STDERR).\n```ballerina\nio:fprint(io:stderr, \"Unexpected error occurred\");\n```", + "parameters": [ + { + "name": "fileOutputStream", + "description": "The output stream (`io:stdout` or `io:stderr`) content needs to be printed", + "optional": false, + "type": { + "name": "io:FileOutputStream", + "links": [ + { + "category": "internal", + "recordName": "FileOutputStream" + } + ] + } + }, + { + "name": "values", + "description": "The value(s) to be printed", + "optional": true, + "type": { + "name": "io:Printable", + "links": [ + { + "category": "internal", + "recordName": "Printable[]" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "fprintln", + "type": "Normal Function", + "description": "Prints `any`, `error`, or string templates(such as `The respective int value is ${val}`) value(s) to\na given stream(STDOUT or STDERR) followed by a new line.\n```ballerina\nio:fprintln(io:stderr, \"Unexpected error occurred\");\n```", + "parameters": [ + { + "name": "fileOutputStream", + "description": "The output stream (`io:stdout` or `io:stderr`) content needs to be printed", + "optional": false, + "type": { + "name": "io:FileOutputStream", + "links": [ + { + "category": "internal", + "recordName": "FileOutputStream" + } + ] + } + }, + { + "name": "values", + "description": "The value(s) to be printed", + "optional": true, + "type": { + "name": "io:Printable", + "links": [ + { + "category": "internal", + "recordName": "Printable[]" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "readln", + "type": "Normal Function", + "description": "Retrieves the input read from the STDIN.\n```ballerina\nstring choice = io:readln(\"Enter choice 1 - 5: \");\nstring choice = io:readln();\n```\n", + "parameters": [ + { + "name": "a", + "description": "Any value to be printed", + "optional": true, + "default": "()", + "type": { + "name": "any|()" + } + } + ], + "return": { + "type": { + "name": "string" + } + } + } + ], + "typeDefs": [ + { + "name": "DEFAULT", + "description": "The default value is the format specified by the CSVChannel. Precedence will be given to the field separator and record separator.", + "type": "Constant", + "value": "default", + "varType": { + "name": "string" + } + }, + { + "name": "CSV", + "description": "Field separator will be \",\" and the record separator will be a new line.", + "type": "Constant", + "value": "csv", + "varType": { + "name": "string" + } + }, + { + "name": "TDF", + "description": "Field separator will be a tab and the record separator will be a new line.", + "type": "Constant", + "value": "tdf", + "varType": { + "name": "string" + } + }, + { + "name": "COMMA", + "description": "Comma (,) will be used as the field separator.", + "type": "Constant", + "value": ",", + "varType": { + "name": "string" + } + }, + { + "name": "TAB", + "description": "Tab (/t) will be use as the field separator.", + "type": "Constant", + "value": "\t", + "varType": { + "name": "string" + } + }, + { + "name": "COLON", + "description": "Colon (:) will be use as the field separator.", + "type": "Constant", + "value": ":", + "varType": { + "name": "string" + } + }, + { + "name": "NEW_LINE", + "description": "New line character.", + "type": "Constant", + "value": "\n", + "varType": { + "name": "string" + } + }, + { + "name": "DEFAULT_ENCODING", + "description": "Default encoding for the abstract read/write APIs.", + "type": "Constant", + "value": "UTF8", + "varType": { + "name": "string" + } + }, + { + "name": "stdout", + "description": "Represents the standard output stream.", + "type": "Constant", + "value": "1", + "varType": { + "name": "int" + } + }, + { + "name": "stderr", + "description": "Represents the standard error stream.", + "type": "Constant", + "value": "2", + "varType": { + "name": "int" + } + }, + { + "name": "CSV_RECORD_SEPARATOR", + "description": "Represents the record separator of the CSV file.", + "type": "Constant", + "value": "\n", + "varType": { + "name": "string" + } + }, + { + "name": "FS_COLON", + "description": "Represents the colon separator, which should be used to identify colon-separated files.", + "type": "Constant", + "value": ":", + "varType": { + "name": "string" + } + }, + { + "name": "MINIMUM_HEADER_COUNT", + "description": "Represents the minimum number of headers, which will be included in the CSV.", + "type": "Constant", + "value": "0", + "varType": { + "name": "int" + } + }, + { + "name": "BIG_ENDIAN", + "description": "Specifies the bytes to be in the order of most significant byte first.", + "type": "Constant", + "value": "BE", + "varType": { + "name": "string" + } + }, + { + "name": "LITTLE_ENDIAN", + "description": "Specifies the byte order to be the least significant byte first.", + "type": "Constant", + "value": "LE", + "varType": { + "name": "string" + } + }, + { + "name": "Block", + "description": "The read-only byte array that is used to read the byte content from the streams.", + "type": "Other" + }, + { + "name": "ReadableByteChannel", + "description": "Adding default init function to prevent object getting initialized from the user code.", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Adding default init function to prevent object getting initialized from the user code.", + "parameters": [], + "return": { + "type": { + "name": "ballerina/io:ReadableByteChannel" + } + } + }, + { + "name": "read", + "type": "Normal Function", + "description": "Source bytes from a given input resource.\nThis operation will be asynchronous in which the total number of required bytes might not be returned at a given\ntime. An `io:EofError` will return once the channel reaches the end.\n```ballerina\nbyte[]|io:Error result = readableByteChannel.read(1000);\n```\n", + "parameters": [ + { + "name": "nBytes", + "description": "A positive integer. Represents the number of bytes, which should be read", + "optional": false, + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "byte[]" + } + } + }, + { + "name": "readAll", + "type": "Normal Function", + "description": "Read all content of the channel as a `byte` array and return a read only `byte` array.\n```ballerina\nbyte[]|io:Error result = readableByteChannel.readAll();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "byte[] & readonly" + } + } + }, + { + "name": "blockStream", + "type": "Normal Function", + "description": "Return a block stream that can be used to read all `byte` blocks as a stream.\n```ballerina\nstream|io:Error result = readableByteChannel.blockStream();\n```", + "parameters": [ + { + "name": "blockSize", + "description": "A positive integer. Size of the block.", + "optional": false, + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "stream" + } + } + }, + { + "name": "base64Encode", + "type": "Normal Function", + "description": "Encodes a given `io:ReadableByteChannel` using the Base64 encoding scheme.\n```ballerina\nio:ReadableByteChannel|Error encodedChannel = readableByteChannel.base64Encode();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "io:ReadableByteChannel" + } + } + }, + { + "name": "base64Decode", + "type": "Normal Function", + "description": "Decodes a given Base64 encoded `io:ReadableByteChannel`.\n```ballerina\nio:ReadableByteChannel|Error encodedChannel = readableByteChannel.base64Decode();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "io:ReadableByteChannel" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "Closes the `io:ReadableByteChannel`.\nAfter a channel is closed, any further reading operations will cause an error.\n```ballerina\nio:Error? err = readableByteChannel.close();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "ReadableCharacterChannel", + "description": "Constructs an `io:ReadableCharacterChannel` from a given `io:ReadableByteChannel` and `Charset`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Constructs an `io:ReadableCharacterChannel` from a given `io:ReadableByteChannel` and `Charset`.\n", + "parameters": [ + { + "name": "byteChannel", + "description": "The `io:ReadableByteChannel`, which would be used to read the characters", + "optional": false, + "type": { + "name": "io:ReadableByteChannel", + "links": [ + { + "category": "internal", + "recordName": "ReadableByteChannel" + } + ] + } + }, + { + "name": "charset", + "description": "The character set, which is used to encode/decode the given bytes to characters", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "ballerina/io:ReadableCharacterChannel" + } + } + }, + { + "name": "read", + "type": "Normal Function", + "description": "Reads a given number of characters. This will attempt to read up to the `numberOfChars` characters of the channel.\nAn `io:EofError` will return once the channel reaches the end.\n```ballerina\nstring|io:Error result = readableCharChannel.read(1000);\n```\n", + "parameters": [ + { + "name": "numberOfChars", + "description": "Number of characters, which should be read", + "optional": false, + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "string" + } + } + }, + { + "name": "readString", + "type": "Normal Function", + "description": "Read the entire channel content as a string.\n```ballerina\nstring|io:Error content = readableCharChannel.readString();\n```", + "parameters": [], + "return": { + "type": { + "name": "string" + } + } + }, + { + "name": "readAllLines", + "type": "Normal Function", + "description": "Read the entire channel content as a list of lines.\n```ballerina\nstring[]|io:Error content = readableCharChannel.readAllLines();\n```", + "parameters": [], + "return": { + "type": { + "name": "string[]" + } + } + }, + { + "name": "readJson", + "type": "Normal Function", + "description": "Reads a JSON from the given channel.\n```ballerina\njson|io:Error result = readableCharChannel.readJson();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "json" + } + } + }, + { + "name": "readXml", + "type": "Normal Function", + "description": "Reads an XML from the given channel.\n```ballerina\njson|io:Error result = readableCharChannel.readXml();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "xml" + } + } + }, + { + "name": "readProperty", + "type": "Normal Function", + "description": "Reads a property from a .properties file with a default value.\n```ballerina\nstring|io:Error result = readableCharChannel.readProperty(key, defaultValue);\n```", + "parameters": [ + { + "name": "key", + "description": "The property key, which needs to be read", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "defaultValue", + "description": "The default value to be returned", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "string" + } + } + }, + { + "name": "lineStream", + "type": "Normal Function", + "description": "Return a stream of lines that can be used to read all the lines in a file as a stream.\n```ballerina\nstream|io:Error? result = readableCharChannel.lineStream();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "stream" + } + } + }, + { + "name": "readAllProperties", + "type": "Normal Function", + "description": "Reads all properties from a .properties file.\n```ballerina\nmap|io:Error result = readableCharChannel.readAllProperties();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "map" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "Closes the character channel.\nAfter a channel is closed, any further reading operations will cause an error.\n```ballerina\nio:Error? err = readableCharChannel.close();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "ReadableTextRecordChannel", + "description": "Constructs a ReadableTextRecordChannel from a given ReadableCharacterChannel.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Constructs a ReadableTextRecordChannel from a given ReadableCharacterChannel.\n", + "parameters": [ + { + "name": "charChannel", + "description": "CharacterChannel which will point to the input/output resource", + "optional": false, + "type": { + "name": "io:ReadableCharacterChannel", + "links": [ + { + "category": "internal", + "recordName": "ReadableCharacterChannel" + } + ] + } + }, + { + "name": "fs", + "description": "Field separator (this could be a regex)", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "rs", + "description": "Record separator (this could be a regex)", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "fmt", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "ballerina/io:ReadableTextRecordChannel" + } + } + }, + { + "name": "hasNext", + "type": "Normal Function", + "description": "Checks whether there is a record left to be read.\n```ballerina\nboolean hasNext = readableRecChannel.hasNext();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "getNext", + "type": "Normal Function", + "description": "Get the next record from the input/output resource.\n```ballerina\nstring[]|io:Error record = readableRecChannel.getNext();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "string[]" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "Closes the record channel.\nAfter a channel is closed, any further reading operations will cause an error.\n```ballerina\nio:Error err = readableRecChannel.close();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "ReadableCSVChannel", + "description": "Constructs a CSV channel from a CharacterChannel to read CSV records.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Constructs a CSV channel from a CharacterChannel to read CSV records.\n", + "parameters": [ + { + "name": "byteChannel", + "description": "The CharacterChannel, which will represent the content in the CSV file", + "optional": false, + "type": { + "name": "io:ReadableCharacterChannel", + "links": [ + { + "category": "internal", + "recordName": "ReadableCharacterChannel" + } + ] + } + }, + { + "name": "fs", + "description": "Field separator, which will separate between the records in the CSV file", + "optional": true, + "default": "\",\"", + "type": { + "name": "io:Separator", + "links": [ + { + "category": "internal", + "recordName": "Separator" + } + ] + } + }, + { + "name": "nHeaders", + "description": "Number of headers, which should be skipped prior to reading records", + "optional": true, + "default": "0", + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "ballerina/io:ReadableCSVChannel" + } + } + }, + { + "name": "skipHeaders", + "type": "Normal Function", + "description": "Skips the given number of headers.\n```ballerina\nreadableCSVChannel.skipHeaders(5);\n```\n", + "parameters": [ + { + "name": "nHeaders", + "description": "The number of headers, which should be skipped", + "optional": false, + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "hasNext", + "type": "Normal Function", + "description": "Indicates whether there's another record, which could be read.\n```ballerina\nboolean hasNext = readableCSVChannel.hasNext();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "getNext", + "type": "Normal Function", + "description": "Gets the next record from the CSV file.\n```ballerina\nstring[]|io:Error? record = readableCSVChannel.getNext();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "string[]|()" + } + } + }, + { + "name": "csvStream", + "type": "Normal Function", + "description": "Returns a CSV record stream that can be used to CSV records as a stream.\n```ballerina\nstream|io:Error? record = readableCSVChannel.csvStream();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "stream" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "Closes the `io:ReadableCSVChannel`.\nAfter a channel is closed, any further reading operations will cause an error.\n```ballerina\nio:Error? err = readableCSVChannel.close();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "getTable", + "type": "Normal Function", + "description": "Returns a table, which corresponds to the CSV records.\n```ballerina\nvar tblResult1 = readableCSVChannel.getTable(Employee);\nvar tblResult2 = readableCSVChannel.getTable(Employee, [\"id\", \"name\"]);\n```\n", + "parameters": [ + { + "name": "structType", + "description": "The object in which the CSV records should be deserialized", + "optional": false, + "type": { + "name": "record {|anydata...;|}" + } + }, + { + "name": "fieldNames", + "description": "The names of the fields used as the (composite) key of the table", + "optional": true, + "default": "[]", + "type": { + "name": "string[]" + } + } + ], + "return": { + "type": { + "name": "table" + } + } + }, + { + "name": "toTable", + "type": "Normal Function", + "description": "Returns a table, which corresponds to the CSV records.\n```ballerina\nvar tblResult = readableCSVChannel.toTable(Employee, [\"id\", \"name\"]);\n```\n", + "parameters": [ + { + "name": "structType", + "description": "The object in which the CSV records should be deserialized", + "optional": false, + "type": { + "name": "record {|anydata...;|}" + } + }, + { + "name": "keyFieldNames", + "description": "The names of the fields used as the (composite) key of the table", + "optional": false, + "type": { + "name": "string[]" + } + } + ], + "return": { + "type": { + "name": "table" + } + } + } + ] + }, + { + "name": "WritableByteChannel", + "description": "Adding default init function to prevent object getting initialized from the user code.", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Adding default init function to prevent object getting initialized from the user code.", + "parameters": [], + "return": { + "type": { + "name": "ballerina/io:WritableByteChannel" + } + } + }, + { + "name": "write", + "type": "Normal Function", + "description": "Sinks bytes from a given input/output resource.\n\nThis is an asynchronous operation. The method might return before writing all the content.\n```ballerina\nint|io:Error result = writableByteChannel.write(record, 0);\n```\n", + "parameters": [ + { + "name": "content", + "description": "Block of bytes to be written", + "optional": false, + "type": { + "name": "byte[]" + } + }, + { + "name": "offset", + "description": "Offset of the provided content, which needs to be kept when writing bytes", + "optional": false, + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "int" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "Closes the byte channel.\nAfter a channel is closed, any further writing operations will cause an error.\n```ballerina\nio:Error err = writableByteChannel.close();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "WritableCharacterChannel", + "description": "Constructs an `io:WritableByteChannel` from a given `io:WritableByteChannel` and `Charset`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Constructs an `io:WritableByteChannel` from a given `io:WritableByteChannel` and `Charset`.\n", + "parameters": [ + { + "name": "bChannel", + "description": "The `io:WritableByteChannel`, which would be used to write the characters", + "optional": false, + "type": { + "name": "io:WritableByteChannel", + "links": [ + { + "category": "internal", + "recordName": "WritableByteChannel" + } + ] + } + }, + { + "name": "charset", + "description": "The character set, which would be used to encode the given bytes to characters", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "ballerina/io:WritableCharacterChannel" + } + } + }, + { + "name": "write", + "type": "Normal Function", + "description": "Writes a given sequence of characters (string).\n```ballerina\nint|io:Error result = writableCharChannel.write(\"Content\", 0);\n```\n", + "parameters": [ + { + "name": "content", + "description": "Content to be written", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "startOffset", + "description": "Number of characters to be offset when writing the content", + "optional": false, + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "int" + } + } + }, + { + "name": "writeLine", + "type": "Normal Function", + "description": "Writes a string as a line with a following newline character `\\n`.\n```ballerina\nio:Error? result = writableCharChannel.writeLine(\"Content\");\n```\n", + "parameters": [ + { + "name": "content", + "description": "Content to be written", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "writeJson", + "type": "Normal Function", + "description": "Writes a given JSON to the given channel.\n```ballerina\nio:Error? err = writableCharChannel.writeJson(inputJson, 0);\n```\n", + "parameters": [ + { + "name": "content", + "description": "The JSON to be written", + "optional": false, + "type": { + "name": "json" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "writeXml", + "type": "Normal Function", + "description": "Writes a given XML to the channel.\n```ballerina\nio:Error? err = writableCharChannel.writeXml(inputXml, 0);\n```\n", + "parameters": [ + { + "name": "content", + "description": "The XML to be written", + "optional": false, + "type": { + "name": "xml" + } + }, + { + "name": "xmlDoctype", + "description": "Optional argument to specify the XML DOCTYPE configurations", + "optional": true, + "default": "()", + "type": { + "name": "io:XmlDoctype|()", + "links": [ + { + "category": "internal", + "recordName": "XmlDoctype|()" + } + ] + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "writeProperties", + "type": "Normal Function", + "description": "Writes a given key-valued pair `map` to a property file.\n```ballerina\nio:Error? err = writableCharChannel.writeProperties(properties);\n```", + "parameters": [ + { + "name": "properties", + "description": "The map that contains keys and values", + "optional": false, + "type": { + "name": "map" + } + }, + { + "name": "comment", + "description": "Comment describing the property list", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "Closes the `io:WritableCharacterChannel`.\nAfter a channel is closed, any further writing operations will cause an error.\n```ballerina\nio:Error err = writableCharChannel.close();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "WritableTextRecordChannel", + "description": "Constructs a DelimitedTextRecordChannel from a given WritableCharacterChannel.", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Constructs a DelimitedTextRecordChannel from a given WritableCharacterChannel.", + "parameters": [ + { + "name": "characterChannel", + "description": "The `io:WritableCharacterChannel`, which will point to the input/output resource", + "optional": false, + "type": { + "name": "io:WritableCharacterChannel", + "links": [ + { + "category": "internal", + "recordName": "WritableCharacterChannel" + } + ] + } + }, + { + "name": "fs", + "description": "Field separator (this could be a regex)", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "rs", + "description": "Record separator (this could be a regex)", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + }, + { + "name": "fmt", + "description": "The format, which will be used to represent the CSV (this could be \n\"DEFAULT\" (the format specified by the CSVChannel), \n\"CSV\" (Field separator would be \",\" and record separator would be a new line) or else\n\"TDF\" (Field separator will be a tab and record separator will be a new line)", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "ballerina/io:WritableTextRecordChannel" + } + } + }, + { + "name": "write", + "type": "Normal Function", + "description": "Writes records to a given output resource.\n```ballerina\nio:Error? err = writableChannel.write(records);\n```\n", + "parameters": [ + { + "name": "textRecord", + "description": "List of fields to be written", + "optional": false, + "type": { + "name": "string[]" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "Closes the record channel.\nAfter a channel is closed, any further writing operations will cause an error.\n```ballerina\nio:Error? err = writableChannel.close();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "WritableCSVChannel", + "description": "Constructs a CSV channel from a `CharacterChannel` to read/write CSV records.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Constructs a CSV channel from a `CharacterChannel` to read/write CSV records.\n", + "parameters": [ + { + "name": "characterChannel", + "optional": false, + "type": { + "name": "io:WritableCharacterChannel", + "links": [ + { + "category": "internal", + "recordName": "WritableCharacterChannel" + } + ] + } + }, + { + "name": "fs", + "description": "Field separator, which will separate the records in the CSV", + "optional": true, + "default": "\",\"", + "type": { + "name": "io:Separator", + "links": [ + { + "category": "internal", + "recordName": "Separator" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/io:WritableCSVChannel" + } + } + }, + { + "name": "write", + "type": "Normal Function", + "description": "Writes the record to a given CSV file.\n```ballerina\nio:Error err = csvChannel.write(record);\n```\n", + "parameters": [ + { + "name": "csvRecord", + "description": "A record to be written to the channel", + "optional": false, + "type": { + "name": "string[]" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "Closes the `io:WritableCSVChannel`.\nAfter a channel is closed, any further writing operations will cause an error.\n```ballerina\nio:Error? err = csvChannel.close();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "Format", + "description": "The format, which will be used to represent the CSV.\n\nDEFAULT - The default value is the format specified by the CSVChannel. Precedence will be given to the field\nseparator and record separator.\n\nCSV - Field separator will be \",\" and the record separator will be a new line.\n\nTDF - Field separator will be a tab and the record separator will be a new line.", + "type": "Union", + "members": [ + "\"default\"", + "\"csv\"", + "\"tdf\"" + ] + }, + { + "name": "Separator", + "description": "Field separators, which are supported by the `DelimitedTextRecordChannel`.\n\nCOMMA - Delimited text records will be separated using a comma\n\nTAB - Delimited text records will be separated using a tab\n\nCOLON - Delimited text records will be separated using a colon(:)", + "type": "Union", + "members": [ + "\",\"", + "\"\t\"", + "\":\"", + "string" + ] + }, + { + "name": "Error", + "description": "Represents IO module related errors.", + "type": "Error" + }, + { + "name": "ConnectionTimedOutError", + "description": "This will return when connection timed out happen when try to connect to a remote host.", + "type": "Error" + }, + { + "name": "GenericError", + "description": "Represents generic IO error. The detail record contains the information related to the error.", + "type": "Error" + }, + { + "name": "AccessDeniedError", + "description": "This will get returned due to file permission issues.", + "type": "Error" + }, + { + "name": "FileNotFoundError", + "description": "This will get returned if the file is not available in the given file path.", + "type": "Error" + }, + { + "name": "TypeMismatchError", + "description": "This will get returned when there is an mismatch of given type and the expected type.", + "type": "Error" + }, + { + "name": "EofError", + "description": "This will get returned if read operations are performed on a channel after it closed.", + "type": "Error" + }, + { + "name": "ConfigurationError", + "description": "This will get returned if there is an invalid configuration.", + "type": "Error" + }, + { + "name": "FileWriteOption", + "description": "Represents a file opening options for writing.\n", + "type": "Enum", + "members": [ + { + "name": "APPEND", + "description": "" + }, + { + "name": "OVERWRITE", + "description": "" + } + ] + }, + { + "name": "XmlEntityType", + "description": "Represents the XML entity type that needs to be written.\n", + "type": "Enum", + "members": [ + { + "name": "EXTERNAL_PARSED_ENTITY", + "description": "" + }, + { + "name": "DOCUMENT_ENTITY", + "description": "" + } + ] + }, + { + "name": "XmlDoctype", + "description": "Represents the XML DOCTYPE entity.\n", + "type": "Record", + "fields": [ + { + "name": "system", + "description": "", + "optional": true, + "type": { + "name": "string?" + } + }, + { + "name": "'public", + "description": "", + "optional": true, + "type": { + "name": "string?" + } + }, + { + "name": "internalSubset", + "description": "", + "optional": true, + "type": { + "name": "string?" + } + } + ] + }, + { + "name": "XmlWriteOptions", + "description": "The writing options of an XML.\n", + "type": "Record", + "fields": [ + { + "name": "xmlEntityType", + "description": "", + "optional": true, + "type": { + "name": "ballerina/io:1.8.0:XmlEntityType", + "links": [ + { + "category": "internal", + "recordName": "XmlEntityType" + } + ] + } + }, + { + "name": "doctype", + "description": "", + "optional": true, + "type": { + "name": "ballerina/io:1.8.0:XmlDoctype?" + } + } + ] + }, + { + "name": "PrintableRawTemplate", + "description": "Represents raw templates.\ne.g: `The respective int value is ${val}`", + "type": "Class", + "fields": [] + }, + { + "name": "Printable", + "description": "Defines all the printable types.\n1. any typed value\n2. errors\n3. `io:PrintableRawTemplate` - an raw templated value", + "type": "Union", + "members": [ + "any", + "error", + "ballerina/io:1.8.0:PrintableRawTemplate" + ] + }, + { + "name": "FileOutputStream", + "description": "Defines the output streaming types.\n1. `stdout` - standard output stream\n2. `stderr` - standard error stream", + "type": "Union", + "members": [ + "1", + "2" + ] + }, + { + "name": "ByteOrder", + "description": "Represents network byte order.\n\nBIG_ENDIAN - specifies the bytes to be in the order of most significant byte first.\n\nLITTLE_ENDIAN - specifies the byte order to be the least significant byte first.", + "type": "Union", + "members": [ + "\"BE\"", + "\"LE\"" + ] + }, + { + "name": "BlockStream", + "description": "Initialize a `BlockStream` using an `io:ReadableByteChannel`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Initialize a `BlockStream` using an `io:ReadableByteChannel`.\n", + "parameters": [ + { + "name": "readableByteChannel", + "description": "The `io:ReadableByteChannel` that this block stream is referred to", + "optional": false, + "type": { + "name": "io:ReadableByteChannel", + "links": [ + { + "category": "internal", + "recordName": "ReadableByteChannel" + } + ] + } + }, + { + "name": "blockSize", + "description": "The size of a block as an integer", + "optional": false, + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "ballerina/io:BlockStream" + } + } + }, + { + "name": "next", + "type": "Normal Function", + "description": "The next function reads and returns the next block of the related stream.\n", + "parameters": [], + "return": { + "type": { + "name": "record {|io:Block value;|}|()" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "Closes the stream. The primary usage of this function is to close the stream without reaching the end\nIf the stream reaches the end, the `BlockStream.next()` will automatically close the stream.\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "CSVStream", + "description": "Initialize a `CSVStream` using an `io:ReadableTextRecordChannel`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Initialize a `CSVStream` using an `io:ReadableTextRecordChannel`.\n", + "parameters": [ + { + "name": "readableTextRecordChannel", + "description": "The `io:ReadableTextRecordChannel` that this CSV stream is referred to", + "optional": false, + "type": { + "name": "io:ReadableTextRecordChannel", + "links": [ + { + "category": "internal", + "recordName": "ReadableTextRecordChannel" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/io:CSVStream" + } + } + }, + { + "name": "next", + "type": "Normal Function", + "description": "The next function reads and returns the next CSV record of the related stream.\n", + "parameters": [], + "return": { + "type": { + "name": "record {|string[] value;|}|()" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "Close the stream. The primary usage of this function is to close the stream without reaching the end.\nIf the stream reaches the end, the `CSVStream.next()` will automatically close the stream.\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "LineStream", + "description": "Initialize an `io:LineStream` using an `io:ReadableCharacterChannel`.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Initialize an `io:LineStream` using an `io:ReadableCharacterChannel`.\n", + "parameters": [ + { + "name": "readableCharacterChannel", + "description": "The `io:ReadableCharacterChannel` that the line stream is referred to", + "optional": false, + "type": { + "name": "io:ReadableCharacterChannel", + "links": [ + { + "category": "internal", + "recordName": "ReadableCharacterChannel" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/io:LineStream" + } + } + }, + { + "name": "next", + "type": "Normal Function", + "description": "The next function reads and returns the next line of the related stream.\n", + "parameters": [], + "return": { + "type": { + "name": "record {|string value;|}|()" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "Closes the stream. The primary usage of this function is to close the stream without reaching the end\nIf the stream reaches the end, the `LineStream.next()` will automatically close the stream.\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "ReadableDataChannel", + "description": "Initializes the data channel.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Initializes the data channel.\n", + "parameters": [ + { + "name": "byteChannel", + "description": "The channel, which would represent the source to read/write data", + "optional": false, + "type": { + "name": "io:ReadableByteChannel", + "links": [ + { + "category": "internal", + "recordName": "ReadableByteChannel" + } + ] + } + }, + { + "name": "bOrder", + "description": "Network byte order", + "optional": true, + "default": "\"BE\"", + "type": { + "name": "io:ByteOrder", + "links": [ + { + "category": "internal", + "recordName": "ByteOrder" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/io:ReadableDataChannel" + } + } + }, + { + "name": "readInt16", + "type": "Normal Function", + "description": "Reads a 16 bit integer.\n```ballerina\nint|io:Error result = dataChannel.readInt16();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "int" + } + } + }, + { + "name": "readInt32", + "type": "Normal Function", + "description": "Reads a 32 bit integer.\n```ballerina\nint|io:Error result = dataChannel.readInt32();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "int" + } + } + }, + { + "name": "readInt64", + "type": "Normal Function", + "description": "Reads a 64 bit integer.\n```ballerina\nint|io:Error result = dataChannel.readInt64();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "int" + } + } + }, + { + "name": "readFloat32", + "type": "Normal Function", + "description": "Reads a 32 bit float.\n```ballerina\nfloat|io:Error result = dataChannel.readFloat32();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "float" + } + } + }, + { + "name": "readFloat64", + "type": "Normal Function", + "description": "Reads a 64 bit float.\n```ballerina\nfloat|io:Error result = dataChannel.readFloat64();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "float" + } + } + }, + { + "name": "readBool", + "type": "Normal Function", + "description": "Reads a byte and convert its value to boolean.\n```ballerina\nboolean|io:Error result = dataChannel.readBool();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "boolean" + } + } + }, + { + "name": "readString", + "type": "Normal Function", + "description": "Reads the string value represented through the provided number of bytes.\n```ballerina\nstring|io:Error string = dataChannel.readString(10, \"UTF-8\");\n```\n", + "parameters": [ + { + "name": "nBytes", + "description": "Specifies the number of bytes, which represents the string", + "optional": false, + "type": { + "name": "int" + } + }, + { + "name": "encoding", + "description": "Specifies the char-set encoding of the string", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "string" + } + } + }, + { + "name": "readVarInt", + "type": "Normal Function", + "description": "Reads a variable length integer.\n```ballerina\nint|io:Error result = dataChannel.readVarInt();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "int" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "Closes the data channel.\nAfter a channel is closed, any further reading operations will cause an error.\n```ballerina\nio:Error? err = dataChannel.close();\n```", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "StringReader", + "description": "Constructs a channel to read string.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Constructs a channel to read string.\n", + "parameters": [ + { + "name": "content", + "description": "The content, which should be written", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "encoding", + "description": "Encoding of the characters of the content", + "optional": true, + "default": "\"\"", + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "ballerina/io:StringReader" + } + } + }, + { + "name": "readJson", + "type": "Normal Function", + "description": "Reads string as JSON using the reader.\n```ballerina\nio:StringReader reader = new(\"{\\\"name\\\": \\\"Alice\\\"}\");\njson|io:Error? person = reader.readJson();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "json" + } + } + }, + { + "name": "readXml", + "type": "Normal Function", + "description": "Reads a string as XML using the reader.\n```ballerina\nio:StringReader reader = new(\"Alice\");\nxml|io:Error? person = reader.readXml();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "xml|()" + } + } + }, + { + "name": "readChar", + "type": "Normal Function", + "description": "Reads the characters from the given string.\n```ballerina\nio:StringReader reader = new(\"Some text\");\nstring|io:Error? person = reader.readChar(4);\n```\n", + "parameters": [ + { + "name": "nCharacters", + "description": "Number of characters to be read", + "optional": false, + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "string|()" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "Closes the string reader.\n```ballerina\nio:Error? err = reader.close();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "CsvIterator", + "description": "The iterator for the stream returned in `readFileCsvAsStream` function.", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "The iterator for the stream returned in `readFileCsvAsStream` function.", + "parameters": [], + "return": { + "type": { + "name": "ballerina/io:CsvIterator" + } + } + }, + { + "name": "next", + "type": "Normal Function", + "description": "", + "parameters": [], + "return": { + "type": { + "name": "record {|anydata value;|}|()" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + }, + { + "name": "WritableDataChannel", + "description": "Initializes data channel.\n", + "functions": [ + { + "name": "init", + "type": "Constructor", + "description": "Initializes data channel.\n", + "parameters": [ + { + "name": "byteChannel", + "description": "Channel, which would represent the source to read/write data", + "optional": false, + "type": { + "name": "io:WritableByteChannel", + "links": [ + { + "category": "internal", + "recordName": "WritableByteChannel" + } + ] + } + }, + { + "name": "bOrder", + "description": "Network byte order", + "optional": true, + "default": "\"BE\"", + "type": { + "name": "io:ByteOrder", + "links": [ + { + "category": "internal", + "recordName": "ByteOrder" + } + ] + } + } + ], + "return": { + "type": { + "name": "ballerina/io:WritableDataChannel" + } + } + }, + { + "name": "writeInt16", + "type": "Normal Function", + "description": "Writes a 16 bit integer.\n```ballerina\nio:Error? err = dataChannel.writeInt16(length);\n```\n", + "parameters": [ + { + "name": "value", + "description": "The integer, which will be written", + "optional": false, + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "writeInt32", + "type": "Normal Function", + "description": "Writes a 32 bit integer.\n```ballerina\nio:Error? err = dataChannel.writeInt32(length);\n```\n", + "parameters": [ + { + "name": "value", + "description": "The integer, which will be written", + "optional": false, + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "writeInt64", + "type": "Normal Function", + "description": "Writes a 64 bit integer.\n```ballerina\nio:Error? err = dataChannel.writeInt64(length);\n```\n", + "parameters": [ + { + "name": "value", + "description": "The integer, which will be written", + "optional": false, + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "writeFloat32", + "type": "Normal Function", + "description": "Writes a 32 bit float.\n```ballerina\nio:Error? err = dataChannel.writeFloat32(3.12);\n```\n", + "parameters": [ + { + "name": "value", + "description": "The float, which will be written", + "optional": false, + "type": { + "name": "float" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "writeFloat64", + "type": "Normal Function", + "description": "Writes a 64 bit float.\n```ballerina\nio:Error? err = dataChannel.writeFloat32(3.12);\n```\n", + "parameters": [ + { + "name": "value", + "description": "The float, which will be written", + "optional": false, + "type": { + "name": "float" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "writeBool", + "type": "Normal Function", + "description": "Writes a boolean.\n```ballerina\nio:Error? err = dataChannel.writeInt64(length);\n```\n", + "parameters": [ + { + "name": "value", + "description": "The boolean, which will be written", + "optional": false, + "type": { + "name": "boolean" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "writeString", + "type": "Normal Function", + "description": "Writes a given string value to the respective channel.\n```ballerina\nio:Error? err = dataChannel.writeString(record);\n```\n", + "parameters": [ + { + "name": "value", + "description": "The value, which should be written", + "optional": false, + "type": { + "name": "string" + } + }, + { + "name": "encoding", + "description": "The encoding, which will represent the value string", + "optional": false, + "type": { + "name": "string" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "writeVarInt", + "type": "Normal Function", + "description": "Writes a variable-length integer.\n```ballerina\nio:Error? err = dataChannel.writeVarInt(length);\n```\n", + "parameters": [ + { + "name": "value", + "description": "The int, which will be written", + "optional": false, + "type": { + "name": "int" + } + } + ], + "return": { + "type": { + "name": "()" + } + } + }, + { + "name": "close", + "type": "Normal Function", + "description": "Closes the data channel.\nAfter a channel is closed, any further writing operations will cause an error.\n```ballerina\nio:Error? err = dataChannel.close();\n```\n", + "parameters": [], + "return": { + "type": { + "name": "()" + } + } + } + ] + } + ], + "services": [] + } + ] +} diff --git a/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/copilot_library/get_filtered_libraries_from_semantic_api.json b/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/copilot_library/get_filtered_libraries_from_semantic_api.json new file mode 100644 index 0000000000..a9785a9d12 --- /dev/null +++ b/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/copilot_library/get_filtered_libraries_from_semantic_api.json @@ -0,0 +1,8 @@ +{ + "libNames": [ + "ballerina/http", + "ballerina/io" + ], + "description": "Test Copilot libraries filtering from semantic API", + "expectedLibraries": [{"name":"ballerina/http","description":"This module provides APIs for connecting and interacting with HTTP and HTTP2 endpoints. It facilitates two types of network entry points as the `Client` and `Listener`.","clients":[{"name":"ClientOAuth2Handler","description":"Defines the OAuth2 handler for client authentication.","functions":[{"name":"init","type":"Constructor","description":"Defines the OAuth2 handler for client authentication.","parameters":[{"name":"config","description":"The `http:OAuth2GrantConfig` instance","optional":false,"default":null,"type":{"name":"http:OAuth2GrantConfig","links":[{"category":"internal","recordName":"OAuth2GrantConfig"}]}}],"return":{"type":{"name":"ballerina/http:ClientOAuth2Handler"}}},{"name":"enrich","type":"Remote Function","description":"Enrich the request with the relevant authentication requirements.\n","parameters":[{"name":"req","description":"The `http:Request` instance","optional":false,"default":null,"type":{"name":"http:Request","links":[{"category":"internal","recordName":"Request"}]}}],"return":{"type":{"name":"http:Request"}}},{"name":"enrichHeaders","type":"Normal Function","description":"Enrich the headers map with the relevant authentication requirements.\n","parameters":[{"name":"headers","description":"The headers map","optional":false,"default":null,"type":{"name":"map"}}],"return":{"type":{"name":"map"}}},{"name":"getSecurityHeaders","type":"Normal Function","description":"Returns the headers map with the relevant authentication requirements.\n","parameters":[],"return":{"type":{"name":"map"}}}]},{"name":"ListenerLdapUserStoreBasicAuthHandler","description":"Defines the LDAP store Basic Auth handler for listener authentication.","functions":[{"name":"init","type":"Constructor","description":"Defines the LDAP store Basic Auth handler for listener authentication.","parameters":[{"name":"config","description":"The `http:LdapUserStoreConfig` instance","optional":false,"default":null,"type":{"name":"http:LdapUserStoreConfig","links":[{"category":"internal","recordName":"LdapUserStoreConfig"}]}}],"return":{"type":{"name":"ballerina/http:ListenerLdapUserStoreBasicAuthHandler"}}},{"name":"authenticate","type":"Remote Function","description":"Authenticates with the relevant authentication requirements.\n","parameters":[{"name":"data","description":"The `http:Request` instance or `http:Headers` instance or `string` Authorization header","optional":false,"default":null,"type":{"name":"http:Request|http:Headers|string","links":[{"category":"internal","recordName":"Request|Headers|string"}]}}],"return":{"type":{"name":"auth:UserDetails|http:Unauthorized"}}},{"name":"authorize","type":"Remote Function","description":"Authorizes with the relevant authorization requirements.\n","parameters":[{"name":"userDetails","description":"The `auth:UserDetails` instance which is received from authentication results","optional":false,"default":null,"type":{"name":"auth:UserDetails","links":[{"category":"external","recordName":"UserDetails","libraryName":"ballerina/auth"}]}},{"name":"expectedScopes","description":"The expected scopes as `string` or `string[]`","optional":false,"default":null,"type":{"name":"string|string[]"}}],"return":{"type":{"name":"http:Forbidden|()"}}}]},{"name":"ListenerOAuth2Handler","description":"Defines the OAuth2 handler for listener authentication.","functions":[{"name":"init","type":"Constructor","description":"Defines the OAuth2 handler for listener authentication.","parameters":[{"name":"config","description":"The `http:OAuth2IntrospectionConfig` instance","optional":false,"default":null,"type":{"name":"http:OAuth2IntrospectionConfig","links":[{"category":"internal","recordName":"OAuth2IntrospectionConfig"}]}}],"return":{"type":{"name":"ballerina/http:ListenerOAuth2Handler"}}},{"name":"authorize","type":"Remote Function","description":"Authorizes with the relevant authentication & authorization requirements.\n","parameters":[{"name":"data","description":"The `http:Request` instance or `http:Headers` instance or `string` Authorization header","optional":false,"default":null,"type":{"name":"http:Request|http:Headers|string","links":[{"category":"internal","recordName":"Request|Headers|string"}]}},{"name":"expectedScopes","description":"The expected scopes as `string` or `string[]`","optional":true,"default":"()","type":{"name":"string|string[]|()"}},{"name":"optionalParams","description":"Map of optional parameters that need to be sent to introspection endpoint","optional":true,"default":"()","type":{"name":"map|()"}}],"return":{"type":{"name":"oauth2:IntrospectionResponse|http:Unauthorized|http:Forbidden"}}}]},{"name":"Client","description":"The HTTP client provides functionality to connect to remote HTTP services and perform requests using standard HTTP methods like GET, POST, PUT, DELETE, etc.\n","functions":[{"name":"init","type":"Constructor","description":"The HTTP client provides functionality to connect to remote HTTP services and perform requests using standard HTTP methods like GET, POST, PUT, DELETE, etc.\n","parameters":[{"name":"url","description":"URL of the target service","optional":false,"default":null,"type":{"name":"string"}},{"name":"httpVersion","description":"HTTP protocol version supported by the client","optional":true,"default":"\"2.0\"","type":{"name":"http:HttpVersion","links":[{"category":"internal","recordName":"HttpVersion"}]}},{"name":"http1Settings","description":"HTTP/1.x specific settings","optional":true,"default":"{}","type":{"name":"http:ClientHttp1Settings","links":[{"category":"internal","recordName":"ClientHttp1Settings"}]}},{"name":"http2Settings","description":"HTTP/2 specific settings","optional":true,"default":"{}","type":{"name":"http:ClientHttp2Settings","links":[{"category":"internal","recordName":"ClientHttp2Settings"}]}},{"name":"timeout","description":"Maximum time(in seconds) to wait for a response before the request times out","optional":true,"default":"0.0d","type":{"name":"decimal"}},{"name":"forwarded","description":"The choice of setting `Forwarded`/`X-Forwarded-For` header, when acting as a proxy","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"followRedirects","description":"HTTP redirect handling configurations (with 3xx status codes)","optional":true,"default":"()","type":{"name":"http:FollowRedirects|()","links":[{"category":"internal","recordName":"FollowRedirects|()"}]}},{"name":"poolConfig","description":"Configurations associated with the request connection pool","optional":true,"default":"()","type":{"name":"http:PoolConfiguration|()","links":[{"category":"internal","recordName":"PoolConfiguration|()"}]}},{"name":"cache","description":"HTTP response caching related configurations","optional":true,"default":"{}","type":{"name":"http:CacheConfig","links":[{"category":"internal","recordName":"CacheConfig"}]}},{"name":"compression","description":"Enable request/response compression (using `accept-encoding` header)","optional":true,"default":"\"AUTO\"","type":{"name":"http:Compression","links":[{"category":"internal","recordName":"Compression"}]}},{"name":"auth","description":"Client authentication options (Basic, Bearer token, OAuth, etc.)","optional":true,"default":"()","type":{"name":"http:CredentialsConfig|http:BearerTokenConfig|http:JwtIssuerConfig|http:OAuth2ClientCredentialsGrantConfig|http:OAuth2PasswordGrantConfig|http:OAuth2RefreshTokenGrantConfig|http:OAuth2JwtBearerGrantConfig|()","links":[{"category":"internal","recordName":"CredentialsConfig|BearerTokenConfig|JwtIssuerConfig|OAuth2ClientCredentialsGrantConfig|OAuth2PasswordGrantConfig|OAuth2RefreshTokenGrantConfig|OAuth2JwtBearerGrantConfig|()"}]}},{"name":"circuitBreaker","description":"Circuit breaker configurations to prevent cascading failures","optional":true,"default":"()","type":{"name":"http:CircuitBreakerConfig|()","links":[{"category":"internal","recordName":"CircuitBreakerConfig|()"}]}},{"name":"retryConfig","description":"Automatic retry settings for failed requests","optional":true,"default":"()","type":{"name":"http:RetryConfig|()","links":[{"category":"internal","recordName":"RetryConfig|()"}]}},{"name":"cookieConfig","description":"Cookie handling settings for session management","optional":true,"default":"()","type":{"name":"http:CookieConfig|()","links":[{"category":"internal","recordName":"CookieConfig|()"}]}},{"name":"responseLimits","description":"Limits for response size and headers (to prevent memory issues)","optional":true,"default":"{}","type":{"name":"http:ResponseLimitConfigs","links":[{"category":"internal","recordName":"ResponseLimitConfigs"}]}},{"name":"proxy","description":"Proxy server settings if requests need to go through a proxy","optional":true,"default":"()","type":{"name":"http:ProxyConfig|()","links":[{"category":"internal","recordName":"ProxyConfig|()"}]}},{"name":"validation","description":"Enable automatic payload validation for request/response data against constraints","optional":true,"default":"false","type":{"name":"boolean"}},{"name":"socketConfig","description":"Low-level socket settings (timeouts, buffer sizes, etc.)","optional":true,"default":"{}","type":{"name":"http:ClientSocketConfig","links":[{"category":"internal","recordName":"ClientSocketConfig"}]}},{"name":"laxDataBinding","description":"Enable relaxed data binding on the client side.\nWhen enabled:\n- `null` values in JSON are allowed to be mapped to optional fields\n- missing fields in JSON are allowed to be mapped as `null` values","optional":true,"default":"false","type":{"name":"boolean"}},{"name":"secureSocket","description":"SSL/TLS security settings for HTTPS connections","optional":true,"default":"()","type":{"name":"http:ClientSecureSocket|()","links":[{"category":"internal","recordName":"ClientSecureSocket|()"}]}},{"name":"config","description":"The configurations to be used when initializing the `client`","optional":true,"default":null,"type":{"name":"http:ClientConfiguration","links":[{"category":"internal","recordName":"ClientConfiguration"}]}}],"return":{"type":{"name":"ballerina/http:Client"}}},{"type":"Resource Function","description":"The client resource function to send HTTP GET requests to HTTP endpoints.\n","accessor":"get","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"get","type":"Remote Function","description":"Retrieve a representation of a specified resource from an HTTP endpoint.\n","parameters":[{"name":"path","description":"Request path","optional":false,"default":null,"type":{"name":"string"}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The client resource function to send HTTP POST requests to HTTP endpoints.\n","accessor":"post","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"post","type":"Remote Function","description":"Create a new resource or submit data to a resource for processing.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The client resource function to send HTTP PUT requests to HTTP endpoints.\n","accessor":"put","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"put","type":"Remote Function","description":"Create a new resource or replace a representation of a specified resource.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The client resource function to send HTTP DELETE requests to HTTP endpoints.\n","accessor":"delete","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An optional HTTP outbound request or any allowed payload","optional":true,"default":"{}","type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"delete","type":"Remote Function","description":"Remove a specified resource from an HTTP endpoint.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An optional HTTP outbound request message or any allowed payload","optional":true,"default":"{}","type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The client resource function to send HTTP PATCH requests to HTTP endpoints.\n","accessor":"patch","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"patch","type":"Remote Function","description":"Partially update an existing resource in an HTTP endpoint.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The client resource function to send HTTP HEAD requests to HTTP endpoints.\n","accessor":"head","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"http:Response"}}},{"name":"head","type":"Remote Function","description":"Get the metadata of a resource in the form of headers without the body. Often used for testing the resource existence or finding recent modifications.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}}],"return":{"type":{"name":"http:Response"}}},{"type":"Resource Function","description":"The client resource function to send HTTP OPTIONS requests to HTTP endpoints.\n","accessor":"options","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"options","type":"Remote Function","description":"Get the communication options for a specified resource.\n","parameters":[{"name":"path","description":"Request path","optional":false,"default":null,"type":{"name":"string"}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"execute","type":"Remote Function","description":"Send a request using any HTTP method. Can be used to invoke the endpoint with a custom or less common HTTP method.\n","parameters":[{"name":"httpVerb","description":"HTTP verb value","optional":false,"default":null,"type":{"name":"string"}},{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"forward","type":"Remote Function","description":"Forward an incoming request to another endpoint using the same HTTP method. Can be used in proxy or gateway scenarios.\n","parameters":[{"name":"path","description":"Request path","optional":false,"default":null,"type":{"name":"string"}},{"name":"request","description":"An HTTP inbound request message","optional":false,"default":null,"type":{"name":"http:Request","links":[{"category":"internal","recordName":"Request"}]}},{"name":"targetType","description":"Expected return type (to be used for automatic data binding).\nSupported types:\n- Built-in subtypes of `anydata` (`string`, `byte[]`, `json|xml`, etc.)\n- Custom types (e.g., `User`, `Student?`, `Person[]`, etc.)\n- Full HTTP response with headers and status (`http:Response`)\n- Stream of Server-Sent Events (`stream`)","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"submit","type":"Remote Function","description":"Send an asynchronous HTTP request that does not wait for the response immediately. Can be used for non-blocking operations.\n","parameters":[{"name":"httpVerb","description":"The HTTP verb value. The HTTP verb is case-sensitive. Use the `http:Method` type to specify the\nthe standard HTTP methods.","optional":false,"default":null,"type":{"name":"string"}},{"name":"path","description":"The resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}}],"return":{"type":{"name":"http:HttpFuture"}}},{"name":"getResponse","type":"Remote Function","description":"Get the response from a previously submitted asynchronous request. Can be used after calling `submit()` action to retrieve the actual response.\n","parameters":[{"name":"httpFuture","description":"The `http:HttpFuture` related to a previous asynchronous invocation","optional":false,"default":null,"type":{"name":"http:HttpFuture","links":[{"category":"internal","recordName":"HttpFuture"}]}}],"return":{"type":{"name":"http:Response"}}},{"name":"hasPromise","type":"Remote Function","description":"Check if the server has sent a push promise for additional resources. Should be used with HTTP/2 server push functionality.\n","parameters":[{"name":"httpFuture","description":"The `http:HttpFuture` relates to a previous asynchronous invocation","optional":false,"default":null,"type":{"name":"http:HttpFuture","links":[{"category":"internal","recordName":"HttpFuture"}]}}],"return":{"type":{"name":"boolean"}}},{"name":"getNextPromise","type":"Remote Function","description":"Get the next server push promise that contains information about additional resources the server wants to send.\n","parameters":[{"name":"httpFuture","description":"The `http:HttpFuture` related to a previous asynchronous invocation","optional":false,"default":null,"type":{"name":"http:HttpFuture","links":[{"category":"internal","recordName":"HttpFuture"}]}}],"return":{"type":{"name":"http:PushPromise"}}},{"name":"getPromisedResponse","type":"Remote Function","description":"Get the actual response data from a server push promise. Can be used to receive resources that the server proactively sends.\n","parameters":[{"name":"promise","description":"The related `http:PushPromise`","optional":false,"default":null,"type":{"name":"http:PushPromise","links":[{"category":"internal","recordName":"PushPromise"}]}}],"return":{"type":{"name":"http:Response"}}},{"name":"rejectPromise","type":"Remote Function","description":"Reject a server push promise to decline receiving the additional resource.\n","parameters":[{"name":"promise","description":"The Push Promise to be rejected","optional":false,"default":null,"type":{"name":"http:PushPromise","links":[{"category":"internal","recordName":"PushPromise"}]}}],"return":{"type":{"name":"()"}}},{"name":"getCookieStore","type":"Normal Function","description":"Get the cookie storage associated with this HTTP client. Can be used to access stored cookies for session management.\n","parameters":[],"return":{"type":{"name":"http:CookieStore|()"}}},{"name":"circuitBreakerForceClose","type":"Normal Function","description":"Force the circuit breaker to allow all requests through, ignoring current error rates. Can be used to manually\nrestore service after fixing issues.","parameters":[],"return":{"type":{"name":"()"}}},{"name":"circuitBreakerForceOpen","type":"Normal Function","description":"Force the circuit breaker to block all requests until the reset time expires. Can be used to manually stop\nrequests during maintenance or known issues.","parameters":[],"return":{"type":{"name":"()"}}},{"name":"getCircuitBreakerCurrentState","type":"Normal Function","description":"Check the current state of the circuit breaker. Can be used to monitor the health status of your HTTP connections.\n","parameters":[],"return":{"type":{"name":"http:CircuitState"}}}]},{"name":"Caller","description":"The caller actions for responding to client requests.\n","functions":[{"name":"init","type":"Constructor","description":"The caller actions for responding to client requests.\n","parameters":[{"name":"remoteAddress","description":null,"optional":false,"default":null,"type":{"name":"http:Remote","links":[{"category":"internal","recordName":"Remote"}]}},{"name":"localAddress","description":null,"optional":false,"default":null,"type":{"name":"http:Local","links":[{"category":"internal","recordName":"Local"}]}},{"name":"protocol","description":null,"optional":false,"default":null,"type":{"name":"string"}},{"name":"resourceAccessor","description":null,"optional":false,"default":null,"type":{"name":"string|()"}}],"return":{"type":{"name":"ballerina/http:Caller"}}},{"name":"respond","type":"Remote Function","description":"Sends the outbound response to the caller.\n","parameters":[{"name":"message","description":"The outbound response or status code response or error or any allowed payload","optional":true,"default":"{}","type":{"name":"anydata|http:Response|mime:Entity[]|stream|stream|stream|http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse|error","links":[{"category":"internal","recordName":"anydata|Response|Entity[]|stream|stream|stream|Continue|SwitchingProtocols|Processing|EarlyHints|Ok|Created|Accepted|NonAuthoritativeInformation|NoContent|ResetContent|PartialContent|MultiStatus|AlreadyReported|IMUsed|MultipleChoices|MovedPermanently|Found|SeeOther|NotModified|UseProxy|TemporaryRedirect|PermanentRedirect|BadRequest|Unauthorized|PaymentRequired|Forbidden|NotFound|MethodNotAllowed|NotAcceptable|ProxyAuthenticationRequired|RequestTimeout|Conflict|Gone|LengthRequired|PreconditionFailed|PayloadTooLarge|UriTooLong|UnsupportedMediaType|RangeNotSatisfiable|ExpectationFailed|MisdirectedRequest|UnprocessableEntity|Locked|FailedDependency|TooEarly|PreconditionRequired|UnavailableDueToLegalReasons|UpgradeRequired|TooManyRequests|RequestHeaderFieldsTooLarge|InternalServerError|NotImplemented|BadGateway|ServiceUnavailable|GatewayTimeout|HttpVersionNotSupported|VariantAlsoNegotiates|InsufficientStorage|LoopDetected|NotExtended|NetworkAuthenticationRequired|DefaultStatusCodeResponse|error"},{"category":"external","recordName":"anydata|Response|Entity[]|stream|stream|stream|Continue|SwitchingProtocols|Processing|EarlyHints|Ok|Created|Accepted|NonAuthoritativeInformation|NoContent|ResetContent|PartialContent|MultiStatus|AlreadyReported|IMUsed|MultipleChoices|MovedPermanently|Found|SeeOther|NotModified|UseProxy|TemporaryRedirect|PermanentRedirect|BadRequest|Unauthorized|PaymentRequired|Forbidden|NotFound|MethodNotAllowed|NotAcceptable|ProxyAuthenticationRequired|RequestTimeout|Conflict|Gone|LengthRequired|PreconditionFailed|PayloadTooLarge|UriTooLong|UnsupportedMediaType|RangeNotSatisfiable|ExpectationFailed|MisdirectedRequest|UnprocessableEntity|Locked|FailedDependency|TooEarly|PreconditionRequired|UnavailableDueToLegalReasons|UpgradeRequired|TooManyRequests|RequestHeaderFieldsTooLarge|InternalServerError|NotImplemented|BadGateway|ServiceUnavailable|GatewayTimeout|HttpVersionNotSupported|VariantAlsoNegotiates|InsufficientStorage|LoopDetected|NotExtended|NetworkAuthenticationRequired|DefaultStatusCodeResponse|error","libraryName":"ballerina/mime"},{"category":"external","recordName":"anydata|Response|Entity[]|stream|stream|stream|Continue|SwitchingProtocols|Processing|EarlyHints|Ok|Created|Accepted|NonAuthoritativeInformation|NoContent|ResetContent|PartialContent|MultiStatus|AlreadyReported|IMUsed|MultipleChoices|MovedPermanently|Found|SeeOther|NotModified|UseProxy|TemporaryRedirect|PermanentRedirect|BadRequest|Unauthorized|PaymentRequired|Forbidden|NotFound|MethodNotAllowed|NotAcceptable|ProxyAuthenticationRequired|RequestTimeout|Conflict|Gone|LengthRequired|PreconditionFailed|PayloadTooLarge|UriTooLong|UnsupportedMediaType|RangeNotSatisfiable|ExpectationFailed|MisdirectedRequest|UnprocessableEntity|Locked|FailedDependency|TooEarly|PreconditionRequired|UnavailableDueToLegalReasons|UpgradeRequired|TooManyRequests|RequestHeaderFieldsTooLarge|InternalServerError|NotImplemented|BadGateway|ServiceUnavailable|GatewayTimeout|HttpVersionNotSupported|VariantAlsoNegotiates|InsufficientStorage|LoopDetected|NotExtended|NetworkAuthenticationRequired|DefaultStatusCodeResponse|error","libraryName":"ballerina/io"}]}}],"return":{"type":{"name":"()"}}},{"name":"promise","type":"Remote Function","description":"Pushes a promise to the caller.\n","parameters":[{"name":"promise","description":"Push promise message","optional":false,"default":null,"type":{"name":"http:PushPromise","links":[{"category":"internal","recordName":"PushPromise"}]}}],"return":{"type":{"name":"()"}}},{"name":"pushPromisedResponse","type":"Remote Function","description":"Sends a promised push response to the caller.\n","parameters":[{"name":"promise","description":"Push promise message","optional":false,"default":null,"type":{"name":"http:PushPromise","links":[{"category":"internal","recordName":"PushPromise"}]}},{"name":"response","description":"The outbound response","optional":false,"default":null,"type":{"name":"http:Response","links":[{"category":"internal","recordName":"Response"}]}}],"return":{"type":{"name":"()"}}},{"name":"'continue","type":"Remote Function","description":"Sends a `100-continue` response to the caller.\n","parameters":[],"return":{"type":{"name":"()"}}},{"name":"redirect","type":"Remote Function","description":"Sends a redirect response to the user with the specified redirection status code.\n","parameters":[{"name":"response","description":"Response to be sent to the caller","optional":false,"default":null,"type":{"name":"http:Response","links":[{"category":"internal","recordName":"Response"}]}},{"name":"code","description":"The redirect status code to be sent","optional":false,"default":null,"type":{"name":"http:RedirectCode","links":[{"category":"internal","recordName":"RedirectCode"}]}},{"name":"locations","description":"An array of URLs to which the caller can redirect to","optional":false,"default":null,"type":{"name":"string[]"}}],"return":{"type":{"name":"()"}}},{"name":"getRemoteHostName","type":"Normal Function","description":"Gets the hostname from the remote address. This method may trigger a DNS reverse lookup if the address was created\nwith a literal IP address.\n```ballerina\nstring? remoteHost = caller.getRemoteHostName();\n```\n","parameters":[],"return":{"type":{"name":"string|()"}}}]},{"name":"StatusCodeClient","description":"The HTTP status code client provides the capability for initiating contact with a remote HTTP service. The API it\nprovides includes the functions for the standard HTTP methods forwarding a received request and sending requests\nusing custom HTTP verbs. The responses can be binded to `http:StatusCodeResponse` types","functions":[{"name":"init","type":"Constructor","description":"The HTTP status code client provides the capability for initiating contact with a remote HTTP service. The API it\nprovides includes the functions for the standard HTTP methods forwarding a received request and sending requests\nusing custom HTTP verbs. The responses can be binded to `http:StatusCodeResponse` types","parameters":[{"name":"url","description":"URL of the target service","optional":false,"default":null,"type":{"name":"string"}},{"name":"httpVersion","description":"HTTP protocol version supported by the client","optional":true,"default":"\"2.0\"","type":{"name":"http:HttpVersion","links":[{"category":"internal","recordName":"HttpVersion"}]}},{"name":"http1Settings","description":"HTTP/1.x specific settings","optional":true,"default":"{}","type":{"name":"http:ClientHttp1Settings","links":[{"category":"internal","recordName":"ClientHttp1Settings"}]}},{"name":"http2Settings","description":"HTTP/2 specific settings","optional":true,"default":"{}","type":{"name":"http:ClientHttp2Settings","links":[{"category":"internal","recordName":"ClientHttp2Settings"}]}},{"name":"timeout","description":"Maximum time(in seconds) to wait for a response before the request times out","optional":true,"default":"0.0d","type":{"name":"decimal"}},{"name":"forwarded","description":"The choice of setting `Forwarded`/`X-Forwarded-For` header, when acting as a proxy","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"followRedirects","description":"HTTP redirect handling configurations (with 3xx status codes)","optional":true,"default":"()","type":{"name":"http:FollowRedirects|()","links":[{"category":"internal","recordName":"FollowRedirects|()"}]}},{"name":"poolConfig","description":"Configurations associated with the request connection pool","optional":true,"default":"()","type":{"name":"http:PoolConfiguration|()","links":[{"category":"internal","recordName":"PoolConfiguration|()"}]}},{"name":"cache","description":"HTTP response caching related configurations","optional":true,"default":"{}","type":{"name":"http:CacheConfig","links":[{"category":"internal","recordName":"CacheConfig"}]}},{"name":"compression","description":"Enable request/response compression (using `accept-encoding` header)","optional":true,"default":"\"AUTO\"","type":{"name":"http:Compression","links":[{"category":"internal","recordName":"Compression"}]}},{"name":"auth","description":"Client authentication options (Basic, Bearer token, OAuth, etc.)","optional":true,"default":"()","type":{"name":"http:CredentialsConfig|http:BearerTokenConfig|http:JwtIssuerConfig|http:OAuth2ClientCredentialsGrantConfig|http:OAuth2PasswordGrantConfig|http:OAuth2RefreshTokenGrantConfig|http:OAuth2JwtBearerGrantConfig|()","links":[{"category":"internal","recordName":"CredentialsConfig|BearerTokenConfig|JwtIssuerConfig|OAuth2ClientCredentialsGrantConfig|OAuth2PasswordGrantConfig|OAuth2RefreshTokenGrantConfig|OAuth2JwtBearerGrantConfig|()"}]}},{"name":"circuitBreaker","description":"Circuit breaker configurations to prevent cascading failures","optional":true,"default":"()","type":{"name":"http:CircuitBreakerConfig|()","links":[{"category":"internal","recordName":"CircuitBreakerConfig|()"}]}},{"name":"retryConfig","description":"Automatic retry settings for failed requests","optional":true,"default":"()","type":{"name":"http:RetryConfig|()","links":[{"category":"internal","recordName":"RetryConfig|()"}]}},{"name":"cookieConfig","description":"Cookie handling settings for session management","optional":true,"default":"()","type":{"name":"http:CookieConfig|()","links":[{"category":"internal","recordName":"CookieConfig|()"}]}},{"name":"responseLimits","description":"Limits for response size and headers (to prevent memory issues)","optional":true,"default":"{}","type":{"name":"http:ResponseLimitConfigs","links":[{"category":"internal","recordName":"ResponseLimitConfigs"}]}},{"name":"proxy","description":"Proxy server settings if requests need to go through a proxy","optional":true,"default":"()","type":{"name":"http:ProxyConfig|()","links":[{"category":"internal","recordName":"ProxyConfig|()"}]}},{"name":"validation","description":"Enable automatic payload validation for request/response data against constraints","optional":true,"default":"false","type":{"name":"boolean"}},{"name":"socketConfig","description":"Low-level socket settings (timeouts, buffer sizes, etc.)","optional":true,"default":"{}","type":{"name":"http:ClientSocketConfig","links":[{"category":"internal","recordName":"ClientSocketConfig"}]}},{"name":"laxDataBinding","description":"Enable relaxed data binding on the client side.\nWhen enabled:\n- `null` values in JSON are allowed to be mapped to optional fields\n- missing fields in JSON are allowed to be mapped as `null` values","optional":true,"default":"false","type":{"name":"boolean"}},{"name":"secureSocket","description":"SSL/TLS security settings for HTTPS connections","optional":true,"default":"()","type":{"name":"http:ClientSecureSocket|()","links":[{"category":"internal","recordName":"ClientSecureSocket|()"}]}},{"name":"config","description":"The configurations to be used when initializing the `client`","optional":true,"default":null,"type":{"name":"http:ClientConfiguration","links":[{"category":"internal","recordName":"ClientConfiguration"}]}}],"return":{"type":{"name":"ballerina/http:StatusCodeClient"}}},{"type":"Resource Function","description":"The client resource function to send HTTP POST requests to HTTP endpoints.\n","accessor":"post","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP status code response, which is expected to be returned after data binding","optional":true,"default":"http:StatusCodeResponse","type":{"name":"http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse","links":[{"category":"internal","recordName":"StatusCodeResponse"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"post","type":"Remote Function","description":"The `Client.post()` function can be used to send HTTP POST requests to HTTP endpoints.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP status code response, which is expected to be returned after data binding","optional":true,"default":"http:StatusCodeResponse","type":{"name":"http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse","links":[{"category":"internal","recordName":"StatusCodeResponse"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The client resource function to send HTTP PUT requests to HTTP endpoints.\n","accessor":"put","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP status code response, which is expected to be returned after data binding","optional":true,"default":"http:StatusCodeResponse","type":{"name":"http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse","links":[{"category":"internal","recordName":"StatusCodeResponse"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"put","type":"Remote Function","description":"The `Client.put()` function can be used to send HTTP PUT requests to HTTP endpoints.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP status code response, which is expected to be returned after data binding","optional":true,"default":"http:StatusCodeResponse","type":{"name":"http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse","links":[{"category":"internal","recordName":"StatusCodeResponse"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The client resource function to send HTTP PATCH requests to HTTP endpoints.\n","accessor":"patch","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP status code response, which is expected to be returned after data binding","optional":true,"default":"http:StatusCodeResponse","type":{"name":"http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse","links":[{"category":"internal","recordName":"StatusCodeResponse"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"patch","type":"Remote Function","description":"The `Client.patch()` function can be used to send HTTP PATCH requests to HTTP endpoints.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP status code response, which is expected to be returned after data binding","optional":true,"default":"http:StatusCodeResponse","type":{"name":"http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse","links":[{"category":"internal","recordName":"StatusCodeResponse"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The client resource function to send HTTP DELETE requests to HTTP endpoints.\n","accessor":"delete","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An optional HTTP outbound request or any allowed payload","optional":true,"default":"{}","type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP status code response, which is expected to be returned after data binding","optional":true,"default":"http:StatusCodeResponse","type":{"name":"http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse","links":[{"category":"internal","recordName":"StatusCodeResponse"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"delete","type":"Remote Function","description":"The `Client.delete()` function can be used to send HTTP DELETE requests to HTTP endpoints.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An optional HTTP outbound request message or any allowed payload","optional":true,"default":"{}","type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP status code response, which is expected to be returned after data binding","optional":true,"default":"http:StatusCodeResponse","type":{"name":"http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse","links":[{"category":"internal","recordName":"StatusCodeResponse"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The client resource function to send HTTP HEAD requests to HTTP endpoints.\n","accessor":"head","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"http:Response"}}},{"name":"head","type":"Remote Function","description":"The `Client.head()` function can be used to send HTTP HEAD requests to HTTP endpoints.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}}],"return":{"type":{"name":"http:Response"}}},{"type":"Resource Function","description":"The client resource function to send HTTP GET requests to HTTP endpoints.\n","accessor":"get","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"HTTP status code response, which is expected to be returned after data binding","optional":true,"default":"http:StatusCodeResponse","type":{"name":"http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse","links":[{"category":"internal","recordName":"StatusCodeResponse"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"get","type":"Remote Function","description":"The `Client.get()` function can be used to send HTTP GET requests to HTTP endpoints.\n","parameters":[{"name":"path","description":"Request path","optional":false,"default":null,"type":{"name":"string"}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"HTTP status code response, which is expected to be returned after data binding","optional":true,"default":"http:StatusCodeResponse","type":{"name":"http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse","links":[{"category":"internal","recordName":"StatusCodeResponse"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The client resource function to send HTTP OPTIONS requests to HTTP endpoints.\n","accessor":"options","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"HTTP status code response, which is expected to be returned after data binding","optional":true,"default":"http:StatusCodeResponse","type":{"name":"http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse","links":[{"category":"internal","recordName":"StatusCodeResponse"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"options","type":"Remote Function","description":"The `Client.options()` function can be used to send HTTP OPTIONS requests to HTTP endpoints.\n","parameters":[{"name":"path","description":"Request path","optional":false,"default":null,"type":{"name":"string"}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"HTTP status code response, which is expected to be returned after data binding","optional":true,"default":"http:StatusCodeResponse","type":{"name":"http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse","links":[{"category":"internal","recordName":"StatusCodeResponse"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"execute","type":"Remote Function","description":"Invokes an HTTP call with the specified HTTP verb.\n","parameters":[{"name":"httpVerb","description":"HTTP verb value","optional":false,"default":null,"type":{"name":"string"}},{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP status code response, which is expected to be returned after data binding","optional":true,"default":"http:StatusCodeResponse","type":{"name":"http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse","links":[{"category":"internal","recordName":"StatusCodeResponse"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"forward","type":"Remote Function","description":"The `Client.forward()` function can be used to invoke an HTTP call with inbound request's HTTP verb\n","parameters":[{"name":"path","description":"Request path","optional":false,"default":null,"type":{"name":"string"}},{"name":"request","description":"An HTTP inbound request message","optional":false,"default":null,"type":{"name":"http:Request","links":[{"category":"internal","recordName":"Request"}]}},{"name":"targetType","description":"HTTP status code response, which is expected to be returned after data binding","optional":true,"default":"http:StatusCodeResponse","type":{"name":"http:Continue|http:SwitchingProtocols|http:Processing|http:EarlyHints|http:Ok|http:Created|http:Accepted|http:NonAuthoritativeInformation|http:NoContent|http:ResetContent|http:PartialContent|http:MultiStatus|http:AlreadyReported|http:IMUsed|http:MultipleChoices|http:MovedPermanently|http:Found|http:SeeOther|http:NotModified|http:UseProxy|http:TemporaryRedirect|http:PermanentRedirect|http:BadRequest|http:Unauthorized|http:PaymentRequired|http:Forbidden|http:NotFound|http:MethodNotAllowed|http:NotAcceptable|http:ProxyAuthenticationRequired|http:RequestTimeout|http:Conflict|http:Gone|http:LengthRequired|http:PreconditionFailed|http:PayloadTooLarge|http:UriTooLong|http:UnsupportedMediaType|http:RangeNotSatisfiable|http:ExpectationFailed|http:MisdirectedRequest|http:UnprocessableEntity|http:Locked|http:FailedDependency|http:TooEarly|http:PreconditionRequired|http:UnavailableDueToLegalReasons|http:UpgradeRequired|http:TooManyRequests|http:RequestHeaderFieldsTooLarge|http:InternalServerError|http:NotImplemented|http:BadGateway|http:ServiceUnavailable|http:GatewayTimeout|http:HttpVersionNotSupported|http:VariantAlsoNegotiates|http:InsufficientStorage|http:LoopDetected|http:NotExtended|http:NetworkAuthenticationRequired|http:DefaultStatusCodeResponse","links":[{"category":"internal","recordName":"StatusCodeResponse"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"submit","type":"Remote Function","description":"Submits an HTTP request to a service with the specified HTTP verb.\nThe `Client->submit()` function does not give out a `http:Response` as the result.\nRather it returns an `http:HttpFuture` which can be used to do further interactions with the endpoint.\n","parameters":[{"name":"httpVerb","description":"The HTTP verb value. The HTTP verb is case-sensitive. Use the `http:Method` type to specify the\nthe standard HTTP methods.","optional":false,"default":null,"type":{"name":"string"}},{"name":"path","description":"The resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}}],"return":{"type":{"name":"http:HttpFuture"}}},{"name":"getResponse","type":"Remote Function","description":"This just pass the request to actual network call.\n","parameters":[{"name":"httpFuture","description":"The `http:HttpFuture` related to a previous asynchronous invocation","optional":false,"default":null,"type":{"name":"http:HttpFuture","links":[{"category":"internal","recordName":"HttpFuture"}]}}],"return":{"type":{"name":"http:Response"}}},{"name":"hasPromise","type":"Remote Function","description":"This just pass the request to actual network call.\n","parameters":[{"name":"httpFuture","description":"The `http:HttpFuture` relates to a previous asynchronous invocation","optional":false,"default":null,"type":{"name":"http:HttpFuture","links":[{"category":"internal","recordName":"HttpFuture"}]}}],"return":{"type":{"name":"boolean"}}},{"name":"getNextPromise","type":"Remote Function","description":"This just pass the request to actual network call.\n","parameters":[{"name":"httpFuture","description":"The `http:HttpFuture` related to a previous asynchronous invocation","optional":false,"default":null,"type":{"name":"http:HttpFuture","links":[{"category":"internal","recordName":"HttpFuture"}]}}],"return":{"type":{"name":"http:PushPromise"}}},{"name":"getPromisedResponse","type":"Remote Function","description":"Passes the request to an actual network call.\n","parameters":[{"name":"promise","description":"The related `http:PushPromise`","optional":false,"default":null,"type":{"name":"http:PushPromise","links":[{"category":"internal","recordName":"PushPromise"}]}}],"return":{"type":{"name":"http:Response"}}},{"name":"rejectPromise","type":"Remote Function","description":"This just pass the request to actual network call.\n","parameters":[{"name":"promise","description":"The Push Promise to be rejected","optional":false,"default":null,"type":{"name":"http:PushPromise","links":[{"category":"internal","recordName":"PushPromise"}]}}],"return":{"type":{"name":"()"}}},{"name":"getCookieStore","type":"Normal Function","description":"Retrieves the cookie store of the client.\n","parameters":[],"return":{"type":{"name":"http:CookieStore|()"}}},{"name":"circuitBreakerForceClose","type":"Normal Function","description":"The circuit breaker client related method to force the circuit into a closed state in which it will allow\nrequests regardless of the error percentage until the failure threshold exceeds.","parameters":[],"return":{"type":{"name":"()"}}},{"name":"circuitBreakerForceOpen","type":"Normal Function","description":"The circuit breaker client related method to force the circuit into a open state in which it will suspend all\nrequests until `resetTime` interval exceeds.","parameters":[],"return":{"type":{"name":"()"}}},{"name":"getCircuitBreakerCurrentState","type":"Normal Function","description":"The circuit breaker client related method to provides the `http:CircuitState` of the circuit breaker.\n","parameters":[],"return":{"type":{"name":"http:CircuitState"}}}]},{"name":"FailoverClient","description":"An HTTP client endpoint which provides failover support over multiple HTTP clients.\n","functions":[{"name":"init","type":"Constructor","description":"An HTTP client endpoint which provides failover support over multiple HTTP clients.\n","parameters":[{"name":"httpVersion","description":"HTTP protocol version supported by the client","optional":true,"default":"\"2.0\"","type":{"name":"http:HttpVersion","links":[{"category":"internal","recordName":"HttpVersion"}]}},{"name":"http1Settings","description":"HTTP/1.x specific settings","optional":true,"default":"{}","type":{"name":"http:ClientHttp1Settings","links":[{"category":"internal","recordName":"ClientHttp1Settings"}]}},{"name":"http2Settings","description":"HTTP/2 specific settings","optional":true,"default":"{}","type":{"name":"http:ClientHttp2Settings","links":[{"category":"internal","recordName":"ClientHttp2Settings"}]}},{"name":"timeout","description":"Maximum time(in seconds) to wait for a response before the request times out","optional":true,"default":"0.0d","type":{"name":"decimal"}},{"name":"forwarded","description":"The choice of setting `Forwarded`/`X-Forwarded-For` header, when acting as a proxy","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"followRedirects","description":"HTTP redirect handling configurations (with 3xx status codes)","optional":true,"default":"()","type":{"name":"http:FollowRedirects|()","links":[{"category":"internal","recordName":"FollowRedirects|()"}]}},{"name":"poolConfig","description":"Configurations associated with the request connection pool","optional":true,"default":"()","type":{"name":"http:PoolConfiguration|()","links":[{"category":"internal","recordName":"PoolConfiguration|()"}]}},{"name":"cache","description":"HTTP response caching related configurations","optional":true,"default":"{}","type":{"name":"http:CacheConfig","links":[{"category":"internal","recordName":"CacheConfig"}]}},{"name":"compression","description":"Enable request/response compression (using `accept-encoding` header)","optional":true,"default":"\"AUTO\"","type":{"name":"http:Compression","links":[{"category":"internal","recordName":"Compression"}]}},{"name":"auth","description":"Client authentication options (Basic, Bearer token, OAuth, etc.)","optional":true,"default":"()","type":{"name":"http:CredentialsConfig|http:BearerTokenConfig|http:JwtIssuerConfig|http:OAuth2ClientCredentialsGrantConfig|http:OAuth2PasswordGrantConfig|http:OAuth2RefreshTokenGrantConfig|http:OAuth2JwtBearerGrantConfig|()","links":[{"category":"internal","recordName":"CredentialsConfig|BearerTokenConfig|JwtIssuerConfig|OAuth2ClientCredentialsGrantConfig|OAuth2PasswordGrantConfig|OAuth2RefreshTokenGrantConfig|OAuth2JwtBearerGrantConfig|()"}]}},{"name":"circuitBreaker","description":"Circuit breaker configurations to prevent cascading failures","optional":true,"default":"()","type":{"name":"http:CircuitBreakerConfig|()","links":[{"category":"internal","recordName":"CircuitBreakerConfig|()"}]}},{"name":"retryConfig","description":"Automatic retry settings for failed requests","optional":true,"default":"()","type":{"name":"http:RetryConfig|()","links":[{"category":"internal","recordName":"RetryConfig|()"}]}},{"name":"cookieConfig","description":"Cookie handling settings for session management","optional":true,"default":"()","type":{"name":"http:CookieConfig|()","links":[{"category":"internal","recordName":"CookieConfig|()"}]}},{"name":"responseLimits","description":"Limits for response size and headers (to prevent memory issues)","optional":true,"default":"{}","type":{"name":"http:ResponseLimitConfigs","links":[{"category":"internal","recordName":"ResponseLimitConfigs"}]}},{"name":"proxy","description":"Proxy server settings if requests need to go through a proxy","optional":true,"default":"()","type":{"name":"http:ProxyConfig|()","links":[{"category":"internal","recordName":"ProxyConfig|()"}]}},{"name":"validation","description":"Enable automatic payload validation for request/response data against constraints","optional":true,"default":"false","type":{"name":"boolean"}},{"name":"socketConfig","description":"Low-level socket settings (timeouts, buffer sizes, etc.)","optional":true,"default":"{}","type":{"name":"http:ClientSocketConfig","links":[{"category":"internal","recordName":"ClientSocketConfig"}]}},{"name":"laxDataBinding","description":"Enable relaxed data binding on the client side.\nWhen enabled:\n- `null` values in JSON are allowed to be mapped to optional fields\n- missing fields in JSON are allowed to be mapped as `null` values","optional":true,"default":"false","type":{"name":"boolean"}},{"name":"targets","description":"The upstream HTTP endpoints among which the incoming HTTP traffic load should be sent on failover","optional":true,"default":"[]","type":{"name":"http:TargetService[]","links":[{"category":"internal","recordName":"TargetService[]"}]}},{"name":"failoverCodes","description":"Array of HTTP response status codes for which the failover behaviour should be triggered","optional":true,"default":"[]","type":{"name":"int[]"}},{"name":"interval","description":"Failover delay interval in seconds","optional":true,"default":"0.0d","type":{"name":"decimal"}},{"name":"failoverClientConfig","description":"The configurations of the client endpoint associated with this `Failover` instance","optional":true,"default":null,"type":{"name":"http:FailoverClientConfiguration","links":[{"category":"internal","recordName":"FailoverClientConfiguration"}]}}],"return":{"type":{"name":"ballerina/http:FailoverClient"}}},{"type":"Resource Function","description":"The POST resource function implementation of the Failover Connector.\n","accessor":"post","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"post","type":"Remote Function","description":"The POST remote function implementation of the Failover Connector.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The PUT resource function implementation of the Failover Connector.\n","accessor":"put","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"put","type":"Remote Function","description":"The PUT remote function implementation of the Failover Connector.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The PATCH resource function implementation of the Failover Connector.\n","accessor":"patch","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"patch","type":"Remote Function","description":"The PATCH remote function implementation of the Failover Connector.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The DELETE resource function implementation of the Failover Connector.\n","accessor":"delete","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An optional HTTP outbound request or any allowed payload","optional":true,"default":"{}","type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"delete","type":"Remote Function","description":"The DELETE remote function implementation of the Failover Connector.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An optional HTTP outbound request message or any allowed payload","optional":true,"default":"{}","type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The HEAD resource function implementation of the Failover Connector.\n","accessor":"head","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"http:Response"}}},{"name":"head","type":"Remote Function","description":"The HEAD remote function implementation of the Failover Connector.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}}],"return":{"type":{"name":"http:Response"}}},{"type":"Resource Function","description":"The GET resource function implementation of the Failover Connector.\n","accessor":"get","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"get","type":"Remote Function","description":"The GET remote function implementation of the Failover Connector.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The OPTIONS resource function implementation of the Failover Connector.\n","accessor":"options","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"options","type":"Remote Function","description":"The OPTIONS remote function implementation of the Failover Connector.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"execute","type":"Remote Function","description":"Invokes an HTTP call with the specified HTTP method.\n","parameters":[{"name":"httpVerb","description":"HTTP verb value","optional":false,"default":null,"type":{"name":"string"}},{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"forward","type":"Remote Function","description":"Invokes an HTTP call using the incoming request's HTTP method.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"request","description":"An HTTP request","optional":false,"default":null,"type":{"name":"http:Request","links":[{"category":"internal","recordName":"Request"}]}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"submit","type":"Remote Function","description":"Submits an HTTP request to a service with the specified HTTP verb. The `FailoverClient.submit()` function does not\nreturn an `http:Response` as the result. Rather it returns an `http:HttpFuture` which can be used for subsequent interactions\nwith the HTTP endpoint.\n","parameters":[{"name":"httpVerb","description":"The HTTP verb value. The HTTP verb is case-sensitive. Use the `http:Method` type to specify the\nthe standard HTTP methods.","optional":false,"default":null,"type":{"name":"string"}},{"name":"path","description":"The resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}}],"return":{"type":{"name":"http:HttpFuture"}}},{"name":"getResponse","type":"Remote Function","description":"Retrieves the `http:Response` for a previously-submitted request.\n","parameters":[{"name":"httpFuture","description":"The `http:HttpFuture` related to a previous asynchronous invocation","optional":false,"default":null,"type":{"name":"http:HttpFuture","links":[{"category":"internal","recordName":"HttpFuture"}]}}],"return":{"type":{"name":"http:Response"}}},{"name":"hasPromise","type":"Remote Function","description":"Checks whether an `http:PushPromise` exists for a previously-submitted request.\n","parameters":[{"name":"httpFuture","description":"The `http:HttpFuture` related to a previous asynchronous invocation","optional":false,"default":null,"type":{"name":"http:HttpFuture","links":[{"category":"internal","recordName":"HttpFuture"}]}}],"return":{"type":{"name":"boolean"}}},{"name":"getNextPromise","type":"Remote Function","description":"Retrieves the next available `http:PushPromise` for a previously-submitted request.\n","parameters":[{"name":"httpFuture","description":"The `http:HttpFuture` related to a previous asynchronous invocation","optional":false,"default":null,"type":{"name":"http:HttpFuture","links":[{"category":"internal","recordName":"HttpFuture"}]}}],"return":{"type":{"name":"http:PushPromise"}}},{"name":"getPromisedResponse","type":"Remote Function","description":"Retrieves the promised server push `http:Response` message.\n","parameters":[{"name":"promise","description":"The related `http:PushPromise`","optional":false,"default":null,"type":{"name":"http:PushPromise","links":[{"category":"internal","recordName":"PushPromise"}]}}],"return":{"type":{"name":"http:Response"}}},{"name":"rejectPromise","type":"Remote Function","description":"Rejects an `http:PushPromise`. When an `http:PushPromise` is rejected, there is no chance of fetching a promised\nresponse using the rejected promise.\n","parameters":[{"name":"promise","description":"The Push Promise to be rejected","optional":false,"default":null,"type":{"name":"http:PushPromise","links":[{"category":"internal","recordName":"PushPromise"}]}}],"return":{"type":{"name":"()"}}},{"name":"getSucceededEndpointIndex","type":"Normal Function","description":"Gets the index of the `TargetService[]` array which given a successful response.\n","parameters":[],"return":{"type":{"name":"int"}}}]},{"name":"LoadBalanceClient","description":"LoadBalanceClient endpoint provides load balancing functionality over multiple HTTP clients.\n","functions":[{"name":"init","type":"Constructor","description":"LoadBalanceClient endpoint provides load balancing functionality over multiple HTTP clients.\n","parameters":[{"name":"httpVersion","description":"HTTP protocol version supported by the client","optional":true,"default":"\"2.0\"","type":{"name":"http:HttpVersion","links":[{"category":"internal","recordName":"HttpVersion"}]}},{"name":"http1Settings","description":"HTTP/1.x specific settings","optional":true,"default":"{}","type":{"name":"http:ClientHttp1Settings","links":[{"category":"internal","recordName":"ClientHttp1Settings"}]}},{"name":"http2Settings","description":"HTTP/2 specific settings","optional":true,"default":"{}","type":{"name":"http:ClientHttp2Settings","links":[{"category":"internal","recordName":"ClientHttp2Settings"}]}},{"name":"timeout","description":"Maximum time(in seconds) to wait for a response before the request times out","optional":true,"default":"0.0d","type":{"name":"decimal"}},{"name":"forwarded","description":"The choice of setting `Forwarded`/`X-Forwarded-For` header, when acting as a proxy","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"followRedirects","description":"HTTP redirect handling configurations (with 3xx status codes)","optional":true,"default":"()","type":{"name":"http:FollowRedirects|()","links":[{"category":"internal","recordName":"FollowRedirects|()"}]}},{"name":"poolConfig","description":"Configurations associated with the request connection pool","optional":true,"default":"()","type":{"name":"http:PoolConfiguration|()","links":[{"category":"internal","recordName":"PoolConfiguration|()"}]}},{"name":"cache","description":"HTTP response caching related configurations","optional":true,"default":"{}","type":{"name":"http:CacheConfig","links":[{"category":"internal","recordName":"CacheConfig"}]}},{"name":"compression","description":"Enable request/response compression (using `accept-encoding` header)","optional":true,"default":"\"AUTO\"","type":{"name":"http:Compression","links":[{"category":"internal","recordName":"Compression"}]}},{"name":"auth","description":"Client authentication options (Basic, Bearer token, OAuth, etc.)","optional":true,"default":"()","type":{"name":"http:CredentialsConfig|http:BearerTokenConfig|http:JwtIssuerConfig|http:OAuth2ClientCredentialsGrantConfig|http:OAuth2PasswordGrantConfig|http:OAuth2RefreshTokenGrantConfig|http:OAuth2JwtBearerGrantConfig|()","links":[{"category":"internal","recordName":"CredentialsConfig|BearerTokenConfig|JwtIssuerConfig|OAuth2ClientCredentialsGrantConfig|OAuth2PasswordGrantConfig|OAuth2RefreshTokenGrantConfig|OAuth2JwtBearerGrantConfig|()"}]}},{"name":"circuitBreaker","description":"Circuit breaker configurations to prevent cascading failures","optional":true,"default":"()","type":{"name":"http:CircuitBreakerConfig|()","links":[{"category":"internal","recordName":"CircuitBreakerConfig|()"}]}},{"name":"retryConfig","description":"Automatic retry settings for failed requests","optional":true,"default":"()","type":{"name":"http:RetryConfig|()","links":[{"category":"internal","recordName":"RetryConfig|()"}]}},{"name":"cookieConfig","description":"Cookie handling settings for session management","optional":true,"default":"()","type":{"name":"http:CookieConfig|()","links":[{"category":"internal","recordName":"CookieConfig|()"}]}},{"name":"responseLimits","description":"Limits for response size and headers (to prevent memory issues)","optional":true,"default":"{}","type":{"name":"http:ResponseLimitConfigs","links":[{"category":"internal","recordName":"ResponseLimitConfigs"}]}},{"name":"proxy","description":"Proxy server settings if requests need to go through a proxy","optional":true,"default":"()","type":{"name":"http:ProxyConfig|()","links":[{"category":"internal","recordName":"ProxyConfig|()"}]}},{"name":"validation","description":"Enable automatic payload validation for request/response data against constraints","optional":true,"default":"false","type":{"name":"boolean"}},{"name":"socketConfig","description":"Low-level socket settings (timeouts, buffer sizes, etc.)","optional":true,"default":"{}","type":{"name":"http:ClientSocketConfig","links":[{"category":"internal","recordName":"ClientSocketConfig"}]}},{"name":"laxDataBinding","description":"Enable relaxed data binding on the client side.\nWhen enabled:\n- `null` values in JSON are allowed to be mapped to optional fields\n- missing fields in JSON are allowed to be mapped as `null` values","optional":true,"default":"false","type":{"name":"boolean"}},{"name":"targets","description":"The upstream HTTP endpoints among which the incoming HTTP traffic load should be distributed","optional":true,"default":"[]","type":{"name":"http:TargetService[]","links":[{"category":"internal","recordName":"TargetService[]"}]}},{"name":"lbRule","description":"The `LoadBalancing` rule","optional":true,"default":"()","type":{"name":"http:LoadBalancerRule|()","links":[{"category":"internal","recordName":"LoadBalancerRule|()"}]}},{"name":"failover","description":"Configuration for the load balancer whether to fail over a failure","optional":true,"default":"false","type":{"name":"boolean"}},{"name":"loadBalanceClientConfig","description":"The configurations for the load balance client endpoint","optional":true,"default":null,"type":{"name":"http:LoadBalanceClientConfiguration","links":[{"category":"internal","recordName":"LoadBalanceClientConfiguration"}]}}],"return":{"type":{"name":"ballerina/http:LoadBalanceClient"}}},{"type":"Resource Function","description":"The POST resource function implementation of the LoadBalancer Connector.\n","accessor":"post","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"post","type":"Remote Function","description":"The POST remote function implementation of the LoadBalancer Connector.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The PUT resource function implementation of the LoadBalancer Connector.\n","accessor":"put","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"put","type":"Remote Function","description":"The PUT remote function implementation of the Load Balance Connector.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The PATCH resource function implementation of the LoadBalancer Connector.\n","accessor":"patch","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"patch","type":"Remote Function","description":"The PATCH remote function implementation of the LoadBalancer Connector.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The DELETE resource function implementation of the LoadBalancer Connector.\n","accessor":"delete","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"message","description":"An optional HTTP outbound request or any allowed payload","optional":true,"default":"{}","type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"delete","type":"Remote Function","description":"The DELETE remote function implementation of the LoadBalancer Connector.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An optional HTTP outbound request message or any allowed payload","optional":true,"default":"{}","type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The HEAD resource function implementation of the LoadBalancer Connector.\n","accessor":"head","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"http:Response"}}},{"name":"head","type":"Remote Function","description":"The HEAD remote function implementation of the LoadBalancer Connector.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}}],"return":{"type":{"name":"http:Response"}}},{"type":"Resource Function","description":"The GET resource function implementation of the LoadBalancer Connector.\n","accessor":"get","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"get","type":"Remote Function","description":"The GET remote function implementation of the LoadBalancer Connector.\n","parameters":[{"name":"path","description":"Request path","optional":false,"default":null,"type":{"name":"string"}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"type":"Resource Function","description":"The OPTIONS resource function implementation of the LoadBalancer Connector.\n","accessor":"options","paths":[{"name":"path","type":"..."}],"parameters":[{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}},{"name":"Additional Values","description":"Capture key value pairs","optional":true,"default":null,"type":{"name":"http:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}},{"name":"params","description":"The query parameters","optional":true,"default":null,"type":{"name":"http:QueryParams","links":[{"category":"internal","recordName":"QueryParams"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"options","type":"Remote Function","description":"The OPTIONS remote function implementation of the LoadBalancer Connector.\n","parameters":[{"name":"path","description":"Request path","optional":false,"default":null,"type":{"name":"string"}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"execute","type":"Remote Function","description":"The EXECUTE remote function implementation of the LoadBalancer Connector.\n","parameters":[{"name":"httpVerb","description":"HTTP verb value","optional":false,"default":null,"type":{"name":"string"}},{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}},{"name":"headers","description":"The entity headers","optional":true,"default":"()","type":{"name":"map|()"}},{"name":"mediaType","description":"The MIME type header of the request entity","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"forward","type":"Remote Function","description":"The FORWARD remote function implementation of the LoadBalancer Connector.\n","parameters":[{"name":"path","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"request","description":"An HTTP request","optional":false,"default":null,"type":{"name":"http:Request","links":[{"category":"internal","recordName":"Request"}]}},{"name":"targetType","description":"HTTP response, `anydata` or stream of HTTP SSE, which is expected to be returned after data binding","optional":true,"default":"http:Response|anydata|stream","type":{"name":"http:Response|anydata|stream","links":[{"category":"internal","recordName":"Response|anydata|stream"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"submit","type":"Remote Function","description":"The submit implementation of the LoadBalancer Connector.\n","parameters":[{"name":"httpVerb","description":"The HTTP verb value. The HTTP verb is case-sensitive. Use the `http:Method` type to specify the\nthe standard HTTP methods.","optional":false,"default":null,"type":{"name":"string"}},{"name":"path","description":"The resource path","optional":false,"default":null,"type":{"name":"string"}},{"name":"message","description":"An HTTP outbound request or any allowed payload","optional":false,"default":null,"type":{"name":"http:RequestMessage","links":[{"category":"internal","recordName":"RequestMessage"}]}}],"return":{"type":{"name":"http:HttpFuture"}}},{"name":"getResponse","type":"Remote Function","description":"The getResponse implementation of the LoadBalancer Connector.\n","parameters":[{"name":"httpFuture","description":"The `http:HttpFuture` related to a previous asynchronous invocation","optional":false,"default":null,"type":{"name":"http:HttpFuture","links":[{"category":"internal","recordName":"HttpFuture"}]}}],"return":{"type":{"name":"http:Response"}}},{"name":"hasPromise","type":"Remote Function","description":"The hasPromise implementation of the LoadBalancer Connector.\n","parameters":[{"name":"httpFuture","description":"The `http:HttpFuture` related to a previous asynchronous invocation","optional":false,"default":null,"type":{"name":"http:HttpFuture","links":[{"category":"internal","recordName":"HttpFuture"}]}}],"return":{"type":{"name":"boolean"}}},{"name":"getNextPromise","type":"Remote Function","description":"The getNextPromise implementation of the LoadBalancer Connector.\n","parameters":[{"name":"httpFuture","description":"The `http:HttpFuture` related to a previous asynchronous invocation","optional":false,"default":null,"type":{"name":"http:HttpFuture","links":[{"category":"internal","recordName":"HttpFuture"}]}}],"return":{"type":{"name":"http:PushPromise"}}},{"name":"getPromisedResponse","type":"Remote Function","description":"The getPromisedResponse implementation of the LoadBalancer Connector.\n","parameters":[{"name":"promise","description":"The related `http:PushPromise`","optional":false,"default":null,"type":{"name":"http:PushPromise","links":[{"category":"internal","recordName":"PushPromise"}]}}],"return":{"type":{"name":"http:Response"}}},{"name":"rejectPromise","type":"Remote Function","description":"The rejectPromise implementation of the LoadBalancer Connector.\n","parameters":[{"name":"promise","description":"The Push Promise to be rejected","optional":false,"default":null,"type":{"name":"http:PushPromise","links":[{"category":"internal","recordName":"PushPromise"}]}}],"return":{"type":{"name":"()"}}}]}],"functions":[{"name":"authenticateResource","type":"Normal Function","description":"Uses for declarative auth design, where the authentication/authorization decision is taken\nby reading the auth annotations provided in service/resource and the `Authorization` header of request.\n","parameters":[{"name":"serviceRef","description":"The service reference where the resource locates","optional":false,"default":null,"type":{"name":"http:Service","links":[{"category":"internal","recordName":"Service"}]}},{"name":"methodName","description":"The name of the subjected resource","optional":false,"default":null,"type":{"name":"string"}},{"name":"resourcePath","description":"The relative path","optional":false,"default":null,"type":{"name":"string[]"}}],"return":{"type":{"name":"()"}}},{"name":"createHttpCachingClient","type":"Normal Function","description":"Creates an HTTP client capable of caching HTTP responses.\n","parameters":[{"name":"url","description":"The URL of the HTTP endpoint to connect","optional":false,"default":null,"type":{"name":"string"}},{"name":"config","description":"The configurations for the client endpoint associated with the caching client","optional":false,"default":null,"type":{"name":"http:ClientConfiguration","links":[{"category":"internal","recordName":"ClientConfiguration"}]}},{"name":"cacheConfig","description":"The configurations for the HTTP cache to be used with the caching client","optional":false,"default":null,"type":{"name":"http:CacheConfig","links":[{"category":"internal","recordName":"CacheConfig"}]}}],"return":{"type":{"name":"http:HttpClient"}}},{"name":"parseHeader","type":"Normal Function","description":"Parses the header value which contains multiple values or parameters.\n```ballerina\n http:HeaderValue[] values = check http:parseHeader(\"text/plain;level=1;q=0.6, application/xml;level=2\");\n```\n","parameters":[{"name":"headerValue","description":"The header value","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"http:HeaderValue[]"}}},{"name":"getHeaderMap","type":"Normal Function","description":"Converts the headers represented as a map of `anydata` to a map of `string` or `string` array. The `value:toString`\nmethod will be used to convert the values to `string`. Additionally if the header name is specified by the\n`http:Header` annotation, then it will be used as the header name.\n```ballerina\ntype Headers record {\n @http:Header {name: \"X-API-VERSION\"}\n string apiVersion;\n int id;\n};\nHeaders headers = {apiVersion: \"v1\", id: 1};\nmap headersMap = http:getHeaderMap(headers); // { \"X-API-VERSION\": \"v1\", \"id\": \"1\" }\n```\n","parameters":[{"name":"headers","description":"The headers represented as a map of anydata","optional":false,"default":null,"type":{"name":"map"}}],"return":{"type":{"name":"map"}}},{"name":"getQueryMap","type":"Normal Function","description":"If the query name is specified by the `http:Query` annotation, then this function will return the queries map\nwith the specified query name. Otherwise, it will return the map as it is.\n```ballerina\ntype Queries record {\n @http:Query {name: \"filter_ids\"}\n string[] ids;\n};\nQueries queries = {ids: [\"1\", \"2\"]};\nmap queriesMap = http:getQueryMap(queries); // { \"filter_ids\": [\"1\", \"2\"] }\n```\n","parameters":[{"name":"queries","description":"The queries represented as a map of anydata","optional":false,"default":null,"type":{"name":"map"}}],"return":{"type":{"name":"map"}}},{"name":"getDefaultListener","type":"Normal Function","description":"Returns the default HTTP listener. If the default listener is not already created, a new\nlistener will be created with the port and configuration. An error will be returned if\nthe listener creation fails.\n\nThe default listener configuration can be changed in the `Config.toml` file. Example:\n```toml\n[ballerina.http]\ndefaultListenerPort = 8080\n[ballerina.http.defaultListenerConfig]\nhttpVersion = \"1.1\"\n[ballerina.http.defaultListenerConfig.secureSocket.key]\npath = \"resources/certs/key.pem\"\npassword = \"password\"\n```\n","parameters":[],"return":{"type":{"name":"http:Listener"}}},{"name":"createHttpSecureClient","type":"Normal Function","description":"Creates an HTTP client capable of securing HTTP requests with authentication.\n","parameters":[{"name":"url","description":"Base URL","optional":false,"default":null,"type":{"name":"string"}},{"name":"config","description":"Client endpoint configurations","optional":false,"default":null,"type":{"name":"http:ClientConfiguration","links":[{"category":"internal","recordName":"ClientConfiguration"}]}}],"return":{"type":{"name":"http:HttpClient"}}}],"typeDefs":[{"name":"AUTH_HEADER","description":"Represents the Authorization header name.","type":"Constant","value":"Authorization","varType":{"name":"string"}},{"name":"AUTH_SCHEME_BASIC","description":"The prefix used to denote the Basic authentication scheme.","type":"Constant","value":"Basic","varType":{"name":"string"}},{"name":"AUTH_SCHEME_BEARER","description":"The prefix used to denote the Bearer authentication scheme.","type":"Constant","value":"Bearer","varType":{"name":"string"}},{"name":"NO_CACHE","description":"Forces the cache to validate a cached response with the origin server before serving.","type":"Constant","value":"no-cache","varType":{"name":"string"}},{"name":"NO_STORE","description":"Instructs the cache to not store a response in non-volatile storage.","type":"Constant","value":"no-store","varType":{"name":"string"}},{"name":"NO_TRANSFORM","description":"Instructs intermediaries not to transform the payload.","type":"Constant","value":"no-transform","varType":{"name":"string"}},{"name":"MAX_AGE","description":"When used in requests, `max-age` implies that clients are not willing to accept responses whose age is greater\nthan `max-age`. When used in responses, the response is to be considered stale after the specified\nnumber of seconds.","type":"Constant","value":"max-age","varType":{"name":"string"}},{"name":"MAX_STALE","description":"Indicates that the client is willing to accept responses which have exceeded their freshness lifetime by no more\nthan the specified number of seconds.","type":"Constant","value":"max-stale","varType":{"name":"string"}},{"name":"MIN_FRESH","description":"Indicates that the client is only accepting responses whose freshness lifetime >= current age + min-fresh.","type":"Constant","value":"min-fresh","varType":{"name":"string"}},{"name":"ONLY_IF_CACHED","description":"Indicates that the client is only willing to accept a cached response. A cached response is served subject to\nother constraints posed by the request.","type":"Constant","value":"only-if-cached","varType":{"name":"string"}},{"name":"MUST_REVALIDATE","description":"Indicates that once the response has become stale, it should not be reused for subsequent requests without\nvalidating with the origin server.","type":"Constant","value":"must-revalidate","varType":{"name":"string"}},{"name":"PUBLIC","description":"Indicates that any cache may store the response.","type":"Constant","value":"public","varType":{"name":"string"}},{"name":"PRIVATE","description":"Indicates that the response is intended for a single user and should not be stored by shared caches.","type":"Constant","value":"private","varType":{"name":"string"}},{"name":"PROXY_REVALIDATE","description":"Has the same semantics as `must-revalidate`, except that this does not apply to private caches.","type":"Constant","value":"proxy-revalidate","varType":{"name":"string"}},{"name":"S_MAX_AGE","description":"In shared caches, `s-maxage` overrides the `max-age` or `expires` header field.","type":"Constant","value":"s-maxage","varType":{"name":"string"}},{"name":"MAX_STALE_ANY_AGE","description":"Setting this as the `max-stale` directives indicates that the `max-stale` directive does not specify a limit.","type":"Constant","value":"9223372036854775807","varType":{"name":"decimal"}},{"name":"CACHE_CONTROL_AND_VALIDATORS","description":"This is a more restricted mode of RFC 7234. Setting this as the caching policy restricts caching to instances\nwhere the `cache-control` header and either the `etag` or `last-modified` header are present.","type":"Constant","value":"CACHE_CONTROL_AND_VALIDATORS","varType":{"name":"string"}},{"name":"RFC_7234","description":"Caching behaviour is as specified by the RFC 7234 specification.","type":"Constant","value":"RFC_7234","varType":{"name":"string"}},{"name":"REDIRECT_MULTIPLE_CHOICES_300","description":"Represents the HTTP redirect status code `300 - Multiple Choices`.","type":"Constant","value":"300","varType":{"name":"int"}},{"name":"REDIRECT_MOVED_PERMANENTLY_301","description":"Represents the HTTP redirect status code `301 - Moved Permanently`.","type":"Constant","value":"301","varType":{"name":"int"}},{"name":"REDIRECT_FOUND_302","description":"Represents the HTTP redirect status code `302 - Found`.","type":"Constant","value":"302","varType":{"name":"int"}},{"name":"REDIRECT_SEE_OTHER_303","description":"Represents the HTTP redirect status code `303 - See Other`.","type":"Constant","value":"303","varType":{"name":"int"}},{"name":"REDIRECT_NOT_MODIFIED_304","description":"Represents the HTTP redirect status code `304 - Not Modified`.","type":"Constant","value":"304","varType":{"name":"int"}},{"name":"REDIRECT_USE_PROXY_305","description":"Represents the HTTP redirect status code `305 - Use Proxy`.","type":"Constant","value":"305","varType":{"name":"int"}},{"name":"REDIRECT_TEMPORARY_REDIRECT_307","description":"Represents the HTTP redirect status code `307 - Temporary Redirect`.","type":"Constant","value":"307","varType":{"name":"int"}},{"name":"REDIRECT_PERMANENT_REDIRECT_308","description":"Represents the HTTP redirect status code `308 - Permanent Redirect`.","type":"Constant","value":"308","varType":{"name":"int"}},{"name":"DEFAULT_LISTENER_TIMEOUT","description":"Constant for the default listener endpoint timeout in seconds","type":"Constant","value":"60","varType":{"name":"decimal"}},{"name":"DEFAULT_GRACEFULSTOP_TIMEOUT","description":"Constant for the default listener gracefulStop timeout in seconds","type":"Constant","value":"0","varType":{"name":"decimal"}},{"name":"MULTIPART_AS_PRIMARY_TYPE","description":"Represents multipart primary type","type":"Constant","value":"multipart/","varType":{"name":"string"}},{"name":"HTTP_FORWARD","description":"Constant for the HTTP FORWARD method","type":"Constant","value":"FORWARD","varType":{"name":"string"}},{"name":"HTTP_GET","description":"Constant for the HTTP GET method","type":"Constant","value":"GET","varType":{"name":"string"}},{"name":"HTTP_POST","description":"Constant for the HTTP POST method","type":"Constant","value":"POST","varType":{"name":"string"}},{"name":"HTTP_DELETE","description":"Constant for the HTTP DELETE method","type":"Constant","value":"DELETE","varType":{"name":"string"}},{"name":"HTTP_OPTIONS","description":"Constant for the HTTP OPTIONS method","type":"Constant","value":"OPTIONS","varType":{"name":"string"}},{"name":"HTTP_PUT","description":"Constant for the HTTP PUT method","type":"Constant","value":"PUT","varType":{"name":"string"}},{"name":"HTTP_PATCH","description":"Constant for the HTTP PATCH method","type":"Constant","value":"PATCH","varType":{"name":"string"}},{"name":"HTTP_HEAD","description":"Constant for the HTTP HEAD method","type":"Constant","value":"HEAD","varType":{"name":"string"}},{"name":"HTTP_SUBMIT","description":"constant for the HTTP SUBMIT method","type":"Constant","value":"SUBMIT","varType":{"name":"string"}},{"name":"HTTP_NONE","description":"Constant for the identify not an HTTP Operation","type":"Constant","value":"NONE","varType":{"name":"string"}},{"name":"CHUNKING_AUTO","description":"If the payload is less than 8KB, content-length header is set in the outbound request/response,\notherwise chunking header is set in the outbound request/response.}","type":"Constant","value":"AUTO","varType":{"name":"string"}},{"name":"CHUNKING_ALWAYS","description":"Always set chunking header in the response.","type":"Constant","value":"ALWAYS","varType":{"name":"string"}},{"name":"CHUNKING_NEVER","description":"Never set the chunking header even if the payload is larger than 8KB in the outbound request/response.","type":"Constant","value":"NEVER","varType":{"name":"string"}},{"name":"COMPRESSION_AUTO","description":"When service behaves as a HTTP gateway inbound request/response accept-encoding option is set as the\noutbound request/response accept-encoding/content-encoding option.","type":"Constant","value":"AUTO","varType":{"name":"string"}},{"name":"COMPRESSION_ALWAYS","description":"Always set accept-encoding/content-encoding in outbound request/response.","type":"Constant","value":"ALWAYS","varType":{"name":"string"}},{"name":"COMPRESSION_NEVER","description":"Never set accept-encoding/content-encoding header in outbound request/response.","type":"Constant","value":"NEVER","varType":{"name":"string"}},{"name":"LEADING","description":"Header is placed before the payload of the request/response.","type":"Constant","value":"leading","varType":{"name":"string"}},{"name":"TRAILING","description":"Header is placed after the payload of the request/response.","type":"Constant","value":"trailing","varType":{"name":"string"}},{"name":"JWT_INFORMATION","description":"Constant to get the jwt information from the request context.","type":"Constant","value":"JWT_INFORMATION","varType":{"name":"string"}},{"name":"AGE","description":"HTTP header key `age`. Gives the current age of a cached HTTP response. ","type":"Constant","value":"age","varType":{"name":"string"}},{"name":"AUTHORIZATION","description":"HTTP header key `authorization` ","type":"Constant","value":"authorization","varType":{"name":"string"}},{"name":"CACHE_CONTROL","description":"HTTP header key `cache-control`. Specifies the cache control directives required for the function of HTTP caches.","type":"Constant","value":"cache-control","varType":{"name":"string"}},{"name":"CONTENT_LENGTH","description":"HTTP header key `content-length`. Specifies the size of the response body in bytes. ","type":"Constant","value":"content-length","varType":{"name":"string"}},{"name":"CONTENT_TYPE","description":"HTTP header key `content-type`. Specifies the type of the message payload. ","type":"Constant","value":"content-type","varType":{"name":"string"}},{"name":"DATE","description":"HTTP header key `date`. The timestamp at the time the response was generated/received. ","type":"Constant","value":"date","varType":{"name":"string"}},{"name":"ETAG","description":"HTTP header key `etag`. A finger print for a resource which is used by HTTP caches to identify whether a\nresource representation has changed.","type":"Constant","value":"etag","varType":{"name":"string"}},{"name":"EXPECT","description":"HTTP header key `expect`. Specifies expectations to be fulfilled by the server. ","type":"Constant","value":"expect","varType":{"name":"string"}},{"name":"EXPIRES","description":"HTTP header key `expires`. Specifies the time at which the response becomes stale. ","type":"Constant","value":"expires","varType":{"name":"string"}},{"name":"IF_MATCH","description":"HTTP header key `if-match` ","type":"Constant","value":"if-match","varType":{"name":"string"}},{"name":"IF_MODIFIED_SINCE","description":"HTTP header key `if-modified-since`. Used when validating (with the origin server) whether a cached response\nis still valid. If the representation of the resource has modified since the timestamp in this field, a\n304 response is returned.","type":"Constant","value":"if-modified-since","varType":{"name":"string"}},{"name":"IF_NONE_MATCH","description":"HTTP header key `if-none-match`. Used when validating (with the origin server) whether a cached response is\nstill valid. If the ETag provided in this field matches the representation of the requested resource, a\n304 response is returned.","type":"Constant","value":"if-none-match","varType":{"name":"string"}},{"name":"IF_RANGE","description":"HTTP header key `if-range` ","type":"Constant","value":"if-range","varType":{"name":"string"}},{"name":"IF_UNMODIFIED_SINCE","description":"HTTP header key `if-unmodified-since` ","type":"Constant","value":"if-unmodified-since","varType":{"name":"string"}},{"name":"LAST_MODIFIED","description":"HTTP header key `last-modified`. The time at which the resource was last modified. ","type":"Constant","value":"last-modified","varType":{"name":"string"}},{"name":"LOCATION","description":"HTTP header key `location`. Indicates the URL to redirect a request to. ","type":"Constant","value":"location","varType":{"name":"string"}},{"name":"PRAGMA","description":"HTTP header key `pragma`. Used in dealing with HTTP 1.0 caches which do not understand the `cache-control` header.","type":"Constant","value":"pragma","varType":{"name":"string"}},{"name":"PROXY_AUTHORIZATION","description":"HTTP header key `proxy-authorization`. Contains the credentials to authenticate a user agent to a proxy serve.","type":"Constant","value":"proxy-authorization","varType":{"name":"string"}},{"name":"SERVER","description":"HTTP header key `server`. Specifies the details of the origin server.","type":"Constant","value":"server","varType":{"name":"string"}},{"name":"WARNING","description":"HTTP header key `warning`. Specifies warnings generated when serving stale responses from HTTP caches. ","type":"Constant","value":"warning","varType":{"name":"string"}},{"name":"TRANSFER_ENCODING","description":"HTTP header key `transfer-encoding`. Specifies what type of transformation has been applied to entity body. ","type":"Constant","value":"transfer-encoding","varType":{"name":"string"}},{"name":"CONNECTION","description":"HTTP header key `connection`. Allows the sender to specify options that are desired for that particular connection.","type":"Constant","value":"connection","varType":{"name":"string"}},{"name":"UPGRADE","description":"HTTP header key `upgrade`. Allows the client to specify what additional communication protocols it supports and\nwould like to use, if the server finds it appropriate to switch protocols.","type":"Constant","value":"upgrade","varType":{"name":"string"}},{"name":"PASSED","description":"Mutual SSL handshake is successful.","type":"Constant","value":"passed","varType":{"name":"string"}},{"name":"FAILED","description":"Mutual SSL handshake has failed.","type":"Constant","value":"failed","varType":{"name":"string"}},{"name":"NONE","description":"Not a mutual ssl connection.","type":"Constant","value":"()","varType":{"name":"nil"}},{"name":"KEEPALIVE_AUTO","description":"Decides to keep the connection alive or not based on the `connection` header of the client request }","type":"Constant","value":"AUTO","varType":{"name":"string"}},{"name":"KEEPALIVE_ALWAYS","description":"Keeps the connection alive irrespective of the `connection` header value }","type":"Constant","value":"ALWAYS","varType":{"name":"string"}},{"name":"KEEPALIVE_NEVER","description":"Closes the connection irrespective of the `connection` header value }","type":"Constant","value":"NEVER","varType":{"name":"string"}},{"name":"SERVICE_NAME","description":"Constant for the service name reference.","type":"Constant","value":"SERVICE_NAME","varType":{"name":"string"}},{"name":"RESOURCE_NAME","description":"Constant for the resource name reference.","type":"Constant","value":"RESOURCE_NAME","varType":{"name":"string"}},{"name":"REQUEST_METHOD","description":"Constant for the request method reference.","type":"Constant","value":"REQUEST_METHOD","varType":{"name":"string"}},{"name":"STATUS_CONTINUE","description":"The HTTP response status code: 100 Continue","type":"Constant","value":"100","varType":{"name":"int"}},{"name":"STATUS_SWITCHING_PROTOCOLS","description":"The HTTP response status code: 101 Switching Protocols","type":"Constant","value":"101","varType":{"name":"int"}},{"name":"STATUS_PROCESSING","description":"The HTTP response status code: 102 Processing","type":"Constant","value":"102","varType":{"name":"int"}},{"name":"STATUS_EARLY_HINTS","description":"The HTTP response status code: 103 Early Hints","type":"Constant","value":"103","varType":{"name":"int"}},{"name":"STATUS_OK","description":"The HTTP response status code: 200 OK","type":"Constant","value":"200","varType":{"name":"int"}},{"name":"STATUS_CREATED","description":"The HTTP response status code: 201 Created","type":"Constant","value":"201","varType":{"name":"int"}},{"name":"STATUS_ACCEPTED","description":"The HTTP response status code: 202 Accepted","type":"Constant","value":"202","varType":{"name":"int"}},{"name":"STATUS_NON_AUTHORITATIVE_INFORMATION","description":"The HTTP response status code: 203 Non Authoritative Information","type":"Constant","value":"203","varType":{"name":"int"}},{"name":"STATUS_NO_CONTENT","description":"The HTTP response status code: 204 No Content","type":"Constant","value":"204","varType":{"name":"int"}},{"name":"STATUS_RESET_CONTENT","description":"The HTTP response status code: 205 Reset Content","type":"Constant","value":"205","varType":{"name":"int"}},{"name":"STATUS_PARTIAL_CONTENT","description":"The HTTP response status code: 206 Partial Content","type":"Constant","value":"206","varType":{"name":"int"}},{"name":"STATUS_MULTI_STATUS","description":"The HTTP response status code: 207 Multi-Status","type":"Constant","value":"207","varType":{"name":"int"}},{"name":"STATUS_ALREADY_REPORTED","description":"The HTTP response status code: 208 Already Reported","type":"Constant","value":"208","varType":{"name":"int"}},{"name":"STATUS_IM_USED","description":"The HTTP response status code: 226 IM Used","type":"Constant","value":"226","varType":{"name":"int"}},{"name":"STATUS_MULTIPLE_CHOICES","description":"The HTTP response status code: 300 Multiple Choices","type":"Constant","value":"300","varType":{"name":"int"}},{"name":"STATUS_MOVED_PERMANENTLY","description":"The HTTP response status code: 301 Moved Permanently","type":"Constant","value":"301","varType":{"name":"int"}},{"name":"STATUS_FOUND","description":"The HTTP response status code: 302 Found","type":"Constant","value":"302","varType":{"name":"int"}},{"name":"STATUS_SEE_OTHER","description":"The HTTP response status code: 303 See Other","type":"Constant","value":"303","varType":{"name":"int"}},{"name":"STATUS_NOT_MODIFIED","description":"The HTTP response status code: 304 Not Modified","type":"Constant","value":"304","varType":{"name":"int"}},{"name":"STATUS_USE_PROXY","description":"The HTTP response status code: 305 Use Proxy","type":"Constant","value":"305","varType":{"name":"int"}},{"name":"STATUS_TEMPORARY_REDIRECT","description":"The HTTP response status code: 307 Temporary Redirect","type":"Constant","value":"307","varType":{"name":"int"}},{"name":"STATUS_PERMANENT_REDIRECT","description":"The HTTP response status code: 308 Permanent Redirect","type":"Constant","value":"308","varType":{"name":"int"}},{"name":"STATUS_BAD_REQUEST","description":"The HTTP response status code: 400 Bad Request","type":"Constant","value":"400","varType":{"name":"int"}},{"name":"STATUS_UNAUTHORIZED","description":"The HTTP response status code: 401 Unauthorized","type":"Constant","value":"401","varType":{"name":"int"}},{"name":"STATUS_PAYMENT_REQUIRED","description":"The HTTP response status code: 402 Payment Required","type":"Constant","value":"402","varType":{"name":"int"}},{"name":"STATUS_FORBIDDEN","description":"The HTTP response status code: 403 Forbidden","type":"Constant","value":"403","varType":{"name":"int"}},{"name":"STATUS_NOT_FOUND","description":"The HTTP response status code: 404 Not Found","type":"Constant","value":"404","varType":{"name":"int"}},{"name":"STATUS_METHOD_NOT_ALLOWED","description":"The HTTP response status code: 405 Method Not Allowed","type":"Constant","value":"405","varType":{"name":"int"}},{"name":"STATUS_NOT_ACCEPTABLE","description":"The HTTP response status code: 406 Not Acceptable","type":"Constant","value":"406","varType":{"name":"int"}},{"name":"STATUS_PROXY_AUTHENTICATION_REQUIRED","description":"The HTTP response status code: 407 Proxy Authentication Required","type":"Constant","value":"407","varType":{"name":"int"}},{"name":"STATUS_REQUEST_TIMEOUT","description":"The HTTP response status code: 408 Request Timeout","type":"Constant","value":"408","varType":{"name":"int"}},{"name":"STATUS_CONFLICT","description":"The HTTP response status code: 409 Conflict","type":"Constant","value":"409","varType":{"name":"int"}},{"name":"STATUS_GONE","description":"The HTTP response status code: 410 Gone","type":"Constant","value":"410","varType":{"name":"int"}},{"name":"STATUS_LENGTH_REQUIRED","description":"The HTTP response status code: 411 Length Required","type":"Constant","value":"411","varType":{"name":"int"}},{"name":"STATUS_PRECONDITION_FAILED","description":"The HTTP response status code: 412 Precondition Failed","type":"Constant","value":"412","varType":{"name":"int"}},{"name":"STATUS_PAYLOAD_TOO_LARGE","description":"The HTTP response status code: 413 Payload Too Large","type":"Constant","value":"413","varType":{"name":"int"}},{"name":"STATUS_URI_TOO_LONG","description":"The HTTP response status code: 414 URI Too Long","type":"Constant","value":"414","varType":{"name":"int"}},{"name":"STATUS_UNSUPPORTED_MEDIA_TYPE","description":"The HTTP response status code: 415 Unsupported Media Type","type":"Constant","value":"415","varType":{"name":"int"}},{"name":"STATUS_RANGE_NOT_SATISFIABLE","description":"The HTTP response status code: 416 Range Not Satisfiable","type":"Constant","value":"416","varType":{"name":"int"}},{"name":"STATUS_EXPECTATION_FAILED","description":"The HTTP response status code: 417 Expectation Failed","type":"Constant","value":"417","varType":{"name":"int"}},{"name":"STATUS_MISDIRECTED_REQUEST","description":"The HTTP response status code: 421 Misdirected Request","type":"Constant","value":"421","varType":{"name":"int"}},{"name":"STATUS_UNPROCESSABLE_ENTITY","description":"The HTTP response status code: 422 Unprocessable Entity","type":"Constant","value":"422","varType":{"name":"int"}},{"name":"STATUS_LOCKED","description":"The HTTP response status code: 423 Locked","type":"Constant","value":"423","varType":{"name":"int"}},{"name":"STATUS_FAILED_DEPENDENCY","description":"The HTTP response status code: 424 Failed Dependency","type":"Constant","value":"424","varType":{"name":"int"}},{"name":"STATUS_TOO_EARLY","description":"The HTTP response status code: 425 Too Early","type":"Constant","value":"425","varType":{"name":"int"}},{"name":"STATUS_UPGRADE_REQUIRED","description":"The HTTP response status code: 426 Upgrade Required","type":"Constant","value":"426","varType":{"name":"int"}},{"name":"STATUS_PRECONDITION_REQUIRED","description":"The HTTP response status code: 428 Precondition Required","type":"Constant","value":"428","varType":{"name":"int"}},{"name":"STATUS_TOO_MANY_REQUESTS","description":"The HTTP response status code: 429 Too Many Requests","type":"Constant","value":"429","varType":{"name":"int"}},{"name":"STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE","description":"The HTTP response status code: 431 Request Header Fields Too Large","type":"Constant","value":"431","varType":{"name":"int"}},{"name":"STATUS_UNAVAILABLE_DUE_TO_LEGAL_REASONS","description":"The HTTP response status code: 451 Unavailable Due To Legal Reasons","type":"Constant","value":"451","varType":{"name":"int"}},{"name":"STATUS_INTERNAL_SERVER_ERROR","description":"The HTTP response status code: 500 Internal Server Error","type":"Constant","value":"500","varType":{"name":"int"}},{"name":"STATUS_NOT_IMPLEMENTED","description":"The HTTP response status code: 501 Not Implemented","type":"Constant","value":"501","varType":{"name":"int"}},{"name":"STATUS_BAD_GATEWAY","description":"The HTTP response status code: 502 Bad Gateway","type":"Constant","value":"502","varType":{"name":"int"}},{"name":"STATUS_SERVICE_UNAVAILABLE","description":"The HTTP response status code: 503 Service Unavailable","type":"Constant","value":"503","varType":{"name":"int"}},{"name":"STATUS_GATEWAY_TIMEOUT","description":"The HTTP response status code: 504 Gateway Timeout","type":"Constant","value":"504","varType":{"name":"int"}},{"name":"STATUS_HTTP_VERSION_NOT_SUPPORTED","description":"The HTTP response status code: 505 HTTP Version Not Supported","type":"Constant","value":"505","varType":{"name":"int"}},{"name":"STATUS_VARIANT_ALSO_NEGOTIATES","description":"The HTTP response status code: 506 Variant Also Negotiates","type":"Constant","value":"506","varType":{"name":"int"}},{"name":"STATUS_INSUFFICIENT_STORAGE","description":"The HTTP response status code: 507 Insufficient Storage","type":"Constant","value":"507","varType":{"name":"int"}},{"name":"STATUS_LOOP_DETECTED","description":"The HTTP response status code: 508 Loop Detected","type":"Constant","value":"508","varType":{"name":"int"}},{"name":"STATUS_NOT_EXTENDED","description":"The HTTP response status code: 510 Not Extended","type":"Constant","value":"510","varType":{"name":"int"}},{"name":"STATUS_NETWORK_AUTHENTICATION_REQUIRED","description":"The HTTP response status code: 511 Network Authorization Required","type":"Constant","value":"511","varType":{"name":"int"}},{"name":"CB_OPEN_STATE","description":"Represents the open state of the circuit. When the Circuit Breaker is in `OPEN` state, requests will fail\nimmediately.","type":"Constant","value":"OPEN","varType":{"name":"string"}},{"name":"CB_HALF_OPEN_STATE","description":"Represents the half-open state of the circuit. When the Circuit Breaker is in `HALF_OPEN` state, a trial request\nwill be sent to the upstream service. If it fails, the circuit will trip again and move to the `OPEN` state. If not,\nit will move to the `CLOSED` state.","type":"Constant","value":"HALF_OPEN","varType":{"name":"string"}},{"name":"CB_CLOSED_STATE","description":"Represents the closed state of the circuit. When the Circuit Breaker is in `CLOSED` state, all requests will be\nallowed to go through to the upstream service. If the failures exceed the configured threhold values, the circuit\nwill trip and move to the `OPEN` state.","type":"Constant","value":"CLOSED","varType":{"name":"string"}},{"name":"CredentialsConfig","description":"Represents credentials for Basic Auth authentication.","type":"Record","fields":[{"name":"username","description":"","optional":false,"type":{"name":"string"}},{"name":"password","description":"","optional":false,"type":{"name":"string"}}]},{"name":"BearerTokenConfig","description":"Represents token for Bearer token authentication.\n","type":"Record","fields":[{"name":"token","description":"","optional":false,"type":{"name":"string"}}]},{"name":"JwtIssuerConfig","description":"Represents JWT issuer configurations for JWT authentication.","type":"Record","fields":[{"name":"issuer","description":"","optional":true,"type":{"name":"string"}},{"name":"username","description":"","optional":true,"type":{"name":"string"}},{"name":"audience","description":"","optional":true,"type":{"name":"string|string[]"}},{"name":"jwtId","description":"","optional":true,"type":{"name":"string"}},{"name":"keyId","description":"","optional":true,"type":{"name":"string"}},{"name":"customClaims","description":"","optional":true,"type":{"name":"map"}},{"name":"expTime","description":"","optional":true,"type":{"name":"decimal"}},{"name":"signatureConfig","description":"","optional":true,"type":{"name":"ballerina/jwt:2.15.1:IssuerSignatureConfig","links":[{"category":"external","recordName":"IssuerSignatureConfig","libraryName":"ballerina/jwt"}]}}]},{"name":"OAuth2ClientCredentialsGrantConfig","description":"Represents OAuth2 client credentials grant configurations for OAuth2 authentication.","type":"Record","fields":[{"name":"tokenUrl","description":"","optional":false,"type":{"name":"string"}},{"name":"clientId","description":"","optional":false,"type":{"name":"string"}},{"name":"clientSecret","description":"","optional":false,"type":{"name":"string"}},{"name":"scopes","description":"","optional":true,"type":{"name":"string|string[]"}},{"name":"defaultTokenExpTime","description":"","optional":true,"type":{"name":"decimal"}},{"name":"clockSkew","description":"","optional":true,"type":{"name":"decimal"}},{"name":"optionalParams","description":"","optional":true,"type":{"name":"map"}},{"name":"credentialBearer","description":"","optional":true,"type":{"name":"ballerina/oauth2:2.15.0:CredentialBearer","links":[{"category":"external","recordName":"CredentialBearer","libraryName":"ballerina/oauth2"}]}},{"name":"clientConfig","description":"","optional":true,"type":{"name":"ballerina/oauth2:2.15.0:ClientConfiguration","links":[{"category":"external","recordName":"ClientConfiguration","libraryName":"ballerina/oauth2"}]}}]},{"name":"OAuth2PasswordGrantConfig","description":"Represents OAuth2 password grant configurations for OAuth2 authentication.","type":"Record","fields":[{"name":"tokenUrl","description":"","optional":false,"type":{"name":"string"}},{"name":"username","description":"","optional":false,"type":{"name":"string"}},{"name":"password","description":"","optional":false,"type":{"name":"string"}},{"name":"clientId","description":"","optional":true,"type":{"name":"string"}},{"name":"clientSecret","description":"","optional":true,"type":{"name":"string"}},{"name":"scopes","description":"","optional":true,"type":{"name":"string|string[]"}},{"name":"refreshConfig","description":"","optional":true,"type":{"name":"ballerina/oauth2:2.15.0:RefreshConfig|\"INFER_REFRESH_CONFIG\""}},{"name":"defaultTokenExpTime","description":"","optional":true,"type":{"name":"decimal"}},{"name":"clockSkew","description":"","optional":true,"type":{"name":"decimal"}},{"name":"optionalParams","description":"","optional":true,"type":{"name":"map"}},{"name":"credentialBearer","description":"","optional":true,"type":{"name":"ballerina/oauth2:2.15.0:CredentialBearer","links":[{"category":"external","recordName":"CredentialBearer","libraryName":"ballerina/oauth2"}]}},{"name":"clientConfig","description":"","optional":true,"type":{"name":"ballerina/oauth2:2.15.0:ClientConfiguration","links":[{"category":"external","recordName":"ClientConfiguration","libraryName":"ballerina/oauth2"}]}}]},{"name":"OAuth2RefreshTokenGrantConfig","description":"Represents OAuth2 refresh token grant configurations for OAuth2 authentication.","type":"Record","fields":[{"name":"refreshUrl","description":"","optional":false,"type":{"name":"string"}},{"name":"refreshToken","description":"","optional":false,"type":{"name":"string"}},{"name":"clientId","description":"","optional":false,"type":{"name":"string"}},{"name":"clientSecret","description":"","optional":false,"type":{"name":"string"}},{"name":"scopes","description":"","optional":true,"type":{"name":"string|string[]"}},{"name":"defaultTokenExpTime","description":"","optional":true,"type":{"name":"decimal"}},{"name":"clockSkew","description":"","optional":true,"type":{"name":"decimal"}},{"name":"optionalParams","description":"","optional":true,"type":{"name":"map"}},{"name":"credentialBearer","description":"","optional":true,"type":{"name":"ballerina/oauth2:2.15.0:CredentialBearer","links":[{"category":"external","recordName":"CredentialBearer","libraryName":"ballerina/oauth2"}]}},{"name":"clientConfig","description":"","optional":true,"type":{"name":"ballerina/oauth2:2.15.0:ClientConfiguration","links":[{"category":"external","recordName":"ClientConfiguration","libraryName":"ballerina/oauth2"}]}}]},{"name":"OAuth2JwtBearerGrantConfig","description":"Represents OAuth2 JWT bearer grant configurations for OAuth2 authentication.","type":"Record","fields":[{"name":"tokenUrl","description":"","optional":false,"type":{"name":"string"}},{"name":"assertion","description":"","optional":false,"type":{"name":"string"}},{"name":"clientId","description":"","optional":true,"type":{"name":"string"}},{"name":"clientSecret","description":"","optional":true,"type":{"name":"string"}},{"name":"scopes","description":"","optional":true,"type":{"name":"string|string[]"}},{"name":"defaultTokenExpTime","description":"","optional":true,"type":{"name":"decimal"}},{"name":"clockSkew","description":"","optional":true,"type":{"name":"decimal"}},{"name":"optionalParams","description":"","optional":true,"type":{"name":"map"}},{"name":"credentialBearer","description":"","optional":true,"type":{"name":"ballerina/oauth2:2.15.0:CredentialBearer","links":[{"category":"external","recordName":"CredentialBearer","libraryName":"ballerina/oauth2"}]}},{"name":"clientConfig","description":"","optional":true,"type":{"name":"ballerina/oauth2:2.15.0:ClientConfiguration","links":[{"category":"external","recordName":"ClientConfiguration","libraryName":"ballerina/oauth2"}]}}]},{"name":"OAuth2GrantConfig","description":"Represents OAuth2 grant configurations for OAuth2 authentication.","type":"Union","members":["ballerina/http:2.15.4:OAuth2ClientCredentialsGrantConfig","ballerina/http:2.15.4:OAuth2PasswordGrantConfig","ballerina/http:2.15.4:OAuth2RefreshTokenGrantConfig","ballerina/http:2.15.4:OAuth2JwtBearerGrantConfig"]},{"name":"FileUserStoreConfig","description":"Represents file user store configurations for Basic Auth authentication.","type":"Record","fields":[]},{"name":"LdapUserStoreConfig","description":"Represents LDAP user store configurations for Basic Auth authentication.","type":"Record","fields":[{"name":"domainName","description":"","optional":false,"type":{"name":"string"}},{"name":"connectionUrl","description":"","optional":false,"type":{"name":"string"}},{"name":"connectionName","description":"","optional":false,"type":{"name":"string"}},{"name":"connectionPassword","description":"","optional":false,"type":{"name":"string"}},{"name":"userSearchBase","description":"","optional":false,"type":{"name":"string"}},{"name":"userEntryObjectClass","description":"","optional":false,"type":{"name":"string"}},{"name":"userNameAttribute","description":"","optional":false,"type":{"name":"string"}},{"name":"userNameSearchFilter","description":"","optional":false,"type":{"name":"string"}},{"name":"userNameListFilter","description":"","optional":false,"type":{"name":"string"}},{"name":"groupSearchBase","description":"","optional":false,"type":{"name":"string[]"}},{"name":"groupEntryObjectClass","description":"","optional":false,"type":{"name":"string"}},{"name":"groupNameAttribute","description":"","optional":false,"type":{"name":"string"}},{"name":"groupNameSearchFilter","description":"","optional":false,"type":{"name":"string"}},{"name":"groupNameListFilter","description":"","optional":false,"type":{"name":"string"}},{"name":"membershipAttribute","description":"","optional":false,"type":{"name":"string"}},{"name":"userRolesCacheEnabled","description":"","optional":true,"type":{"name":"boolean"}},{"name":"connectionPoolingEnabled","description":"","optional":true,"type":{"name":"boolean"}},{"name":"connectionTimeout","description":"","optional":true,"type":{"name":"decimal"}},{"name":"readTimeout","description":"","optional":true,"type":{"name":"decimal"}},{"name":"secureSocket","description":"","optional":true,"type":{"name":"ballerina/auth:2.14.0:SecureSocket","links":[{"category":"external","recordName":"SecureSocket","libraryName":"ballerina/auth"}]}}]},{"name":"JwtValidatorConfig","description":"Represents JWT validator configurations for JWT authentication.\n","type":"Record","fields":[{"name":"scopeKey","description":"","optional":true,"type":{"name":"string"}},{"name":"issuer","description":"","optional":true,"type":{"name":"string"}},{"name":"username","description":"","optional":true,"type":{"name":"string"}},{"name":"audience","description":"","optional":true,"type":{"name":"string|string[]"}},{"name":"jwtId","description":"","optional":true,"type":{"name":"string"}},{"name":"keyId","description":"","optional":true,"type":{"name":"string"}},{"name":"customClaims","description":"","optional":true,"type":{"name":"map"}},{"name":"clockSkew","description":"","optional":true,"type":{"name":"decimal"}},{"name":"signatureConfig","description":"","optional":true,"type":{"name":"ballerina/jwt:2.15.1:ValidatorSignatureConfig","links":[{"category":"external","recordName":"ValidatorSignatureConfig","libraryName":"ballerina/jwt"}]}},{"name":"cacheConfig","description":"","optional":true,"type":{"name":"ballerina/cache:3.10.0:CacheConfig","links":[{"category":"external","recordName":"CacheConfig","libraryName":"ballerina/cache"}]}},{"name":"","description":"Rest field","optional":false,"type":{"name":"anydata"}}]},{"name":"OAuth2IntrospectionConfig","description":"Represents OAuth2 introspection server configurations for OAuth2 authentication.\n","type":"Record","fields":[{"name":"scopeKey","description":"","optional":true,"type":{"name":"string"}},{"name":"url","description":"","optional":false,"type":{"name":"string"}},{"name":"tokenTypeHint","description":"","optional":true,"type":{"name":"string"}},{"name":"optionalParams","description":"","optional":true,"type":{"name":"map"}},{"name":"cacheConfig","description":"","optional":true,"type":{"name":"ballerina/cache:3.10.0:CacheConfig","links":[{"category":"external","recordName":"CacheConfig","libraryName":"ballerina/cache"}]}},{"name":"defaultTokenExpTime","description":"","optional":true,"type":{"name":"decimal"}},{"name":"clientConfig","description":"","optional":true,"type":{"name":"ballerina/oauth2:2.15.0:ClientConfiguration","links":[{"category":"external","recordName":"ClientConfiguration","libraryName":"ballerina/oauth2"}]}},{"name":"","description":"Rest field","optional":false,"type":{"name":"anydata"}}]},{"name":"ClientAuthConfig","description":"Defines the authentication configurations for the HTTP client.","type":"Union","members":["ballerina/http:2.15.4:CredentialsConfig","ballerina/http:2.15.4:BearerTokenConfig","ballerina/http:2.15.4:JwtIssuerConfig","ballerina/http:2.15.4:OAuth2ClientCredentialsGrantConfig","ballerina/http:2.15.4:OAuth2PasswordGrantConfig","ballerina/http:2.15.4:OAuth2RefreshTokenGrantConfig","ballerina/http:2.15.4:OAuth2JwtBearerGrantConfig"]},{"name":"ClientBasicAuthHandler","description":"Initializes the `http:ClientBasicAuthHandler` object.\n","functions":[{"name":"init","type":"Constructor","description":"Initializes the `http:ClientBasicAuthHandler` object.\n","parameters":[{"name":"config","description":"The `http:CredentialsConfig` instance","optional":false,"default":null,"type":{"name":"http:CredentialsConfig","links":[{"category":"internal","recordName":"CredentialsConfig"}]}}],"return":{"type":{"name":"ballerina/http:ClientBasicAuthHandler"}}},{"name":"enrich","type":"Normal Function","description":"Enrich the request with the relevant authentication requirements.\n","parameters":[{"name":"req","description":"The `http:Request` instance","optional":false,"default":null,"type":{"name":"http:Request","links":[{"category":"internal","recordName":"Request"}]}}],"return":{"type":{"name":"http:Request"}}},{"name":"enrichHeaders","type":"Normal Function","description":"Enrich the headers map with the relevant authentication requirements.\n","parameters":[{"name":"headers","description":"The headers map","optional":false,"default":null,"type":{"name":"map"}}],"return":{"type":{"name":"map"}}},{"name":"getSecurityHeaders","type":"Normal Function","description":"Returns the headers map with the relevant authentication requirements.\n","parameters":[],"return":{"type":{"name":"map"}}}]},{"name":"ClientBearerTokenAuthHandler","description":"Initializes the `http:ClientBearerTokenAuthHandler` object.\n","functions":[{"name":"init","type":"Constructor","description":"Initializes the `http:ClientBearerTokenAuthHandler` object.\n","parameters":[{"name":"config","description":"The `http:BearerTokenConfig` instance","optional":false,"default":null,"type":{"name":"http:BearerTokenConfig","links":[{"category":"internal","recordName":"BearerTokenConfig"}]}}],"return":{"type":{"name":"ballerina/http:ClientBearerTokenAuthHandler"}}},{"name":"enrich","type":"Normal Function","description":"Enrich the request with the relevant authentication requirements.\n","parameters":[{"name":"req","description":"The `http:Request` instance","optional":false,"default":null,"type":{"name":"http:Request","links":[{"category":"internal","recordName":"Request"}]}}],"return":{"type":{"name":"http:Request"}}},{"name":"enrichHeaders","type":"Normal Function","description":"Enrich the headers map with the relevant authentication requirements.\n","parameters":[{"name":"headers","description":"The headers map","optional":false,"default":null,"type":{"name":"map"}}],"return":{"type":{"name":"map"}}},{"name":"getSecurityHeaders","type":"Normal Function","description":"Returns the headers map with the relevant authentication requirements.\n","parameters":[],"return":{"type":{"name":"map"}}}]},{"name":"ClientSelfSignedJwtAuthHandler","description":"Initializes the `http:ClientSelfSignedJwtAuthProvider` object.\n","functions":[{"name":"init","type":"Constructor","description":"Initializes the `http:ClientSelfSignedJwtAuthProvider` object.\n","parameters":[{"name":"config","description":"The `http:JwtIssuerConfig` instance","optional":false,"default":null,"type":{"name":"http:JwtIssuerConfig","links":[{"category":"internal","recordName":"JwtIssuerConfig"}]}}],"return":{"type":{"name":"ballerina/http:ClientSelfSignedJwtAuthHandler"}}},{"name":"enrich","type":"Normal Function","description":"Enrich the request with the relevant authentication requirements.\n","parameters":[{"name":"req","description":"The `http:Request` instance","optional":false,"default":null,"type":{"name":"http:Request","links":[{"category":"internal","recordName":"Request"}]}}],"return":{"type":{"name":"http:Request"}}},{"name":"enrichHeaders","type":"Normal Function","description":"Enrich the headers map with the relevant authentication requirements.\n","parameters":[{"name":"headers","description":"The headers map","optional":false,"default":null,"type":{"name":"map"}}],"return":{"type":{"name":"map"}}},{"name":"getSecurityHeaders","type":"Normal Function","description":"Returns the headers map with the relevant authentication requirements.\n","parameters":[],"return":{"type":{"name":"map"}}}]},{"name":"FileUserStoreConfigWithScopes","description":"Represents the auth annotation for file user store configurations with scopes.\n","type":"Record","fields":[{"name":"fileUserStoreConfig","description":"","optional":false,"type":{"name":"ballerina/http:2.15.4:FileUserStoreConfig","links":[{"category":"internal","recordName":"FileUserStoreConfig"}]}},{"name":"scopes","description":"","optional":true,"type":{"name":"string|string[]"}}]},{"name":"LdapUserStoreConfigWithScopes","description":"Represents the auth annotation for LDAP user store configurations with scopes.\n","type":"Record","fields":[{"name":"ldapUserStoreConfig","description":"","optional":false,"type":{"name":"ballerina/http:2.15.4:LdapUserStoreConfig","links":[{"category":"internal","recordName":"LdapUserStoreConfig"}]}},{"name":"scopes","description":"","optional":true,"type":{"name":"string|string[]"}}]},{"name":"JwtValidatorConfigWithScopes","description":"Represents the auth annotation for JWT validator configurations with scopes.\n","type":"Record","fields":[{"name":"jwtValidatorConfig","description":"","optional":false,"type":{"name":"ballerina/http:2.15.4:JwtValidatorConfig","links":[{"category":"internal","recordName":"JwtValidatorConfig"}]}},{"name":"scopes","description":"","optional":true,"type":{"name":"string|string[]"}}]},{"name":"OAuth2IntrospectionConfigWithScopes","description":"Represents the auth annotation for OAuth2 introspection server configurations with scopes.\n","type":"Record","fields":[{"name":"oauth2IntrospectionConfig","description":"","optional":false,"type":{"name":"ballerina/http:2.15.4:OAuth2IntrospectionConfig","links":[{"category":"internal","recordName":"OAuth2IntrospectionConfig"}]}},{"name":"scopes","description":"","optional":true,"type":{"name":"string|string[]"}}]},{"name":"Scopes","description":"Represents the annotation used for authorization.\n","type":"Record","fields":[{"name":"scopes","description":"","optional":false,"type":{"name":"string|string[]"}}]},{"name":"ListenerAuthConfig","description":"Defines the authentication configurations for the HTTP listener.","type":"Union","members":["ballerina/http:2.15.4:FileUserStoreConfigWithScopes","ballerina/http:2.15.4:LdapUserStoreConfigWithScopes","ballerina/http:2.15.4:JwtValidatorConfigWithScopes","ballerina/http:2.15.4:OAuth2IntrospectionConfigWithScopes"]},{"name":"ListenerFileUserStoreBasicAuthHandler","description":"Initializes the `http:ListenerFileUserStoreBasicAuthHandler` object.\n","functions":[{"name":"init","type":"Constructor","description":"Initializes the `http:ListenerFileUserStoreBasicAuthHandler` object.\n","parameters":[{"name":"config","description":"The `http:FileUserStoreConfig` instance","optional":true,"default":"{}","type":{"name":"http:FileUserStoreConfig","links":[{"category":"internal","recordName":"FileUserStoreConfig"}]}}],"return":{"type":{"name":"ballerina/http:ListenerFileUserStoreBasicAuthHandler"}}},{"name":"authenticate","type":"Normal Function","description":"Authenticates with the relevant authentication requirements.\n","parameters":[{"name":"data","description":"The `http:Request` instance or `http:Headers` instance or `string` Authorization header","optional":false,"default":null,"type":{"name":"http:Request|http:Headers|string","links":[{"category":"internal","recordName":"Request|Headers|string"}]}}],"return":{"type":{"name":"auth:UserDetails|http:Unauthorized"}}},{"name":"authorize","type":"Normal Function","description":"Authorizes with the relevant authorization requirements.\n","parameters":[{"name":"userDetails","description":"The `auth:UserDetails` instance which is received from authentication results","optional":false,"default":null,"type":{"name":"auth:UserDetails","links":[{"category":"external","recordName":"UserDetails","libraryName":"ballerina/auth"}]}},{"name":"expectedScopes","description":"The expected scopes as `string` or `string[]`","optional":false,"default":null,"type":{"name":"string|string[]"}}],"return":{"type":{"name":"http:Forbidden|()"}}}]},{"name":"ListenerJwtAuthHandler","description":"Initializes the `http:ListenerJwtAuthHandler` object.\n","functions":[{"name":"init","type":"Constructor","description":"Initializes the `http:ListenerJwtAuthHandler` object.\n","parameters":[{"name":"config","description":"The `http:JwtValidatorConfig` instance","optional":false,"default":null,"type":{"name":"http:JwtValidatorConfig","links":[{"category":"internal","recordName":"JwtValidatorConfig"}]}}],"return":{"type":{"name":"ballerina/http:ListenerJwtAuthHandler"}}},{"name":"authenticate","type":"Normal Function","description":"Authenticates with the relevant authentication requirements.\n","parameters":[{"name":"data","description":"The `http:Request` instance or `http:Headers` instance or `string` Authorization header","optional":false,"default":null,"type":{"name":"http:Request|http:Headers|string","links":[{"category":"internal","recordName":"Request|Headers|string"}]}}],"return":{"type":{"name":"jwt:Payload|http:Unauthorized"}}},{"name":"authorize","type":"Normal Function","description":"Authorizes with the relevant authorization requirements.\n","parameters":[{"name":"jwtPayload","description":"The `jwt:Payload` instance which is received from authentication results","optional":false,"default":null,"type":{"name":"jwt:Payload","links":[{"category":"external","recordName":"Payload","libraryName":"ballerina/jwt"}]}},{"name":"expectedScopes","description":"The expected scopes as `string` or `string[]`","optional":false,"default":null,"type":{"name":"string|string[]"}}],"return":{"type":{"name":"http:Forbidden|()"}}}]},{"name":"SseEvent","description":"Represents a Server Sent Event emitted from a service.","type":"Record","fields":[{"name":"event","description":"Name of the event","optional":true,"type":{"name":"string"}},{"name":"id","description":"Id of the event","optional":true,"type":{"name":"string"}},{"name":"data","description":"Data part of the event","optional":true,"type":{"name":"string"}},{"name":"'retry","description":"The reconnect time on failure in milliseconds.","optional":true,"type":{"name":"int"}},{"name":"comment","description":"Comment added to the event","optional":true,"type":{"name":"string"}}]},{"name":"CachingPolicy","description":"Used for configuring the caching behaviour. Setting the `policy` field in the `CacheConfig` record allows\nthe user to control the caching behaviour.","type":"Union","members":["\"CACHE_CONTROL_AND_VALIDATORS\"","\"RFC_7234\""]},{"name":"CacheConfig","description":"Provides a set of configurations for controlling the caching behaviour of the endpoint.\n","type":"Record","fields":[{"name":"enabled","description":"","optional":true,"type":{"name":"boolean"}},{"name":"isShared","description":"","optional":true,"type":{"name":"boolean"}},{"name":"capacity","description":"","optional":true,"type":{"name":"int"}},{"name":"evictionFactor","description":"","optional":true,"type":{"name":"float"}},{"name":"policy","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:CachingPolicy","links":[{"category":"internal","recordName":"CachingPolicy"}]}}]},{"name":"CookieOptions","description":"The options to be used when initializing the `http:Cookie`.\n","type":"Record","fields":[{"name":"path","description":"","optional":true,"type":{"name":"string"}},{"name":"domain","description":"","optional":true,"type":{"name":"string"}},{"name":"expires","description":"","optional":true,"type":{"name":"string"}},{"name":"maxAge","description":"","optional":true,"type":{"name":"int"}},{"name":"httpOnly","description":"","optional":true,"type":{"name":"boolean"}},{"name":"secure","description":"","optional":true,"type":{"name":"boolean"}},{"name":"createdTime","description":"","optional":true,"type":{"name":"ballerina/time:2.8.0:Utc","links":[{"category":"external","recordName":"Utc","libraryName":"ballerina/time"}]}},{"name":"lastAccessedTime","description":"","optional":true,"type":{"name":"ballerina/time:2.8.0:Utc","links":[{"category":"external","recordName":"Utc","libraryName":"ballerina/time"}]}},{"name":"hostOnly","description":"","optional":true,"type":{"name":"boolean"}}]},{"name":"PersistentCookieHandler","description":"The representation of a persistent cookie handler object type for managing persistent cookies.","type":"Class","fields":[]},{"name":"HttpServiceConfig","description":"Contains the configurations for an HTTP service.\n","type":"Record","fields":[{"name":"host","description":"","optional":true,"type":{"name":"string"}},{"name":"compression","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:CompressionConfig","links":[{"category":"internal","recordName":"CompressionConfig"}]}},{"name":"chunking","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:Chunking","links":[{"category":"internal","recordName":"Chunking"}]}},{"name":"cors","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:CorsConfig","links":[{"category":"internal","recordName":"CorsConfig"}]}},{"name":"auth","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ListenerAuthConfig[]"}},{"name":"mediaTypeSubtypePrefix","description":"","optional":true,"type":{"name":"string"}},{"name":"treatNilableAsOptional","description":"","optional":true,"type":{"name":"boolean"}},{"name":"openApiDefinition","description":"","optional":true,"type":{"name":"byte[]"}},{"name":"validation","description":"","optional":true,"type":{"name":"boolean"}},{"name":"serviceType","description":"","optional":true,"type":{"name":"typedesc"}},{"name":"basePath","description":"","optional":true,"type":{"name":"string"}},{"name":"laxDataBinding","description":"","optional":true,"type":{"name":"boolean"}}]},{"name":"CompressionConfig","description":"A record for providing configurations for content compression.","type":"Record","fields":[{"name":"enable","description":"The status of compression","optional":true,"type":{"name":"ballerina/http:2.15.4:Compression","links":[{"category":"internal","recordName":"Compression"}]}},{"name":"contentTypes","description":"Content types which are allowed for compression","optional":true,"type":{"name":"string[]"}}]},{"name":"Compression","description":"Options to compress using gzip or deflate.\n\n`AUTO`: When service behaves as a HTTP gateway inbound request/response accept-encoding option is set as the\noutbound request/response accept-encoding/content-encoding option\n`ALWAYS`: Always set accept-encoding/content-encoding in outbound request/response\n`NEVER`: Never set accept-encoding/content-encoding header in outbound request/response","type":"Union","members":["\"AUTO\"","\"ALWAYS\"","\"NEVER\""]},{"name":"Chunking","description":"Defines the possible values for the chunking configuration in HTTP services and clients.\n\n`AUTO`: If the payload is less than 8KB, content-length header is set in the outbound request/response,\notherwise chunking header is set in the outbound request/response\n`ALWAYS`: Always set chunking header in the response\n`NEVER`: Never set the chunking header even if the payload is larger than 8KB in the outbound request/response","type":"Union","members":["\"AUTO\"","\"ALWAYS\"","\"NEVER\""]},{"name":"CorsConfig","description":"Configurations for CORS support.\n","type":"Record","fields":[{"name":"allowHeaders","description":"","optional":true,"type":{"name":"string[]"}},{"name":"allowMethods","description":"","optional":true,"type":{"name":"string[]"}},{"name":"allowOrigins","description":"","optional":true,"type":{"name":"string[]"}},{"name":"exposeHeaders","description":"","optional":true,"type":{"name":"string[]"}},{"name":"allowCredentials","description":"","optional":true,"type":{"name":"boolean"}},{"name":"maxAge","description":"","optional":true,"type":{"name":"decimal"}}]},{"name":"Service","description":"The HTTP service type.","type":"Class","fields":[]},{"name":"ServiceContract","description":"The HTTP service contract type.","type":"Class","fields":[]},{"name":"HttpResourceConfig","description":"Configuration for an HTTP resource.\n","type":"Record","fields":[{"name":"name","description":"","optional":true,"type":{"name":"string"}},{"name":"consumes","description":"","optional":true,"type":{"name":"string[]"}},{"name":"produces","description":"","optional":true,"type":{"name":"string[]"}},{"name":"cors","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:CorsConfig","links":[{"category":"internal","recordName":"CorsConfig"}]}},{"name":"transactionInfectable","description":"","optional":true,"type":{"name":"boolean"}},{"name":"auth","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ListenerAuthConfig[]|ballerina/http:2.15.4:Scopes"}},{"name":"linkedTo","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:LinkedTo[]"}}]},{"name":"LinkedTo","description":"","type":"Record","fields":[{"name":"name","description":"Name of the linked resource","optional":false,"type":{"name":"string"}},{"name":"relation","description":"Name of the relationship between the linked resource and the current resource.\nDefaulted to the IANA link relation `self`","optional":true,"type":{"name":"string"}},{"name":"method","description":"Method allowed in the linked resource","optional":true,"type":{"name":"string"}}]},{"name":"HttpPayload","description":"Defines the Payload resource signature parameter and return parameter.\n","type":"Record","fields":[{"name":"mediaType","description":"","optional":true,"type":{"name":"string|string[]"}}]},{"name":"HttpCallerInfo","description":"Configures the typing details type of the Caller resource signature parameter.\n","type":"Record","fields":[{"name":"respondType","description":"","optional":true,"type":{"name":"typedesc"}}]},{"name":"Response","description":"","functions":[{"name":"init","type":"Constructor","description":"","parameters":[],"return":{"type":{"name":"ballerina/http:Response"}}},{"name":"getEntity","type":"Normal Function","description":"Gets the `Entity` associated with the response.\n","parameters":[],"return":{"type":{"name":"mime:Entity"}}},{"name":"setEntity","type":"Normal Function","description":"Sets the provided `Entity` to the response.\n","parameters":[{"name":"e","description":"The `Entity` to be set to the response","optional":false,"default":null,"type":{"name":"mime:Entity","links":[{"category":"external","recordName":"Entity","libraryName":"ballerina/mime"}]}}],"return":{"type":{"name":"()"}}},{"name":"hasHeader","type":"Normal Function","description":"Checks whether the requested header key exists in the header map.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}},{"name":"position","description":"Represents the position of the header as an optional parameter","optional":true,"default":"\"leading\"","type":{"name":"http:HeaderPosition","links":[{"category":"internal","recordName":"HeaderPosition"}]}}],"return":{"type":{"name":"boolean"}}},{"name":"getHeader","type":"Normal Function","description":"Returns the value of the specified header. If the specified header key maps to multiple values, the first of\nthese values is returned.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}},{"name":"position","description":"Represents the position of the header as an optional parameter. If the position is `http:TRAILING`,\nthe entity-body of the `Response` must be accessed initially.","optional":true,"default":"\"leading\"","type":{"name":"http:HeaderPosition","links":[{"category":"internal","recordName":"HeaderPosition"}]}}],"return":{"type":{"name":"string"}}},{"name":"addHeader","type":"Normal Function","description":"Adds the specified header to the response. Existing header values are not replaced, except for the `Content-Type`\nheader. In the case of the `Content-Type` header, the existing value is replaced with the specified value.\n. Panic if an illegal header is passed.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}},{"name":"headerValue","description":"The header value","optional":false,"default":null,"type":{"name":"string"}},{"name":"position","description":"Represents the position of the header as an optional parameter. If the position is `http:TRAILING`,\nthe entity-body of the `Response` must be accessed initially.","optional":true,"default":"\"leading\"","type":{"name":"http:HeaderPosition","links":[{"category":"internal","recordName":"HeaderPosition"}]}}],"return":{"type":{"name":"()"}}},{"name":"getHeaders","type":"Normal Function","description":"Gets all the header values to which the specified header key maps to.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}},{"name":"position","description":"Represents the position of the header as an optional parameter. If the position is `http:TRAILING`,\nthe entity-body of the `Response` must be accessed initially.","optional":true,"default":"\"leading\"","type":{"name":"http:HeaderPosition","links":[{"category":"internal","recordName":"HeaderPosition"}]}}],"return":{"type":{"name":"string[]"}}},{"name":"setHeader","type":"Normal Function","description":"Sets the specified header to the response. If a mapping already exists for the specified header key, the\nexisting header value is replaced with the specified header value. Panic if an illegal header is passed.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}},{"name":"headerValue","description":"The header value","optional":false,"default":null,"type":{"name":"string"}},{"name":"position","description":"Represents the position of the header as an optional parameter. If the position is `http:TRAILING`,\nthe entity-body of the `Response` must be accessed initially.","optional":true,"default":"\"leading\"","type":{"name":"http:HeaderPosition","links":[{"category":"internal","recordName":"HeaderPosition"}]}}],"return":{"type":{"name":"()"}}},{"name":"removeHeader","type":"Normal Function","description":"Removes the specified header from the response.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}},{"name":"position","description":"Represents the position of the header as an optional parameter. If the position is `http:TRAILING`,\nthe entity-body of the `Response` must be accessed initially.","optional":true,"default":"\"leading\"","type":{"name":"http:HeaderPosition","links":[{"category":"internal","recordName":"HeaderPosition"}]}}],"return":{"type":{"name":"()"}}},{"name":"removeAllHeaders","type":"Normal Function","description":"Removes all the headers from the response.\n","parameters":[{"name":"position","description":"Represents the position of the header as an optional parameter. If the position is `http:TRAILING`,\nthe entity-body of the `Response` must be accessed initially.","optional":true,"default":"\"leading\"","type":{"name":"http:HeaderPosition","links":[{"category":"internal","recordName":"HeaderPosition"}]}}],"return":{"type":{"name":"()"}}},{"name":"getHeaderNames","type":"Normal Function","description":"Gets all the names of the headers of the response.\n","parameters":[{"name":"position","description":"Represents the position of the header as an optional parameter. If the position is `http:TRAILING`,\nthe entity-body of the `Response` must be accessed initially.","optional":true,"default":"\"leading\"","type":{"name":"http:HeaderPosition","links":[{"category":"internal","recordName":"HeaderPosition"}]}}],"return":{"type":{"name":"string[]"}}},{"name":"setContentType","type":"Normal Function","description":"Sets the `content-type` header to the response.\n","parameters":[{"name":"contentType","description":"Content type value to be set as the `content-type` header","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"getContentType","type":"Normal Function","description":"Gets the type of the payload of the response (i.e., the `content-type` header value).\n","parameters":[],"return":{"type":{"name":"string"}}},{"name":"getJsonPayload","type":"Normal Function","description":"Extract `json` payload from the response. For an empty payload, `http:NoContentError` is returned.\n\nIf the content type is not JSON, an `http:ClientError` is returned.\n","parameters":[],"return":{"type":{"name":"json"}}},{"name":"getXmlPayload","type":"Normal Function","description":"Extracts `xml` payload from the response. For an empty payload, `http:NoContentError` is returned.\n\nIf the content type is not XML, an `http:ClientError` is returned.\n","parameters":[],"return":{"type":{"name":"xml"}}},{"name":"getTextPayload","type":"Normal Function","description":"Extracts `text` payload from the response. For an empty payload, `http:NoContentError` is returned.\n\nIf the content type is not of type text, an `http:ClientError` is returned.\n","parameters":[],"return":{"type":{"name":"string"}}},{"name":"getByteStream","type":"Normal Function","description":"Gets the response payload as a stream of byte[], except in the case of multiparts. To retrieve multiparts, use\n`Response.getBodyParts()`.\n","parameters":[{"name":"arraySize","description":"A defaultable parameter to state the size of the byte array. Default size is 8KB","optional":true,"default":"0","type":{"name":"int"}}],"return":{"type":{"name":"stream"}}},{"name":"getBinaryPayload","type":"Normal Function","description":"Gets the response payload as a `byte[]`.\n","parameters":[],"return":{"type":{"name":"byte[]"}}},{"name":"getSseEventStream","type":"Normal Function","description":"Gets the response payload as a `stream` of SseEvent.\n","parameters":[],"return":{"type":{"name":"stream"}}},{"name":"getBodyParts","type":"Normal Function","description":"Extracts body parts from the response. If the content type is not a composite media type, an error is returned.\n","parameters":[],"return":{"type":{"name":"mime:Entity[]"}}},{"name":"setETag","type":"Normal Function","description":"Sets the `etag` header for the given payload. The ETag is generated using a CRC32 hash isolated function.\n","parameters":[{"name":"payload","description":"The payload for which the ETag should be set","optional":false,"default":null,"type":{"name":"json|xml|string|byte[]"}}],"return":{"type":{"name":"()"}}},{"name":"setLastModified","type":"Normal Function","description":"Sets the current time as the `last-modified` header.","parameters":[],"return":{"type":{"name":"()"}}},{"name":"setJsonPayload","type":"Normal Function","description":"Sets a `json` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/json`. Any existing content-type can be\noverridden by passing the content-type as an optional parameter.\n","parameters":[{"name":"payload","description":"The `json` payload","optional":false,"default":null,"type":{"name":"json"}},{"name":"contentType","description":"The content type of the payload. This is an optional parameter.\nThe `application/json` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setAnydataAsJsonPayload","type":"Normal Function","description":"Sets a `anydata` payaload, as a `json` payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/json`. Any existing content-type can be\noverridden by passing the content-type as an optional parameter.\n","parameters":[{"name":"payload","description":"The `json` payload","optional":false,"default":null,"type":{"name":"anydata"}},{"name":"contentType","description":"The content type of the payload. This is an optional parameter.\nThe `application/json` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setXmlPayload","type":"Normal Function","description":"Sets an `xml` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/xml`. Any existing content-type can be\noverridden by passing the content-type as an optional parameter.\n","parameters":[{"name":"payload","description":"The `xml` payload","optional":false,"default":null,"type":{"name":"xml"}},{"name":"contentType","description":"The content type of the payload. This is an optional parameter.\nThe `application/xml` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setTextPayload","type":"Normal Function","description":"Sets a `string` as the payload. If the content-type header is not set then this method set\ncontent-type headers with the default content-type, which is `text/plain`. Any\nexisting content-type can be overridden by passing the content-type as an optional parameter.\n","parameters":[{"name":"payload","description":"The `string` payload","optional":false,"default":null,"type":{"name":"string"}},{"name":"contentType","description":"The content type of the payload. This is an optional parameter.\nThe `text/plain` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setBinaryPayload","type":"Normal Function","description":"Sets a `byte[]` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/octet-stream`. Any existing content-type\ncan be overridden by passing the content-type as an optional parameter.\n","parameters":[{"name":"payload","description":"The `byte[]` payload","optional":false,"default":null,"type":{"name":"byte[]"}},{"name":"contentType","description":"The content type of the payload. This is an optional parameter.\nThe `application/octet-stream` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setBodyParts","type":"Normal Function","description":"Set multiparts as the payload. If the content-type header is not set then this method\nset content-type headers with the default content-type, which is `multipart/form-data`.\nAny existing content-type can be overridden by passing the content-type as an optional parameter.\n","parameters":[{"name":"bodyParts","description":"The entities which make up the message body","optional":false,"default":null,"type":{"name":"mime:Entity[]","links":[{"category":"external","recordName":"Entity[]","libraryName":"ballerina/mime"}]}},{"name":"contentType","description":"The content type of the top level message. This is an optional parameter.\nThe `multipart/form-data` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setFileAsPayload","type":"Normal Function","description":"Sets the content of the specified file as the entity body of the response. If the content-type header\nis not set then this method set content-type headers with the default content-type, which is\n`application/octet-stream`. Any existing content-type can be overridden by passing the content-type\nas an optional parameter.\n","parameters":[{"name":"filePath","description":"Path to the file to be set as the payload","optional":false,"default":null,"type":{"name":"string"}},{"name":"contentType","description":"The content type of the specified file. This is an optional parameter.\nThe `application/octet-stream` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setByteStream","type":"Normal Function","description":"Sets a `Stream` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/octet-stream`. Any existing content-type can\nbe overridden by passing the content-type as an optional parameter.\n","parameters":[{"name":"byteStream","description":"Byte stream, which needs to be set to the response","optional":false,"default":null,"type":{"name":"stream","links":[{"category":"external","recordName":"stream","libraryName":"ballerina/io"}]}},{"name":"contentType","description":"Content-type to be used with the payload. This is an optional parameter.\nThe `application/octet-stream` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setSseEventStream","type":"Normal Function","description":"Sets an `http:SseEvent` stream as the payload, along with the Content-Type and Cache-Control \nheaders set to 'text/event-stream' and 'no-cache', respectively.\n","parameters":[{"name":"eventStream","description":"SseEvent stream, which needs to be set to the response","optional":false,"default":null,"type":{"name":"stream|stream","links":[{"category":"internal","recordName":"stream|stream"}]}}],"return":{"type":{"name":"()"}}},{"name":"setPayload","type":"Normal Function","description":"Sets the response payload. This method overrides any existing content-type by passing the content-type\nas an optional parameter. If the content type parameter is not provided then the default value derived\nfrom the payload will be used as content-type only when there are no existing content-type header. If\nthe payload is non-json typed value then the value is converted to json using the `toJson` method.\n","parameters":[{"name":"payload","description":"Payload can be of type `string`, `xml`, `byte[]`, `json`, `stream`,\nstream(represents Server-Sent events), `Entity[]` (i.e., a set of body\nparts) or any other value of type `anydata` which will be converted to `json` using the\n`toJson` method.","optional":false,"default":null,"type":{"name":"anydata|mime:Entity[]|stream|stream","links":[{"category":"internal","recordName":"anydata|Entity[]|stream|stream"},{"category":"external","recordName":"anydata|Entity[]|stream|stream","libraryName":"ballerina/mime"},{"category":"external","recordName":"anydata|Entity[]|stream|stream","libraryName":"ballerina/io"}]}},{"name":"contentType","description":"Content-type to be used with the payload. This is an optional parameter","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"addCookie","type":"Normal Function","description":"Adds the cookie to response.\n","parameters":[{"name":"cookie","description":"The cookie, which is added to response","optional":false,"default":null,"type":{"name":"http:Cookie","links":[{"category":"internal","recordName":"Cookie"}]}}],"return":{"type":{"name":"()"}}},{"name":"removeCookiesFromRemoteStore","type":"Normal Function","description":"Deletes the cookies in the client's cookie store.\n","parameters":[{"name":"cookiesToRemove","description":"Cookies to be deleted","optional":true,"default":null,"type":{"name":"http:Cookie","links":[{"category":"internal","recordName":"Cookie[]"}]}}],"return":{"type":{"name":"()"}}},{"name":"getCookies","type":"Normal Function","description":"Gets cookies from the response.\n","parameters":[],"return":{"type":{"name":"http:Cookie[]"}}},{"name":"getStatusCodeRecord","type":"Normal Function","description":"Gets the status code response record from the response.\n","parameters":[],"return":{"type":{"name":"http:StatusCodeRecord"}}}]},{"name":"ResponseCacheControl","description":"Configures cache control directives for an `http:Response`.\n","functions":[{"name":"init","type":"Constructor","description":"Configures cache control directives for an `http:Response`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:ResponseCacheControl"}}},{"name":"populateFields","type":"Normal Function","description":"","parameters":[{"name":"cacheConfig","description":null,"optional":false,"default":null,"type":{"name":"http:HttpCacheConfig","links":[{"category":"internal","recordName":"HttpCacheConfig"}]}}],"return":{"type":{"name":"()"}}},{"name":"buildCacheControlDirectives","type":"Normal Function","description":"Builds the cache control directives string from the current `http:ResponseCacheControl` configurations.\n","parameters":[],"return":{"type":{"name":"string"}}}]},{"name":"ResponseMessage","description":"The types of messages that are accepted by HTTP `listener` when sending out the outbound response.","type":"Union","members":["anydata","ballerina/http:2.15.4:Response","ballerina/mime:2.12.1:Entity[]","stream","stream","stream"]},{"name":"CommonResponse","description":"The common attributed of response status code record type.\n","type":"Record","fields":[{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"Continue","description":"The status code response record of `Continue`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusContinue","links":[{"category":"internal","recordName":"StatusContinue"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"Status","description":"The `Status` object creates the distinction for the different response status code types.\n","type":"Class","fields":[]},{"name":"StatusContinue","description":"Represents the status code of `STATUS_CONTINUE`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_CONTINUE`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusContinue"}}}]},{"name":"SwitchingProtocols","description":"The status code response record of `SwitchingProtocols`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusSwitchingProtocols","links":[{"category":"internal","recordName":"StatusSwitchingProtocols"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusSwitchingProtocols","description":"Represents the status code of `STATUS_SWITCHING_PROTOCOLS`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_SWITCHING_PROTOCOLS`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusSwitchingProtocols"}}}]},{"name":"Processing","description":"The status code response record of `Processing`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusProcessing","links":[{"category":"internal","recordName":"StatusProcessing"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusProcessing","description":"Represents the status code of `STATUS_PROCESSING`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_PROCESSING`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusProcessing"}}}]},{"name":"EarlyHints","description":"The status code response record of `EarlyHints`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusEarlyHints","links":[{"category":"internal","recordName":"StatusEarlyHints"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusEarlyHints","description":"Represents the status code of `STATUS_EARLY_HINTS`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_EARLY_HINTS`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusEarlyHints"}}}]},{"name":"Ok","description":"The status code response record of `Ok`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusOK","links":[{"category":"internal","recordName":"StatusOK"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusOK","description":"Represents the status code of `STATUS_OK`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_OK`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusOK"}}}]},{"name":"Created","description":"The status code response record of `Created`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusCreated","links":[{"category":"internal","recordName":"StatusCreated"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusCreated","description":"Represents the status code of `STATUS_CREATED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_CREATED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusCreated"}}}]},{"name":"Accepted","description":"The status code response record of `Accepted`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusAccepted","links":[{"category":"internal","recordName":"StatusAccepted"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusAccepted","description":"Represents the status code of `STATUS_ACCEPTED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_ACCEPTED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusAccepted"}}}]},{"name":"NonAuthoritativeInformation","description":"The status code response record of `NonAuthoritativeInformation`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusNonAuthoritativeInformation","links":[{"category":"internal","recordName":"StatusNonAuthoritativeInformation"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusNonAuthoritativeInformation","description":"Represents the status code of `STATUS_NON_AUTHORITATIVE_INFORMATION`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_NON_AUTHORITATIVE_INFORMATION`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusNonAuthoritativeInformation"}}}]},{"name":"NoContent","description":"The status code response record of `NoContent`.\n","type":"Record","fields":[{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusNoContent","links":[{"category":"internal","recordName":"StatusNoContent"}]}}]},{"name":"StatusNoContent","description":"Represents the status code of `STATUS_NO_CONTENT`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_NO_CONTENT`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusNoContent"}}}]},{"name":"ResetContent","description":"The status code response record of `ResetContent`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusResetContent","links":[{"category":"internal","recordName":"StatusResetContent"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusResetContent","description":"Represents the status code of `STATUS_RESET_CONTENT`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_RESET_CONTENT`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusResetContent"}}}]},{"name":"PartialContent","description":"The status code response record of `PartialContent`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusPartialContent","links":[{"category":"internal","recordName":"StatusPartialContent"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusPartialContent","description":"Represents the status code of `STATUS_PARTIAL_CONTENT`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_PARTIAL_CONTENT`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusPartialContent"}}}]},{"name":"MultiStatus","description":"The status code response record of `MultiStatus`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusMultiStatus","links":[{"category":"internal","recordName":"StatusMultiStatus"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusMultiStatus","description":"Represents the status code of `STATUS_MULTI_STATUS`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_MULTI_STATUS`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusMultiStatus"}}}]},{"name":"AlreadyReported","description":"The status code response record of `AlreadyReported`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusAlreadyReported","links":[{"category":"internal","recordName":"StatusAlreadyReported"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusAlreadyReported","description":"Represents the status code of `STATUS_ALREADY_REPORTED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_ALREADY_REPORTED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusAlreadyReported"}}}]},{"name":"IMUsed","description":"The status code response record of `IMUsed`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusIMUsed","links":[{"category":"internal","recordName":"StatusIMUsed"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusIMUsed","description":"Represents the status code of `STATUS_IM_USED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_IM_USED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusIMUsed"}}}]},{"name":"MultipleChoices","description":"The status code response record of `MultipleChoices`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusMultipleChoices","links":[{"category":"internal","recordName":"StatusMultipleChoices"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusMultipleChoices","description":"Represents the status code of `STATUS_MULTIPLE_CHOICES`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_MULTIPLE_CHOICES`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusMultipleChoices"}}}]},{"name":"MovedPermanently","description":"The status code response record of `MovedPermanently`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusMovedPermanently","links":[{"category":"internal","recordName":"StatusMovedPermanently"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusMovedPermanently","description":"Represents the status code of `STATUS_MOVED_PERMANENTLY`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_MOVED_PERMANENTLY`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusMovedPermanently"}}}]},{"name":"Found","description":"The status code response record of `Found`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusFound","links":[{"category":"internal","recordName":"StatusFound"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusFound","description":"Represents the status code of `STATUS_FOUND`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_FOUND`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusFound"}}}]},{"name":"SeeOther","description":"The status code response record of `SeeOther`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusSeeOther","links":[{"category":"internal","recordName":"StatusSeeOther"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusSeeOther","description":"Represents the status code of `STATUS_SEE_OTHER`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_SEE_OTHER`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusSeeOther"}}}]},{"name":"NotModified","description":"The status code response record of `NotModified`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusNotModified","links":[{"category":"internal","recordName":"StatusNotModified"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusNotModified","description":"Represents the status code of `STATUS_NOT_MODIFIED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_NOT_MODIFIED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusNotModified"}}}]},{"name":"UseProxy","description":"The status code response record of `UseProxy`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusUseProxy","links":[{"category":"internal","recordName":"StatusUseProxy"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusUseProxy","description":"Represents the status code of `STATUS_USE_PROXY`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_USE_PROXY`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusUseProxy"}}}]},{"name":"TemporaryRedirect","description":"The status code response record of `TemporaryRedirect`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusTemporaryRedirect","links":[{"category":"internal","recordName":"StatusTemporaryRedirect"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusTemporaryRedirect","description":"Represents the status code of `STATUS_TEMPORARY_REDIRECT`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_TEMPORARY_REDIRECT`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusTemporaryRedirect"}}}]},{"name":"PermanentRedirect","description":"The status code response record of `PermanentRedirect`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusPermanentRedirect","links":[{"category":"internal","recordName":"StatusPermanentRedirect"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusPermanentRedirect","description":"Represents the status code of `STATUS_PERMANENT_REDIRECT`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_PERMANENT_REDIRECT`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusPermanentRedirect"}}}]},{"name":"BadRequest","description":"The status code response record of `BadRequest`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusBadRequest","links":[{"category":"internal","recordName":"StatusBadRequest"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusBadRequest","description":"Represents the status code of `STATUS_BAD_REQUEST`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_BAD_REQUEST`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusBadRequest"}}}]},{"name":"Unauthorized","description":"The status code response record of `Unauthorized`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusUnauthorized","links":[{"category":"internal","recordName":"StatusUnauthorized"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusUnauthorized","description":"Represents the status code of `STATUS_UNAUTHORIZED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_UNAUTHORIZED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusUnauthorized"}}}]},{"name":"PaymentRequired","description":"The status code response record of `PaymentRequired`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusPaymentRequired","links":[{"category":"internal","recordName":"StatusPaymentRequired"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusPaymentRequired","description":"Represents the status code of `STATUS_PAYMENT_REQUIRED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_PAYMENT_REQUIRED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusPaymentRequired"}}}]},{"name":"Forbidden","description":"The status code response record of `Forbidden`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusForbidden","links":[{"category":"internal","recordName":"StatusForbidden"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusForbidden","description":"Represents the status code of `STATUS_FORBIDDEN`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_FORBIDDEN`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusForbidden"}}}]},{"name":"NotFound","description":"The status code response record of `NotFound`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusNotFound","links":[{"category":"internal","recordName":"StatusNotFound"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusNotFound","description":"Represents the status code of `STATUS_NOT_FOUND`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_NOT_FOUND`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusNotFound"}}}]},{"name":"MethodNotAllowed","description":"The status code response record of `MethodNotAllowed`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusMethodNotAllowed","links":[{"category":"internal","recordName":"StatusMethodNotAllowed"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusMethodNotAllowed","description":"Represents the status code of `STATUS_METHOD_NOT_ALLOWED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_METHOD_NOT_ALLOWED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusMethodNotAllowed"}}}]},{"name":"NotAcceptable","description":"The status code response record of `NotAcceptable`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusNotAcceptable","links":[{"category":"internal","recordName":"StatusNotAcceptable"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusNotAcceptable","description":"Represents the status code of `STATUS_NOT_ACCEPTABLE`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_NOT_ACCEPTABLE`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusNotAcceptable"}}}]},{"name":"ProxyAuthenticationRequired","description":"The status code response record of `ProxyAuthenticationRequired`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusProxyAuthenticationRequired","links":[{"category":"internal","recordName":"StatusProxyAuthenticationRequired"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusProxyAuthenticationRequired","description":"Represents the status code of `STATUS_PROXY_AUTHENTICATION_REQUIRED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_PROXY_AUTHENTICATION_REQUIRED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusProxyAuthenticationRequired"}}}]},{"name":"RequestTimeout","description":"The status code response record of `RequestTimeout`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusRequestTimeout","links":[{"category":"internal","recordName":"StatusRequestTimeout"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusRequestTimeout","description":"Represents the status code of `STATUS_REQUEST_TIMEOUT`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_REQUEST_TIMEOUT`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusRequestTimeout"}}}]},{"name":"Conflict","description":"The status code response record of `Conflict`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusConflict","links":[{"category":"internal","recordName":"StatusConflict"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusConflict","description":"Represents the status code of `STATUS_CONFLICT`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_CONFLICT`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusConflict"}}}]},{"name":"Gone","description":"The status code response record of `Gone`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusGone","links":[{"category":"internal","recordName":"StatusGone"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusGone","description":"Represents the status code of `STATUS_GONE`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_GONE`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusGone"}}}]},{"name":"LengthRequired","description":"The status code response record of `LengthRequired`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusLengthRequired","links":[{"category":"internal","recordName":"StatusLengthRequired"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusLengthRequired","description":"Represents the status code of `STATUS_LENGTH_REQUIRED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_LENGTH_REQUIRED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusLengthRequired"}}}]},{"name":"PreconditionFailed","description":"The status code response record of `PreconditionFailed`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusPreconditionFailed","links":[{"category":"internal","recordName":"StatusPreconditionFailed"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusPreconditionFailed","description":"Represents the status code of `STATUS_PRECONDITION_FAILED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_PRECONDITION_FAILED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusPreconditionFailed"}}}]},{"name":"PayloadTooLarge","description":"The status code response record of `PayloadTooLarge`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusPayloadTooLarge","links":[{"category":"internal","recordName":"StatusPayloadTooLarge"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusPayloadTooLarge","description":"Represents the status code of `STATUS_PAYLOAD_TOO_LARGE`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_PAYLOAD_TOO_LARGE`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusPayloadTooLarge"}}}]},{"name":"UriTooLong","description":"The status code response record of `UriTooLong`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusUriTooLong","links":[{"category":"internal","recordName":"StatusUriTooLong"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusUriTooLong","description":"Represents the status code of `STATUS_URI_TOO_LONG`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_URI_TOO_LONG`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusUriTooLong"}}}]},{"name":"UnsupportedMediaType","description":"The status code response record of `UnsupportedMediaType`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusUnsupportedMediaType","links":[{"category":"internal","recordName":"StatusUnsupportedMediaType"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusUnsupportedMediaType","description":"Represents the status code of `STATUS_UNSUPPORTED_MEDIA_TYPE`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_UNSUPPORTED_MEDIA_TYPE`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusUnsupportedMediaType"}}}]},{"name":"RangeNotSatisfiable","description":"The status code response record of `RangeNotSatisfiable`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusRangeNotSatisfiable","links":[{"category":"internal","recordName":"StatusRangeNotSatisfiable"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusRangeNotSatisfiable","description":"Represents the status code of `STATUS_RANGE_NOT_SATISFIABLE`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_RANGE_NOT_SATISFIABLE`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusRangeNotSatisfiable"}}}]},{"name":"ExpectationFailed","description":"The status code response record of `ExpectationFailed`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusExpectationFailed","links":[{"category":"internal","recordName":"StatusExpectationFailed"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusExpectationFailed","description":"Represents the status code of `STATUS_EXPECTATION_FAILED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_EXPECTATION_FAILED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusExpectationFailed"}}}]},{"name":"MisdirectedRequest","description":"The status code response record of `MisdirectedRequest`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusMisdirectedRequest","links":[{"category":"internal","recordName":"StatusMisdirectedRequest"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusMisdirectedRequest","description":"Represents the status code of `STATUS_MISDIRECTED_REQUEST`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_MISDIRECTED_REQUEST`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusMisdirectedRequest"}}}]},{"name":"UnprocessableEntity","description":"The status code response record of `UnprocessableEntity`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusUnprocessableEntity","links":[{"category":"internal","recordName":"StatusUnprocessableEntity"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusUnprocessableEntity","description":"Represents the status code of `STATUS_UNPROCESSABLE_ENTITY`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_UNPROCESSABLE_ENTITY`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusUnprocessableEntity"}}}]},{"name":"Locked","description":"The status code response record of `Locked`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusLocked","links":[{"category":"internal","recordName":"StatusLocked"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusLocked","description":"Represents the status code of `STATUS_LOCKED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_LOCKED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusLocked"}}}]},{"name":"FailedDependency","description":"The status code response record of `FailedDependency`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusFailedDependency","links":[{"category":"internal","recordName":"StatusFailedDependency"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusFailedDependency","description":"Represents the status code of `STATUS_FAILED_DEPENDENCY`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_FAILED_DEPENDENCY`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusFailedDependency"}}}]},{"name":"TooEarly","description":"The status code response record of `TooEarly`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusTooEarly","links":[{"category":"internal","recordName":"StatusTooEarly"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusTooEarly","description":"Represents the status code of `STATUS_TOO_EARLY`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_TOO_EARLY`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusTooEarly"}}}]},{"name":"PreconditionRequired","description":"The status code response record of `PreconditionRequired`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusPreconditionRequired","links":[{"category":"internal","recordName":"StatusPreconditionRequired"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusPreconditionRequired","description":"Represents the status code of `STATUS_PRECONDITION_REQUIRED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_PRECONDITION_REQUIRED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusPreconditionRequired"}}}]},{"name":"UnavailableDueToLegalReasons","description":"The status code response record of `UnavailableDueToLegalReasons`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusUnavailableDueToLegalReasons","links":[{"category":"internal","recordName":"StatusUnavailableDueToLegalReasons"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusUnavailableDueToLegalReasons","description":"Represents the status code of `STATUS_UNAVAILABLE_DUE_TO_LEGAL_REASONS`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_UNAVAILABLE_DUE_TO_LEGAL_REASONS`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusUnavailableDueToLegalReasons"}}}]},{"name":"UpgradeRequired","description":"The status code response record of `UpgradeRequired`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusUpgradeRequired","links":[{"category":"internal","recordName":"StatusUpgradeRequired"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusUpgradeRequired","description":"Represents the status code of `STATUS_UPGRADE_REQUIRED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_UPGRADE_REQUIRED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusUpgradeRequired"}}}]},{"name":"TooManyRequests","description":"The status code response record of `TooManyRequests`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusTooManyRequests","links":[{"category":"internal","recordName":"StatusTooManyRequests"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusTooManyRequests","description":"Represents the status code of `STATUS_TOO_MANY_REQUESTS`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_TOO_MANY_REQUESTS`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusTooManyRequests"}}}]},{"name":"RequestHeaderFieldsTooLarge","description":"The status code response record of `RequestHeaderFieldsTooLarge`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusRequestHeaderFieldsTooLarge","links":[{"category":"internal","recordName":"StatusRequestHeaderFieldsTooLarge"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusRequestHeaderFieldsTooLarge","description":"Represents the status code of `STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusRequestHeaderFieldsTooLarge"}}}]},{"name":"InternalServerError","description":"The status code response record of `InternalServerError`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusInternalServerError","links":[{"category":"internal","recordName":"StatusInternalServerError"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusInternalServerError","description":"Represents the status code of `STATUS_INTERNAL_SERVER_ERROR`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_INTERNAL_SERVER_ERROR`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusInternalServerError"}}}]},{"name":"NotImplemented","description":"The status code response record of `NotImplemented`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusNotImplemented","links":[{"category":"internal","recordName":"StatusNotImplemented"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusNotImplemented","description":"Represents the status code of `STATUS_NOT_IMPLEMENTED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_NOT_IMPLEMENTED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusNotImplemented"}}}]},{"name":"BadGateway","description":"The status code response record of `BadGateway`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusBadGateway","links":[{"category":"internal","recordName":"StatusBadGateway"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusBadGateway","description":"Represents the status code of `STATUS_BAD_GATEWAY`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_BAD_GATEWAY`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusBadGateway"}}}]},{"name":"ServiceUnavailable","description":"The status code response record of `ServiceUnavailable`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusServiceUnavailable","links":[{"category":"internal","recordName":"StatusServiceUnavailable"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusServiceUnavailable","description":"Represents the status code of `STATUS_SERVICE_UNAVAILABLE`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_SERVICE_UNAVAILABLE`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusServiceUnavailable"}}}]},{"name":"GatewayTimeout","description":"The status code response record of `GatewayTimeout`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusGatewayTimeout","links":[{"category":"internal","recordName":"StatusGatewayTimeout"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusGatewayTimeout","description":"Represents the status code of `STATUS_GATEWAY_TIMEOUT`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_GATEWAY_TIMEOUT`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusGatewayTimeout"}}}]},{"name":"HttpVersionNotSupported","description":"The status code response record of `HttpVersionNotSupported`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusHttpVersionNotSupported","links":[{"category":"internal","recordName":"StatusHttpVersionNotSupported"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusHttpVersionNotSupported","description":"Represents the status code of `STATUS_HTTP_VERSION_NOT_SUPPORTED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_HTTP_VERSION_NOT_SUPPORTED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusHttpVersionNotSupported"}}}]},{"name":"VariantAlsoNegotiates","description":"The status code response record of `VariantAlsoNegotiates`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusVariantAlsoNegotiates","links":[{"category":"internal","recordName":"StatusVariantAlsoNegotiates"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusVariantAlsoNegotiates","description":"Represents the status code of `STATUS_VARIANT_ALSO_NEGOTIATES`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_VARIANT_ALSO_NEGOTIATES`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusVariantAlsoNegotiates"}}}]},{"name":"InsufficientStorage","description":"The status code response record of `InsufficientStorage`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusInsufficientStorage","links":[{"category":"internal","recordName":"StatusInsufficientStorage"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusInsufficientStorage","description":"Represents the status code of `STATUS_INSUFFICIENT_STORAGE`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_INSUFFICIENT_STORAGE`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusInsufficientStorage"}}}]},{"name":"LoopDetected","description":"The status code response record of `LoopDetected`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusLoopDetected","links":[{"category":"internal","recordName":"StatusLoopDetected"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusLoopDetected","description":"Represents the status code of `STATUS_LOOP_DETECTED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_LOOP_DETECTED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusLoopDetected"}}}]},{"name":"NotExtended","description":"The status code response record of `NotExtended`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusNotExtended","links":[{"category":"internal","recordName":"StatusNotExtended"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusNotExtended","description":"Represents the status code of `STATUS_NOT_EXTENDED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_NOT_EXTENDED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusNotExtended"}}}]},{"name":"NetworkAuthenticationRequired","description":"The status code response record of `NetworkAuthenticationRequired`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusNetworkAuthenticationRequired","links":[{"category":"internal","recordName":"StatusNetworkAuthenticationRequired"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"StatusNetworkAuthenticationRequired","description":"Represents the status code of `STATUS_NETWORK_AUTHENTICATION_REQUIRED`.\n","functions":[{"name":"init","type":"Constructor","description":"Represents the status code of `STATUS_NETWORK_AUTHENTICATION_REQUIRED`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:StatusNetworkAuthenticationRequired"}}}]},{"name":"DefaultStatusCodeResponse","description":"The default status code response record.\n","type":"Record","fields":[{"name":"status","description":"","optional":false,"type":{"name":"ballerina/http:2.15.4:DefaultStatus","links":[{"category":"internal","recordName":"DefaultStatus"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"DefaultStatus","description":"","functions":[{"name":"init","type":"Constructor","description":"","parameters":[{"name":"code","description":null,"optional":false,"default":null,"type":{"name":"int"}}],"return":{"type":{"name":"ballerina/http:DefaultStatus"}}}]},{"name":"StatusCodeResponse","description":"Defines the possible status code response record types.","type":"Union","members":["ballerina/http:2.15.4:Continue","ballerina/http:2.15.4:SwitchingProtocols","ballerina/http:2.15.4:Processing","ballerina/http:2.15.4:EarlyHints","ballerina/http:2.15.4:Ok","ballerina/http:2.15.4:Created","ballerina/http:2.15.4:Accepted","ballerina/http:2.15.4:NonAuthoritativeInformation","ballerina/http:2.15.4:NoContent","ballerina/http:2.15.4:ResetContent","ballerina/http:2.15.4:PartialContent","ballerina/http:2.15.4:MultiStatus","ballerina/http:2.15.4:AlreadyReported","ballerina/http:2.15.4:IMUsed","ballerina/http:2.15.4:MultipleChoices","ballerina/http:2.15.4:MovedPermanently","ballerina/http:2.15.4:Found","ballerina/http:2.15.4:SeeOther","ballerina/http:2.15.4:NotModified","ballerina/http:2.15.4:UseProxy","ballerina/http:2.15.4:TemporaryRedirect","ballerina/http:2.15.4:PermanentRedirect","ballerina/http:2.15.4:BadRequest","ballerina/http:2.15.4:Unauthorized","ballerina/http:2.15.4:PaymentRequired","ballerina/http:2.15.4:Forbidden","ballerina/http:2.15.4:NotFound","ballerina/http:2.15.4:MethodNotAllowed","ballerina/http:2.15.4:NotAcceptable","ballerina/http:2.15.4:ProxyAuthenticationRequired","ballerina/http:2.15.4:RequestTimeout","ballerina/http:2.15.4:Conflict","ballerina/http:2.15.4:Gone","ballerina/http:2.15.4:LengthRequired","ballerina/http:2.15.4:PreconditionFailed","ballerina/http:2.15.4:PayloadTooLarge","ballerina/http:2.15.4:UriTooLong","ballerina/http:2.15.4:UnsupportedMediaType","ballerina/http:2.15.4:RangeNotSatisfiable","ballerina/http:2.15.4:ExpectationFailed","ballerina/http:2.15.4:MisdirectedRequest","ballerina/http:2.15.4:UnprocessableEntity","ballerina/http:2.15.4:Locked","ballerina/http:2.15.4:FailedDependency","ballerina/http:2.15.4:TooEarly","ballerina/http:2.15.4:PreconditionRequired","ballerina/http:2.15.4:UnavailableDueToLegalReasons","ballerina/http:2.15.4:UpgradeRequired","ballerina/http:2.15.4:TooManyRequests","ballerina/http:2.15.4:RequestHeaderFieldsTooLarge","ballerina/http:2.15.4:InternalServerError","ballerina/http:2.15.4:NotImplemented","ballerina/http:2.15.4:BadGateway","ballerina/http:2.15.4:ServiceUnavailable","ballerina/http:2.15.4:GatewayTimeout","ballerina/http:2.15.4:HttpVersionNotSupported","ballerina/http:2.15.4:VariantAlsoNegotiates","ballerina/http:2.15.4:InsufficientStorage","ballerina/http:2.15.4:LoopDetected","ballerina/http:2.15.4:NotExtended","ballerina/http:2.15.4:NetworkAuthenticationRequired","ballerina/http:2.15.4:DefaultStatusCodeResponse"]},{"name":"Error","description":"Defines the common error type for the module.","type":"Error"},{"name":"HttpHeader","description":"Defines the Header resource signature parameter.\n","type":"Record","fields":[{"name":"name","description":"","optional":true,"type":{"name":"string"}}]},{"name":"HttpQuery","description":"Defines the query resource signature parameter.\n","type":"Record","fields":[{"name":"name","description":"","optional":true,"type":{"name":"string"}}]},{"name":"HttpCacheConfig","description":"Defines the HTTP response cache configuration. By default the `no-cache` directive is setted to the `cache-control`\nheader. In addition to that `etag` and `last-modified` headers are also added for cache validation.\n","type":"Record","fields":[{"name":"mustRevalidate","description":"","optional":true,"type":{"name":"boolean"}},{"name":"noCache","description":"","optional":true,"type":{"name":"boolean"}},{"name":"noStore","description":"","optional":true,"type":{"name":"boolean"}},{"name":"noTransform","description":"","optional":true,"type":{"name":"boolean"}},{"name":"isPrivate","description":"","optional":true,"type":{"name":"boolean"}},{"name":"proxyRevalidate","description":"","optional":true,"type":{"name":"boolean"}},{"name":"maxAge","description":"","optional":true,"type":{"name":"decimal"}},{"name":"sMaxAge","description":"","optional":true,"type":{"name":"decimal"}},{"name":"noCacheFields","description":"","optional":true,"type":{"name":"string[]"}},{"name":"privateFields","description":"","optional":true,"type":{"name":"string[]"}},{"name":"setETag","description":"","optional":true,"type":{"name":"boolean"}},{"name":"setLastModified","description":"","optional":true,"type":{"name":"boolean"}}]},{"name":"TargetService","description":"Represents a single service and its related configurations.\n","type":"Record","fields":[{"name":"url","description":"","optional":true,"type":{"name":"string"}},{"name":"secureSocket","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientSecureSocket?"}}]},{"name":"ClientSecureSocket","description":"Provides configurations for facilitating secure communication with a remote HTTP endpoint.\n","type":"Record","fields":[{"name":"enable","description":"","optional":true,"type":{"name":"boolean"}},{"name":"cert","description":"","optional":true,"type":{"name":"ballerina/crypto:2.9.3:TrustStore|string"}},{"name":"key","description":"","optional":true,"type":{"name":"ballerina/crypto:2.9.3:KeyStore|ballerina/http:2.15.4:CertKey"}},{"name":"protocol","description":"","optional":true,"type":{"name":"record {|ballerina/http:2.15.4:Protocol name; string[] versions;|}"}},{"name":"certValidation","description":"","optional":true,"type":{"name":"record {|ballerina/http:2.15.4:CertValidationType 'type; int cacheSize; int cacheValidityPeriod;|}"}},{"name":"ciphers","description":"","optional":true,"type":{"name":"string[]"}},{"name":"verifyHostName","description":"","optional":true,"type":{"name":"boolean"}},{"name":"shareSession","description":"","optional":true,"type":{"name":"boolean"}},{"name":"handshakeTimeout","description":"","optional":true,"type":{"name":"decimal"}},{"name":"sessionTimeout","description":"","optional":true,"type":{"name":"decimal"}},{"name":"serverName","description":"","optional":true,"type":{"name":"string"}}]},{"name":"CertKey","description":"Represents combination of certificate, private key and private key password if encrypted.\n","type":"Record","fields":[{"name":"certFile","description":"","optional":false,"type":{"name":"string"}},{"name":"keyFile","description":"","optional":false,"type":{"name":"string"}},{"name":"keyPassword","description":"","optional":true,"type":{"name":"string"}}]},{"name":"Protocol","description":"Represents protocol options.","type":"Enum","members":[{"name":"DTLS","description":""},{"name":"TLS","description":""},{"name":"SSL","description":""}]},{"name":"CertValidationType","description":"Represents certification validation type options.","type":"Enum","members":[{"name":"OCSP_STAPLING","description":""},{"name":"OCSP_CRL","description":""}]},{"name":"CommonClientConfiguration","description":"Common client configurations for the next level clients.","type":"Record","fields":[{"name":"httpVersion","description":"HTTP protocol version supported by the client","optional":true,"type":{"name":"ballerina/http:2.15.4:HttpVersion","links":[{"category":"internal","recordName":"HttpVersion"}]}},{"name":"http1Settings","description":"HTTP/1.x specific settings","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientHttp1Settings","links":[{"category":"internal","recordName":"ClientHttp1Settings"}]}},{"name":"http2Settings","description":"HTTP/2 specific settings","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientHttp2Settings","links":[{"category":"internal","recordName":"ClientHttp2Settings"}]}},{"name":"timeout","description":"Maximum time(in seconds) to wait for a response before the request times out","optional":true,"type":{"name":"decimal"}},{"name":"forwarded","description":"The choice of setting `Forwarded`/`X-Forwarded-For` header, when acting as a proxy","optional":true,"type":{"name":"string"}},{"name":"followRedirects","description":"HTTP redirect handling configurations (with 3xx status codes)","optional":true,"type":{"name":"ballerina/http:2.15.4:FollowRedirects?"}},{"name":"poolConfig","description":"Configurations associated with the request connection pool","optional":true,"type":{"name":"ballerina/http:2.15.4:PoolConfiguration?"}},{"name":"cache","description":"HTTP response caching related configurations","optional":true,"type":{"name":"ballerina/http:2.15.4:CacheConfig","links":[{"category":"internal","recordName":"CacheConfig"}]}},{"name":"compression","description":"Enable request/response compression (using `accept-encoding` header)","optional":true,"type":{"name":"ballerina/http:2.15.4:Compression","links":[{"category":"internal","recordName":"Compression"}]}},{"name":"auth","description":"Client authentication options (Basic, Bearer token, OAuth, etc.)","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientAuthConfig?"}},{"name":"circuitBreaker","description":"Circuit breaker configurations to prevent cascading failures","optional":true,"type":{"name":"ballerina/http:2.15.4:CircuitBreakerConfig?"}},{"name":"retryConfig","description":"Automatic retry settings for failed requests","optional":true,"type":{"name":"ballerina/http:2.15.4:RetryConfig?"}},{"name":"cookieConfig","description":"Cookie handling settings for session management","optional":true,"type":{"name":"ballerina/http:2.15.4:CookieConfig?"}},{"name":"responseLimits","description":"Limits for response size and headers (to prevent memory issues)","optional":true,"type":{"name":"ballerina/http:2.15.4:ResponseLimitConfigs","links":[{"category":"internal","recordName":"ResponseLimitConfigs"}]}},{"name":"proxy","description":"Proxy server settings if requests need to go through a proxy","optional":true,"type":{"name":"ballerina/http:2.15.4:ProxyConfig?"}},{"name":"validation","description":"Enable automatic payload validation for request/response data against constraints","optional":true,"type":{"name":"boolean"}},{"name":"socketConfig","description":"Low-level socket settings (timeouts, buffer sizes, etc.)","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientSocketConfig","links":[{"category":"internal","recordName":"ClientSocketConfig"}]}},{"name":"laxDataBinding","description":"Enable relaxed data binding on the client side.\nWhen enabled:\n- `null` values in JSON are allowed to be mapped to optional fields\n- missing fields in JSON are allowed to be mapped as `null` values","optional":true,"type":{"name":"boolean"}}]},{"name":"HttpVersion","description":"Defines the supported HTTP protocols.","type":"Enum","members":[{"name":"HTTP_2_0","description":"Represents HTTP/2.0 protocol"},{"name":"HTTP_1_1","description":"Represents HTTP/1.1 protocol"},{"name":"HTTP_1_0","description":"Represents HTTP/1.0 protocol"}]},{"name":"ClientHttp1Settings","description":"Provides settings related to HTTP/1.x protocol.\n","type":"Record","fields":[{"name":"keepAlive","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:KeepAlive","links":[{"category":"internal","recordName":"KeepAlive"}]}},{"name":"chunking","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:Chunking","links":[{"category":"internal","recordName":"Chunking"}]}},{"name":"proxy","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ProxyConfig?"}}]},{"name":"KeepAlive","description":"Defines the possible values for the keep-alive configuration in service and client endpoints.","type":"Union","members":["\"AUTO\"","\"ALWAYS\"","\"NEVER\""]},{"name":"ProxyConfig","description":"Proxy server configurations to be used with the HTTP client endpoint.\n","type":"Record","fields":[{"name":"host","description":"","optional":true,"type":{"name":"string"}},{"name":"port","description":"","optional":true,"type":{"name":"int"}},{"name":"userName","description":"","optional":true,"type":{"name":"string"}},{"name":"password","description":"","optional":true,"type":{"name":"string"}}]},{"name":"ClientHttp2Settings","description":"Provides settings related to HTTP/2 protocol.\n","type":"Record","fields":[{"name":"http2PriorKnowledge","description":"","optional":true,"type":{"name":"boolean"}},{"name":"http2InitialWindowSize","description":"","optional":true,"type":{"name":"int"}}]},{"name":"FollowRedirects","description":"Provides configurations for controlling the endpoint's behaviour in response to HTTP redirect related responses.\nThe response status codes of 301, 302, and 303 are redirected using a GET request while 300, 305, 307, and 308\nstatus codes use the original request HTTP method during redirection.\n","type":"Record","fields":[{"name":"enabled","description":"","optional":true,"type":{"name":"boolean"}},{"name":"maxCount","description":"","optional":true,"type":{"name":"int"}},{"name":"allowAuthHeaders","description":"","optional":true,"type":{"name":"boolean"}}]},{"name":"PoolConfiguration","description":"Configurations for managing HTTP client connection pool.\n","type":"Record","fields":[{"name":"maxActiveConnections","description":"","optional":true,"type":{"name":"int"}},{"name":"maxIdleConnections","description":"","optional":true,"type":{"name":"int"}},{"name":"waitTime","description":"","optional":true,"type":{"name":"decimal"}},{"name":"maxActiveStreamsPerConnection","description":"","optional":true,"type":{"name":"int"}},{"name":"minEvictableIdleTime","description":"","optional":true,"type":{"name":"decimal"}},{"name":"timeBetweenEvictionRuns","description":"","optional":true,"type":{"name":"decimal"}},{"name":"minIdleTimeInStaleState","description":"","optional":true,"type":{"name":"decimal"}},{"name":"timeBetweenStaleEviction","description":"","optional":true,"type":{"name":"decimal"}}]},{"name":"CircuitBreakerConfig","description":"Provides a set of configurations for controlling the behaviour of the Circuit Breaker.","type":"Record","fields":[{"name":"rollingWindow","description":"The `http:RollingWindow` options of the `CircuitBreaker`","optional":true,"type":{"name":"ballerina/http:2.15.4:RollingWindow","links":[{"category":"internal","recordName":"RollingWindow"}]}},{"name":"failureThreshold","description":"The threshold for request failures. When this threshold exceeds, the circuit trips. The threshold should be a\nvalue between 0 and 1","optional":true,"type":{"name":"float"}},{"name":"resetTime","description":"The time period (in seconds) to wait before attempting to make another request to the upstream service","optional":true,"type":{"name":"decimal"}},{"name":"statusCodes","description":"Array of HTTP response status codes which are considered as failures","optional":true,"type":{"name":"int[]"}}]},{"name":"RollingWindow","description":"Represents a rolling window in the Circuit Breaker.\n","type":"Record","fields":[{"name":"requestVolumeThreshold","description":"Minimum number of requests in a `RollingWindow` that will trip the circuit.","optional":true,"type":{"name":"int"}},{"name":"timeWindow","description":"Time period in seconds for which the failure threshold is calculated","optional":true,"type":{"name":"decimal"}},{"name":"bucketSize","description":"The granularity at which the time window slides. This is measured in seconds.","optional":true,"type":{"name":"decimal"}}]},{"name":"RetryConfig","description":"Provides configurations for controlling the retrying behavior in failure scenarios.\n","type":"Record","fields":[{"name":"count","description":"","optional":true,"type":{"name":"int"}},{"name":"interval","description":"","optional":true,"type":{"name":"decimal"}},{"name":"backOffFactor","description":"","optional":true,"type":{"name":"float"}},{"name":"maxWaitInterval","description":"","optional":true,"type":{"name":"decimal"}},{"name":"statusCodes","description":"","optional":true,"type":{"name":"int[]"}}]},{"name":"CookieConfig","description":"Client configuration for cookies.\n","type":"Record","fields":[{"name":"enabled","description":"","optional":true,"type":{"name":"boolean"}},{"name":"maxCookiesPerDomain","description":"","optional":true,"type":{"name":"int"}},{"name":"maxTotalCookieCount","description":"","optional":true,"type":{"name":"int"}},{"name":"blockThirdPartyCookies","description":"","optional":true,"type":{"name":"boolean"}},{"name":"persistentCookieHandler","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:PersistentCookieHandler","links":[{"category":"internal","recordName":"PersistentCookieHandler"}]}}]},{"name":"ResponseLimitConfigs","description":"Provides inbound response status line, total header and entity body size threshold configurations.\n","type":"Record","fields":[{"name":"maxStatusLineLength","description":"","optional":true,"type":{"name":"int"}},{"name":"maxHeaderSize","description":"","optional":true,"type":{"name":"int"}},{"name":"maxEntityBodySize","description":"","optional":true,"type":{"name":"int"}}]},{"name":"ClientSocketConfig","description":"Provides settings related to client socket configuration.\n","type":"Record","fields":[{"name":"connectTimeOut","description":"","optional":true,"type":{"name":"decimal"}},{"name":"receiveBufferSize","description":"","optional":true,"type":{"name":"int"}},{"name":"sendBufferSize","description":"","optional":true,"type":{"name":"int"}},{"name":"tcpNoDelay","description":"","optional":true,"type":{"name":"boolean"}},{"name":"socketReuse","description":"","optional":true,"type":{"name":"boolean"}},{"name":"keepAlive","description":"","optional":true,"type":{"name":"boolean"}}]},{"name":"ClientConfiguration","description":"Provides a set of configurations for controlling the behaviours when communicating with a remote HTTP endpoint.\nThe following fields are inherited from the other configuration records in addition to the `Client`-specific\nconfigs.\n","type":"Record","fields":[{"name":"secureSocket","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientSecureSocket?"}},{"name":"httpVersion","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:HttpVersion","links":[{"category":"internal","recordName":"HttpVersion"}]}},{"name":"http1Settings","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientHttp1Settings","links":[{"category":"internal","recordName":"ClientHttp1Settings"}]}},{"name":"http2Settings","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientHttp2Settings","links":[{"category":"internal","recordName":"ClientHttp2Settings"}]}},{"name":"timeout","description":"","optional":true,"type":{"name":"decimal"}},{"name":"forwarded","description":"","optional":true,"type":{"name":"string"}},{"name":"followRedirects","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:FollowRedirects?"}},{"name":"poolConfig","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:PoolConfiguration?"}},{"name":"cache","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:CacheConfig","links":[{"category":"internal","recordName":"CacheConfig"}]}},{"name":"compression","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:Compression","links":[{"category":"internal","recordName":"Compression"}]}},{"name":"auth","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientAuthConfig?"}},{"name":"circuitBreaker","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:CircuitBreakerConfig?"}},{"name":"retryConfig","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:RetryConfig?"}},{"name":"cookieConfig","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:CookieConfig?"}},{"name":"responseLimits","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ResponseLimitConfigs","links":[{"category":"internal","recordName":"ResponseLimitConfigs"}]}},{"name":"proxy","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ProxyConfig?"}},{"name":"validation","description":"","optional":true,"type":{"name":"boolean"}},{"name":"socketConfig","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientSocketConfig","links":[{"category":"internal","recordName":"ClientSocketConfig"}]}},{"name":"laxDataBinding","description":"","optional":true,"type":{"name":"boolean"}}]},{"name":"Method","description":"Represents HTTP methods.","type":"Enum","members":[{"name":"OPTIONS","description":""},{"name":"HEAD","description":""},{"name":"PATCH","description":""},{"name":"DELETE","description":""},{"name":"PUT","description":""},{"name":"POST","description":""},{"name":"GET","description":""}]},{"name":"ClientObject","description":"The representation of the http Client object type for managing resilient clients.","type":"Class","fields":[]},{"name":"PathParamType","description":"Defines the path parameter types.","type":"Union","members":["boolean","int","float","decimal","string"]},{"name":"SimpleQueryParamType","description":"Defines the possible simple query parameter types.","type":"Union","members":["boolean","int","float","decimal","string"]},{"name":"QueryParamType","description":"Defines the query parameter type supported with client resource methods.","type":"Union","members":["ballerina/http:2.15.4:SimpleQueryParamType[]","boolean","int","float","decimal","string"]},{"name":"QueryParams","description":"Defines the record type of query parameters supported with client resource methods.","type":"Record","fields":[{"name":"headers","description":"","optional":true,"type":{"name":"never"}},{"name":"targetType","description":"","optional":true,"type":{"name":"never"}},{"name":"message","description":"","optional":true,"type":{"name":"never"}},{"name":"mediaType","description":"","optional":true,"type":{"name":"never"}},{"name":"","description":"Rest field","optional":false,"type":{"name":"ballerina/http:2.15.4:QueryParamType","links":[{"category":"internal","recordName":"QueryParamType"}]}}]},{"name":"RedirectCode","description":"Defines the HTTP redirect codes as a type.","type":"Union","members":["300","301","302","303","304","305","307","308"]},{"name":"HeaderPosition","description":"Defines the position of the headers in the request/response.\n\n`LEADING`: Header is placed before the payload of the request/response\n`TRAILING`: Header is placed after the payload of the request/response","type":"Union","members":["\"leading\"","\"trailing\""]},{"name":"Detail","description":"Represents the details of an HTTP error.\n","type":"Record","fields":[{"name":"statusCode","description":"","optional":false,"type":{"name":"int"}},{"name":"headers","description":"","optional":false,"type":{"name":"map"}},{"name":"body","description":"","optional":false,"type":{"name":"anydata"}},{"name":"","description":"Rest field","optional":false,"type":{"name":"anydata"}}]},{"name":"StatusCodeBindingErrorDetail","description":"Represents the details of an HTTP status code binding client error.\n","type":"Record","fields":[{"name":"fromDefaultStatusCodeMapping","description":"","optional":false,"type":{"name":"boolean"}},{"name":"statusCode","description":"","optional":false,"type":{"name":"int"}},{"name":"headers","description":"","optional":false,"type":{"name":"map"}},{"name":"body","description":"","optional":false,"type":{"name":"anydata"}},{"name":"","description":"Rest field","optional":false,"type":{"name":"anydata"}}]},{"name":"LoadBalanceActionErrorData","description":"Represents the details of the `LoadBalanceActionError`.\n","type":"Record","fields":[{"name":"httpActionErr","description":"","optional":true,"type":{"name":"error[]"}},{"name":"","description":"Rest field","optional":false,"type":{"name":"anydata"}}]},{"name":"ListenerError","description":"Defines the possible listener error types.","type":"Error"},{"name":"ClientError","description":"Defines the possible client error types.","type":"Error"},{"name":"HeaderNotFoundError","description":"Represents a header not found error when retrieving headers.","type":"Error"},{"name":"HeaderBindingError","description":"Represents an error, which occurred due to header binding.","type":"Error"},{"name":"PayloadBindingError","description":"Represents an error, which occurred due to payload binding.","type":"Error"},{"name":"MediaTypeBindingError","description":"Represents an error, which occurred due to media-type binding.","type":"Error"},{"name":"InboundRequestError","description":"Defines the listener error types that returned while receiving inbound request.","type":"Error"},{"name":"OutboundResponseError","description":"Defines the listener error types that returned while sending outbound response.","type":"Error"},{"name":"GenericListenerError","description":"Represents a generic listener error.","type":"Error"},{"name":"InterceptorReturnError","description":"Represents an error, which occurred due to a failure in interceptor return.","type":"Error"},{"name":"HeaderValidationError","description":"Represents an error, which occurred due to a header constraint validation.","type":"Error"},{"name":"NoContentError","description":"Represents an error, which occurred due to the absence of the payload.","type":"Error"},{"name":"PayloadValidationError","description":"Represents an error, which occurred due to payload constraint validation.","type":"Error"},{"name":"QueryParameterBindingError","description":"Represents an error, which occurred due to a query parameter binding.","type":"Error"},{"name":"QueryParameterValidationError","description":"Represents an error, which occurred due to a query parameter constraint validation.","type":"Error"},{"name":"PathParameterBindingError","description":"Represents an error, which occurred due to a path parameter binding.","type":"Error"},{"name":"MediaTypeValidationError","description":"Represents an error, which occurred due to media type validation.","type":"Error"},{"name":"RequestDispatchingError","description":"Represents an error, which occurred during the request dispatching.","type":"Error"},{"name":"ServiceDispatchingError","description":"Represents an error, which occurred during the service dispatching.","type":"Error"},{"name":"ResourceDispatchingError","description":"Represents an error, which occurred during the resource dispatching.","type":"Error"},{"name":"ListenerAuthError","description":"Defines the auth error types that returned from listener.","type":"Error"},{"name":"ListenerAuthnError","description":"Defines the authentication error types that returned from listener.","type":"Error"},{"name":"ListenerAuthzError","description":"Defines the authorization error types that returned from listener.","type":"Error"},{"name":"OutboundRequestError","description":"Defines the client error types that returned while sending outbound request.","type":"Error"},{"name":"InboundResponseError","description":"Defines the client error types that returned while receiving inbound response.","type":"Error"},{"name":"ClientAuthError","description":"Defines the Auth error types that returned from client.","type":"Error"},{"name":"ResiliencyError","description":"Defines the resiliency error types that returned from client.","type":"Error"},{"name":"GenericClientError","description":"Represents a generic client error.","type":"Error"},{"name":"Http2ClientError","description":"Represents an HTTP/2 client generic error.","type":"Error"},{"name":"SslError","description":"Represents a client error that occurred due to SSL failure.","type":"Error"},{"name":"ApplicationResponseError","description":"Represents both 4XX and 5XX application response client error.","type":"Error"},{"name":"UnsupportedActionError","description":"Represents a client error that occurred due to unsupported action invocation.","type":"Error"},{"name":"MaximumWaitTimeExceededError","description":"Represents a client error that occurred exceeding maximum wait time.","type":"Error"},{"name":"CookieHandlingError","description":"Represents a cookie error that occurred when using the cookies.","type":"Error"},{"name":"ClientConnectorError","description":"Represents a client connector error that occurred.","type":"Error"},{"name":"ClientRequestError","description":"Represents an error, which occurred due to bad syntax or incomplete info in the client request(4xx HTTP response).","type":"Error"},{"name":"RemoteServerError","description":"Represents an error, which occurred due to a failure of the remote server(5xx HTTP response).","type":"Error"},{"name":"FailoverAllEndpointsFailedError","description":"Represents a client error that occurred due to all the failover endpoint failure.","type":"Error"},{"name":"FailoverActionFailedError","description":"Represents a client error that occurred due to failover action failure.","type":"Error"},{"name":"UpstreamServiceUnavailableError","description":"Represents a client error that occurred due to upstream service unavailability.","type":"Error"},{"name":"AllLoadBalanceEndpointsFailedError","description":"Represents a client error that occurred due to all the load balance endpoint failure.","type":"Error"},{"name":"CircuitBreakerConfigError","description":"Represents a client error that occurred due to circuit breaker configuration error.","type":"Error"},{"name":"AllRetryAttemptsFailed","description":"Represents a client error that occurred due to all the the retry attempts failure.","type":"Error"},{"name":"IdleTimeoutError","description":"Represents the error that triggered upon a request/response idle timeout.","type":"Error"},{"name":"LoadBalanceActionError","description":"Represents an error occurred in an remote function of the Load Balance connector.","type":"Error"},{"name":"InitializingOutboundRequestError","description":"Represents a client error that occurred due to outbound request initialization failure.","type":"Error"},{"name":"WritingOutboundRequestHeadersError","description":"Represents a client error that occurred while writing outbound request headers.","type":"Error"},{"name":"WritingOutboundRequestBodyError","description":"Represents a client error that occurred while writing outbound request entity body.","type":"Error"},{"name":"InitializingInboundResponseError","description":"Represents a client error that occurred due to inbound response initialization failure.","type":"Error"},{"name":"ReadingInboundResponseHeadersError","description":"Represents a client error that occurred while reading inbound response headers.","type":"Error"},{"name":"ReadingInboundResponseBodyError","description":"Represents a client error that occurred while reading inbound response entity body.","type":"Error"},{"name":"InitializingInboundRequestError","description":"Represents a listener error that occurred due to inbound request initialization failure.","type":"Error"},{"name":"ReadingInboundRequestHeadersError","description":"Represents a listener error that occurred while reading inbound request headers.","type":"Error"},{"name":"ReadingInboundRequestBodyError","description":"Represents a listener error that occurred while writing the inbound request entity body.","type":"Error"},{"name":"InitializingOutboundResponseError","description":"Represents a listener error that occurred due to outbound response initialization failure.","type":"Error"},{"name":"WritingOutboundResponseHeadersError","description":"Represents a listener error that occurred while writing outbound response headers.","type":"Error"},{"name":"WritingOutboundResponseBodyError","description":"Represents a listener error that occurred while writing outbound response entity body.","type":"Error"},{"name":"Initiating100ContinueResponseError","description":"Represents an error that occurred due to 100 continue response initialization failure.","type":"Error"},{"name":"Writing100ContinueResponseError","description":"Represents an error that occurred while writing 100 continue response.","type":"Error"},{"name":"InvalidCookieError","description":"Represents a cookie error that occurred when sending cookies in the response.","type":"Error"},{"name":"ServiceNotFoundError","description":"Represents Service Not Found error.","type":"Error"},{"name":"BadMatrixParamError","description":"Represents Bad Matrix Parameter in the request error.","type":"Error"},{"name":"ResourceNotFoundError","description":"Represents an error, which occurred when the resource is not found during dispatching.","type":"Error"},{"name":"ResourcePathValidationError","description":"Represents an error, which occurred due to a path parameter constraint validation.","type":"Error"},{"name":"ResourceMethodNotAllowedError","description":"Represents an error, which occurred when the resource method is not allowed during dispatching.","type":"Error"},{"name":"UnsupportedRequestMediaTypeError","description":"Represents an error, which occurred when the media type is not supported during dispatching.","type":"Error"},{"name":"RequestNotAcceptableError","description":"Represents an error, which occurred when the payload is not acceptable during dispatching.","type":"Error"},{"name":"ResourceDispatchingServerError","description":"Represents other internal server errors during dispatching.","type":"Error"},{"name":"StatusCodeResponseBindingError","description":"Represents the client status code binding error","type":"Error"},{"name":"StatusCodeBindingClientRequestError","description":"Represents the status code binding error that occurred due to 4XX status code response binding","type":"Error"},{"name":"StatusCodeBindingRemoteServerError","description":"Represents the status code binding error that occurred due to 5XX status code response binding","type":"Error"},{"name":"StatusCodeResponseDataBindingError","description":"Represents the client status code response data binding error","type":"Union","members":["ballerina/http:2.15.4:MediaTypeBindingStatusCodeClientError","ballerina/http:2.15.4:PayloadBindingStatusCodeClientError","ballerina/http:2.15.4:HeaderBindingStatusCodeClientError"]},{"name":"RequestInterceptor","description":"The HTTP request interceptor service object type","type":"Class","fields":[]},{"name":"ResponseInterceptor","description":"The HTTP response interceptor service object type","type":"Class","fields":[]},{"name":"RequestErrorInterceptor","description":"The HTTP request error interceptor service object type","type":"Class","fields":[]},{"name":"ResponseErrorInterceptor","description":"The HTTP response error interceptor service object type","type":"Class","fields":[]},{"name":"InterceptableService","description":"The service type to be used when engaging interceptors at the service level","type":"Class","fields":[]},{"name":"NextService","description":"The return type of an interceptor service function","type":"Union","members":["ballerina/http:2.15.4:RequestInterceptor","ballerina/http:2.15.4:ResponseInterceptor","ballerina/http:2.15.4:Service"]},{"name":"Interceptor","description":"Types of HTTP interceptor services","type":"Union","members":["ballerina/http:2.15.4:RequestInterceptor","ballerina/http:2.15.4:ResponseInterceptor","ballerina/http:2.15.4:RequestErrorInterceptor","ballerina/http:2.15.4:ResponseErrorInterceptor"]},{"name":"TraceLogAdvancedConfiguration","description":"Represents HTTP trace log configuration.\n","type":"Record","fields":[{"name":"console","description":"","optional":true,"type":{"name":"boolean"}},{"name":"path","description":"","optional":true,"type":{"name":"string"}},{"name":"host","description":"","optional":true,"type":{"name":"string"}},{"name":"port","description":"","optional":true,"type":{"name":"int"}}]},{"name":"AccessLogConfiguration","description":"Represents HTTP access log configuration.\n","type":"Record","fields":[{"name":"console","description":"","optional":true,"type":{"name":"boolean"}},{"name":"format","description":"","optional":true,"type":{"name":"string"}},{"name":"attributes","description":"","optional":true,"type":{"name":"string[]"}},{"name":"path","description":"","optional":true,"type":{"name":"string"}}]},{"name":"MutualSslHandshake","description":"A record for providing mutual SSL handshake results.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:MutualSslStatus","links":[{"category":"internal","recordName":"MutualSslStatus"}]}},{"name":"base64EncodedCert","description":"","optional":true,"type":{"name":"string?"}}]},{"name":"MutualSslStatus","description":"Defines the possible values for the mutual ssl status.\n\n`passed`: Mutual SSL handshake is successful.\n`failed`: Mutual SSL handshake has failed.","type":"Union","members":["\"passed\"","\"failed\"","()"]},{"name":"Cloneable","description":"Represents a non-error type that can be cloned.","type":"Union","members":["any & readonly","xml","ballerina/http:2.15.4:Cloneable[]","map","table>"]},{"name":"ReqCtxMember","description":"Request context member type.","type":"Union","members":["any & readonly","xml","ballerina/http:2.15.4:Cloneable[]","map","table>","isolated object {}"]},{"name":"ReqCtxMemberType","description":"Request context member type descriptor.","type":"Other"},{"name":"StatusCodeRecord","description":"Defines a status code response record type","type":"Record","fields":[{"name":"status","description":"The status code","optional":false,"type":{"name":"int"}},{"name":"headers","description":"The headers of the response","optional":true,"type":{"name":"map"}},{"name":"body","description":"The response body","optional":true,"type":{"name":"anydata"}}]},{"name":"Remote","description":"Presents a read-only view of the remote address.\n","type":"Record","fields":[{"name":"host","description":"","optional":false,"type":{"name":"string"}},{"name":"port","description":"","optional":false,"type":{"name":"int"}},{"name":"ip","description":"","optional":false,"type":{"name":"string"}}]},{"name":"Local","description":"Presents a read-only view of the local address.\n","type":"Record","fields":[{"name":"host","description":"","optional":false,"type":{"name":"string"}},{"name":"port","description":"","optional":false,"type":{"name":"int"}},{"name":"ip","description":"","optional":false,"type":{"name":"string"}}]},{"name":"ListenerConfiguration","description":"Provides a set of configurations for HTTP service endpoints.\n","type":"Record","fields":[{"name":"host","description":"","optional":true,"type":{"name":"string"}},{"name":"http1Settings","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ListenerHttp1Settings","links":[{"category":"internal","recordName":"ListenerHttp1Settings"}]}},{"name":"secureSocket","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ListenerSecureSocket?"}},{"name":"httpVersion","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:HttpVersion","links":[{"category":"internal","recordName":"HttpVersion"}]}},{"name":"timeout","description":"","optional":true,"type":{"name":"decimal"}},{"name":"server","description":"","optional":true,"type":{"name":"string?"}},{"name":"requestLimits","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:RequestLimitConfigs","links":[{"category":"internal","recordName":"RequestLimitConfigs"}]}},{"name":"gracefulStopTimeout","description":"","optional":true,"type":{"name":"decimal"}},{"name":"socketConfig","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ServerSocketConfig","links":[{"category":"internal","recordName":"ServerSocketConfig"}]}},{"name":"http2InitialWindowSize","description":"","optional":true,"type":{"name":"int"}},{"name":"minIdleTimeInStaleState","description":"","optional":true,"type":{"name":"decimal"}},{"name":"timeBetweenStaleEviction","description":"","optional":true,"type":{"name":"decimal"}}]},{"name":"ListenerHttp1Settings","description":"Provides settings related to HTTP/1.x protocol.\n","type":"Record","fields":[{"name":"keepAlive","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:KeepAlive","links":[{"category":"internal","recordName":"KeepAlive"}]}},{"name":"maxPipelinedRequests","description":"","optional":true,"type":{"name":"int"}}]},{"name":"ListenerSecureSocket","description":"Configures the SSL/TLS options to be used for HTTP service.\n","type":"Record","fields":[{"name":"key","description":"","optional":false,"type":{"name":"ballerina/crypto:2.9.3:KeyStore|ballerina/http:2.15.4:CertKey"}},{"name":"mutualSsl","description":"","optional":true,"type":{"name":"record {|ballerina/http:2.15.4:VerifyClient verifyClient; ballerina/crypto:2.9.3:TrustStore|string cert;|}"}},{"name":"protocol","description":"","optional":true,"type":{"name":"record {|ballerina/http:2.15.4:Protocol name; string[] versions;|}"}},{"name":"certValidation","description":"","optional":true,"type":{"name":"record {|ballerina/http:2.15.4:CertValidationType 'type; int cacheSize; int cacheValidityPeriod;|}"}},{"name":"ciphers","description":"","optional":true,"type":{"name":"string[]"}},{"name":"shareSession","description":"","optional":true,"type":{"name":"boolean"}},{"name":"handshakeTimeout","description":"","optional":true,"type":{"name":"decimal"}},{"name":"sessionTimeout","description":"","optional":true,"type":{"name":"decimal"}}]},{"name":"VerifyClient","description":"Represents client verify options.","type":"Enum","members":[{"name":"OPTIONAL","description":""},{"name":"REQUIRE","description":""}]},{"name":"RequestLimitConfigs","description":"Provides inbound request URI, total header and entity body size threshold configurations.\n","type":"Record","fields":[{"name":"maxUriLength","description":"","optional":true,"type":{"name":"int"}},{"name":"maxHeaderSize","description":"","optional":true,"type":{"name":"int"}},{"name":"maxEntityBodySize","description":"","optional":true,"type":{"name":"int"}}]},{"name":"ServerSocketConfig","description":"Provides settings related to server socket configuration.\n","type":"Record","fields":[{"name":"soBackLog","description":"","optional":true,"type":{"name":"int"}},{"name":"connectTimeOut","description":"","optional":true,"type":{"name":"decimal"}},{"name":"receiveBufferSize","description":"","optional":true,"type":{"name":"int"}},{"name":"sendBufferSize","description":"","optional":true,"type":{"name":"int"}},{"name":"tcpNoDelay","description":"","optional":true,"type":{"name":"boolean"}},{"name":"socketReuse","description":"","optional":true,"type":{"name":"boolean"}},{"name":"keepAlive","description":"","optional":true,"type":{"name":"boolean"}}]},{"name":"InferredListenerConfiguration","description":"Provides a set of cloneable configurations for HTTP listener.\n","type":"Record","fields":[{"name":"host","description":"","optional":false,"type":{"name":"string"}},{"name":"http1Settings","description":"","optional":false,"type":{"name":"ballerina/http:2.15.4:ListenerHttp1Settings","links":[{"category":"internal","recordName":"ListenerHttp1Settings"}]}},{"name":"secureSocket","description":"","optional":false,"type":{"name":"ballerina/http:2.15.4:ListenerSecureSocket?"}},{"name":"httpVersion","description":"","optional":false,"type":{"name":"ballerina/http:2.15.4:HttpVersion","links":[{"category":"internal","recordName":"HttpVersion"}]}},{"name":"timeout","description":"","optional":false,"type":{"name":"decimal"}},{"name":"server","description":"","optional":false,"type":{"name":"string?"}},{"name":"requestLimits","description":"","optional":false,"type":{"name":"ballerina/http:2.15.4:RequestLimitConfigs","links":[{"category":"internal","recordName":"RequestLimitConfigs"}]}}]},{"name":"StatusCodeClientObject","description":"The representation of the http Status Code Client object type for managing resilient clients.","type":"Class","fields":[]},{"name":"NetworkAuthorizationRequired","description":"The status code response record of `NetworkAuthorizationRequired`.\n","type":"Record","fields":[{"name":"status","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:StatusNetworkAuthenticationRequired","links":[{"category":"internal","recordName":"StatusNetworkAuthenticationRequired"}]}},{"name":"mediaType","description":"","optional":true,"type":{"name":"string"}},{"name":"headers","description":"","optional":true,"type":{"name":"map"}},{"name":"body","description":"","optional":true,"type":{"name":"anydata"}}]},{"name":"ErrorPayload","description":"Represents the structure of the HTTP error payload.\n","type":"Record","fields":[{"name":"timestamp","description":"","optional":false,"type":{"name":"string"}},{"name":"status","description":"","optional":false,"type":{"name":"int"}},{"name":"reason","description":"","optional":false,"type":{"name":"string"}},{"name":"message","description":"","optional":false,"type":{"name":"string"}},{"name":"path","description":"","optional":false,"type":{"name":"string"}},{"name":"method","description":"","optional":false,"type":{"name":"string"}},{"name":"","description":"Rest field","optional":false,"type":{"name":"anydata"}}]},{"name":"Request","description":"","functions":[{"name":"init","type":"Constructor","description":"","parameters":[],"return":{"type":{"name":"ballerina/http:Request"}}},{"name":"setEntity","type":"Normal Function","description":"Sets the provided `Entity` to the request.\n","parameters":[{"name":"e","description":"The `Entity` to be set to the request","optional":false,"default":null,"type":{"name":"mime:Entity","links":[{"category":"external","recordName":"Entity","libraryName":"ballerina/mime"}]}}],"return":{"type":{"name":"()"}}},{"name":"getQueryParams","type":"Normal Function","description":"Gets the query parameters of the request as a map consisting of a string array.\n","parameters":[],"return":{"type":{"name":"map"}}},{"name":"getQueryParamValue","type":"Normal Function","description":"Gets the query param value associated with the given key.\n","parameters":[{"name":"key","description":"Represents the query param key","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"string|()"}}},{"name":"getQueryParamValues","type":"Normal Function","description":"Gets all the query param values associated with the given key.\n","parameters":[{"name":"key","description":"Represents the query param key","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"string[]|()"}}},{"name":"getMatrixParams","type":"Normal Function","description":"Gets the matrix parameters of the request.\n","parameters":[{"name":"path","description":"Path to the location of matrix parameters","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"map"}}},{"name":"getEntity","type":"Normal Function","description":"Gets the `Entity` associated with the request.\n","parameters":[],"return":{"type":{"name":"mime:Entity"}}},{"name":"hasHeader","type":"Normal Function","description":"Checks whether the requested header key exists in the header map.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"boolean"}}},{"name":"getHeader","type":"Normal Function","description":"Returns the value of the specified header. If the specified header key maps to multiple values, the first of\nthese values is returned.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"string"}}},{"name":"getHeaders","type":"Normal Function","description":"Gets all the header values to which the specified header key maps to.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"string[]"}}},{"name":"setHeader","type":"Normal Function","description":"Sets the specified header to the request. If a mapping already exists for the specified header key, the existing\nheader value is replaced with the specified header value. Panic if an illegal header is passed.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}},{"name":"headerValue","description":"The header value","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"addHeader","type":"Normal Function","description":"Adds the specified header to the request. Existing header values are not replaced, except for the `Content-Type`\nheader. In the case of the `Content-Type` header, the existing value is replaced with the specified value.\nPanic if an illegal header is passed.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}},{"name":"headerValue","description":"The header value","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"removeHeader","type":"Normal Function","description":"Removes the specified header from the request.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"removeAllHeaders","type":"Normal Function","description":"Removes all the headers from the request.","parameters":[],"return":{"type":{"name":"()"}}},{"name":"getHeaderNames","type":"Normal Function","description":"Gets all the names of the headers of the request.\n","parameters":[],"return":{"type":{"name":"string[]"}}},{"name":"expects100Continue","type":"Normal Function","description":"Checks whether the client expects a `100-continue` response.\n","parameters":[],"return":{"type":{"name":"boolean"}}},{"name":"setContentType","type":"Normal Function","description":"Sets the `content-type` header to the request.\n","parameters":[{"name":"contentType","description":"Content type value to be set as the `content-type` header","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"getContentType","type":"Normal Function","description":"Gets the type of the payload of the request (i.e: the `content-type` header value).\n","parameters":[],"return":{"type":{"name":"string"}}},{"name":"getJsonPayload","type":"Normal Function","description":"Extract `json` payload from the request. For an empty payload, `http:NoContentError` is returned.\n\nIf the content type is not JSON, an `http:ClientError` is returned.\n","parameters":[],"return":{"type":{"name":"json"}}},{"name":"getXmlPayload","type":"Normal Function","description":"Extracts `xml` payload from the request. For an empty payload, `http:NoContentError` is returned.\n\nIf the content type is not XML, an `http:ClientError` is returned.\n","parameters":[],"return":{"type":{"name":"xml"}}},{"name":"getTextPayload","type":"Normal Function","description":"Extracts `text` payload from the request. For an empty payload, `http:NoContentError` is returned.\n\nIf the content type is not of type text, an `http:ClientError` is returned.\n","parameters":[],"return":{"type":{"name":"string"}}},{"name":"getByteStream","type":"Normal Function","description":"Gets the request payload as a stream of byte[], except in the case of multiparts. To retrieve multiparts, use\n`Request.getBodyParts()`.\n","parameters":[{"name":"arraySize","description":"A defaultable parameter to state the size of the byte array. Default size is 8KB","optional":true,"default":"0","type":{"name":"int"}}],"return":{"type":{"name":"stream"}}},{"name":"getBinaryPayload","type":"Normal Function","description":"Gets the request payload as a `byte[]`.\n","parameters":[],"return":{"type":{"name":"byte[]"}}},{"name":"getFormParams","type":"Normal Function","description":"Gets the form parameters from the HTTP request as a `map` when content type is application/x-www-form-urlencoded.\n","parameters":[],"return":{"type":{"name":"map"}}},{"name":"getBodyParts","type":"Normal Function","description":"Extracts body parts from the request. If the content type is not a composite media type, an error\nis returned.","parameters":[],"return":{"type":{"name":"mime:Entity[]"}}},{"name":"setJsonPayload","type":"Normal Function","description":"Sets a `json` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/json`. Any existing content-type can be\noverridden by passing the content-type as an optional parameter. If the given payload is a record type with \nthe `@jsondata:Name` annotation, the `jsondata:toJson` function internally converts the record to JSON\n","parameters":[{"name":"payload","description":"The `json` payload","optional":false,"default":null,"type":{"name":"json"}},{"name":"contentType","description":"The content type of the payload. This is an optional parameter.\nThe `application/json` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setXmlPayload","type":"Normal Function","description":"Sets an `xml` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/xml`. Any existing content-type can be\noverridden by passing the content-type as an optional parameter.\n","parameters":[{"name":"payload","description":"The `xml` payload","optional":false,"default":null,"type":{"name":"xml"}},{"name":"contentType","description":"The content type of the payload. This is an optional parameter.\nThe `application/xml` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setTextPayload","type":"Normal Function","description":"Sets a `string` as the payload. If the content-type header is not set then this method set\ncontent-type headers with the default content-type, which is `text/plain`. Any\nexisting content-type can be overridden by passing the content-type as an optional parameter.\n","parameters":[{"name":"payload","description":"The `string` payload","optional":false,"default":null,"type":{"name":"string"}},{"name":"contentType","description":"The content type of the payload. This is an optional parameter.\nThe `text/plain` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setBinaryPayload","type":"Normal Function","description":"Sets a `byte[]` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/octet-stream`. Any existing content-type\ncan be overridden by passing the content-type as an optional parameter.\n","parameters":[{"name":"payload","description":"The `byte[]` payload","optional":false,"default":null,"type":{"name":"byte[]"}},{"name":"contentType","description":"The content type of the payload. This is an optional parameter.\nThe `application/octet-stream` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setBodyParts","type":"Normal Function","description":"Set multiparts as the payload. If the content-type header is not set then this method\nset content-type headers with the default content-type, which is `multipart/form-data`.\nAny existing content-type can be overridden by passing the content-type as an optional parameter.\n","parameters":[{"name":"bodyParts","description":"The entities which make up the message body","optional":false,"default":null,"type":{"name":"mime:Entity[]","links":[{"category":"external","recordName":"Entity[]","libraryName":"ballerina/mime"}]}},{"name":"contentType","description":"The content type of the top level message. This is an optional parameter.\nThe `multipart/form-data` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setFileAsPayload","type":"Normal Function","description":"Sets the content of the specified file as the entity body of the request. If the content-type header\nis not set then this method set content-type headers with the default content-type, which is\n`application/octet-stream`. Any existing content-type can be overridden by passing the content-type\nas an optional parameter.\n","parameters":[{"name":"filePath","description":"Path to the file to be set as the payload","optional":false,"default":null,"type":{"name":"string"}},{"name":"contentType","description":"The content type of the specified file. This is an optional parameter.\nThe `application/octet-stream` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setByteStream","type":"Normal Function","description":"Sets a `Stream` as the payload. If the content-type header is not set then this method set content-type\nheaders with the default content-type, which is `application/octet-stream`. Any existing content-type can\nbe overridden by passing the content-type as an optional parameter.\n","parameters":[{"name":"byteStream","description":"Byte stream, which needs to be set to the request","optional":false,"default":null,"type":{"name":"stream","links":[{"category":"external","recordName":"stream","libraryName":"ballerina/io"}]}},{"name":"contentType","description":"Content-type to be used with the payload. This is an optional parameter.\nThe `application/octet-stream` is the default value","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"setPayload","type":"Normal Function","description":"Sets the request payload. This method overrides any existing content-type by passing the content-type\nas an optional parameter. If the content type parameter is not provided then the default value derived\nfrom the payload will be used as content-type only when there are no existing content-type header.\n","parameters":[{"name":"payload","description":"Payload can be of type `string`, `xml`, `byte[]`, `json`, `stream`,\n`Entity[]` (i.e., a set of body parts) or any other value of type `anydata` which will\nbe converted to `json` using the `toJson` method.","optional":false,"default":null,"type":{"name":"anydata|mime:Entity[]|stream","links":[{"category":"external","recordName":"anydata|Entity[]|stream","libraryName":"ballerina/mime"},{"category":"external","recordName":"anydata|Entity[]|stream","libraryName":"ballerina/io"}]}},{"name":"contentType","description":"Content-type to be used with the payload. This is an optional parameter","optional":true,"default":"()","type":{"name":"string|()"}}],"return":{"type":{"name":"()"}}},{"name":"addCookies","type":"Normal Function","description":"Adds cookies to the request.\n","parameters":[{"name":"cookiesToAdd","description":"Represents the cookies to be added","optional":false,"default":null,"type":{"name":"http:Cookie[]","links":[{"category":"internal","recordName":"Cookie[]"}]}}],"return":{"type":{"name":"()"}}},{"name":"getCookies","type":"Normal Function","description":"Gets cookies from the request.\n","parameters":[],"return":{"type":{"name":"http:Cookie[]"}}}]},{"name":"RequestCacheControl","description":"Configures the cache control directives for an `http:Request`.\n","functions":[{"name":"init","type":"Constructor","description":"Configures the cache control directives for an `http:Request`.\n","parameters":[],"return":{"type":{"name":"ballerina/http:RequestCacheControl"}}},{"name":"buildCacheControlDirectives","type":"Normal Function","description":"Builds the cache control directives string from the current `http:RequestCacheControl` configurations.\n","parameters":[],"return":{"type":{"name":"string"}}}]},{"name":"RequestMessage","description":"The types of messages that are accepted by HTTP `client` when sending out the outbound request.","type":"Union","members":["anydata","ballerina/http:2.15.4:Request","ballerina/mime:2.12.1:Entity[]","stream"]},{"name":"TargetType","description":"The types of data values that are expected by the HTTP `client` to return after the data binding operation.","type":"Other"},{"name":"HttpOperation","description":"Defines the HTTP operations related to circuit breaker, failover and load balancer.\n\n`FORWARD`: Forward the specified payload\n`GET`: Request a resource\n`POST`: Create a new resource\n`DELETE`: Deletes the specified resource\n`OPTIONS`: Request communication options available\n`PUT`: Replace the target resource\n`PATCH`: Apply partial modification to the resource\n`HEAD`: Identical to `GET` but no resource body should be returned\n`SUBMIT`: Submits a http request and returns an HttpFuture object\n`NONE`: No operation should be performed","type":"Union","members":["\"FORWARD\"","\"GET\"","\"POST\"","\"DELETE\"","\"OPTIONS\"","\"PUT\"","\"PATCH\"","\"HEAD\"","\"SUBMIT\"","\"NONE\""]},{"name":"HttpFuture","description":"Represents a 'future' that returns as a result of an asynchronous HTTP request submission.\nThis can be used as a reference to fetch the results of the submission.","functions":[{"name":"init","type":"Constructor","description":"Represents a 'future' that returns as a result of an asynchronous HTTP request submission.\nThis can be used as a reference to fetch the results of the submission.","parameters":[],"return":{"type":{"name":"ballerina/http:HttpFuture"}}}]},{"name":"Link","description":"Represents a server-provided hyperlink","type":"Record","fields":[{"name":"rel","description":"Names the relationship of the linked target to the current representation","optional":true,"type":{"name":"string"}},{"name":"href","description":"Target URL","optional":false,"type":{"name":"string"}},{"name":"types","description":"Expected resource representation media types","optional":true,"type":{"name":"string[]"}},{"name":"methods","description":"Allowed resource methods","optional":true,"type":{"name":"ballerina/http:2.15.4:Method[]"}},{"name":"","description":"Rest field","optional":false,"type":{"name":"anydata"}}]},{"name":"Links","description":"Represents available server-provided links","type":"Record","fields":[{"name":"_links","description":"Map of available links","optional":false,"type":{"name":"map"}}]},{"name":"HeaderValue","description":"Represents the parsed header value details","type":"Record","fields":[{"name":"value","description":"The header value","optional":false,"type":{"name":"string"}},{"name":"params","description":"Map of header parameters","optional":false,"type":{"name":"map"}}]},{"name":"FailoverClientConfiguration","description":"Provides a set of HTTP related configurations and failover related configurations.\nThe following fields are inherited from the other configuration records in addition to the failover client-specific\nconfigs.","type":"Record","fields":[{"name":"targets","description":"The upstream HTTP endpoints among which the incoming HTTP traffic load should be sent on failover","optional":true,"type":{"name":"ballerina/http:2.15.4:TargetService[]"}},{"name":"failoverCodes","description":"Array of HTTP response status codes for which the failover behaviour should be triggered","optional":true,"type":{"name":"int[]"}},{"name":"interval","description":"Failover delay interval in seconds","optional":true,"type":{"name":"decimal"}},{"name":"httpVersion","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:HttpVersion","links":[{"category":"internal","recordName":"HttpVersion"}]}},{"name":"http1Settings","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientHttp1Settings","links":[{"category":"internal","recordName":"ClientHttp1Settings"}]}},{"name":"http2Settings","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientHttp2Settings","links":[{"category":"internal","recordName":"ClientHttp2Settings"}]}},{"name":"timeout","description":"","optional":true,"type":{"name":"decimal"}},{"name":"forwarded","description":"","optional":true,"type":{"name":"string"}},{"name":"followRedirects","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:FollowRedirects?"}},{"name":"poolConfig","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:PoolConfiguration?"}},{"name":"cache","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:CacheConfig","links":[{"category":"internal","recordName":"CacheConfig"}]}},{"name":"compression","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:Compression","links":[{"category":"internal","recordName":"Compression"}]}},{"name":"auth","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientAuthConfig?"}},{"name":"circuitBreaker","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:CircuitBreakerConfig?"}},{"name":"retryConfig","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:RetryConfig?"}},{"name":"cookieConfig","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:CookieConfig?"}},{"name":"responseLimits","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ResponseLimitConfigs","links":[{"category":"internal","recordName":"ResponseLimitConfigs"}]}},{"name":"proxy","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ProxyConfig?"}},{"name":"validation","description":"","optional":true,"type":{"name":"boolean"}},{"name":"socketConfig","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientSocketConfig","links":[{"category":"internal","recordName":"ClientSocketConfig"}]}},{"name":"laxDataBinding","description":"","optional":true,"type":{"name":"boolean"}}]},{"name":"CircuitState","description":"A finite type for modeling the states of the Circuit Breaker. The Circuit Breaker starts in the `CLOSED` state.\nIf any failure thresholds are exceeded during execution, the circuit trips and goes to the `OPEN` state. After\nthe specified timeout period expires, the circuit goes to the `HALF_OPEN` state. If the trial request sent while\nin the `HALF_OPEN` state succeeds, the circuit goes back to the `CLOSED` state.","type":"Union","members":["\"OPEN\"","\"HALF_OPEN\"","\"CLOSED\""]},{"name":"CircuitHealth","description":"Maintains the health of the Circuit Breaker.","type":"Record","fields":[{"name":"lastRequestSuccess","description":"Whether last request is success or not","optional":true,"type":{"name":"boolean"}},{"name":"totalRequestCount","description":"Total request count received within the `RollingWindow`","optional":true,"type":{"name":"int"}},{"name":"lastUsedBucketId","description":"ID of the last bucket used in Circuit Breaker calculations","optional":true,"type":{"name":"int"}},{"name":"startTime","description":"Circuit Breaker start time","optional":true,"type":{"name":"ballerina/time:2.8.0:Utc","links":[{"category":"external","recordName":"Utc","libraryName":"ballerina/time"}]}},{"name":"lastRequestTime","description":"The time that the last request received","optional":true,"type":{"name":"ballerina/time:2.8.0:Utc","links":[{"category":"external","recordName":"Utc","libraryName":"ballerina/time"}]}},{"name":"lastErrorTime","description":"The time that the last error occurred","optional":true,"type":{"name":"ballerina/time:2.8.0:Utc","links":[{"category":"external","recordName":"Utc","libraryName":"ballerina/time"}]}},{"name":"lastForcedOpenTime","description":"The time that circuit forcefully opened at last","optional":true,"type":{"name":"ballerina/time:2.8.0:Utc","links":[{"category":"external","recordName":"Utc","libraryName":"ballerina/time"}]}},{"name":"totalBuckets","description":"The discrete time buckets into which the time window is divided","optional":true,"type":{"name":"(ballerina/http:2.15.4:Bucket?)[]"}}]},{"name":"Bucket","description":"Represents a discrete sub-part of the time window (Bucket).\n","type":"Record","fields":[{"name":"totalCount","description":"","optional":true,"type":{"name":"int"}},{"name":"failureCount","description":"","optional":true,"type":{"name":"int"}},{"name":"rejectedCount","description":"","optional":true,"type":{"name":"int"}},{"name":"lastUpdatedTime","description":"","optional":true,"type":{"name":"ballerina/time:2.8.0:Utc","links":[{"category":"external","recordName":"Utc","libraryName":"ballerina/time"}]}}]},{"name":"CircuitBreakerInferredConfig","description":"Derived set of configurations from the `CircuitBreakerConfig`.\n","type":"Record","fields":[{"name":"failureThreshold","description":"","optional":true,"type":{"name":"float"}},{"name":"resetTime","description":"","optional":true,"type":{"name":"decimal"}},{"name":"statusCodes","description":"","optional":true,"type":{"name":"int[]"}},{"name":"noOfBuckets","description":"","optional":true,"type":{"name":"int"}},{"name":"rollingWindow","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:RollingWindow","links":[{"category":"internal","recordName":"RollingWindow"}]}}]},{"name":"LoadBalancerRule","description":"LoadBalancerRule object type provides a required abstraction to implement different algorithms.","type":"Class","fields":[]},{"name":"LoadBalanceClientConfiguration","description":"The configurations related to the load balancing client endpoint. The following fields are inherited from the other\nconfiguration records in addition to the load balancing client specific configs.\n","type":"Record","fields":[{"name":"targets","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:TargetService[]"}},{"name":"lbRule","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:LoadBalancerRule?"}},{"name":"failover","description":"","optional":true,"type":{"name":"boolean"}},{"name":"httpVersion","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:HttpVersion","links":[{"category":"internal","recordName":"HttpVersion"}]}},{"name":"http1Settings","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientHttp1Settings","links":[{"category":"internal","recordName":"ClientHttp1Settings"}]}},{"name":"http2Settings","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientHttp2Settings","links":[{"category":"internal","recordName":"ClientHttp2Settings"}]}},{"name":"timeout","description":"","optional":true,"type":{"name":"decimal"}},{"name":"forwarded","description":"","optional":true,"type":{"name":"string"}},{"name":"followRedirects","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:FollowRedirects?"}},{"name":"poolConfig","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:PoolConfiguration?"}},{"name":"cache","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:CacheConfig","links":[{"category":"internal","recordName":"CacheConfig"}]}},{"name":"compression","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:Compression","links":[{"category":"internal","recordName":"Compression"}]}},{"name":"auth","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientAuthConfig?"}},{"name":"circuitBreaker","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:CircuitBreakerConfig?"}},{"name":"retryConfig","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:RetryConfig?"}},{"name":"cookieConfig","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:CookieConfig?"}},{"name":"responseLimits","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ResponseLimitConfigs","links":[{"category":"internal","recordName":"ResponseLimitConfigs"}]}},{"name":"proxy","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ProxyConfig?"}},{"name":"validation","description":"","optional":true,"type":{"name":"boolean"}},{"name":"socketConfig","description":"","optional":true,"type":{"name":"ballerina/http:2.15.4:ClientSocketConfig","links":[{"category":"internal","recordName":"ClientSocketConfig"}]}},{"name":"laxDataBinding","description":"","optional":true,"type":{"name":"boolean"}}]},{"name":"HttpCache","description":"Creates the HTTP cache.\n","functions":[{"name":"init","type":"Constructor","description":"Creates the HTTP cache.\n","parameters":[{"name":"cacheConfig","description":"The configurations for the HTTP cache","optional":false,"default":null,"type":{"name":"http:CacheConfig","links":[{"category":"internal","recordName":"CacheConfig"}]}}],"return":{"type":{"name":"ballerina/http:HttpCache"}}}]},{"name":"Cookie","description":"Initializes the `http:Cookie` object.\n","functions":[{"name":"init","type":"Constructor","description":"Initializes the `http:Cookie` object.\n","parameters":[{"name":"name","description":"Name of the `http:Cookie`","optional":false,"default":null,"type":{"name":"string"}},{"name":"value","description":"Value of the `http:Cookie`","optional":false,"default":null,"type":{"name":"string"}},{"name":"path","description":"URI path to which the cookie belongs","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"domain","description":"Host to which the cookie will be sent","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"expires","description":"Maximum lifetime of the cookie represented as the date and time at which the cookie expires","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"maxAge","description":"Maximum lifetime of the cookie represented as the number of seconds until the cookie expires","optional":true,"default":"0","type":{"name":"int"}},{"name":"httpOnly","description":"Cookie is sent only to HTTP requests","optional":true,"default":"false","type":{"name":"boolean"}},{"name":"secure","description":"Cookie is sent only to secure channels","optional":true,"default":"false","type":{"name":"boolean"}},{"name":"createdTime","description":"At what time the cookie was created","optional":true,"default":"[0, 0.0d]","type":{"name":"time:Utc","links":[{"category":"external","recordName":"Utc","libraryName":"ballerina/time"}]}},{"name":"lastAccessedTime","description":"Last-accessed time of the cookie","optional":true,"default":"[0, 0.0d]","type":{"name":"time:Utc","links":[{"category":"external","recordName":"Utc","libraryName":"ballerina/time"}]}},{"name":"hostOnly","description":"Cookie is sent only to the requested host","optional":true,"default":"false","type":{"name":"boolean"}},{"name":"options","description":"The options to be used when initializing the `http:Cookie`","optional":true,"default":null,"type":{"name":"http:CookieOptions","links":[{"category":"internal","recordName":"CookieOptions"}]}}],"return":{"type":{"name":"ballerina/http:Cookie"}}},{"name":"isPersistent","type":"Normal Function","description":"Checks the persistence of the cookie.\n","parameters":[],"return":{"type":{"name":"boolean"}}},{"name":"isValid","type":"Normal Function","description":"Checks the validity of the attributes of the cookie.\n","parameters":[],"return":{"type":{"name":"boolean"}}},{"name":"toStringValue","type":"Normal Function","description":"Gets the Cookie object in its string representation to be used in the ‘Set-Cookie’ header of the response.\n","parameters":[],"return":{"type":{"name":"string"}}}]},{"name":"CookieStore","description":"","functions":[{"name":"init","type":"Constructor","description":"","parameters":[{"name":"persistentCookieHandler","description":null,"optional":true,"default":"()","type":{"name":"http:PersistentCookieHandler|()","links":[{"category":"internal","recordName":"PersistentCookieHandler|()"}]}}],"return":{"type":{"name":"ballerina/http:CookieStore"}}},{"name":"addCookie","type":"Normal Function","description":"Adds a cookie to the cookie store according to the rules in [RFC-6265](https://tools.ietf.org/html/rfc6265#section-5.3).\n","parameters":[{"name":"cookie","description":"Cookie to be added","optional":false,"default":null,"type":{"name":"http:Cookie","links":[{"category":"internal","recordName":"Cookie"}]}},{"name":"cookieConfig","description":"Configurations associated with the cookies","optional":false,"default":null,"type":{"name":"http:CookieConfig","links":[{"category":"internal","recordName":"CookieConfig"}]}},{"name":"url","description":"Target service URL","optional":false,"default":null,"type":{"name":"string"}},{"name":"requestPath","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"addCookies","type":"Normal Function","description":"Adds an array of cookies.\n","parameters":[{"name":"cookiesInResponse","description":"Cookies to be added","optional":false,"default":null,"type":{"name":"http:Cookie[]","links":[{"category":"internal","recordName":"Cookie[]"}]}},{"name":"cookieConfig","description":"Configurations associated with the cookies","optional":false,"default":null,"type":{"name":"http:CookieConfig","links":[{"category":"internal","recordName":"CookieConfig"}]}},{"name":"url","description":"Target service URL","optional":false,"default":null,"type":{"name":"string"}},{"name":"requestPath","description":"Resource path","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"getCookies","type":"Normal Function","description":"Gets the relevant cookies for the given URL and the path according to the rules in [RFC-6265](https://tools.ietf.org/html/rfc6265#section-5.4).\n","parameters":[{"name":"url","description":"URL of the request URI","optional":false,"default":null,"type":{"name":"string"}},{"name":"requestPath","description":"Path of the request URI","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"http:Cookie[]"}}},{"name":"getAllCookies","type":"Normal Function","description":"Gets all the cookies in the cookie store.\n","parameters":[],"return":{"type":{"name":"http:Cookie[]"}}},{"name":"getCookiesByName","type":"Normal Function","description":"Gets all the cookies, which have the given name as the name of the cookie.\n","parameters":[{"name":"cookieName","description":"Name of the cookie","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"http:Cookie[]"}}},{"name":"getCookiesByDomain","type":"Normal Function","description":"Gets all the cookies, which have the given name as the domain of the cookie.\n","parameters":[{"name":"domain","description":"Name of the domain","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"http:Cookie[]"}}},{"name":"removeCookie","type":"Normal Function","description":"Removes a specific cookie.\n","parameters":[{"name":"name","description":"Name of the cookie to be removed","optional":false,"default":null,"type":{"name":"string"}},{"name":"domain","description":"Domain of the cookie to be removed","optional":false,"default":null,"type":{"name":"string"}},{"name":"path","description":"Path of the cookie to be removed","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"removeCookiesByDomain","type":"Normal Function","description":"Removes cookies, which match with the given domain.\n","parameters":[{"name":"domain","description":"Domain of the cookie to be removed","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"removeExpiredCookies","type":"Normal Function","description":"Removes all expired cookies.\n","parameters":[],"return":{"type":{"name":"()"}}},{"name":"removeAllCookies","type":"Normal Function","description":"Removes all the cookies.\n","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"CsvPersistentCookieHandler","description":"","functions":[{"name":"init","type":"Constructor","description":"","parameters":[{"name":"fileName","description":null,"optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"ballerina/http:CsvPersistentCookieHandler"}}},{"name":"storeCookie","type":"Normal Function","description":"Adds a persistent cookie to the cookie store.\n","parameters":[{"name":"cookie","description":"Cookie to be added","optional":false,"default":null,"type":{"name":"http:Cookie","links":[{"category":"internal","recordName":"Cookie"}]}}],"return":{"type":{"name":"()"}}},{"name":"getAllCookies","type":"Normal Function","description":"Gets all the persistent cookies.\n","parameters":[],"return":{"type":{"name":"http:Cookie[]"}}},{"name":"removeCookie","type":"Normal Function","description":"Removes a specific persistent cookie.\n","parameters":[{"name":"name","description":"Name of the persistent cookie to be removed","optional":false,"default":null,"type":{"name":"string"}},{"name":"domain","description":"Domain of the persistent cookie to be removed","optional":false,"default":null,"type":{"name":"string"}},{"name":"path","description":"Path of the persistent cookie to be removed","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"removeAllCookies","type":"Normal Function","description":"Removes all persistent cookies.\n","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"PushPromise","description":"Constructs an `http:PushPromise` from a given path and a method.\n","functions":[{"name":"init","type":"Constructor","description":"Constructs an `http:PushPromise` from a given path and a method.\n","parameters":[{"name":"path","description":"The resource path","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"method","description":"The HTTP method","optional":true,"default":"\"\"","type":{"name":"string"}}],"return":{"type":{"name":"ballerina/http:PushPromise"}}},{"name":"hasHeader","type":"Normal Function","description":"Checks whether the requested header exists.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"boolean"}}},{"name":"getHeader","type":"Normal Function","description":"Returns the header value with the specified header name.\nIf there are more than one header value for the specified header name, the first value is returned.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"string"}}},{"name":"getHeaders","type":"Normal Function","description":"Gets transport headers from the `PushPromise`.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"string[]"}}},{"name":"addHeader","type":"Normal Function","description":"Adds the specified key/value pair as an HTTP header to the `http:PushPromise`. In the case of the `Content-Type`\nheader, the existing value is replaced with the specified value.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}},{"name":"headerValue","description":"The header value","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"setHeader","type":"Normal Function","description":"Sets the value of a transport header in the `http:PushPromise`.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}},{"name":"headerValue","description":"The header value","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"removeHeader","type":"Normal Function","description":"Removes a transport header from the `http:PushPromise`.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"removeAllHeaders","type":"Normal Function","description":"Removes all transport headers from the `http:PushPromise`.","parameters":[],"return":{"type":{"name":"()"}}},{"name":"getHeaderNames","type":"Normal Function","description":"Gets all transport header names from the `http:PushPromise`.\n","parameters":[],"return":{"type":{"name":"string[]"}}}]},{"name":"Headers","description":"Represents the headers of the inbound request.","functions":[{"name":"init","type":"Constructor","description":"Represents the headers of the inbound request.","parameters":[],"return":{"type":{"name":"ballerina/http:Headers"}}},{"name":"hasHeader","type":"Normal Function","description":"Checks whether the requested header key exists in the header map.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"boolean"}}},{"name":"getHeader","type":"Normal Function","description":"Returns the value of the specified header. If the specified header key maps to multiple values, the first of\nthese values is returned.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"string"}}},{"name":"getHeaders","type":"Normal Function","description":"Gets all the header values to which the specified header key maps to.\n","parameters":[{"name":"headerName","description":"The header name","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"string[]"}}},{"name":"getHeaderNames","type":"Normal Function","description":"Gets all the names of the headers of the request.\n","parameters":[],"return":{"type":{"name":"string[]"}}}]},{"name":"RequestContext","description":"Represents an HTTP Context that allows user to pass data between interceptors.","functions":[{"name":"init","type":"Constructor","description":"Represents an HTTP Context that allows user to pass data between interceptors.","parameters":[],"return":{"type":{"name":"ballerina/http:RequestContext"}}},{"name":"set","type":"Normal Function","description":"Sets a member to the request context object.\n","parameters":[{"name":"key","description":"Represents the member key","optional":false,"default":null,"type":{"name":"string"}},{"name":"value","description":"Represents the member value","optional":false,"default":null,"type":{"name":"http:ReqCtxMember","links":[{"category":"internal","recordName":"ReqCtxMember"}]}}],"return":{"type":{"name":"()"}}},{"name":"get","type":"Normal Function","description":"Gets a member value from the request context object. It panics if there is no such member.\n","parameters":[{"name":"key","description":"Represents the member key","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"http:ReqCtxMember"}}},{"name":"hasKey","type":"Normal Function","description":"Checks whether the request context object has a member corresponds to the key.\n","parameters":[{"name":"key","description":"Represents the member key","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"boolean"}}},{"name":"keys","type":"Normal Function","description":"Returns the member keys of the request context object.\n","parameters":[],"return":{"type":{"name":"string[]"}}},{"name":"getWithType","type":"Normal Function","description":"Gets a member value with type from the request context object.\n","parameters":[{"name":"key","description":"Represents the member key","optional":false,"default":null,"type":{"name":"string"}},{"name":"targetType","description":"Represents the expected type of the member value","optional":true,"default":"http:ReqCtxMember","type":{"name":"any & readonly|xml|http:Cloneable[]|map|table>|isolated object {}","links":[{"category":"internal","recordName":"ReqCtxMember"}]}}],"return":{"type":{"name":"targetType"}}},{"name":"remove","type":"Normal Function","description":"Removes a member from the request context object. It panics if there is no such member.\n","parameters":[{"name":"key","description":"Represents the member key","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"next","type":"Normal Function","description":"Calls the next service in the interceptor pipeline.\n","parameters":[],"return":{"type":{"name":"http:RequestInterceptor|http:ResponseInterceptor|http:Service|()"}}}]},{"name":"Listener","description":"Gets invoked during module initialization to initialize the listener.\n","functions":[{"name":"init","type":"Constructor","description":"Gets invoked during module initialization to initialize the listener.\n","parameters":[{"name":"port","description":"Listening port of the HTTP service listener","optional":false,"default":null,"type":{"name":"int"}},{"name":"host","description":"The host name/IP of the endpoint","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"http1Settings","description":"Configurations related to HTTP/1.x protocol","optional":true,"default":"{}","type":{"name":"http:ListenerHttp1Settings","links":[{"category":"internal","recordName":"ListenerHttp1Settings"}]}},{"name":"secureSocket","description":"The SSL configurations for the service endpoint. This needs to be configured in order to\ncommunicate through HTTPS.","optional":true,"default":"()","type":{"name":"http:ListenerSecureSocket|()","links":[{"category":"internal","recordName":"ListenerSecureSocket|()"}]}},{"name":"httpVersion","description":"Highest HTTP version supported by the endpoint","optional":true,"default":"\"2.0\"","type":{"name":"http:HttpVersion","links":[{"category":"internal","recordName":"HttpVersion"}]}},{"name":"timeout","description":"Period of time in seconds that a connection waits for a read/write operation. Use value 0 to\ndisable timeout","optional":true,"default":"0.0d","type":{"name":"decimal"}},{"name":"server","description":"The server name which should appear as a response header","optional":true,"default":"()","type":{"name":"string|()"}},{"name":"requestLimits","description":"Configurations associated with inbound request size limits","optional":true,"default":"{}","type":{"name":"http:RequestLimitConfigs","links":[{"category":"internal","recordName":"RequestLimitConfigs"}]}},{"name":"gracefulStopTimeout","description":"Grace period of time in seconds for listener gracefulStop","optional":true,"default":"0.0d","type":{"name":"decimal"}},{"name":"socketConfig","description":"Provides settings related to server socket configuration","optional":true,"default":"{}","type":{"name":"http:ServerSocketConfig","links":[{"category":"internal","recordName":"ServerSocketConfig"}]}},{"name":"http2InitialWindowSize","description":"Configuration to change the initial window size in HTTP/2","optional":true,"default":"0","type":{"name":"int"}},{"name":"minIdleTimeInStaleState","description":"Minimum time in seconds for a connection to be kept open which has received a GOAWAY.\nThis only applies for HTTP/2. Default value is 5 minutes. If the value is set to -1,\nthe connection will be closed after all in-flight streams are completed","optional":true,"default":"0.0d","type":{"name":"decimal"}},{"name":"timeBetweenStaleEviction","description":"Time between the connection stale eviction runs in seconds. This only applies for HTTP/2.\nDefault value is 30 seconds","optional":true,"default":"0.0d","type":{"name":"decimal"}},{"name":"config","description":"Configurations for the HTTP service listener","optional":true,"default":null,"type":{"name":"http:ListenerConfiguration","links":[{"category":"internal","recordName":"ListenerConfiguration"}]}}],"return":{"type":{"name":"ballerina/http:Listener"}}},{"name":"'start","type":"Normal Function","description":"Starts the registered service programmatically.\n","parameters":[],"return":{"type":{"name":"()"}}},{"name":"gracefulStop","type":"Normal Function","description":"Stops the service listener gracefully. Already-accepted requests will be served before connection closure.\n","parameters":[],"return":{"type":{"name":"()"}}},{"name":"immediateStop","type":"Normal Function","description":"Stops the service listener immediately. It is not implemented yet.\n","parameters":[],"return":{"type":{"name":"()"}}},{"name":"attach","type":"Normal Function","description":"Attaches a service to the listener.\n","parameters":[{"name":"httpService","description":"The service that needs to be attached","optional":false,"default":null,"type":{"name":"http:Service","links":[{"category":"internal","recordName":"Service"}]}},{"name":"name","description":"Name of the service","optional":true,"default":"()","type":{"name":"string[]|string|()"}}],"return":{"type":{"name":"()"}}},{"name":"detach","type":"Normal Function","description":"Detaches an HTTP service from the listener.\n","parameters":[{"name":"httpService","description":"The service to be detached","optional":false,"default":null,"type":{"name":"http:Service","links":[{"category":"internal","recordName":"Service"}]}}],"return":{"type":{"name":"()"}}},{"name":"getPort","type":"Normal Function","description":"Retrieves the port of the HTTP listener.\n","parameters":[],"return":{"type":{"name":"int"}}},{"name":"getConfig","type":"Normal Function","description":"Retrieves the `InferredListenerConfiguration` of the HTTP listener.\n","parameters":[],"return":{"type":{"name":"http:InferredListenerConfiguration & readonly"}}}]},{"name":"LoadBalancerRoundRobinRule","description":"Implementation of round robin load balancing strategy.\n","functions":[{"name":"init","type":"Constructor","description":"Implementation of round robin load balancing strategy.\n","parameters":[],"return":{"type":{"name":"ballerina/http:LoadBalancerRoundRobinRule"}}},{"name":"getNextClient","type":"Normal Function","description":"Provides an HTTP client, which is chosen according to the round robin algorithm.\n","parameters":[{"name":"loadBalanceCallerActionsArray","description":"Array of HTTP clients, which needs to be load balanced","optional":false,"default":null,"type":{"name":"(http:Client?)[]","links":[{"category":"internal","recordName":"Client|()[]"}]}}],"return":{"type":{"name":"http:Client"}}}]}],"services":[{"type":"generic","instructions":"","listener":{"name":"Listener","parameters":[{"name":"port","description":"Listening port of the HTTP service listener","type":{"name":"int"}}]}}]}, {"name":"ballerina/io","description":"This module provides file read/write APIs and console print/read APIs. The file APIs allow read and write operations on different kinds of file types such as bytes, text, CSV, JSON, and XML. Further, these file APIs can be categorized as streaming and non-streaming APIs.","clients":[],"functions":[{"name":"fileReadBytes","type":"Normal Function","description":"Read the entire file content as a byte array.\n```ballerina\nbyte[]|io:Error content = io:fileReadBytes(\"./resources/myfile.txt\");\n```","parameters":[{"name":"path","description":"The path of the file","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"byte[] & readonly"}}},{"name":"fileReadBlocksAsStream","type":"Normal Function","description":"Read the entire file content as a stream of blocks.\n```ballerina\nstream|io:Error content = io:fileReadBlocksAsStream(\"./resources/myfile.txt\", 1000);\n```","parameters":[{"name":"path","description":"The path of the file","optional":false,"default":null,"type":{"name":"string"}},{"name":"blockSize","description":"An optional size of the byte block. The default size is 4KB","optional":true,"default":"0","type":{"name":"int"}}],"return":{"type":{"name":"stream"}}},{"name":"fileWriteBytes","type":"Normal Function","description":"Write a set of bytes to a file.\n```ballerina\nbyte[] content = [60, 78, 39, 28];\nio:Error? result = io:fileWriteBytes(\"./resources/myfile.txt\", content);\n```","parameters":[{"name":"path","description":"The path of the file","optional":false,"default":null,"type":{"name":"string"}},{"name":"content","description":"Byte content to write","optional":false,"default":null,"type":{"name":"byte[]"}},{"name":"option","description":"To indicate whether to overwrite or append the given content","optional":true,"default":"\"APPEND\"","type":{"name":"io:FileWriteOption","links":[{"category":"internal","recordName":"FileWriteOption"}]}}],"return":{"type":{"name":"()"}}},{"name":"fileWriteBlocksFromStream","type":"Normal Function","description":"Write a byte stream to a file.\n```ballerina\nbyte[] content = [[60, 78, 39, 28]];\nstream byteStream = content.toStream();\nio:Error? result = io:fileWriteBlocksFromStream(\"./resources/myfile.txt\", byteStream);\n```","parameters":[{"name":"path","description":"The path of the file","optional":false,"default":null,"type":{"name":"string"}},{"name":"byteStream","description":"Byte stream to write","optional":false,"default":null,"type":{"name":"stream","links":[{"category":"internal","recordName":"stream"}]}},{"name":"option","description":"To indicate whether to overwrite or append the given content","optional":true,"default":"\"APPEND\"","type":{"name":"io:FileWriteOption","links":[{"category":"internal","recordName":"FileWriteOption"}]}}],"return":{"type":{"name":"()"}}},{"name":"fileReadCsv","type":"Normal Function","description":"Read file content as a CSV.\nWhen the expected data type is record[], the first entry of the csv file should contain matching headers.\n```ballerina\nstring[][]|io:Error content = io:fileReadCsv(\"./resources/myfile.csv\");\nrecord{}[]|io:Error content = io:fileReadCsv(\"./resources/myfile.csv\");\n```","parameters":[{"name":"path","description":"The CSV file path","optional":false,"default":null,"type":{"name":"string"}},{"name":"skipHeaders","description":"Number of headers, which should be skipped prior to reading records","optional":true,"default":"0","type":{"name":"int"}},{"name":"returnType","description":"The type of the return value (string[] or a Ballerina record)","optional":true,"default":"string[]|map","type":{"name":"string[]|map"}}],"return":{"type":{"name":"returnType[]"}}},{"name":"fileReadCsvAsStream","type":"Normal Function","description":"Read file content as a CSV.\nWhen the expected data type is stream,\nthe first entry of the csv file should contain matching headers.\n```ballerina\nstream|io:Error content = io:fileReadCsvAsStream(\"./resources/myfile.csv\");\n```","parameters":[{"name":"path","description":"The CSV file path","optional":false,"default":null,"type":{"name":"string"}},{"name":"returnType","description":"The type of the return value (string[] or a Ballerina record)","optional":true,"default":"string[]|map","type":{"name":"string[]|map"}}],"return":{"type":{"name":"stream"}}},{"name":"fileWriteCsv","type":"Normal Function","description":"Write CSV content to a file.\nWhen the input is a record[] type in `OVERWRITE`, headers will be written to the CSV file by default.\nFor `APPEND`, order of the existing csv file is inferred using the headers and used as the order.\n```ballerina\ntype Coord record {int x;int y;};\nCoord[] contentRecord = [{x: 1,y: 2},{x: 1,y: 2}]\nstring[][] content = [[\"Anne\", \"Johnson\", \"SE\"], [\"John\", \"Cameron\", \"QA\"]];\nio:Error? result = io:fileWriteCsv(\"./resources/myfile.csv\", content);\nio:Error? resultRecord = io:fileWriteCsv(\"./resources/myfileRecord.csv\", contentRecord);\n```","parameters":[{"name":"path","description":"The CSV file path","optional":false,"default":null,"type":{"name":"string"}},{"name":"content","description":"CSV content as an array of string arrays or a array of Ballerina records","optional":false,"default":null,"type":{"name":"string[][]|map[]"}},{"name":"option","description":"To indicate whether to overwrite or append the given content","optional":true,"default":"\"APPEND\"","type":{"name":"io:FileWriteOption","links":[{"category":"internal","recordName":"FileWriteOption"}]}}],"return":{"type":{"name":"()"}}},{"name":"fileWriteCsvFromStream","type":"Normal Function","description":"Write CSV record stream to a file.\nWhen the input is a `stream` in `OVERWRITE`, headers will be written to the CSV file by default.\nFor `APPEND`, order of the existing csv file is inferred using the headers and used as the order.\n```ballerina\ntype Coord record {int x;int y;};\nCoord[] contentRecord = [{x: 1,y: 2},{x: 1,y: 2}]\nstring[][] content = [[\"Anne\", \"Johnson\", \"SE\"], [\"John\", \"Cameron\", \"QA\"]];\nstream stringStream = content.toStream();\nstream recordStream = contentRecord.toStream();\nio:Error? result = io:fileWriteCsvFromStream(\"./resources/myfile.csv\", stringStream);\nio:Error? resultRecord = io:fileWriteCsvFromStream(\"./resources/myfileRecord.csv\", recordStream);\n```","parameters":[{"name":"path","description":"The CSV file path","optional":false,"default":null,"type":{"name":"string"}},{"name":"content","description":"A CSV record stream to be written","optional":false,"default":null,"type":{"name":"stream, io:Error?>","links":[{"category":"internal","recordName":"stream, ballerina/io:1.8.0:Error?>"}]}},{"name":"option","description":"To indicate whether to overwrite or append the given content","optional":true,"default":"\"APPEND\"","type":{"name":"io:FileWriteOption","links":[{"category":"internal","recordName":"FileWriteOption"}]}}],"return":{"type":{"name":"()"}}},{"name":"fileReadString","type":"Normal Function","description":"Reads the entire file content as a `string`.\nThe resulting string output does not contain the terminal carriage (e.g., `\\r` or `\\n`).\n```ballerina\nstring|io:Error content = io:fileReadString(\"./resources/myfile.txt\");\n```","parameters":[{"name":"path","description":"The path of the file","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"string"}}},{"name":"fileReadLines","type":"Normal Function","description":"Reads the entire file content as a list of lines.\nThe resulting string array does not contain the terminal carriage (e.g., `\\r` or `\\n`).\n```ballerina\nstring[]|io:Error content = io:fileReadLines(\"./resources/myfile.txt\");\n```","parameters":[{"name":"path","description":"The path of the file","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"string[]"}}},{"name":"fileReadLinesAsStream","type":"Normal Function","description":"Reads file content as a stream of lines.\nThe resulting stream does not contain the terminal carriage (e.g., `\\r` or `\\n`).\n```ballerina\nstream|io:Error content = io:fileReadLinesAsStream(\"./resources/myfile.txt\");\n```","parameters":[{"name":"path","description":"The path of the file","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"stream"}}},{"name":"fileReadJson","type":"Normal Function","description":"Reads file content as a JSON.\n```ballerina\njson|io:Error content = io:fileReadJson(\"./resources/myfile.json\");\n```","parameters":[{"name":"path","description":"The path of the JSON file","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"json"}}},{"name":"fileReadXml","type":"Normal Function","description":"Reads file content as an XML.\n```ballerina\nxml|io:Error content = io:fileReadXml(\"./resources/myfile.xml\");\n```","parameters":[{"name":"path","description":"The path of the XML file","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"xml"}}},{"name":"fileWriteString","type":"Normal Function","description":"Write a string content to a file.\n```ballerina\nstring content = \"Hello Universe..!!\";\nio:Error? result = io:fileWriteString(\"./resources/myfile.txt\", content);\n```","parameters":[{"name":"path","description":"The path of the file","optional":false,"default":null,"type":{"name":"string"}},{"name":"content","description":"String content to write","optional":false,"default":null,"type":{"name":"string"}},{"name":"option","description":"To indicate whether to overwrite or append the given content","optional":true,"default":"\"APPEND\"","type":{"name":"io:FileWriteOption","links":[{"category":"internal","recordName":"FileWriteOption"}]}}],"return":{"type":{"name":"()"}}},{"name":"fileWriteLines","type":"Normal Function","description":"Write an array of lines to a file.\nDuring the writing operation, a newline character `\\n` will be added after each line.\n```ballerina\nstring[] content = [\"Hello Universe..!!\", \"How are you?\"];\nio:Error? result = io:fileWriteLines(\"./resources/myfile.txt\", content);\n```","parameters":[{"name":"path","description":"The path of the file","optional":false,"default":null,"type":{"name":"string"}},{"name":"content","description":"An array of string lines to write","optional":false,"default":null,"type":{"name":"string[]"}},{"name":"option","description":"To indicate whether to overwrite or append the given content","optional":true,"default":"\"APPEND\"","type":{"name":"io:FileWriteOption","links":[{"category":"internal","recordName":"FileWriteOption"}]}}],"return":{"type":{"name":"()"}}},{"name":"fileWriteLinesFromStream","type":"Normal Function","description":"Write stream of lines to a file.\nDuring the writing operation, a newline character `\\n` will be added after each line.\n```ballerina\nstring content = [\"Hello Universe..!!\", \"How are you?\"];\nstream lineStream = content.toStream();\nio:Error? result = io:fileWriteLinesFromStream(\"./resources/myfile.txt\", lineStream);\n```","parameters":[{"name":"path","description":"The path of the file","optional":false,"default":null,"type":{"name":"string"}},{"name":"lineStream","description":"A stream of lines to write","optional":false,"default":null,"type":{"name":"stream","links":[{"category":"internal","recordName":"stream"}]}},{"name":"option","description":"To indicate whether to overwrite or append the given content","optional":true,"default":"\"APPEND\"","type":{"name":"io:FileWriteOption","links":[{"category":"internal","recordName":"FileWriteOption"}]}}],"return":{"type":{"name":"()"}}},{"name":"fileWriteJson","type":"Normal Function","description":"Write a JSON to a file.\n```ballerina\njson content = {\"name\": \"Anne\", \"age\": 30};\nio:Error? result = io:fileWriteJson(\"./resources/myfile.json\", content);\n```","parameters":[{"name":"path","description":"The path of the JSON file","optional":false,"default":null,"type":{"name":"string"}},{"name":"content","description":"JSON content to write","optional":false,"default":null,"type":{"name":"json"}}],"return":{"type":{"name":"()"}}},{"name":"fileWriteXml","type":"Normal Function","description":"Write XML content to a file.\n```ballerina\nxml content = xml `The Lost World`;\nio:Error? result = io:fileWriteXml(\"./resources/myfile.xml\", content);\n```","parameters":[{"name":"path","description":"The path of the XML file","optional":false,"default":null,"type":{"name":"string"}},{"name":"content","description":"XML content to write","optional":false,"default":null,"type":{"name":"xml"}},{"name":"fileWriteOption","description":"File write option (`OVERWRITE` and `APPEND` are the possible values and the default value is `OVERWRITE`)","optional":true,"default":"\"APPEND\"","type":{"name":"io:FileWriteOption","links":[{"category":"internal","recordName":"FileWriteOption"}]}},{"name":"xmlEntityType","description":"The entity type of the XML input (the default value is `DOCUMENT_ENTITY`)","optional":true,"default":"\"EXTERNAL_PARSED_ENTITY\"","type":{"name":"io:XmlEntityType","links":[{"category":"internal","recordName":"XmlEntityType"}]}},{"name":"doctype","description":"XML DOCTYPE value (the default value is `()`)","optional":true,"default":"()","type":{"name":"io:XmlDoctype|()","links":[{"category":"internal","recordName":"XmlDoctype|()"}]}},{"name":"xmlOptions","description":"XML writing options (XML entity type and DOCTYPE)","optional":true,"default":null,"type":{"name":"io:XmlWriteOptions","links":[{"category":"internal","recordName":"XmlWriteOptions"}]}}],"return":{"type":{"name":"()"}}},{"name":"openReadableFile","type":"Normal Function","description":"Retrieves a `ReadableByteChannel` from a given file path.\n```ballerina\nio:ReadableByteChannel readableFieldResult = check io:openReadableFile(\"./files/sample.txt\");\n```\n","parameters":[{"name":"path","description":"Relative/absolute path string to locate the file","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"io:ReadableByteChannel"}}},{"name":"openWritableFile","type":"Normal Function","description":"Retrieves a `WritableByteChannel` from a given file path.\n```ballerina\nio:WritableByteChannel writableFileResult = check io:openWritableFile(\"./files/sampleResponse.txt\");\n```\n","parameters":[{"name":"path","description":"Relative/absolute path string to locate the file","optional":false,"default":null,"type":{"name":"string"}},{"name":"option","description":"To indicate whether to overwrite or append the given content","optional":true,"default":"\"APPEND\"","type":{"name":"io:FileWriteOption","links":[{"category":"internal","recordName":"FileWriteOption"}]}}],"return":{"type":{"name":"io:WritableByteChannel"}}},{"name":"createReadableChannel","type":"Normal Function","description":"Creates an in-memory channel, which will be a reference stream of bytes.\n```ballerina\nvar byteChannel = io:createReadableChannel(content);\n```\n","parameters":[{"name":"content","description":"Content, which should be exposed as a channel","optional":false,"default":null,"type":{"name":"byte[]"}}],"return":{"type":{"name":"io:ReadableByteChannel"}}},{"name":"openReadableCsvFile","type":"Normal Function","description":"Retrieves a readable CSV channel from a given file path.\n```ballerina\nio:ReadableCSVChannel rCsvChannel = check io:openReadableCsvFile(srcFileName);\n```\n","parameters":[{"name":"path","description":"File path, which describes the location of the CSV","optional":false,"default":null,"type":{"name":"string"}},{"name":"fieldSeparator","description":"CSV record separator (i.e., comma or tab)","optional":true,"default":"\",\"","type":{"name":"io:Separator","links":[{"category":"internal","recordName":"Separator"}]}},{"name":"charset","description":"Representation of the encoding characters in the file","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"skipHeaders","description":"Number of headers, which should be skipped","optional":true,"default":"0","type":{"name":"int"}}],"return":{"type":{"name":"io:ReadableCSVChannel"}}},{"name":"openWritableCsvFile","type":"Normal Function","description":"Retrieves a writable CSV channel from a given file path.\n```ballerina\nio:WritableCSVChannel wCsvChannel = check io:openWritableCsvFile(srcFileName);\n```\n","parameters":[{"name":"path","description":"File path, which describes the location of the CSV","optional":false,"default":null,"type":{"name":"string"}},{"name":"fieldSeparator","description":"CSV record separator (i.e., comma or tab)","optional":true,"default":"\",\"","type":{"name":"io:Separator","links":[{"category":"internal","recordName":"Separator"}]}},{"name":"charset","description":"Representation of the encoding characters in the file","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"skipHeaders","description":"Number of headers, which should be skipped","optional":true,"default":"0","type":{"name":"int"}},{"name":"option","description":"To indicate whether to overwrite or append the given content","optional":true,"default":"\"APPEND\"","type":{"name":"io:FileWriteOption","links":[{"category":"internal","recordName":"FileWriteOption"}]}}],"return":{"type":{"name":"io:WritableCSVChannel"}}},{"name":"print","type":"Normal Function","description":"Prints `any`, `error`, or string templates (such as `The respective int value is ${val}`) value(s) to the `STDOUT`.\n```ballerina\nio:print(\"Start processing the CSV file from \", srcFileName);\n```\n","parameters":[{"name":"values","description":"The value(s) to be printed","optional":true,"default":null,"type":{"name":"io:Printable","links":[{"category":"internal","recordName":"Printable[]"}]}}],"return":{"type":{"name":"()"}}},{"name":"println","type":"Normal Function","description":"Prints `any`, `error` or string templates(such as `The respective int value is ${val}`) value(s) to the STDOUT\nfollowed by a new line.\n```ballerina\nio:println(\"Start processing the CSV file from \", srcFileName);\n```\n","parameters":[{"name":"values","description":"The value(s) to be printed","optional":true,"default":null,"type":{"name":"io:Printable","links":[{"category":"internal","recordName":"Printable[]"}]}}],"return":{"type":{"name":"()"}}},{"name":"fprint","type":"Normal Function","description":"Prints `any`, `error`, or string templates(such as `The respective int value is ${val}`) value(s) to\na given stream(STDOUT or STDERR).\n```ballerina\nio:fprint(io:stderr, \"Unexpected error occurred\");\n```","parameters":[{"name":"fileOutputStream","description":"The output stream (`io:stdout` or `io:stderr`) content needs to be printed","optional":false,"default":null,"type":{"name":"io:FileOutputStream","links":[{"category":"internal","recordName":"FileOutputStream"}]}},{"name":"values","description":"The value(s) to be printed","optional":true,"default":null,"type":{"name":"io:Printable","links":[{"category":"internal","recordName":"Printable[]"}]}}],"return":{"type":{"name":"()"}}},{"name":"fprintln","type":"Normal Function","description":"Prints `any`, `error`, or string templates(such as `The respective int value is ${val}`) value(s) to\na given stream(STDOUT or STDERR) followed by a new line.\n```ballerina\nio:fprintln(io:stderr, \"Unexpected error occurred\");\n```","parameters":[{"name":"fileOutputStream","description":"The output stream (`io:stdout` or `io:stderr`) content needs to be printed","optional":false,"default":null,"type":{"name":"io:FileOutputStream","links":[{"category":"internal","recordName":"FileOutputStream"}]}},{"name":"values","description":"The value(s) to be printed","optional":true,"default":null,"type":{"name":"io:Printable","links":[{"category":"internal","recordName":"Printable[]"}]}}],"return":{"type":{"name":"()"}}},{"name":"readln","type":"Normal Function","description":"Retrieves the input read from the STDIN.\n```ballerina\nstring choice = io:readln(\"Enter choice 1 - 5: \");\nstring choice = io:readln();\n```\n","parameters":[{"name":"a","description":"Any value to be printed","optional":true,"default":"()","type":{"name":"any|()"}}],"return":{"type":{"name":"string"}}}],"typeDefs":[{"name":"DEFAULT","description":"The default value is the format specified by the CSVChannel. Precedence will be given to the field separator and record separator.","type":"Constant","value":"default","varType":{"name":"string"}},{"name":"CSV","description":"Field separator will be \",\" and the record separator will be a new line.","type":"Constant","value":"csv","varType":{"name":"string"}},{"name":"TDF","description":"Field separator will be a tab and the record separator will be a new line.","type":"Constant","value":"tdf","varType":{"name":"string"}},{"name":"COMMA","description":"Comma (,) will be used as the field separator.","type":"Constant","value":",","varType":{"name":"string"}},{"name":"TAB","description":"Tab (/t) will be use as the field separator.","type":"Constant","value":"\t","varType":{"name":"string"}},{"name":"COLON","description":"Colon (:) will be use as the field separator.","type":"Constant","value":":","varType":{"name":"string"}},{"name":"NEW_LINE","description":"New line character.","type":"Constant","value":"\n","varType":{"name":"string"}},{"name":"DEFAULT_ENCODING","description":"Default encoding for the abstract read/write APIs.","type":"Constant","value":"UTF8","varType":{"name":"string"}},{"name":"stdout","description":"Represents the standard output stream.","type":"Constant","value":"1","varType":{"name":"int"}},{"name":"stderr","description":"Represents the standard error stream.","type":"Constant","value":"2","varType":{"name":"int"}},{"name":"CSV_RECORD_SEPARATOR","description":"Represents the record separator of the CSV file.","type":"Constant","value":"\n","varType":{"name":"string"}},{"name":"FS_COLON","description":"Represents the colon separator, which should be used to identify colon-separated files.","type":"Constant","value":":","varType":{"name":"string"}},{"name":"MINIMUM_HEADER_COUNT","description":"Represents the minimum number of headers, which will be included in the CSV.","type":"Constant","value":"0","varType":{"name":"int"}},{"name":"BIG_ENDIAN","description":"Specifies the bytes to be in the order of most significant byte first.","type":"Constant","value":"BE","varType":{"name":"string"}},{"name":"LITTLE_ENDIAN","description":"Specifies the byte order to be the least significant byte first.","type":"Constant","value":"LE","varType":{"name":"string"}},{"name":"Block","description":"The read-only byte array that is used to read the byte content from the streams.","type":"Other"},{"name":"ReadableByteChannel","description":"Adding default init function to prevent object getting initialized from the user code.","functions":[{"name":"init","type":"Constructor","description":"Adding default init function to prevent object getting initialized from the user code.","parameters":[],"return":{"type":{"name":"ballerina/io:ReadableByteChannel"}}},{"name":"read","type":"Normal Function","description":"Source bytes from a given input resource.\nThis operation will be asynchronous in which the total number of required bytes might not be returned at a given\ntime. An `io:EofError` will return once the channel reaches the end.\n```ballerina\nbyte[]|io:Error result = readableByteChannel.read(1000);\n```\n","parameters":[{"name":"nBytes","description":"A positive integer. Represents the number of bytes, which should be read","optional":false,"default":null,"type":{"name":"int"}}],"return":{"type":{"name":"byte[]"}}},{"name":"readAll","type":"Normal Function","description":"Read all content of the channel as a `byte` array and return a read only `byte` array.\n```ballerina\nbyte[]|io:Error result = readableByteChannel.readAll();\n```\n","parameters":[],"return":{"type":{"name":"byte[] & readonly"}}},{"name":"blockStream","type":"Normal Function","description":"Return a block stream that can be used to read all `byte` blocks as a stream.\n```ballerina\nstream|io:Error result = readableByteChannel.blockStream();\n```","parameters":[{"name":"blockSize","description":"A positive integer. Size of the block.","optional":false,"default":null,"type":{"name":"int"}}],"return":{"type":{"name":"stream"}}},{"name":"base64Encode","type":"Normal Function","description":"Encodes a given `io:ReadableByteChannel` using the Base64 encoding scheme.\n```ballerina\nio:ReadableByteChannel|Error encodedChannel = readableByteChannel.base64Encode();\n```\n","parameters":[],"return":{"type":{"name":"io:ReadableByteChannel"}}},{"name":"base64Decode","type":"Normal Function","description":"Decodes a given Base64 encoded `io:ReadableByteChannel`.\n```ballerina\nio:ReadableByteChannel|Error encodedChannel = readableByteChannel.base64Decode();\n```\n","parameters":[],"return":{"type":{"name":"io:ReadableByteChannel"}}},{"name":"close","type":"Normal Function","description":"Closes the `io:ReadableByteChannel`.\nAfter a channel is closed, any further reading operations will cause an error.\n```ballerina\nio:Error? err = readableByteChannel.close();\n```\n","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"ReadableCharacterChannel","description":"Constructs an `io:ReadableCharacterChannel` from a given `io:ReadableByteChannel` and `Charset`.\n","functions":[{"name":"init","type":"Constructor","description":"Constructs an `io:ReadableCharacterChannel` from a given `io:ReadableByteChannel` and `Charset`.\n","parameters":[{"name":"byteChannel","description":"The `io:ReadableByteChannel`, which would be used to read the characters","optional":false,"default":null,"type":{"name":"io:ReadableByteChannel","links":[{"category":"internal","recordName":"ReadableByteChannel"}]}},{"name":"charset","description":"The character set, which is used to encode/decode the given bytes to characters","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"ballerina/io:ReadableCharacterChannel"}}},{"name":"read","type":"Normal Function","description":"Reads a given number of characters. This will attempt to read up to the `numberOfChars` characters of the channel.\nAn `io:EofError` will return once the channel reaches the end.\n```ballerina\nstring|io:Error result = readableCharChannel.read(1000);\n```\n","parameters":[{"name":"numberOfChars","description":"Number of characters, which should be read","optional":false,"default":null,"type":{"name":"int"}}],"return":{"type":{"name":"string"}}},{"name":"readString","type":"Normal Function","description":"Read the entire channel content as a string.\n```ballerina\nstring|io:Error content = readableCharChannel.readString();\n```","parameters":[],"return":{"type":{"name":"string"}}},{"name":"readAllLines","type":"Normal Function","description":"Read the entire channel content as a list of lines.\n```ballerina\nstring[]|io:Error content = readableCharChannel.readAllLines();\n```","parameters":[],"return":{"type":{"name":"string[]"}}},{"name":"readJson","type":"Normal Function","description":"Reads a JSON from the given channel.\n```ballerina\njson|io:Error result = readableCharChannel.readJson();\n```\n","parameters":[],"return":{"type":{"name":"json"}}},{"name":"readXml","type":"Normal Function","description":"Reads an XML from the given channel.\n```ballerina\njson|io:Error result = readableCharChannel.readXml();\n```\n","parameters":[],"return":{"type":{"name":"xml"}}},{"name":"readProperty","type":"Normal Function","description":"Reads a property from a .properties file with a default value.\n```ballerina\nstring|io:Error result = readableCharChannel.readProperty(key, defaultValue);\n```","parameters":[{"name":"key","description":"The property key, which needs to be read","optional":false,"default":null,"type":{"name":"string"}},{"name":"defaultValue","description":"The default value to be returned","optional":true,"default":"\"\"","type":{"name":"string"}}],"return":{"type":{"name":"string"}}},{"name":"lineStream","type":"Normal Function","description":"Return a stream of lines that can be used to read all the lines in a file as a stream.\n```ballerina\nstream|io:Error? result = readableCharChannel.lineStream();\n```\n","parameters":[],"return":{"type":{"name":"stream"}}},{"name":"readAllProperties","type":"Normal Function","description":"Reads all properties from a .properties file.\n```ballerina\nmap|io:Error result = readableCharChannel.readAllProperties();\n```\n","parameters":[],"return":{"type":{"name":"map"}}},{"name":"close","type":"Normal Function","description":"Closes the character channel.\nAfter a channel is closed, any further reading operations will cause an error.\n```ballerina\nio:Error? err = readableCharChannel.close();\n```\n","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"ReadableTextRecordChannel","description":"Constructs a ReadableTextRecordChannel from a given ReadableCharacterChannel.\n","functions":[{"name":"init","type":"Constructor","description":"Constructs a ReadableTextRecordChannel from a given ReadableCharacterChannel.\n","parameters":[{"name":"charChannel","description":"CharacterChannel which will point to the input/output resource","optional":false,"default":null,"type":{"name":"io:ReadableCharacterChannel","links":[{"category":"internal","recordName":"ReadableCharacterChannel"}]}},{"name":"fs","description":"Field separator (this could be a regex)","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"rs","description":"Record separator (this could be a regex)","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"fmt","description":null,"optional":true,"default":"\"\"","type":{"name":"string"}}],"return":{"type":{"name":"ballerina/io:ReadableTextRecordChannel"}}},{"name":"hasNext","type":"Normal Function","description":"Checks whether there is a record left to be read.\n```ballerina\nboolean hasNext = readableRecChannel.hasNext();\n```\n","parameters":[],"return":{"type":{"name":"boolean"}}},{"name":"getNext","type":"Normal Function","description":"Get the next record from the input/output resource.\n```ballerina\nstring[]|io:Error record = readableRecChannel.getNext();\n```\n","parameters":[],"return":{"type":{"name":"string[]"}}},{"name":"close","type":"Normal Function","description":"Closes the record channel.\nAfter a channel is closed, any further reading operations will cause an error.\n```ballerina\nio:Error err = readableRecChannel.close();\n```\n","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"ReadableCSVChannel","description":"Constructs a CSV channel from a CharacterChannel to read CSV records.\n","functions":[{"name":"init","type":"Constructor","description":"Constructs a CSV channel from a CharacterChannel to read CSV records.\n","parameters":[{"name":"byteChannel","description":"The CharacterChannel, which will represent the content in the CSV file","optional":false,"default":null,"type":{"name":"io:ReadableCharacterChannel","links":[{"category":"internal","recordName":"ReadableCharacterChannel"}]}},{"name":"fs","description":"Field separator, which will separate between the records in the CSV file","optional":true,"default":"\",\"","type":{"name":"io:Separator","links":[{"category":"internal","recordName":"Separator"}]}},{"name":"nHeaders","description":"Number of headers, which should be skipped prior to reading records","optional":true,"default":"0","type":{"name":"int"}}],"return":{"type":{"name":"ballerina/io:ReadableCSVChannel"}}},{"name":"skipHeaders","type":"Normal Function","description":"Skips the given number of headers.\n```ballerina\nreadableCSVChannel.skipHeaders(5);\n```\n","parameters":[{"name":"nHeaders","description":"The number of headers, which should be skipped","optional":false,"default":null,"type":{"name":"int"}}],"return":{"type":{"name":"()"}}},{"name":"hasNext","type":"Normal Function","description":"Indicates whether there's another record, which could be read.\n```ballerina\nboolean hasNext = readableCSVChannel.hasNext();\n```\n","parameters":[],"return":{"type":{"name":"boolean"}}},{"name":"getNext","type":"Normal Function","description":"Gets the next record from the CSV file.\n```ballerina\nstring[]|io:Error? record = readableCSVChannel.getNext();\n```\n","parameters":[],"return":{"type":{"name":"string[]|()"}}},{"name":"csvStream","type":"Normal Function","description":"Returns a CSV record stream that can be used to CSV records as a stream.\n```ballerina\nstream|io:Error? record = readableCSVChannel.csvStream();\n```\n","parameters":[],"return":{"type":{"name":"stream"}}},{"name":"close","type":"Normal Function","description":"Closes the `io:ReadableCSVChannel`.\nAfter a channel is closed, any further reading operations will cause an error.\n```ballerina\nio:Error? err = readableCSVChannel.close();\n```\n","parameters":[],"return":{"type":{"name":"()"}}},{"name":"getTable","type":"Normal Function","description":"Returns a table, which corresponds to the CSV records.\n```ballerina\nvar tblResult1 = readableCSVChannel.getTable(Employee);\nvar tblResult2 = readableCSVChannel.getTable(Employee, [\"id\", \"name\"]);\n```\n","parameters":[{"name":"structType","description":"The object in which the CSV records should be deserialized","optional":false,"default":null,"type":{"name":"record {|anydata...;|}"}},{"name":"fieldNames","description":"The names of the fields used as the (composite) key of the table","optional":true,"default":"[]","type":{"name":"string[]"}}],"return":{"type":{"name":"table"}}},{"name":"toTable","type":"Normal Function","description":"Returns a table, which corresponds to the CSV records.\n```ballerina\nvar tblResult = readableCSVChannel.toTable(Employee, [\"id\", \"name\"]);\n```\n","parameters":[{"name":"structType","description":"The object in which the CSV records should be deserialized","optional":false,"default":null,"type":{"name":"record {|anydata...;|}"}},{"name":"keyFieldNames","description":"The names of the fields used as the (composite) key of the table","optional":false,"default":null,"type":{"name":"string[]"}}],"return":{"type":{"name":"table"}}}]},{"name":"WritableByteChannel","description":"Adding default init function to prevent object getting initialized from the user code.","functions":[{"name":"init","type":"Constructor","description":"Adding default init function to prevent object getting initialized from the user code.","parameters":[],"return":{"type":{"name":"ballerina/io:WritableByteChannel"}}},{"name":"write","type":"Normal Function","description":"Sinks bytes from a given input/output resource.\n\nThis is an asynchronous operation. The method might return before writing all the content.\n```ballerina\nint|io:Error result = writableByteChannel.write(record, 0);\n```\n","parameters":[{"name":"content","description":"Block of bytes to be written","optional":false,"default":null,"type":{"name":"byte[]"}},{"name":"offset","description":"Offset of the provided content, which needs to be kept when writing bytes","optional":false,"default":null,"type":{"name":"int"}}],"return":{"type":{"name":"int"}}},{"name":"close","type":"Normal Function","description":"Closes the byte channel.\nAfter a channel is closed, any further writing operations will cause an error.\n```ballerina\nio:Error err = writableByteChannel.close();\n```\n","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"WritableCharacterChannel","description":"Constructs an `io:WritableByteChannel` from a given `io:WritableByteChannel` and `Charset`.\n","functions":[{"name":"init","type":"Constructor","description":"Constructs an `io:WritableByteChannel` from a given `io:WritableByteChannel` and `Charset`.\n","parameters":[{"name":"bChannel","description":"The `io:WritableByteChannel`, which would be used to write the characters","optional":false,"default":null,"type":{"name":"io:WritableByteChannel","links":[{"category":"internal","recordName":"WritableByteChannel"}]}},{"name":"charset","description":"The character set, which would be used to encode the given bytes to characters","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"ballerina/io:WritableCharacterChannel"}}},{"name":"write","type":"Normal Function","description":"Writes a given sequence of characters (string).\n```ballerina\nint|io:Error result = writableCharChannel.write(\"Content\", 0);\n```\n","parameters":[{"name":"content","description":"Content to be written","optional":false,"default":null,"type":{"name":"string"}},{"name":"startOffset","description":"Number of characters to be offset when writing the content","optional":false,"default":null,"type":{"name":"int"}}],"return":{"type":{"name":"int"}}},{"name":"writeLine","type":"Normal Function","description":"Writes a string as a line with a following newline character `\\n`.\n```ballerina\nio:Error? result = writableCharChannel.writeLine(\"Content\");\n```\n","parameters":[{"name":"content","description":"Content to be written","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"writeJson","type":"Normal Function","description":"Writes a given JSON to the given channel.\n```ballerina\nio:Error? err = writableCharChannel.writeJson(inputJson, 0);\n```\n","parameters":[{"name":"content","description":"The JSON to be written","optional":false,"default":null,"type":{"name":"json"}}],"return":{"type":{"name":"()"}}},{"name":"writeXml","type":"Normal Function","description":"Writes a given XML to the channel.\n```ballerina\nio:Error? err = writableCharChannel.writeXml(inputXml, 0);\n```\n","parameters":[{"name":"content","description":"The XML to be written","optional":false,"default":null,"type":{"name":"xml"}},{"name":"xmlDoctype","description":"Optional argument to specify the XML DOCTYPE configurations","optional":true,"default":"()","type":{"name":"io:XmlDoctype|()","links":[{"category":"internal","recordName":"XmlDoctype|()"}]}}],"return":{"type":{"name":"()"}}},{"name":"writeProperties","type":"Normal Function","description":"Writes a given key-valued pair `map` to a property file.\n```ballerina\nio:Error? err = writableCharChannel.writeProperties(properties);\n```","parameters":[{"name":"properties","description":"The map that contains keys and values","optional":false,"default":null,"type":{"name":"map"}},{"name":"comment","description":"Comment describing the property list","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"close","type":"Normal Function","description":"Closes the `io:WritableCharacterChannel`.\nAfter a channel is closed, any further writing operations will cause an error.\n```ballerina\nio:Error err = writableCharChannel.close();\n```\n","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"WritableTextRecordChannel","description":"Constructs a DelimitedTextRecordChannel from a given WritableCharacterChannel.","functions":[{"name":"init","type":"Constructor","description":"Constructs a DelimitedTextRecordChannel from a given WritableCharacterChannel.","parameters":[{"name":"characterChannel","description":"The `io:WritableCharacterChannel`, which will point to the input/output resource","optional":false,"default":null,"type":{"name":"io:WritableCharacterChannel","links":[{"category":"internal","recordName":"WritableCharacterChannel"}]}},{"name":"fs","description":"Field separator (this could be a regex)","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"rs","description":"Record separator (this could be a regex)","optional":true,"default":"\"\"","type":{"name":"string"}},{"name":"fmt","description":"The format, which will be used to represent the CSV (this could be \n\"DEFAULT\" (the format specified by the CSVChannel), \n\"CSV\" (Field separator would be \",\" and record separator would be a new line) or else\n\"TDF\" (Field separator will be a tab and record separator will be a new line)","optional":true,"default":"\"\"","type":{"name":"string"}}],"return":{"type":{"name":"ballerina/io:WritableTextRecordChannel"}}},{"name":"write","type":"Normal Function","description":"Writes records to a given output resource.\n```ballerina\nio:Error? err = writableChannel.write(records);\n```\n","parameters":[{"name":"textRecord","description":"List of fields to be written","optional":false,"default":null,"type":{"name":"string[]"}}],"return":{"type":{"name":"()"}}},{"name":"close","type":"Normal Function","description":"Closes the record channel.\nAfter a channel is closed, any further writing operations will cause an error.\n```ballerina\nio:Error? err = writableChannel.close();\n```\n","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"WritableCSVChannel","description":"Constructs a CSV channel from a `CharacterChannel` to read/write CSV records.\n","functions":[{"name":"init","type":"Constructor","description":"Constructs a CSV channel from a `CharacterChannel` to read/write CSV records.\n","parameters":[{"name":"characterChannel","description":null,"optional":false,"default":null,"type":{"name":"io:WritableCharacterChannel","links":[{"category":"internal","recordName":"WritableCharacterChannel"}]}},{"name":"fs","description":"Field separator, which will separate the records in the CSV","optional":true,"default":"\",\"","type":{"name":"io:Separator","links":[{"category":"internal","recordName":"Separator"}]}}],"return":{"type":{"name":"ballerina/io:WritableCSVChannel"}}},{"name":"write","type":"Normal Function","description":"Writes the record to a given CSV file.\n```ballerina\nio:Error err = csvChannel.write(record);\n```\n","parameters":[{"name":"csvRecord","description":"A record to be written to the channel","optional":false,"default":null,"type":{"name":"string[]"}}],"return":{"type":{"name":"()"}}},{"name":"close","type":"Normal Function","description":"Closes the `io:WritableCSVChannel`.\nAfter a channel is closed, any further writing operations will cause an error.\n```ballerina\nio:Error? err = csvChannel.close();\n```\n","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"Format","description":"The format, which will be used to represent the CSV.\n\nDEFAULT - The default value is the format specified by the CSVChannel. Precedence will be given to the field\nseparator and record separator.\n\nCSV - Field separator will be \",\" and the record separator will be a new line.\n\nTDF - Field separator will be a tab and the record separator will be a new line.","type":"Union","members":["\"default\"","\"csv\"","\"tdf\""]},{"name":"Separator","description":"Field separators, which are supported by the `DelimitedTextRecordChannel`.\n\nCOMMA - Delimited text records will be separated using a comma\n\nTAB - Delimited text records will be separated using a tab\n\nCOLON - Delimited text records will be separated using a colon(:)","type":"Union","members":["\",\"","\"\t\"","\":\"","string"]},{"name":"Error","description":"Represents IO module related errors.","type":"Error"},{"name":"ConnectionTimedOutError","description":"This will return when connection timed out happen when try to connect to a remote host.","type":"Error"},{"name":"GenericError","description":"Represents generic IO error. The detail record contains the information related to the error.","type":"Error"},{"name":"AccessDeniedError","description":"This will get returned due to file permission issues.","type":"Error"},{"name":"FileNotFoundError","description":"This will get returned if the file is not available in the given file path.","type":"Error"},{"name":"TypeMismatchError","description":"This will get returned when there is an mismatch of given type and the expected type.","type":"Error"},{"name":"EofError","description":"This will get returned if read operations are performed on a channel after it closed.","type":"Error"},{"name":"ConfigurationError","description":"This will get returned if there is an invalid configuration.","type":"Error"},{"name":"FileWriteOption","description":"Represents a file opening options for writing.\n","type":"Enum","members":[{"name":"APPEND","description":""},{"name":"OVERWRITE","description":""}]},{"name":"XmlEntityType","description":"Represents the XML entity type that needs to be written.\n","type":"Enum","members":[{"name":"EXTERNAL_PARSED_ENTITY","description":""},{"name":"DOCUMENT_ENTITY","description":""}]},{"name":"XmlDoctype","description":"Represents the XML DOCTYPE entity.\n","type":"Record","fields":[{"name":"system","description":"","optional":true,"type":{"name":"string?"}},{"name":"'public","description":"","optional":true,"type":{"name":"string?"}},{"name":"internalSubset","description":"","optional":true,"type":{"name":"string?"}}]},{"name":"XmlWriteOptions","description":"The writing options of an XML.\n","type":"Record","fields":[{"name":"xmlEntityType","description":"","optional":true,"type":{"name":"ballerina/io:1.8.0:XmlEntityType","links":[{"category":"internal","recordName":"XmlEntityType"}]}},{"name":"doctype","description":"","optional":true,"type":{"name":"ballerina/io:1.8.0:XmlDoctype?"}}]},{"name":"PrintableRawTemplate","description":"Represents raw templates.\ne.g: `The respective int value is ${val}`","type":"Class","fields":[]},{"name":"Printable","description":"Defines all the printable types.\n1. any typed value\n2. errors\n3. `io:PrintableRawTemplate` - an raw templated value","type":"Union","members":["any","error","ballerina/io:1.8.0:PrintableRawTemplate"]},{"name":"FileOutputStream","description":"Defines the output streaming types.\n1. `stdout` - standard output stream\n2. `stderr` - standard error stream","type":"Union","members":["1","2"]},{"name":"ByteOrder","description":"Represents network byte order.\n\nBIG_ENDIAN - specifies the bytes to be in the order of most significant byte first.\n\nLITTLE_ENDIAN - specifies the byte order to be the least significant byte first.","type":"Union","members":["\"BE\"","\"LE\""]},{"name":"BlockStream","description":"Initialize a `BlockStream` using an `io:ReadableByteChannel`.\n","functions":[{"name":"init","type":"Constructor","description":"Initialize a `BlockStream` using an `io:ReadableByteChannel`.\n","parameters":[{"name":"readableByteChannel","description":"The `io:ReadableByteChannel` that this block stream is referred to","optional":false,"default":null,"type":{"name":"io:ReadableByteChannel","links":[{"category":"internal","recordName":"ReadableByteChannel"}]}},{"name":"blockSize","description":"The size of a block as an integer","optional":false,"default":null,"type":{"name":"int"}}],"return":{"type":{"name":"ballerina/io:BlockStream"}}},{"name":"next","type":"Normal Function","description":"The next function reads and returns the next block of the related stream.\n","parameters":[],"return":{"type":{"name":"record {|io:Block value;|}|()"}}},{"name":"close","type":"Normal Function","description":"Closes the stream. The primary usage of this function is to close the stream without reaching the end\nIf the stream reaches the end, the `BlockStream.next()` will automatically close the stream.\n","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"CSVStream","description":"Initialize a `CSVStream` using an `io:ReadableTextRecordChannel`.\n","functions":[{"name":"init","type":"Constructor","description":"Initialize a `CSVStream` using an `io:ReadableTextRecordChannel`.\n","parameters":[{"name":"readableTextRecordChannel","description":"The `io:ReadableTextRecordChannel` that this CSV stream is referred to","optional":false,"default":null,"type":{"name":"io:ReadableTextRecordChannel","links":[{"category":"internal","recordName":"ReadableTextRecordChannel"}]}}],"return":{"type":{"name":"ballerina/io:CSVStream"}}},{"name":"next","type":"Normal Function","description":"The next function reads and returns the next CSV record of the related stream.\n","parameters":[],"return":{"type":{"name":"record {|string[] value;|}|()"}}},{"name":"close","type":"Normal Function","description":"Close the stream. The primary usage of this function is to close the stream without reaching the end.\nIf the stream reaches the end, the `CSVStream.next()` will automatically close the stream.\n","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"LineStream","description":"Initialize an `io:LineStream` using an `io:ReadableCharacterChannel`.\n","functions":[{"name":"init","type":"Constructor","description":"Initialize an `io:LineStream` using an `io:ReadableCharacterChannel`.\n","parameters":[{"name":"readableCharacterChannel","description":"The `io:ReadableCharacterChannel` that the line stream is referred to","optional":false,"default":null,"type":{"name":"io:ReadableCharacterChannel","links":[{"category":"internal","recordName":"ReadableCharacterChannel"}]}}],"return":{"type":{"name":"ballerina/io:LineStream"}}},{"name":"next","type":"Normal Function","description":"The next function reads and returns the next line of the related stream.\n","parameters":[],"return":{"type":{"name":"record {|string value;|}|()"}}},{"name":"close","type":"Normal Function","description":"Closes the stream. The primary usage of this function is to close the stream without reaching the end\nIf the stream reaches the end, the `LineStream.next()` will automatically close the stream.\n","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"ReadableDataChannel","description":"Initializes the data channel.\n","functions":[{"name":"init","type":"Constructor","description":"Initializes the data channel.\n","parameters":[{"name":"byteChannel","description":"The channel, which would represent the source to read/write data","optional":false,"default":null,"type":{"name":"io:ReadableByteChannel","links":[{"category":"internal","recordName":"ReadableByteChannel"}]}},{"name":"bOrder","description":"Network byte order","optional":true,"default":"\"BE\"","type":{"name":"io:ByteOrder","links":[{"category":"internal","recordName":"ByteOrder"}]}}],"return":{"type":{"name":"ballerina/io:ReadableDataChannel"}}},{"name":"readInt16","type":"Normal Function","description":"Reads a 16 bit integer.\n```ballerina\nint|io:Error result = dataChannel.readInt16();\n```\n","parameters":[],"return":{"type":{"name":"int"}}},{"name":"readInt32","type":"Normal Function","description":"Reads a 32 bit integer.\n```ballerina\nint|io:Error result = dataChannel.readInt32();\n```\n","parameters":[],"return":{"type":{"name":"int"}}},{"name":"readInt64","type":"Normal Function","description":"Reads a 64 bit integer.\n```ballerina\nint|io:Error result = dataChannel.readInt64();\n```\n","parameters":[],"return":{"type":{"name":"int"}}},{"name":"readFloat32","type":"Normal Function","description":"Reads a 32 bit float.\n```ballerina\nfloat|io:Error result = dataChannel.readFloat32();\n```\n","parameters":[],"return":{"type":{"name":"float"}}},{"name":"readFloat64","type":"Normal Function","description":"Reads a 64 bit float.\n```ballerina\nfloat|io:Error result = dataChannel.readFloat64();\n```\n","parameters":[],"return":{"type":{"name":"float"}}},{"name":"readBool","type":"Normal Function","description":"Reads a byte and convert its value to boolean.\n```ballerina\nboolean|io:Error result = dataChannel.readBool();\n```\n","parameters":[],"return":{"type":{"name":"boolean"}}},{"name":"readString","type":"Normal Function","description":"Reads the string value represented through the provided number of bytes.\n```ballerina\nstring|io:Error string = dataChannel.readString(10, \"UTF-8\");\n```\n","parameters":[{"name":"nBytes","description":"Specifies the number of bytes, which represents the string","optional":false,"default":null,"type":{"name":"int"}},{"name":"encoding","description":"Specifies the char-set encoding of the string","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"string"}}},{"name":"readVarInt","type":"Normal Function","description":"Reads a variable length integer.\n```ballerina\nint|io:Error result = dataChannel.readVarInt();\n```\n","parameters":[],"return":{"type":{"name":"int"}}},{"name":"close","type":"Normal Function","description":"Closes the data channel.\nAfter a channel is closed, any further reading operations will cause an error.\n```ballerina\nio:Error? err = dataChannel.close();\n```","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"StringReader","description":"Constructs a channel to read string.\n","functions":[{"name":"init","type":"Constructor","description":"Constructs a channel to read string.\n","parameters":[{"name":"content","description":"The content, which should be written","optional":false,"default":null,"type":{"name":"string"}},{"name":"encoding","description":"Encoding of the characters of the content","optional":true,"default":"\"\"","type":{"name":"string"}}],"return":{"type":{"name":"ballerina/io:StringReader"}}},{"name":"readJson","type":"Normal Function","description":"Reads string as JSON using the reader.\n```ballerina\nio:StringReader reader = new(\"{\\\"name\\\": \\\"Alice\\\"}\");\njson|io:Error? person = reader.readJson();\n```\n","parameters":[],"return":{"type":{"name":"json"}}},{"name":"readXml","type":"Normal Function","description":"Reads a string as XML using the reader.\n```ballerina\nio:StringReader reader = new(\"Alice\");\nxml|io:Error? person = reader.readXml();\n```\n","parameters":[],"return":{"type":{"name":"xml|()"}}},{"name":"readChar","type":"Normal Function","description":"Reads the characters from the given string.\n```ballerina\nio:StringReader reader = new(\"Some text\");\nstring|io:Error? person = reader.readChar(4);\n```\n","parameters":[{"name":"nCharacters","description":"Number of characters to be read","optional":false,"default":null,"type":{"name":"int"}}],"return":{"type":{"name":"string|()"}}},{"name":"close","type":"Normal Function","description":"Closes the string reader.\n```ballerina\nio:Error? err = reader.close();\n```\n","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"CsvIterator","description":"The iterator for the stream returned in `readFileCsvAsStream` function.","functions":[{"name":"init","type":"Constructor","description":"The iterator for the stream returned in `readFileCsvAsStream` function.","parameters":[],"return":{"type":{"name":"ballerina/io:CsvIterator"}}},{"name":"next","type":"Normal Function","description":"","parameters":[],"return":{"type":{"name":"record {|anydata value;|}|()"}}},{"name":"close","type":"Normal Function","description":"","parameters":[],"return":{"type":{"name":"()"}}}]},{"name":"WritableDataChannel","description":"Initializes data channel.\n","functions":[{"name":"init","type":"Constructor","description":"Initializes data channel.\n","parameters":[{"name":"byteChannel","description":"Channel, which would represent the source to read/write data","optional":false,"default":null,"type":{"name":"io:WritableByteChannel","links":[{"category":"internal","recordName":"WritableByteChannel"}]}},{"name":"bOrder","description":"Network byte order","optional":true,"default":"\"BE\"","type":{"name":"io:ByteOrder","links":[{"category":"internal","recordName":"ByteOrder"}]}}],"return":{"type":{"name":"ballerina/io:WritableDataChannel"}}},{"name":"writeInt16","type":"Normal Function","description":"Writes a 16 bit integer.\n```ballerina\nio:Error? err = dataChannel.writeInt16(length);\n```\n","parameters":[{"name":"value","description":"The integer, which will be written","optional":false,"default":null,"type":{"name":"int"}}],"return":{"type":{"name":"()"}}},{"name":"writeInt32","type":"Normal Function","description":"Writes a 32 bit integer.\n```ballerina\nio:Error? err = dataChannel.writeInt32(length);\n```\n","parameters":[{"name":"value","description":"The integer, which will be written","optional":false,"default":null,"type":{"name":"int"}}],"return":{"type":{"name":"()"}}},{"name":"writeInt64","type":"Normal Function","description":"Writes a 64 bit integer.\n```ballerina\nio:Error? err = dataChannel.writeInt64(length);\n```\n","parameters":[{"name":"value","description":"The integer, which will be written","optional":false,"default":null,"type":{"name":"int"}}],"return":{"type":{"name":"()"}}},{"name":"writeFloat32","type":"Normal Function","description":"Writes a 32 bit float.\n```ballerina\nio:Error? err = dataChannel.writeFloat32(3.12);\n```\n","parameters":[{"name":"value","description":"The float, which will be written","optional":false,"default":null,"type":{"name":"float"}}],"return":{"type":{"name":"()"}}},{"name":"writeFloat64","type":"Normal Function","description":"Writes a 64 bit float.\n```ballerina\nio:Error? err = dataChannel.writeFloat32(3.12);\n```\n","parameters":[{"name":"value","description":"The float, which will be written","optional":false,"default":null,"type":{"name":"float"}}],"return":{"type":{"name":"()"}}},{"name":"writeBool","type":"Normal Function","description":"Writes a boolean.\n```ballerina\nio:Error? err = dataChannel.writeInt64(length);\n```\n","parameters":[{"name":"value","description":"The boolean, which will be written","optional":false,"default":null,"type":{"name":"boolean"}}],"return":{"type":{"name":"()"}}},{"name":"writeString","type":"Normal Function","description":"Writes a given string value to the respective channel.\n```ballerina\nio:Error? err = dataChannel.writeString(record);\n```\n","parameters":[{"name":"value","description":"The value, which should be written","optional":false,"default":null,"type":{"name":"string"}},{"name":"encoding","description":"The encoding, which will represent the value string","optional":false,"default":null,"type":{"name":"string"}}],"return":{"type":{"name":"()"}}},{"name":"writeVarInt","type":"Normal Function","description":"Writes a variable-length integer.\n```ballerina\nio:Error? err = dataChannel.writeVarInt(length);\n```\n","parameters":[{"name":"value","description":"The int, which will be written","optional":false,"default":null,"type":{"name":"int"}}],"return":{"type":{"name":"()"}}},{"name":"close","type":"Normal Function","description":"Closes the data channel.\nAfter a channel is closed, any further writing operations will cause an error.\n```ballerina\nio:Error? err = dataChannel.close();\n```\n","parameters":[],"return":{"type":{"name":"()"}}}]}],"services":[]}] + } \ No newline at end of file diff --git a/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/copilot_library/get_libraries_list.json b/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/copilot_library/get_libraries_list.json index 4d860d4b51..35aacb0eca 100644 --- a/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/copilot_library/get_libraries_list.json +++ b/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/copilot_library/get_libraries_list.json @@ -1,5 +1,4 @@ { "description": "Test Copilot libraries listing", - "mode": "CORE", - "expectedLibraries": [{"name":"ballerina/http","description":"This module allows you to access the http client and server endpoints."},{"name":"ballerina/sql","description":"This module provides the generic interface and functionality to interact with an SQL database. The corresponding database"},{"name":"ballerinax/'client.config","description":"The Ballerinax Client Config contains common client config utils and Ballerina types for Ballerinax connectors."},{"name":"ballerina/mime","description":"This module provides a set of APIs to work with messages, which follow the Multipurpose Internet Mail Extensions (MIME) specification as specified in the [RFC 2045 standard](https://www.ietf.org/rfc/rfc2045.txt)."},{"name":"ballerina/ftp","description":"This module provides an FTP/SFTP client and an FTP/SFTP server listener implementation to facilitate an FTP/SFTP connection connected to a remote location."},{"name":"ballerina/edi","description":"Electronic Data Interchange (EDI) is a technology designed to facilitate the electronic transfer of business documents among various organizations. This system empowers businesses to seamlessly exchange standard business transactions like purchase orders, invoices, and shipping notices. These transactions are formatted in a structured, computer-readable manner, eliminating the reliance on paper-based processes and manual data entry. Consequently, EDI technology significantly boosts efficiency and minimizes errors in the business-to-business (B2B) communication landscape."},{"name":"ballerina/email","description":"This module provides APIs to perform email operations such as sending and reading emails using the SMTP, POP3, and IMAP4 protocols."},{"name":"ballerina/io","description":"This module provides file read/write APIs and console print/read APIs. The file APIs allow read and write operations on different kinds of file types such as bytes, text, CSV, JSON, and XML. Further, these file APIs can be categorized as streaming and non-streaming APIs."},{"name":"ballerina/time","description":"This module provides a set of APIs that have the capabilities to generate and manipulate UTC and localized time."},{"name":"ballerina/crypto","description":"This module provides common cryptographic mechanisms based on different algorithms."},{"name":"ballerinax/googleapis.sheets","description":"The [Ballerina](https://ballerina.io/) connector for Google Sheets makes it convenient to implement some of the most common use cases of Google Sheets. With this connector, you can programmatically manage spreadsheets, manage worksheets, perform CRUD operations on worksheets, and perform column-level, row-level, and cell-level operations."},{"name":"ballerinax/googleapis.drive","description":"The connector provides the capability to programmatically manage files and folders in the [Google Drive](https://drive.google.com)."},{"name":"ballerinax/microsoft.onedrive","description":"Ballerina connector for Microsoft OneDrive connects to the OneDrive file storage API in Microsoft Graph v1.0 via the"},{"name":"ballerinax/aws.dynamodb","description":"The Ballerina AWS DynamoDB connector provides the capability to programatically handle [AWS DynamoDB](hhttps://aws.amazon.com/dynamodb/) related operations."},{"name":"ballerinax/aws.dynamodbstreams","description":"[Amazon DynamoDB](https://aws.amazon.com/dynamodb/) is a fully managed, serverless, key-value NoSQL database designed to run high-performance applications at any scale. DynamoDB offers built-in security, continuous backups, automated multi-region replication, in-memory caching, and data export tools."},{"name":"ballerinax/aws.marketplace.mpe","description":"[AWS Marketplace Entitlement Service](https://docs.aws.amazon.com/marketplace/latest/userguide/entitlement.html) is a"},{"name":"ballerinax/aws.marketplace.mpm","description":"[AWS Marketplace Metering Service](https://docs.aws.amazon.com/marketplacemetering/latest/APIReference/Welcome.html) is"},{"name":"ballerinax/aws.redshift","description":"[Amazon Redshift](https://aws.amazon.com/redshift/) is a powerful and fully-managed data warehouse service provided by Amazon Web Services (AWS), designed to efficiently analyze large datasets with high performance and scalability."},{"name":"ballerinax/aws.sns","description":"The `ballerinax/aws.sns` package offers APIs to connect and interact with [AWS SNS API](https://docs.aws.amazon.com/sns/latest/api/welcome.html) endpoints."},{"name":"ballerinax/asb","description":"The [Azure Service Bus](https://docs.microsoft.com/en-us/azure/service-bus-messaging/) is a fully managed enterprise message broker with message queues and publish-subscribe topics. It"},{"name":"ballerinax/confluent.cregistry","description":"[Confluent Schema Registry](https://docs.confluent.io/platform/current/schema-registry/) serves as a centralized repository for managing Avro schemas, ensuring data consistency and compatibility in serialization and deserialization processes."},{"name":"ballerinax/ibm.ibmmq","description":"[IBM MQ](https://www.ibm.com/products/mq) is a powerful messaging middleware platform designed for facilitating reliable"},{"name":"ballerinax/java.jdbc","description":"This module provides the functionality that is required to access and manipulate data stored in any type of relational database,"},{"name":"ballerinax/kafka","description":"This module provides an implementation to interact with Kafka Brokers via Kafka Consumer and Kafka Producer clients."},{"name":"ballerinax/mssql","description":"This package provides the functionality required to access and manipulate data stored in an MSSQL database."},{"name":"ballerinax/mysql","description":"This package provides the functionality required to access and manipulate data stored in a MySQL database."},{"name":"ballerinax/oracledb","description":"This package provides the functionality required to access and manipulate data stored in an Oracle database."},{"name":"ballerinax/postgresql","description":"This package provides the functionality required to access and manipulate data stored in a PostgreSQL database."},{"name":"ballerinax/rabbitmq","description":"This module provides the capability to send and receive messages by connecting to the RabbitMQ server."},{"name":"ballerinax/redis","description":"[Redis](https://redis.io/) is an open-source, in-memory data structure store that can be used as a database,"},{"name":"ballerinax/salesforce.apex","description":"Salesforce Apex REST API enables you to expose your Apex classes and methods as RESTful web services. This module provides operations for executing custom Apex REST endpoints, allowing you to perform various HTTP operations on these endpoints and handle responses accordingly."},{"name":"ballerinax/salesforce.bulk","description":"Salesforce Bulk API is a specialized asynchronous RESTful API for loading and querying bulk of data at once. This module provides bulk data operations for CSV, JSON, and XML data types."},{"name":"ballerinax/salesforce.bulkv2","description":"Salesforce Bulk API 2.0 enables you to handle large data sets asynchronously, optimizing performance for high-volume data operations. This module provides operations for executing bulk jobs and batches, allowing you to perform various data operations efficiently."},{"name":"ballerinax/salesforce.soap","description":"Salesforce SOAP API provides CRUD operations for SObjects and allows you to maintain passwords, perform searches, and much more."},{"name":"ballerinax/salesforce.types","description":"Salesforce is a leading customer relationship management (CRM) platform that helps businesses manage and streamline their sales, service, and marketing operations. The [Ballerina Salesforce Connector](https://central.ballerina.io/ballerinax/salesforce/latest) is a project designed to enhance integration capabilities with Salesforce by providing a seamless connection for Ballerina. Notably, this Ballerina project incorporates record type definitions for the base types of Salesforce objects, offering a comprehensive and adaptable solution for developers working on Salesforce integration projects."},{"name":"ballerinax/salesforce","description":"Salesforce Sales Cloud is one of the leading Customer Relationship Management(CRM) software, provided by Salesforce.Inc. Salesforce enable users to efficiently manage sales and customer relationships through its APIs, robust and secure databases, and analytics services. Sales cloud provides serveral API packages to make operations on sObjects and metadata, execute queries and searches, and listen to change events through API calls using REST, SOAP, and CometD protocols."},{"name":"ballerinax/sap","description":"[SAP](https://www.sap.com/india/index.html) is a global leader in enterprise resource planning (ERP) software. Beyond"},{"name":"ballerinax/snowflake","description":"The [Snowflake](https://www.snowflake.com/) is a cloud-based data platform that provides a data warehouse as a service designed for the cloud, providing a single integrated platform with a single SQL-based data warehouse for all data workloads."},{"name":"ballerinax/asana","description":"[Asana](https://asana.com/) is a popular project management and team collaboration tool that enables teams to organize, track, and manage their work and projects. It offers features such as task assignments, project milestones, team dashboards, and more, facilitating efficient workflow management."},{"name":"ballerinax/candid.charitycheckpdf","description":""},{"name":"ballerinax/candid.essentials","description":""},{"name":"ballerinax/candid.premier","description":""},{"name":"ballerinax/candid","description":"[Candid](https://candid.org/) is a non-profit organization that provides a comprehensive database of information about nonprofits, foundations, grantmakers, and philanthropists. Their mission is to connect people who want to change the world to the resources they need to do it."},{"name":"ballerinax/dayforce","description":"Dayforce is a comprehensive human capital management system that covers the entire employee lifecycle including HR, payroll, benefits, talent management, workforce management, and services. The entire system resides on cloud that takes the burden of managing and replicating data on-premise."},{"name":"ballerinax/discord","description":"[Discord](https://support.discord.com/hc/en-us/articles/360045138571-Beginner-s-Guide-to-Discord) is a popular communication platform designed for creating communities and facilitating real-time messaging, voice, and video interactions over the internet."},{"name":"ballerinax/docusign.dsadmin","description":"[DocuSign](https://www.docusign.com) is a digital transaction management platform that enables users to securely sign, send, and manage documents electronically."},{"name":"ballerinax/docusign.dsclick","description":"[DocuSign](https://www.docusign.com) is a digital transaction management platform that enables users to securely sign, send, and manage documents electronically."},{"name":"ballerinax/github","description":"[GitHub](https://github.com/) is a widely used platform for version control and collaboration, allowing developers to work together on projects from anywhere. It hosts a vast array of both open-source and private projects, providing a suite of development tools for collaborative software development."},{"name":"ballerinax/googleapis.calendar","description":"The Google Calendar Connector provides the capability to manage events and calendar operations. It also provides the capability to support service account authorization that can provide delegated domain-wide access to the GSuite domain and support admins to do operations on behalf of the domain users."},{"name":"ballerinax/googleapis.gmail","description":"[Gmail](https://blog.google/products/gmail/) is a widely-used email service provided by Google LLC, enabling users to send and receive emails over the internet."},{"name":"ballerinax/guidewire.insnow","description":"[Guidewire InsuranceNow](https://www.guidewire.com/products/insurancenow) is a cloud-based insurance platform offering comprehensive tools for policy, billing, and claims management, designed to streamline operations and improve customer service in the insurance industry."},{"name":"ballerinax/openai.audio","description":"[OpenAI](https://openai.com/), an AI research organization focused on creating friendly AI for humanity, offers the [OpenAI API](https://platform.openai.com/docs/api-reference/introduction) to access its powerful AI models for tasks like natural language processing and image generation."},{"name":"ballerinax/openai.chat","description":"[OpenAI](https://openai.com/), an AI research organization focused on creating friendly AI for humanity, offers the [OpenAI API](https://platform.openai.com/docs/api-reference/introduction) to access its powerful AI models for tasks like natural language processing and image generation."},{"name":"ballerinax/openai.finetunes","description":""},{"name":"ballerinax/openai.images","description":"[OpenAI](https://openai.com/), an AI research organization focused on creating friendly AI for humanity, offers the [OpenAI API](https://platform.openai.com/docs/api-reference/introduction) to access its powerful AI models for tasks like natural language processing and image generation."},{"name":"ballerinax/slack","description":"[Slack](https://slack.com/) is a collaboration platform for teams, offering real-time messaging, file sharing, and integrations with various tools. It helps streamline communication and enhance productivity through organized channels and direct messaging."},{"name":"ballerinax/stripe","description":"[Stripe](https://stripe.com/) is a leading online payment processing platform that simplifies the handling of financial transactions over the Internet. Stripe is renowned for its ease of integration, comprehensive documentation, and robust API that supports a wide range of payment operations including credit card transactions, subscription management, and direct payouts to user bank accounts."},{"name":"ballerinax/twilio","description":"Twilio is a cloud communications platform that allows software developers to programmatically make and receive phone calls, send and receive text messages, and perform other communication functions using its web service APIs."},{"name":"ballerinax/twitter","description":"[Twitter(X)](https://about.twitter.com/) is a widely-used social networking service provided by X Corp., enabling users to post and interact with messages known as \"tweets\"."},{"name":"ballerinax/zendesk","description":"[Zendesk](https://www.zendesk.com/) is a customer service software company that provides a cloud-based customer support platform. It is designed to offer a seamless and efficient customer service experience, enabling businesses to manage customer interactions across multiple channels, including email, chat, phone, and social media."},{"name":"ballerina/file","description":"This module provides APIs to create, delete, rename the file/directory, retrieve metadata of the given file, and manipulate the file paths in a way that is compatible with the operating system, and a `Directory Listener`, which is used to listen to the file changes in a directory in the local file system."},{"name":"ballerina/mqtt","description":"This module provides an implementation to interact with MQTT servers via MQTT client and listener."},{"name":"ballerina/graphql.dataloader","description":""},{"name":"ballerina/graphql.subgraph","description":""},{"name":"ballerina/graphql","description":"This module provides APIs for connecting and interacting with GraphQL endpoints."},{"name":"ballerinax/aws.sqs","description":"Ballerina connector for Amazon SQS connects the Amazon SQS API via Ballerina language with ease. It provides capability to perform operations related to queues and messages."},{"name":"ballerinax/aws.s3","description":"The Ballerina AWS S3 provides the capability to manage buckets and objects in [AWS S3](https://aws.amazon.com/s3/)."}] -} \ No newline at end of file + "expectedLibraries": [] +} diff --git a/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/copilot_library/get_libraries_list_from_database.json b/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/copilot_library/get_libraries_list_from_database.json new file mode 100644 index 0000000000..eb363c9972 --- /dev/null +++ b/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/copilot_library/get_libraries_list_from_database.json @@ -0,0 +1,3493 @@ +{ + "description": "Test Copilot libraries listing from database", + "expectedLibraries": [ + { + "name":"ballerina/ai", + "description":"This module provides APIs for building AI-powered applications and agents using Large Language Models (LLMs)." + }, + { + "name":"ballerina/ai.np", + "description":"This is the library module for natural programming - specifically the compile-time code generation component of natural programming. This module also generates JSON schema corresponding to types used with natural expressions." + }, + { + "name":"ballerina/auth", + "description":"This module provides a framework for authentication/authorization based on the Basic Authentication scheme specified in [RFC 7617](https://datatracker.ietf.org/doc/html/rfc7617)." + }, + { + "name":"ballerina/avro", + "description":"Avro is an open-source data serialization system that enables efficient binary serialization and deserialization. It allows users to define schemas for structured data, providing better representation and fast serialization/deserialization. Avro's schema evolution capabilities ensure compatibility and flexibility in evolving data systems." + }, + { + "name":"ballerina/cache", + "description":"This module provides APIs for in-memory caching by using a semi-persistent mapping from keys to values. Cache entries are added to the cache manually and are stored in the cache until either evicted or invalidated manually." + }, + { + "name":"ballerina/cloud", + "description":"This module provides the capabilities to generate cloud artifacts for Ballerina programs." + }, + { + "name":"ballerina/constraint", + "description":"This module provides features to validate the values with respect to the constraints defined to the respective Ballerina types." + }, + { + "name":"ballerina/crypto", + "description":"This module provides common cryptographic mechanisms based on different algorithms." + }, + { + "name":"ballerina/data.csv", + "description":"The Ballerina CSV Data Library is a comprehensive toolkit designed to facilitate the handling and manipulation of CSV data within Ballerina applications. It streamlines the process of converting CSV data to native Ballerina data types, enabling developers to work with CSV content seamlessly and efficiently." + }, + { + "name":"ballerina/data.jsondata", + "description":"The Ballerina JSON Data Library is a comprehensive toolkit designed to facilitate the handling and manipulation of JSON data within Ballerina applications. It streamlines the process of converting JSON data to native Ballerina data types, enabling developers to work with JSON content seamlessly and efficiently." + }, + { + "name":"ballerina/data.xmldata", + "description":"The Ballerina XML Data Library is a comprehensive toolkit designed to facilitate the handling and manipulation of XML data within Ballerina applications. It streamlines the process of converting XML data to native Ballerina data types, enabling developers to work with XML content seamlessly and efficiently." + }, + { + "name":"ballerina/data.yaml", + "description":"The Ballerina data.yaml library provides robust and flexible functionalities for working with YAML data within " + }, + { + "name":"ballerina/edi", + "description":"This module provides APIs for processing Electronic Data Interchange (EDI) messages, enabling parsing, validation, and transformation of EDI documents in various formats." + }, + { + "name":"ballerina/email", + "description":"This module provides APIs to perform email operations such as sending and reading emails using the SMTP, POP3, and IMAP4 protocols." + }, + { + "name":"ballerina/etl", + "description":"This package provides a collection of APIs designed for data processing and manipulation, enabling seamless ETL workflows and supporting a variety of use cases." + }, + { + "name":"ballerina/file", + "description":"This module provides APIs to create, delete, rename the file/directory, retrieve metadata of the given file, and manipulate the file paths in a way that is compatible with the operating system, and a `Directory Listener`, which is used to listen to the file changes in a directory in the local file system." + }, + { + "name":"ballerina/ftp", + "description":"This module provides an FTP/SFTP client and an FTP/SFTP server listener implementation to facilitate an FTP/SFTP connection connected to a remote location. Additionally, it supports FTPS (FTP over SSL/TLS) to facilitate secure file transfers." + }, + { + "name":"ballerina/graphql", + "description":"This module provides APIs for connecting and interacting with GraphQL endpoints." + }, + { + "name":"ballerina/http", + "description":"This module provides APIs for connecting and interacting with HTTP and HTTP2 endpoints. It facilitates two types of network entry points as the `Client` and `Listener`." + }, + { + "name":"ballerina/io", + "description":"This module provides file read/write APIs and console print/read APIs. The file APIs allow read and write operations on different kinds of file types such as bytes, text, CSV, JSON, and XML. Further, these file APIs can be categorized as streaming and non-streaming APIs." + }, + { + "name":"ballerina/jballerina.java", + "description":"This module provides library operations required for Java interoperability in Ballerina. It includes a set of" + }, + { + "name":"ballerina/jballerina.java.arrays", + "description":"This module provides APIs to create new Java array instances, get elements from arrays, set elements, etc. " + }, + { + "name":"ballerina/jwt", + "description":"This module provides a framework for authentication/authorization with JWTs and generation/validation of JWTs as specified in the [RFC 7519](https://datatracker.ietf.org/doc/html/rfc7519), [RFC 7515](https://datatracker.ietf.org/doc/html/rfc7515), and [RFC 7517](https://datatracker.ietf.org/doc/html/rfc7517)." + }, + { + "name":"ballerina/lang.array", + "description":"The `lang.array` module corresponds to the `list` basic type." + }, + { + "name":"ballerina/lang.boolean", + "description":"The `lang.boolean` module corresponds to the `boolean` basic type." + }, + { + "name":"ballerina/lang.decimal", + "description":"The `lang.decimal` module corresponds to the `decimal` basic type." + }, + { + "name":"ballerina/lang.error", + "description":"The `lang.error` module corresponds to the `error` basic type." + }, + { + "name":"ballerina/lang.float", + "description":"The `lang.float` module corresponds to the `float` basic type." + }, + { + "name":"ballerina/lang.function", + "description":"The `lang.function` module corresponds to the `function` basic type." + }, + { + "name":"ballerina/lang.future", + "description":"The `lang.future` module corresponds to the `future` basic type." + }, + { + "name":"ballerina/lang.int", + "description":"The `lang.int` module corresponds to the `int` basic type." + }, + { + "name":"ballerina/lang.map", + "description":"The `lang.map` module corresponds to the `mapping` basic type." + }, + { + "name":"ballerina/lang.object", + "description":"The `lang.object` module corresponds to the `object` basic type." + }, + { + "name":"ballerina/lang.query", + "description":"This module provides lang library operations on `query-action`s & `query-expression`s." + }, + { + "name":"ballerina/lang.regexp", + "description":"The `lang.regexp` module corresponds to the `regexp` basic type." + }, + { + "name":"ballerina/lang.runtime", + "description":"The `lang.runtime` module provides functions related to the language runtime that are not specific to a particular basic type." + }, + { + "name":"ballerina/lang.stream", + "description":"The `lang.stream` module corresponds to the `stream` basic type." + }, + { + "name":"ballerina/lang.string", + "description":"The `lang.string` module corresponds to the `string` basic type." + }, + { + "name":"ballerina/lang.table", + "description":"The `lang.table` module corresponds to the `table` basic type." + }, + { + "name":"ballerina/lang.transaction", + "description":"The `lang.transaction` module supports transactions." + }, + { + "name":"ballerina/lang.typedesc", + "description":"The `lang.typedesc` module corresponds to the `typedesc` basic type." + }, + { + "name":"ballerina/lang.value", + "description":"The `lang.value` module provides functions that work on values of more than one basic type." + }, + { + "name":"ballerina/lang.xml", + "description":"The `lang.xml` module corresponds to the `xml` basic type." + }, + { + "name":"ballerina/ldap", + "description":"LDAP (Lightweight Directory Access Protocol) is a vendor-neutral software protocol for accessing and maintaining distributed directory information services. It allows users to locate organizations, individuals, and other resources such as files and devices in a network. LDAP is used in various applications for directory-based authentication and authorization." + }, + { + "name":"ballerina/log", + "description":"This module provides APIs to log information when running applications, with support for contextual logging, configurable log levels, formats, destinations, and key-value context." + }, + { + "name":"ballerina/math.vector", + "description":"This package provides functions for doing vector operations including calculating the `L1` and `L2` norm, dot product, cosine similarity, Euclidean distance, and Manhattan distance." + }, + { + "name":"ballerina/mcp", + "description":"This module offers APIs for developing MCP (Model Context Protocol) clients and servers in Ballerina." + }, + { + "name":"ballerina/messaging", + "description":"Ballerina developers often face challenges when integrating with diverse message brokers or database clients for " + }, + { + "name":"ballerina/mime", + "description":"This module provides a set of APIs to work with messages, which follow the Multipurpose Internet Mail Extensions (MIME) specification as specified in the [RFC 2045 standard](https://www.ietf.org/rfc/rfc2045.txt)." + }, + { + "name":"ballerina/mqtt", + "description":"This module provides an implementation to interact with MQTT servers via MQTT client and listener." + }, + { + "name":"ballerina/np", + "description":"The natural programming library module provides seamless integration with Large Language Models (LLMs). It offers a first-class approach to integrate LLM calls with automatic detection of expected response formats and parsing of responses to corresponding Ballerina types." + }, + { + "name":"ballerina/oauth2", + "description":"This module provides a framework for interacting with OAuth2 authorization servers as specified in the [RFC 6749](https://datatracker.ietf.org/doc/html/rfc6749) and [RFC 7662](https://datatracker.ietf.org/doc/html/rfc7662)." + }, + { + "name":"ballerina/observe", + "description":"This module provides an API for observing Ballerina services." + }, + { + "name":"ballerina/openapi", + "description":"This module provides comprehensive annotations and utilities to enhance the seamless interoperability between Ballerina and OpenAPI specifications." + }, + { + "name":"ballerina/os", + "description":"This module provides APIs to retrieve information about the environment variables and the current users of the Operating System." + }, + { + "name":"ballerina/protobuf", + "description":"This module provides APIs to represent a set of pre-defined protobuf types." + }, + { + "name":"ballerina/random", + "description":"This module provides APIs to generate pseudo-random numbers." + }, + { + "name":"ballerina/soap", + "description":"This module offers a set of APIs that facilitate the transmission of XML requests to a SOAP backend. It excels in managing security policies within SOAP requests, ensuring the transmission of secured SOAP envelopes. Moreover, it possesses the capability to efficiently extract data from security-applied SOAP responses." + }, + { + "name":"ballerina/sql", + "description":"This module provides the generic interface and functionality to interact with an SQL database. The corresponding" + }, + { + "name":"ballerina/task", + "description":"This module provides APIs to schedule a Ballerina job either once or periodically and to manage the execution of those jobs." + }, + { + "name":"ballerina/tcp", + "description":"This module provides APIs for sending/receiving messages to/from another application process (local or remote) over the connection-oriented TCP protocol." + }, + { + "name":"ballerina/test", + "description":"This module facilitates writing tests for Ballerina code in a simple manner. It provides a number of capabilities such as configuring the setup and cleanup steps at different levels, ordering and grouping of tests, providing value-sets to tests, and independence from external functions and endpoints via mocking capabilities." + }, + { + "name":"ballerina/time", + "description":"This module provides a set of APIs that have the capabilities to generate and manipulate UTC and localized time." + }, + { + "name":"ballerina/toml", + "description":"This module provides APIs to convert a TOML configuration file to `map`, and vice-versa." + }, + { + "name":"ballerina/udp", + "description":"This module provides APIs for sending/receiving datagrams to/from another application process (local or remote) using UDP." + }, + { + "name":"ballerina/url", + "description":"This module provides the URL encoding/decoding functions." + }, + { + "name":"ballerina/uuid", + "description":"This module provides APIs to generate and inspect UUIDs (Universally Unique Identifiers)." + }, + { + "name":"ballerina/websocket", + "description":"This module provides APIs for connecting and interacting with WebSocket endpoints. " + }, + { + "name":"ballerina/websub", + "description":"This module provides APIs for a WebSub Subscriber Service." + }, + { + "name":"ballerina/websubhub", + "description":"This module provides APIs for a WebSub Hub service and WebSub Publisher client." + }, + { + "name":"ballerina/xslt", + "description":"This module provides an API to transform XML content to another XML/HTML/plain text format using XSL transformations." + }, + { + "name":"ballerina/yaml", + "description":"This module provides APIs to convert a YAML configuration file to json, and vice-versa." + }, + { + "name":"ballerinax/Apache", + "description":"Connects to Giphy from Ballerina" + }, + { + "name":"ballerinax/aayu.mftg.as2", + "description":"Connects to [MFT Gateway API by Aayu Technologies](https://aayutechnologies.com/docs/product/mft-gateway/) from Ballerina" + }, + { + "name":"ballerinax/ably", + "description":"Connects to [Ably API](https://ably.com/documentation/rest-api) from Ballerina" + }, + { + "name":"ballerinax/activecampaign", + "description":"Connects to [ActiveCampaign API](https://developers.activecampaign.com/reference/overview) from Ballerina." + }, + { + "name":"ballerinax/activemq.driver", + "description":"This package bundles the latest ActiveMQ client so that JMS connector can be used in ballerina projects easily." + }, + { + "name":"ballerinax/adobe.analytics", + "description":"Connects to [Adobe Analytics API](https://developer.adobe.com/analytics-apis/docs/2.0/) from Ballerina." + }, + { + "name":"ballerinax/adp.paystatements", + "description":"Connects to [ADP Pay Statements](https://developers.adp.com/articles/api/pay-statements-v1-api) from Ballerina" + }, + { + "name":"ballerinax/adp.workerpayrollinstructions", + "description":"Connects to [ADP Worker Payroll Instructions](https://developers.adp.com/articles/api/worker-payroll-instructions-v1-api) from Ballerina" + }, + { + "name":"ballerinax/ai", + "description":"This module provides APIs for building AI agents using Large Language Models (LLMs)." + }, + { + "name":"ballerinax/ai.anthropic", + "description":"This module offers APIs for connecting with Anthropic Large Language Models (LLM)." + }, + { + "name":"ballerinax/ai.azure", + "description":"This module offers APIs for connecting with AzureOpenAI Large Language Models (LLM)." + }, + { + "name":"ballerinax/ai.deepseek", + "description":"This module offers APIs for connecting with Deepseek Large Language Models (LLM)." + }, + { + "name":"ballerinax/ai.devant", + "description":"The `ai.devant` module provides APIs to interact with [Devant by WSO2](https://wso2.com/devant/), enabling document chunking and loading documents from a directory in the format expected by the Devant Chunker. It integrates seamlessly with the [`ballerina/ai`](https://central.ballerina.io/ballerina/ai/latest) module to provide a smooth workflow for processing AI documents using Devant AI services." + }, + { + "name":"ballerinax/ai.memory.mssql", + "description":"This module provides an MS SQL-backed short-term memory store to use with AI messages (e.g., with AI agents, model providers, etc.)." + }, + { + "name":"ballerinax/ai.milvus", + "description":"The Ballerina Milvus vector store module provides a comprehensive API for integrating with Milvus vector database, enabling efficient storage, retrieval, and management of high-dimensional vectors. This module implements the Ballerina AI `VectorStore` interface and supports multiple vector search algorithms including dense, sparse, and hybrid vector search modes." + }, + { + "name":"ballerinax/ai.mistral", + "description":"This module offers APIs for connecting with MistralAI Large Language Models (LLM)." + }, + { + "name":"ballerinax/ai.ollama", + "description":"This module offers APIs for connecting with Ollama Large Language Models (LLM)." + }, + { + "name":"ballerinax/ai.openai", + "description":"This module offers APIs for connecting with OpenAI Large Language Models (LLM)." + }, + { + "name":"ballerinax/ai.pgvector", + "description":"Pgvector is a PostgreSQL extension that introduces a vector data type and similarity search capabilities for working with embeddings." + }, + { + "name":"ballerinax/ai.pinecone", + "description":"This module provides APIs for connecting with Pinecone vector database, enabling efficient vector storage, retrieval, and management for AI applications. It implements the Ballerina AI VectorStore interface and supports Dense, Sparse, and Hybrid vector search modes." + }, + { + "name":"ballerinax/ai.weaviate", + "description":"Weaviate is an open-source vector database that stores both objects and vectors, allowing for combining vector search with structured filtering with the scalability of a cloud-native database." + }, + { + "name":"ballerinax/alfresco", + "description":"" + }, + { + "name":"ballerinax/amadeus.flightcreateorders", + "description":"Connects to [Amadeus Flight Create Orders API](https://developers.amadeus.com/) from Ballerina" + }, + { + "name":"ballerinax/amadeus.flightoffersprice", + "description":"Connects to [Amadeus Flight Offers Price API](https://developers.amadeus.com/self-service/category/air/api-doc/flight-offers-price) from Ballerina" + }, + { + "name":"ballerinax/amadeus.flightofferssearch", + "description":"Connects to [Amadeus Flight Offers Search API](https://developers.amadeus.com/self-service/category/air/api-doc/flight-offers-search) from Ballerina" + }, + { + "name":"ballerinax/amp", + "description":"The Amp Observability Extension is one of the tracing extensions of the Ballerina language." + }, + { + "name":"ballerinax/api2pdf", + "description":"Connects to [Api2Pdf REST API](https://www.api2pdf.com/) from Ballerina" + }, + { + "name":"ballerinax/apideck.accounting", + "description":"Connects to [Apideck Accounting](https://docs.apideck.com/apis/accounting/reference) from Ballerina" + }, + { + "name":"ballerinax/apideck.lead", + "description":"Connects to [Apideck Lead API](https://www.apideck.com/lead-api) from Ballerina" + }, + { + "name":"ballerinax/apideck.proxy", + "description":"Connects to [Apideck Proxy API](https://www.apideck.com/lead-api) from Ballerina" + }, + { + "name":"ballerinax/apple.appstore", + "description":"Connects to Apple App Store Connect API from Ballerina" + }, + { + "name":"ballerinax/asana", + "description":"[Asana](https://asana.com/) is a popular project management and team collaboration tool that enables teams to organize, track, and manage their work and projects. It offers features such as task assignments, project milestones, team dashboards, and more, facilitating efficient workflow management." + }, + { + "name":"ballerinax/asb", + "description":"The [Azure Service Bus](https://docs.microsoft.com/en-us/azure/service-bus-messaging/) is a fully managed enterprise message broker with message queues and publish-subscribe topics. It" + }, + { + "name":"ballerinax/asyncapi.native.handler", + "description":"This is a wrapper, which is being used by triggers. " + }, + { + "name":"ballerinax/atspoke", + "description":"Connects to [atSpoke API](https://askspoke.com/api/reference) from Ballerina" + }, + { + "name":"ballerinax/automata", + "description":"Connects to [Automata](https://byautomata.io/api/) from Ballerina" + }, + { + "name":"ballerinax/avatax", + "description":"Connects to [Avalara AvaTax](https://developer.avalara.com/api-reference/avatax/rest/v2/) from Ballerina" + }, + { + "name":"ballerinax/avaza", + "description":"Connects to [Avaza API v1](https://api.avaza.com/swagger/ui/index) from Ballerina" + }, + { + "name":"ballerinax/aws.dynamodb", + "description":"Connects to AWS DynamoDB from Ballerina" + }, + { + "name":"ballerinax/aws.dynamodbstreams", + "description":"[Amazon DynamoDB](https://aws.amazon.com/dynamodb/) is a fully managed, serverless, key-value NoSQL database designed to run high-performance applications at any scale. DynamoDB offers built-in security, continuous backups, automated multi-region replication, in-memory caching, and data export tools." + }, + { + "name":"ballerinax/aws.lambda", + "description":"This module provides the capabilities of creating [AWS Lambda](https://aws.amazon.com/lambda/) functions using Ballerina. " + }, + { + "name":"ballerinax/aws.marketplace.mpe", + "description":"[AWS Marketplace Entitlement Service](https://docs.aws.amazon.com/marketplace/latest/userguide/entitlement.html) is a" + }, + { + "name":"ballerinax/aws.marketplace.mpm", + "description":"[AWS Marketplace Metering Service](https://docs.aws.amazon.com/marketplacemetering/latest/APIReference/Welcome.html) is" + }, + { + "name":"ballerinax/aws.redshift", + "description":"[Amazon Redshift](https://aws.amazon.com/redshift/) is a powerful and fully-managed data warehouse service provided by Amazon Web Services (AWS), designed to efficiently analyze large datasets with high performance and scalability." + }, + { + "name":"ballerinax/aws.redshift.driver", + "description":"This Package bundles the latest AWS Redshift drivers so that the AWS Redshift connector can be used in ballerina projects easily." + }, + { + "name":"ballerinax/aws.redshiftdata", + "description":"[Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/welcome.html) is a powerful and fully-managed data warehouse service provided by Amazon Web Services (AWS), designed to efficiently analyze large datasets with high performance and scalability." + }, + { + "name":"ballerinax/aws.s3", + "description":"Connects to AWS S3 from Ballerina" + }, + { + "name":"ballerinax/aws.secretmanager", + "description":"[AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) is a service that helps you protect sensitive information, such as database credentials, API keys, and other secrets, by securely storing and managing access to them." + }, + { + "name":"ballerinax/aws.ses", + "description":"Connects to AWS SES from Ballerina" + }, + { + "name":"ballerinax/aws.simpledb", + "description":"Connects to AWS simpledb from Ballerina" + }, + { + "name":"ballerinax/aws.sns", + "description":"The `ballerinax/aws.sns` package offers APIs to connect and interact with [AWS SNS API](https://docs.aws.amazon.com/sns/latest/api/welcome.html) endpoints." + }, + { + "name":"ballerinax/aws.sqs", + "description":"[Amazon Simple Queue Service (SQS)](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) is a fully managed message queuing service provided by Amazon Web Services (AWS) that enables you to decouple and scale microservices, distributed systems, and serverless applications." + }, + { + "name":"ballerinax/azure.ad", + "description":"Connects to Azure AD from Ballerina" + }, + { + "name":"ballerinax/azure.ai.search", + "description":"[Azure AI Search](https://azure.microsoft.com/products/ai-services/ai-search/) is a cloud search service that gives developers infrastructure, APIs, and tools for building a rich search experience over private, heterogeneous content in web, mobile, and enterprise applications." + }, + { + "name":"ballerinax/azure.ai.search.index", + "description":"[Azure AI Search](https://azure.microsoft.com/en-us/products/ai-services/cognitive-search), a cloud search service with built-in AI capabilities, provides the [Azure AI Search REST API](https://docs.microsoft.com/en-us/rest/api/searchservice/) to access its powerful search and indexing functionality for building rich search experiences." + }, + { + "name":"ballerinax/azure.analysisservices", + "description":"Connects to [Azure Analysis Services API](https://azure.microsoft.com/en-us/services/analysis-services/) from Ballerina" + }, + { + "name":"ballerinax/azure.anomalydetector", + "description":"Connects to [Azure Anomaly Detector API](https://azure.microsoft.com/en-us/services/cognitive-services/anomaly-detector/) from Ballerina" + }, + { + "name":"ballerinax/azure.datalake", + "description":"Connects to [Azure Data Lake Storage(Gen2) API](https://docs.microsoft.com/en-us/rest/api/storageservices/data-lake-storage-gen2) from Ballerina" + }, + { + "name":"ballerinax/azure.functions", + "description":"This module provides an annotation-based [Azure Functions](https://azure.microsoft.com/en-us/services/functions/) extension implementation for Ballerina. " + }, + { + "name":"ballerinax/azure.iotcentral", + "description":"Connects to [Azure IoT Central API](https://azure.microsoft.com/en-us/services/time-series-insights/) from Ballerina" + }, + { + "name":"ballerinax/azure.iothub", + "description":"Connects to [Azure IoT Hub API](https://azure.microsoft.com/en-us/services/iot-hub/) from Ballerina" + }, + { + "name":"ballerinax/azure.keyvault", + "description":"Connects to [Azure Key Vault API](https://azure.microsoft.com/en-us/services/key-vault/) from Ballerina" + }, + { + "name":"ballerinax/azure.openai.chat", + "description":"Connects to [Azure OpenAI Chat Completions API](https://learn.microsoft.com/en-us/azure/cognitive-services/openai/reference#chat-completions/) from Ballerina." + }, + { + "name":"ballerinax/azure.openai.deployment", + "description":"Connects to [Azure OpenAI Deployments API](https://learn.microsoft.com/en-us/rest/api/cognitiveservices/azureopenaistable/deployments/) from Ballerina." + }, + { + "name":"ballerinax/azure.openai.embeddings", + "description":"Connects to [Azure OpenAI Embeddings API](https://learn.microsoft.com/en-us/azure/cognitive-services/openai/reference#embeddings/) from Ballerina." + }, + { + "name":"ballerinax/azure.openai.finetunes", + "description":"Connects to [Azure OpenAI Files API](https://learn.microsoft.com/en-us/rest/api/cognitiveservices/azureopenaistable/files/)," + }, + { + "name":"ballerinax/azure.openai.text", + "description":"Connects to [Azure OpenAI Completions API](https://learn.microsoft.com/en-us/azure/cognitive-services/openai/reference#completions/) from Ballerina." + }, + { + "name":"ballerinax/azure.qnamaker", + "description":"Connects to [Azure QnA Maker API](https://docs.microsoft.com/en-us/rest/api/cognitiveservices-qnamaker/QnAMaker4.0/) from Ballerina" + }, + { + "name":"ballerinax/azure.sqldb", + "description":"Connects to [Azure SQL DB API 2017-03-01-preview](https://docs.microsoft.com/en-us/azure/azure-sql/database/sql-database-paas-overview) from Ballerina" + }, + { + "name":"ballerinax/azure.textanalytics", + "description":"Connects to [Azure Text Analytics API](https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/) from Ballerina" + }, + { + "name":"ballerinax/azure.timeseries", + "description":"Connects to [Azure Time Series Insights API](https://azure.microsoft.com/en-us/services/time-series-insights/) from Ballerina" + }, + { + "name":"ballerinax/azure_cosmosdb", + "description":"Connects to [Azure Cosmos DB(SQL) API](https://docs.microsoft.com/en-us/rest/api/cosmos-db/) from Ballerina." + }, + { + "name":"ballerinax/azure_eventhub", + "description":"Connects to [Microsoft Azure Event Hubs](https://docs.microsoft.com/en-us/rest/api/eventhub/) from Ballerina." + }, + { + "name":"ballerinax/azure_storage_service", + "description":"Connects to Azure Storage Services from Ballerina" + }, + { + "name":"ballerinax/beezup.merchant", + "description":"Connects to [BeezUP Merchant API](https://api-docs.beezup.com/) from Ballerina" + }, + { + "name":"ballerinax/bing.autosuggest", + "description":"Connects to [Bing Autosuggest API](https://www.microsoft.com/en-us/bing/apis/bing-autosuggest-api) from Ballerina" + }, + { + "name":"ballerinax/bintable", + "description":"Connects to BINTable API from Ballerina" + }, + { + "name":"ballerinax/bisstats", + "description":"Connects to [BIS statistical data and metadata API](https://stats.bis.org/api-doc/v1/) from Ballerina" + }, + { + "name":"ballerinax/bitbucket", + "description":"Connects to [BitBucket](https://developer.atlassian.com/bitbucket/api/2/reference/) from Ballerina" + }, + { + "name":"ballerinax/bitly", + "description":"Connects to [Bitly API v4.0.0](https://dev.bitly.com/api-reference) from Ballerina" + }, + { + "name":"ballerinax/bmc.truesightpresentationserver", + "description":"Connects to [Hardware Sentry TrueSight Presentation Server REST API](https://docs.bmc.com/docs/display/tsps107/Getting+started) from Ballerina." + }, + { + "name":"ballerinax/botify", + "description":"Connects to [Botify API](https://developers.botify.com/reference) from Ballerina" + }, + { + "name":"ballerinax/box", + "description":"Connects to [Box Platform API](https://developer.box.com/reference/) from Ballerina." + }, + { + "name":"ballerinax/boxapi", + "description":"Connects to Box Platform API from Ballerina." + }, + { + "name":"ballerinax/brex.onboarding", + "description":"Connects to [Brex Onboarding API v0.1](https://developer.brex.com/openapi/onboarding_api/) from Ballerina" + }, + { + "name":"ballerinax/brex.team", + "description":"Connects to [Brex Team API v0.1](https://developer.brex.com/openapi/onboarding_api/) from Ballerina" + }, + { + "name":"ballerinax/browshot", + "description":"Connects to [Browshot](https://browshot.com/api/documentation) from Ballerina" + }, + { + "name":"ballerinax/bulksms", + "description":"Connects to [BulkSMS.com](https://www.bulksms.com/) services from Ballerina" + }, + { + "name":"ballerinax/candid", + "description":"[Candid](https://candid.org/) is a non-profit organization that provides a comprehensive database of information about nonprofits, foundations, grantmakers, and philanthropists. Their mission is to connect people who want to change the world to the resources they need to do it." + }, + { + "name":"ballerinax/capsulecrm", + "description":"Connects to [Capsule CRM API](https://developer.capsulecrm.com/v2/overview/getting-started) from Ballerina" + }, + { + "name":"ballerinax/cdata.connect", + "description":"Connects to [CData Connect](https://cloud.cdata.com/docs/JDBC.html) from Ballerina" + }, + { + "name":"ballerinax/cdata.connect.driver", + "description":"Connects to [CData Connect JDBC Driver](https://cloud.cdata.com/docs/JDBC.html) from Ballerina" + }, + { + "name":"ballerinax/cdc", + "description":"The Ballerina Change Data Capture (CDC) module provides APIs to capture and process database change events in real-time. This module enables developers to define services that handle change capture events such as inserts, updates, and deletes. It is built on top of the Debezium framework and supports popular databases like MySQL and Microsoft SQL Server." + }, + { + "name":"ballerinax/chaingateway", + "description":"Connects to [Chaingateway API](https://chaingateway.io/docs-ethereum) from Ballerina" + }, + { + "name":"ballerinax/choreo", + "description":"The Choreo Observability Extension is one of the observability extensions of the [Ballerina](https://ballerina.io/) language." + }, + { + "name":"ballerinax/clever.data", + "description":"Connects to [Clever Data](https://dev.clever.com/v1.2/docs/) from Ballerina." + }, + { + "name":"ballerinax/client.config", + "description":"Contains client config utils and Ballerina types for ballerinax connectors." + }, + { + "name":"ballerinax/cloudmersive.barcode", + "description":"Connects to [Cloudmersive Barcode API](https://api.cloudmersive.com/docs/barcode.asp) from Ballerina" + }, + { + "name":"ballerinax/cloudmersive.currency", + "description":"Connects to [Cloudmersive Currency API](https://api.cloudmersive.com/docs/currency.asp) from Ballerina" + }, + { + "name":"ballerinax/cloudmersive.security", + "description":"Connects to [Cloudmersive Security API](https://api.cloudmersive.com/docs/security.asp) from Ballerina" + }, + { + "name":"ballerinax/cloudmersive.validate", + "description":"Connects to [Cloudmersive Validate API](https://api.cloudmersive.com/docs/validate.asp) from Ballerina" + }, + { + "name":"ballerinax/cloudmersive.virusscan", + "description":"Connects to [Cloudmersive Virus Scan API](https://api.cloudmersive.com/docs/virus.asp) from Ballerina" + }, + { + "name":"ballerinax/commercetools.auditlog", + "description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina" + }, + { + "name":"ballerinax/commercetools.cartsordershoppinglists", + "description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina" + }, + { + "name":"ballerinax/commercetools.configuration", + "description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina" + }, + { + "name":"ballerinax/commercetools.customer", + "description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina" + }, + { + "name":"ballerinax/commercetools.customizebehavior", + "description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina" + }, + { + "name":"ballerinax/commercetools.customizedata", + "description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina" + }, + { + "name":"ballerinax/commercetools.pricingdiscount", + "description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina" + }, + { + "name":"ballerinax/commercetools.productcatalog", + "description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina" + }, + { + "name":"ballerinax/confluent.cavroserdes", + "description":"[Avro Serializer/Deserializer for Confluent Schema Registry](https://docs.confluent.io/platform/current/schema-registry/fundamentals/serdes-develop/serdes-avro.html) is an Avro serializer/deserializer designed to work with the Confluent Schema Registry. It is designed to not include the message schema in the message payload but instead includes the schema ID." + }, + { + "name":"ballerinax/confluent.cregistry", + "description":"[Confluent Schema Registry](https://docs.confluent.io/platform/current/schema-registry/) serves as a centralized repository for managing Avro schemas, ensuring data consistency and compatibility in serialization and deserialization processes." + }, + { + "name":"ballerinax/constantcontact", + "description":"Connects to [Constant Contact API](https://v3.developer.constantcontact.com/api_guide/index.html) from Ballerina" + }, + { + "name":"ballerinax/copybook", + "description":"This package provides APIs to convert Cobol Copybook data to JSON or Ballerina records and vice versa." + }, + { + "name":"ballerinax/covid19", + "description":"Connects to [Novel COVID-19 API](https://disease.sh/docs/) from Ballerina." + }, + { + "name":"ballerinax/dataflowkit", + "description":"Connects to [Dataflow Kit](https://dataflowkit.com/doc-api) from Ballerina" + }, + { + "name":"ballerinax/dayforce", + "description":"Dayforce is a comprehensive human capital management system that covers the entire employee lifecycle including HR, payroll, benefits, talent management, workforce management, and services. The entire system resides on cloud that takes the burden of managing and replicating data on-premise." + }, + { + "name":"ballerinax/dev.to", + "description":"Connects to [DEV API v0.9.7](https://developers.forem.com/api/) from Ballerina." + }, + { + "name":"ballerinax/discord", + "description":"[Discord](https://support.discord.com/hc/en-us/articles/360045138571-Beginner-s-Guide-to-Discord) is a popular communication platform designed for creating communities and facilitating real-time messaging, voice, and video interactions over the internet." + }, + { + "name":"ballerinax/disqus", + "description":"Connects to [Disqus API](https://disqus.com/api/docs) from Ballerina" + }, + { + "name":"ballerinax/docusign.admin", + "description":"Connects to [DocuSign Admin API](https://developers.docusign.com/docs/admin-api/) from Ballerina." + }, + { + "name":"ballerinax/docusign.click", + "description":"Connects to [DocuSign Click API](https://developers.docusign.com/docs/click-api/) from Ballerina." + }, + { + "name":"ballerinax/docusign.dsadmin", + "description":"[DocuSign](https://www.docusign.com) is a digital transaction management platform that enables users to securely sign, send, and manage documents electronically." + }, + { + "name":"ballerinax/docusign.dsclick", + "description":"[DocuSign](https://www.docusign.com) is a digital transaction management platform that enables users to securely sign, send, and manage documents electronically." + }, + { + "name":"ballerinax/docusign.dsesign", + "description":"[DocuSign](https://www.docusign.com) is a digital transaction management platform that enables users to securely sign, send, and manage documents electronically." + }, + { + "name":"ballerinax/docusign.monitor", + "description":"Connects to [DocuSign Monitor API](https://developers.docusign.com/docs/monitor-api/monitor101/) from Ballerina." + }, + { + "name":"ballerinax/docusign.rooms", + "description":"Connects to [DocuSign Rooms API](https://developers.docusign.com/docs/rooms-api/) from Ballerina." + }, + { + "name":"ballerinax/dracoon.public", + "description":"Connects to [Dracoon REST API](https://cloud.support.dracoon.com/hc/en-us/articles/115005447729-API-overview) from Ballerina" + }, + { + "name":"ballerinax/dropbox", + "description":"Connects to [Dropbox API v2](https://www.dropbox.com/developers/documentation/http/documentation) from Ballerina." + }, + { + "name":"ballerinax/earthref.fiesta", + "description":"Connects to [EarthRef.org's FIESTA API v1.2.0](https://api.earthref.org/v1) from Ballerina" + }, + { + "name":"ballerinax/ebay.account", + "description":"Connects to [eBay Account](https://developer.ebay.com/api-docs/sell/account/overview.html) from Ballerina" + }, + { + "name":"ballerinax/ebay.analytics", + "description":"Connects to Ebay Analytics API from Ballerina" + }, + { + "name":"ballerinax/ebay.browse", + "description":"Connects to Ebay Browse API from Ballerina" + }, + { + "name":"ballerinax/ebay.compliance", + "description":"Connects to [eBay Compliance API v1.4.1](https://developer.ebay.com) from Ballerina" + }, + { + "name":"ballerinax/ebay.finances", + "description":"Connects to [eBay Finances API](https://developer.ebay.com/api-docs/sell/finances/static/overview.html) from Ballerina" + }, + { + "name":"ballerinax/ebay.inventory", + "description":"Connects to Ebay Inventory API from Ballerina" + }, + { + "name":"ballerinax/ebay.listing", + "description":"Connects to [eBay Listing API v1_beta.3.0](https://developer.ebay.com) from Ballerina" + }, + { + "name":"ballerinax/ebay.logistics", + "description":"Connects to eBay Logistics from Ballerina" + }, + { + "name":"ballerinax/ebay.metadata", + "description":"Connects to [eBay Metadata API v1.4.1](https://developer.ebay.com) from Ballerina" + }, + { + "name":"ballerinax/ebay.negotiation", + "description":"Connects to eBay Negotiation from Ballerina" + }, + { + "name":"ballerinax/ebay.recommendation", + "description":"Connects to [Ebay Recommendation API v1.1.0](https://developer.ebay.com) from Ballerina" + }, + { + "name":"ballerinax/edifact.d03a.finance", + "description":"EDI Library" + }, + { + "name":"ballerinax/edifact.d03a.logistics", + "description":"EDI Library" + }, + { + "name":"ballerinax/edifact.d03a.manufacturing", + "description":"EDI Library" + }, + { + "name":"ballerinax/edifact.d03a.retail", + "description":"EDI Library" + }, + { + "name":"ballerinax/edifact.d03a.services", + "description":"EDI Library" + }, + { + "name":"ballerinax/edifact.d03a.shipping", + "description":"EDI Library" + }, + { + "name":"ballerinax/edifact.d03a.supplychain", + "description":"EDI Library" + }, + { + "name":"ballerinax/edocs", + "description":"Connects to [eDocs API v1.0.0](https://www.opentext.com/products-and-solutions/industries/legal/legal-content-management-edocs) from Ballerina" + }, + { + "name":"ballerinax/elastic.elasticcloud", + "description":"Elastic Cloud is a powerful cloud-hosted Elasticsearch service provided by Elastic, offering scalable search and analytics capabilities with enterprise-grade security and management features." + }, + { + "name":"ballerinax/elasticsearch", + "description":"Connects to [Elasticsearch API](https://www.elastic.co/elasticsearch/) from Ballerina" + }, + { + "name":"ballerinax/ellucian.student", + "description":"Connects to [Ellucian Student API](https://ellucian.force.com/) from Ballerina" + }, + { + "name":"ballerinax/ellucian.studentcharges", + "description":"Connects to [Ellucian Student Charges API](https://ellucian.force.com/) from Ballerina" + }, + { + "name":"ballerinax/elmah", + "description":"Connects to [Elmah.io REST API](https://docs.elmah.io/using-the-rest-api/) from Ballerina" + }, + { + "name":"ballerinax/eloqua", + "description":"Connects to [Oracle Eloqua API](https://docs.oracle.com/en/cloud/saas/marketing/eloqua-develop/Developers/GettingStarted/Tutorials/tutorials.htm) from Ballerina" + }, + { + "name":"ballerinax/eventbrite", + "description":"Connects to [Eventbrite API](https://www.eventbrite.com/platform/api) from Ballerina" + }, + { + "name":"ballerinax/exchangerates", + "description":"Connects to ExchangeRate API from Ballerina" + }, + { + "name":"ballerinax/extpose", + "description":"Connects to Extpose API from Ballerina" + }, + { + "name":"ballerinax/facebook.ads", + "description":"Connects to [Facebook Marketing API v12.0](https://developers.facebook.com/docs/marketing-apis) from Ballerina." + }, + { + "name":"ballerinax/figshare", + "description":"Connects to [Figshare API v2.0.0](https://docs.figshare.com/) from Ballerina" + }, + { + "name":"ballerinax/file360", + "description":"Connects to [file360 API v1.0](https://developer.opentext.com/apis/ebc5860f-3e04-4d1b-a8be-b2683738c701/File360) from Ballerina" + }, + { + "name":"ballerinax/files.com", + "description":"Connects to [Files.com API](https://www.files.com/) from Ballerina" + }, + { + "name":"ballerinax/financial.iso20022", + "description":"" + }, + { + "name":"ballerinax/financial.iso20022ToSwiftmt", + "description":"" + }, + { + "name":"ballerinax/financial.iso8583", + "description":"ISO8583 Parser Package" + }, + { + "name":"ballerinax/financial.swift.mt", + "description":"SWIFT MT (Message Type) messages are a set of standardized financial messages used globally in interbank communication, allowing secure and efficient cross-border transactions. These messages follow a specific structure to ensure consistency in financial data exchange, supporting various operations such as payments, securities trading, and treasury transactions." + }, + { + "name":"ballerinax/financial.swiftmtToIso20022", + "description":"" + }, + { + "name":"ballerinax/flatapi", + "description":"Connects to [Flat API](https://flat.io/developers/docs/api/) from Ballerina" + }, + { + "name":"ballerinax/formstack", + "description":"Connects to [Formstack](https://formstack.readme.io/docs/api-overview) from Ballerina" + }, + { + "name":"ballerinax/fraudlabspro.frauddetection", + "description":"Connects to [FraudLabsPro Fraud Detection API](https://www.fraudlabspro.com/developer/api/screen-order) from Ballerina" + }, + { + "name":"ballerinax/fraudlabspro.smsverification", + "description":"Connects to [FraudLabsPro SMS Verification API](https://www.fraudlabspro.com/developer/api/send-verification) from Ballerina" + }, + { + "name":"ballerinax/freshbooks", + "description":"Connects to [FreshBooks API v1](https://www.freshbooks.com/api/start) from Ballerina." + }, + { + "name":"ballerinax/freshdesk", + "description":"Connects to [Freshdesk](https://developers.freshdesk.com/api/#intro) from Ballerina" + }, + { + "name":"ballerinax/fungenerators.barcode", + "description":"Connects to from Ballerina" + }, + { + "name":"ballerinax/fungenerators.uuid", + "description":"Connects to fungenerators.UUID from Ballerina" + }, + { + "name":"ballerinax/gcloud.pubsub", + "description":"[Google Cloud Pub/Sub](https://cloud.google.com/pubsub) is a fully managed, real-time messaging service that enables " + }, + { + "name":"ballerinax/geonames", + "description":"Connects to [Geonames API](https://www.geonames.org/export/JSON-webservices.html) from Ballerina" + }, + { + "name":"ballerinax/giphy", + "description":"Connects to [Giphy](https://developers.giphy.com/docs/api/) from Ballerina" + }, + { + "name":"ballerinax/github", + "description":"[GitHub](https://github.com/) is a widely used platform for version control and collaboration, allowing developers to work together on projects from anywhere. It hosts a vast array of both open-source and private projects, providing a suite of development tools for collaborative software development." + }, + { + "name":"ballerinax/gitlab", + "description":"Connects to [GitLab REST API](https://docs.gitlab.com/ee/api/api_resources.html) from Ballerina" + }, + { + "name":"ballerinax/godaddy.abuse", + "description":"Connects to [GoDaddy Abuse](https://developer.godaddy.com/doc/endpoint/abuse) from Ballerina" + }, + { + "name":"ballerinax/godaddy.aftermarket", + "description":"Connects to [GoDaddy Aftermarket](https://developer.godaddy.com/doc/endpoint/aftermarket) from Ballerina" + }, + { + "name":"ballerinax/godaddy.agreements", + "description":"Connects to [GoDaddy agreements](https://developer.godaddy.com/doc/endpoint/agreements) from Ballerina" + }, + { + "name":"ballerinax/godaddy.certificates", + "description":"Connects to [GoDaddy Certificates](https://developer.godaddy.com/doc/endpoint/certificates) from Ballerina" + }, + { + "name":"ballerinax/godaddy.countries", + "description":"Connects to [GoDaddy Countries](https://developer.godaddy.com/doc/endpoint/countries) from Ballerina" + }, + { + "name":"ballerinax/godaddy.domains", + "description":"Connects to [GoDaddy Domains](https://developer.godaddy.com/doc/endpoint/domains) from Ballerina" + }, + { + "name":"ballerinax/godaddy.orders", + "description":"Connects to [GoDaddy Orders](https://developer.godaddy.com/doc/endpoint/orders) from Ballerina" + }, + { + "name":"ballerinax/godaddy.shopper", + "description":"Connects to [GoDaddy Shoppers](https://developer.godaddy.com/doc/endpoint/shoppers) from Ballerina" + }, + { + "name":"ballerinax/godaddy.subscriptions", + "description":"Connects to [GoDaddy Subscriptions](https://developer.godaddy.com/doc/endpoint/subscriptions) from Ballerina" + }, + { + "name":"ballerinax/googleapis.abusiveexperiencereport", + "description":"Connects to [Google Abusive Experience Report API](https://developers.google.com/abusive-experience-report/) from Ballerina" + }, + { + "name":"ballerinax/googleapis.appsscript", + "description":"Connects to [Google Apps Script API](https://developers.google.com/apps-script/api/) from Ballerina" + }, + { + "name":"ballerinax/googleapis.bigquery", + "description":"Connects to [Google BigQuery API v2.0](https://cloud.google.com/bigquery/docs/reference/rest) from Ballerina" + }, + { + "name":"ballerinax/googleapis.bigquery.datatransfer", + "description":"Connects to [Google BigQuery Data Transfer API v1](https://cloud.google.com/bigquery/docs/reference/rest) from Ballerina" + }, + { + "name":"ballerinax/googleapis.blogger", + "description":"Connects to [Google Blogger API](https://developers.google.com/blogger/docs/3.0/getting_started) from Ballerina" + }, + { + "name":"ballerinax/googleapis.books", + "description":"Connects to [Google Books API v1](https://developers.google.com/books) from Ballerina" + }, + { + "name":"ballerinax/googleapis.calendar", + "description":"Connects to Google Calendar from Ballerina" + }, + { + "name":"ballerinax/googleapis.classroom", + "description":"Connects to [Google Classroom API](https://developers.google.com/classroom/guides/get-started) from Ballerina" + }, + { + "name":"ballerinax/googleapis.cloudbillingaccount", + "description":"Connects to [Google Cloud Billing Account API](https://cloud.google.com/billing/docs/apis) from Ballerina" + }, + { + "name":"ballerinax/googleapis.cloudbuild", + "description":"Connects to [Google Cloud Build](https://cloud.google.com/build/docs/api/reference/rest) from Ballerina" + }, + { + "name":"ballerinax/googleapis.clouddatastore", + "description":"Connects to [Google Cloud Datastore](https://cloud.google.com/datastore/docs/reference/data/rest) from Ballerina" + }, + { + "name":"ballerinax/googleapis.cloudfilestore", + "description":"Connects to [Google Cloud Filestore](https://cloud.google.com/filestore/docs/reference/rest) from Ballerina" + }, + { + "name":"ballerinax/googleapis.cloudfunctions", + "description":"Connects to [Google Cloud Functions](https://cloud.google.com/functions/docs/reference/rest) from Ballerina" + }, + { + "name":"ballerinax/googleapis.cloudnaturallanguage", + "description":"Connects to [Google Cloud Natural Language API](https://cloud.google.com/natural-language/) from Ballerina" + }, + { + "name":"ballerinax/googleapis.cloudpubsub", + "description":"Connects to [Google Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/reference/rest) from Ballerina" + }, + { + "name":"ballerinax/googleapis.cloudscheduler", + "description":"Connects to [Google Cloud Scheduler](https://cloud.google.com/scheduler/docs/reference/rest) from Ballerina" + }, + { + "name":"ballerinax/googleapis.cloudtalentsolution", + "description":"Connects to [Google Cloud Talent Solution API](https://cloud.google.com/talent-solution/job-search/docs/) from Ballerina" + }, + { + "name":"ballerinax/googleapis.cloudtranslation", + "description":"Connects to [Google Cloud Translation API](https://cloud.google.com/translate/docs/quickstarts) from Ballerina" + }, + { + "name":"ballerinax/googleapis.discovery", + "description":"Connects to [Google Discovery API](https://developers.google.com/discovery/v1/reference) from Ballerina" + }, + { + "name":"ballerinax/googleapis.docs", + "description":"Connects to [Google Docs API v1.0](https://developers.google.com/docs/api) from Ballerina" + }, + { + "name":"ballerinax/googleapis.drive", + "description":"Connects to [Google Drive API](https://developers.google.com/drive) from Ballerina" + }, + { + "name":"ballerinax/googleapis.gcalendar", + "description":"The Ballerina Google Calendar Connector provides the capability to manage events and calendar operations. It also provides the capability to support service account authorization that can provide delegated domain-wide access to the GSuite domain and support admins to do operations on behalf of the domain users." + }, + { + "name":"ballerinax/googleapis.gmail", + "description":"[Gmail](https://blog.google/products/gmail/) is a widely-used email service provided by Google LLC, enabling users to send and receive emails over the internet." + }, + { + "name":"ballerinax/googleapis.manufacturercenter", + "description":"Connects to [Google Manufacturer Center API](https://developers.google.com/manufacturers/) from Ballerina" + }, + { + "name":"ballerinax/googleapis.mybusiness", + "description":"Connects to [Google My Business API](https://developers.google.com/my-business/) from Ballerina" + }, + { + "name":"ballerinax/googleapis.oauth2", + "description":"Connects to Google OAuth2 API from Ballerina" + }, + { + "name":"ballerinax/googleapis.people", + "description":"Connects to [Google People API](https://developers.google.com/people/api/rest) from Ballerina." + }, + { + "name":"ballerinax/googleapis.retail", + "description":"Connects to [Google Retail API](https://cloud.google.com/retail/docs/overview) from Ballerina" + }, + { + "name":"ballerinax/googleapis.sheets", + "description":"Connects to [Google Sheets](https://developers.google.com/sheets/api) from Ballerina." + }, + { + "name":"ballerinax/googleapis.slides", + "description":"Connects to [Google Slides API v1](https://developers.google.com/slides/api) from Ballerina" + }, + { + "name":"ballerinax/googleapis.tasks", + "description":"Connects to [Google Tasks API](https://developers.google.com/tasks/get_started) from Ballerina" + }, + { + "name":"ballerinax/googleapis.vault", + "description":"Connects to [Google Vault](https://developers.google.com/vault/reference/rest) from Ballerina" + }, + { + "name":"ballerinax/googleapis.vision", + "description":"Connects to [Google Cloud Vision API](https://cloud.google.com/vision/docs/reference/rest) from Ballerina" + }, + { + "name":"ballerinax/googleapis.youtube.analytics", + "description":"Connects to [Youtube Analytics API](https://developers.google.com/youtube/reporting) from Ballerina" + }, + { + "name":"ballerinax/googleapis.youtube.data", + "description":"Connects to [Youtube Data API](https://developers.google.com/youtube/v3/docs) from Ballerina" + }, + { + "name":"ballerinax/googleapis.youtube.reporting", + "description":"Connects to [Youtube Reporting API](https://developers.google.com/youtube/reporting) from Ballerina" + }, + { + "name":"ballerinax/gotomeeting", + "description":"Connects to [GoToMeeting](https://developer.goto.com/GoToMeetingV1) from Ballerina" + }, + { + "name":"ballerinax/gototraining", + "description":"Connects to [GoToTraining](https://developer.goto.com/GoToTrainingV1/) from Ballerina" + }, + { + "name":"ballerinax/gotowebinar", + "description":"Connects to [GoToWebinar](https://developer.goto.com/GoToWebinarV2/) from Ballerina" + }, + { + "name":"ballerinax/graphhopper.directions", + "description":"Connects to GraphHopper Directions API from Ballerina" + }, + { + "name":"ballerinax/guidewire.insnow", + "description":"[Guidewire InsuranceNow](https://www.guidewire.com/products/insurancenow) is a cloud-based insurance platform offering comprehensive tools for policy, billing, and claims management, designed to streamline operations and improve customer service in the insurance industry." + }, + { + "name":"ballerinax/h2.driver", + "description":"This Package bundles the latest H2 driver so that `java.jdbc` connector can be used in ballerina projects easily." + }, + { + "name":"ballerinax/health.base", + "description":"Package containing some common capabilities used in other health packages" + }, + { + "name":"ballerinax/health.ccda.r3", + "description":"HL7v3 CDA Ballerina Modules" + }, + { + "name":"ballerinax/health.clients.fhir", + "description":"Package containing a generic FHIR client connector that can be used to connect to a FHIR server." + }, + { + "name":"ballerinax/health.clients.fhir.epic", + "description":"FHIR client connector that can be used to connect to a FHIR server and perform common interactions and operations." + }, + { + "name":"ballerinax/health.clients.hl7", + "description":"Package containing a generic HL7 client that can be used to connect to an HL7 Exchange(Server)." + }, + { + "name":"ballerinax/health.fhir.cds", + "description":"Ballerina package containing CDS data models" + }, + { + "name":"ballerinax/health.fhir.r4", + "description":"The package containing the FHIR R4 Data types, Base Resource Types, Error Types, Utilities, etc." + }, + { + "name":"ballerinax/health.fhir.r4.aubase410", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.aubase421", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.aucore040", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.be.allergy100", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.be.clinical100", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.be.core200", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.be.lab100", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.be.medication100", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.be.mycarenet200", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.be.vaccination100", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.carinbb200", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.davincicrd210", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.davincidrugformulary210", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.davincidtr210", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.davincihrex100", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.davincipas", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.davinciplannet120", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.international401", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.ips", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.lkcore010", + "description":"The Ballerina package containing FHIR resource data models compliant with https://lk-gov-health-hiu.github.io/fhir-ig/ " + }, + { + "name":"ballerinax/health.fhir.r4.medcom240", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.parser", + "description":"FHIR Parser is a package facilitates to read, validate, and convert FHIR resources among their serialized formats and structured in-memory representations." + }, + { + "name":"ballerinax/health.fhir.r4.terminology", + "description":"A package containing utilities to perform search, read interactions on FHIR terminologies, including code systems and value sets." + }, + { + "name":"ballerinax/health.fhir.r4.uscore311", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.uscore400", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.uscore501", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.uscore610", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.uscore700", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r4.validator", + "description":"A FHIR validator is a package designed to check the adherence of FHIR resources to the FHIR specification. Validator ensures that FHIR resources follow the defined rules, constraints, and guidelines specified in the FHIR standard." + }, + { + "name":"ballerinax/health.fhir.r4utils", + "description":"Package containing FHIR related processors and utilities for implementing FHIR APIs, FHIR" + }, + { + "name":"ballerinax/health.fhir.r4utils.ccdatofhir", + "description":"Package containing C-CDA to FHIR pre-built mapping functionalities. " + }, + { + "name":"ballerinax/health.fhir.r4utils.deidentify", + "description":"A highly extensible Ballerina package for de-identifying FHIR resources using FHIRPath expressions. This utility provides built-in de-identification operations and also allows developers to implement custom de-identification functions while maintaining FHIR compliance." + }, + { + "name":"ballerinax/health.fhir.r4utils.fhirpath", + "description":"This package provides utilities for working with FHIR resources using FHIRPath expressions. It allows you to query, update, and manipulate FHIR resources in a type-safe manner using Ballerina." + }, + { + "name":"ballerinax/health.fhir.r5", + "description":"The package containing the FHIR R5 Data types, Base Resource Types, Error Types, Utilities, etc." + }, + { + "name":"ballerinax/health.fhir.r5.international500", + "description":"Ballerina package containing FHIR resource data models" + }, + { + "name":"ballerinax/health.fhir.r5.parser", + "description":"FHIR Parser is a package facilitates to read, validate, and convert FHIR resources among their serialized formats and structured in-memory representations." + }, + { + "name":"ballerinax/health.fhir.templates.international401.account", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.activitydefinition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.adverseevent", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.allergyintolerance", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.appointment", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.appointmentresponse", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.auditevent", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.basic", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.biologicallyderivedproduct", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.bodystructure", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.careplan", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.careteam", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.catalogentry", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.chargeitem", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.chargeitemdefinition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.claim", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.claimresponse", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.clinicalimpression", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.communication", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.communicationrequest", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.compartmentdefinition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.composition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.conceptmap", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.condition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.consent", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.contract", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.coverage", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.coverageeligibilityrequest", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.coverageeligibilityresponse", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.detectedissue", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.device", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.devicedefinition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.devicemetric", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.devicerequest", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.deviceusestatement", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.diagnosticreport", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.documentmanifest", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.documentreference", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.effectevidencesynthesis", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.encounter", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.endpoint", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.enrollmentrequest", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.enrollmentresponse", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.episodeofcare", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.eventdefinition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.evidence", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.evidencevariable", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.examplescenario", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.explanationofbenefit", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.familymemberhistory", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.flag", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.goal", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.graphdefinition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.group", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.guidanceresponse", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.healthcareservice", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.imagingstudy", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.immunization", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.immunizationevaluation", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.immunizationrecommendation", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.implementationguide", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.insuranceplan", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.invoice", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.library", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.linkage", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.list", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.location", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.measure", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.measurereport", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.media", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medication", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicationadministration", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicationdispense", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicationknowledge", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicationrequest", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicationstatement", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicinalproduct", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicinalproductauthorization", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicinalproductcontraindication", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicinalproductindication", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicinalproductingredient", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicinalproductinteraction", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicinalproductmanufactured", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicinalproductpackaged", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicinalproductpharmaceutical", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.medicinalproductundesirableeffect", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.messagedefinition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.messageheader", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.molecularsequence", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.namingsystem", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.nutritionorder", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.observation", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.observationdefinition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.operationdefinition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.organization", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.organizationaffiliation", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.parameters", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.patient", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.paymentnotice", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.paymentreconciliation", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.person", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.plandefinition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.practitioner", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.practitionerrole", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.procedure", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.provenance", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.questionnaire", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.questionnaireresponse", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.relatedperson", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.requestgroup", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.researchdefinition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.researchelementdefinition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.researchstudy", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.researchsubject", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.riskassessment", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.riskevidencesynthesis", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.schedule", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.searchparameter", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.servicerequest", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.slot", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.specimen", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.specimendefinition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.structuredefinition", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.structuremap", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.subscription", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.substance", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.substancenucleicacid", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.substancepolymer", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.substanceprotein", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.substancereferenceinformation", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.substancesourcematerial", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.substancespecification", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.supplydelivery", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.supplyrequest", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.task", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.terminologycapabilities", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.testreport", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.testscript", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.verificationresult", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.international401.visionprescription", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.r4.athenaconnect", + "description":"This template can be used to create a project for exposing AthenaHealth as managed API." + }, + { + "name":"ballerinax/health.fhir.templates.r4.cernerconnect", + "description":"This template can be used to create a project for exposing Cerner as managed API." + }, + { + "name":"ballerinax/health.fhir.templates.r4.diagnosticreport", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.r4.encounter", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.r4.epicconnect", + "description":"This template can be used to create a project for exposing Epic as managed API." + }, + { + "name":"ballerinax/health.fhir.templates.r4.metadata", + "description":"This API template provides implementation of FHIR Metadata API. This implements " + }, + { + "name":"ballerinax/health.fhir.templates.r4.observation", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.r4.organization", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.r4.patient", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.r4.practitioner", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.r4.repositorysync", + "description":"This template provides a boilerplate code for rapid implementation of FHIR Repository APIs and syncing the FHIR Repository from Client Source Systems. " + }, + { + "name":"ballerinax/health.fhir.templates.r4.servicerequest", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.r4.smartconfiguration", + "description":"This API template provides API implementation of " + }, + { + "name":"ballerinax/health.fhir.templates.r4.uscore501.encounter", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhir.templates.r4.uscore501.patient", + "description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources." + }, + { + "name":"ballerinax/health.fhirr4", + "description":"Package containing the FHIR R4 service type that can be used for creating FHIR APIs" + }, + { + "name":"ballerinax/health.fhirr5", + "description":"Package containing the FHIR R5 service type that can be used for creating FHIR APIs" + }, + { + "name":"ballerinax/health.hl7v2", + "description":"Package containing core HL7v2 capabilities to implement HL7v2 related integration" + }, + { + "name":"ballerinax/health.hl7v2.utils.v2tofhirr4", + "description":"Package containing HL7v2.x to FHIR pre-built mapping functionalities. " + }, + { + "name":"ballerinax/health.hl7v23", + "description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.3 specification related " + }, + { + "name":"ballerinax/health.hl7v23.utils.v2tofhirr4", + "description":"Package containing HL7v2.3 to FHIR pre-built mapping functionalities. " + }, + { + "name":"ballerinax/health.hl7v231", + "description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.3.1 specification related" + }, + { + "name":"ballerinax/health.hl7v24", + "description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.4 specification related" + }, + { + "name":"ballerinax/health.hl7v25", + "description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.5 specification related" + }, + { + "name":"ballerinax/health.hl7v251", + "description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.5.1 specification related" + }, + { + "name":"ballerinax/health.hl7v26", + "description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.6 specification related" + }, + { + "name":"ballerinax/health.hl7v27", + "description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.7 specification related" + }, + { + "name":"ballerinax/health.hl7v271", + "description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.7.1 specification related" + }, + { + "name":"ballerinax/health.hl7v28", + "description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.8 specification related" + }, + { + "name":"ballerinax/health.hl7v2commons", + "description":"Package containing core HL7v2 common implementations accross HL7 versions to implement HL7v2 related integrations" + }, + { + "name":"ballerinax/hubspot.analytics", + "description":"Connects to [HubSpot Analytics API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.automation.actions", + "description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.associations", + "description":"[HubSpot](https://developers.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.associations.schema", + "description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.commerce.carts", + "description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.commerce.discounts", + "description":"[HubSpot](https://www.hubspot.com/our-story) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.commerce.orders", + "description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.commerce.quotes", + "description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.commerce.taxes", + "description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.company", + "description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.crm.contact", + "description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.crm.deal", + "description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.crm.engagement.meeting", + "description":"[HubSpot ](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.engagement.notes", + "description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.engagements.calls", + "description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.engagements.communications", + "description":"[HubSpot](https://developers.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.engagements.email", + "description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform. " + }, + { + "name":"ballerinax/hubspot.crm.engagements.tasks", + "description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.extensions.timelines", + "description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.extensions.videoconferencing", + "description":"[HubSpot](https://developers.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.feedback", + "description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.crm.import", + "description":"[HubSpot](https://www.hubspot.com/our-story) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.lineitem", + "description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.crm.lists", + "description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.obj.companies", + "description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.obj.contacts", + "description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.obj.deals", + "description":"[HubSpot](https://developers.hubspot.com/docs/reference/api) is is an AI-powered customer platform." + }, + { + "name":"ballerinax/hubspot.crm.obj.feedback", + "description":"[HubSpot](https://developers.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.obj.leads", + "description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.obj.lineitems", + "description":"[HubSpot](https://www.hubspot.com/our-story) is an AI-powered customer platform." + }, + { + "name":"ballerinax/hubspot.crm.obj.products", + "description":"[HubSpot](https://www.hubspot.com/our-story) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.obj.schemas", + "description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.obj.tickets", + "description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.owners", + "description":"[HubSpot](https://developers.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.pipeline", + "description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.crm.pipelines", + "description":"[HubSpot](https://www.hubspot.com/our-story) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.product", + "description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.crm.properties", + "description":"[HubSpot ](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.crm.property", + "description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.crm.quote", + "description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.crm.schema", + "description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.crm.ticket", + "description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.events", + "description":"Connects to [HubSpot Events API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.files", + "description":"Connects to [HubSpot Files API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.marketing", + "description":"Connects to [HubSpot Marketing API](https://developers.hubspot.com/docs/api/overview) from Ballerina" + }, + { + "name":"ballerinax/hubspot.marketing.campaigns", + "description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.marketing.emails", + "description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform. " + }, + { + "name":"ballerinax/hubspot.marketing.events", + "description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.marketing.forms", + "description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.marketing.subscriptions", + "description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/hubspot.marketing.transactional", + "description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform." + }, + { + "name":"ballerinax/ibm.ctg", + "description":"[IBM CICS Transaction Gateway (CTG)](https://www.ibm.com/products/cics-transaction-gateway) is a robust middleware solution that facilitates communication between distributed applications and IBM CICS Transaction Servers." + }, + { + "name":"ballerinax/ibm.ibmmq", + "description":"[IBM MQ](https://www.ibm.com/products/mq) is a powerful messaging middleware platform designed for facilitating reliable" + }, + { + "name":"ballerinax/icons8", + "description":"Connects to [Icons8](https://developers.icons8.com/docs/getting-started) from Ballerina" + }, + { + "name":"ballerinax/idetraceprovider", + "description":"The IdeTraceProvider Observability Extension is a lightweight tracing extension for the Ballerina language." + }, + { + "name":"ballerinax/impala", + "description":"Connects to [Impala](https://docs.impala.travel/docs/booking-api/branches/v1.003/YXBpOjQwMDYwNDY-impala-hotel-booking-api) from Ballerina" + }, + { + "name":"ballerinax/insightly.custom", + "description":"Connects to [Insightly API v3.1](https://www.insightly.com/) from Ballerina." + }, + { + "name":"ballerinax/instagram", + "description":"Connects to [Instagram Basic Display API v12.0](https://developers.facebook.com/docs/instagram-basic-display-api) from Ballerina." + }, + { + "name":"ballerinax/instagram.bussiness", + "description":"Connects to [Instagram Graph API v12.0](https://developers.facebook.com/docs/instagram-basic-display-api) from Ballerina." + }, + { + "name":"ballerinax/interzoid.convertcurrency", + "description":"Connects to [Interzoid Convert Currency API](https://www.interzoid.com/services/convertcurrency) from Ballerina." + }, + { + "name":"ballerinax/interzoid.currencyexchange", + "description":"Connects to [Interzoid Get Currency Rate API](https://www.interzoid.com/services/getcurrencyrate) from Ballerina." + }, + { + "name":"ballerinax/interzoid.currencyrate", + "description":"Connects to [Interzoid Currency Rate API v1.0.0](https://interzoid.com/services/getcurrencyrate) from Ballerina." + }, + { + "name":"ballerinax/interzoid.emailinfo", + "description":"Connects to [Interzoid Email Info API](https://interzoid.com/services/getemailinfo) from Ballerina." + }, + { + "name":"ballerinax/interzoid.globalnumberinfo", + "description":"Connects to [Interzoid Global Phone Number Information API v1.0.0](https://interzoid.com/services/getglobalnumberinfo) from Ballerina." + }, + { + "name":"ballerinax/interzoid.globalpageload", + "description":"Connects to [Interzoid Global Page Load Performance API](https://interzoid.com/services/globalpageload) from Ballerina." + }, + { + "name":"ballerinax/interzoid.globaltime", + "description":"Connects to [Interzoid Get Global Time API](https://www.interzoid.com/services/getglobaltime) from Ballerina." + }, + { + "name":"ballerinax/interzoid.statedata", + "description":"Connects to [Interzoid State Data API](https://www.interzoid.com/services/getstateabbreviation) from Ballerina." + }, + { + "name":"ballerinax/interzoid.weatherzip", + "description":"Connects to [Interzoid Weather Zip API](https://interzoid.com/services/getweatherzip) from Ballerina." + }, + { + "name":"ballerinax/interzoid.zipinfo", + "description":"Connects to [Interzoid Zip Code Detailed Information API](https://www.interzoid.com/services/getzipcodeinfo) from Ballerina." + }, + { + "name":"ballerinax/ip2whois", + "description":"Connects to IP2WHOIS API from Ballerina" + }, + { + "name":"ballerinax/ipgeolocation", + "description":"Connects to [IP Geolocation API ](https://www.abstractapi.com/ip-geolocation-api#docs) from Ballerina." + }, + { + "name":"ballerinax/iptwist", + "description":"Connects to [ipTwist API v1](https://iptwist.com/) from Ballerina" + }, + { + "name":"ballerinax/iris.disputeresponder", + "description":"Connects to [IRIS Dispute Responder API](https://www.iriscrm.com/api) from Ballerina" + }, + { + "name":"ballerinax/iris.esignature", + "description":"Connects to [IRIS E-Signature API](https://www.iriscrm.com/api) from Ballerina" + }, + { + "name":"ballerinax/iris.helpdesk", + "description":"Connects to [IRIS Helpdesk API](https://www.iriscrm.com/api) from Ballerina" + }, + { + "name":"ballerinax/iris.lead", + "description":"Connects to [IRIS Lead API](https://www.iriscrm.com/api) from Ballerina" + }, + { + "name":"ballerinax/iris.merchants", + "description":"Connects to [IRIS Merchants API](https://www.iriscrm.com/api) from Ballerina" + }, + { + "name":"ballerinax/iris.residuals", + "description":"Connects to [IRIS Residuals API](https://www.iriscrm.com/api) from Ballerina" + }, + { + "name":"ballerinax/iris.subscriptions", + "description":"Connects to [IRIS Subscriptions API](https://www.iriscrm.com/api) from Ballerina" + }, + { + "name":"ballerinax/isbndb", + "description":"Connects to [ISBNdb API](https://isbndb.com/apidocs/v2) from Ballerina." + }, + { + "name":"ballerinax/isendpro", + "description":"Connects to [iSendPro](https://www.isendpro.com/docs/?type=7) from Ballerina." + }, + { + "name":"ballerinax/jaeger", + "description":"The Jaeger Observability Extension is one of the tracing extensions of the Ballerina language." + }, + { + "name":"ballerinax/java.jdbc", + "description":"This package provides the functionality that is required to access and manipulate data stored in any type of relational database," + }, + { + "name":"ballerinax/java.jms", + "description":"The `ballerinax/java.jms` package provides an API to connect to an external JMS provider like ActiveMQ from Ballerina." + }, + { + "name":"ballerinax/jira", + "description":"[Jira](https://www.atlassian.com/software/jira) is a powerful project management and issue tracking platform developed by Atlassian, widely used for agile software development, bug tracking, and workflow management." + }, + { + "name":"ballerinax/jira.servicemanagement", + "description":"Connects to [Jira Service Management Cloud REST API](https://developer.atlassian.com/cloud/jira/service-desk/) from Ballerina." + }, + { + "name":"ballerinax/journey.io", + "description":"Connects to [Journey.io API](https://developers.journy.io/) from Ballerina" + }, + { + "name":"ballerinax/kafka", + "description":"This package provides an implementation to interact with Kafka Brokers via Kafka Consumer and Kafka Producer clients." + }, + { + "name":"ballerinax/karbon", + "description":"Connects to [Karbon API](https://developers.karbonhq.com/api) from Ballerina" + }, + { + "name":"ballerinax/keap", + "description":"Connects to [Keap API](https://developer.infusionsoft.com/docs/rest) from Ballerina" + }, + { + "name":"ballerinax/kinto", + "description":"Connects to [Kinto](https://docs.kinto-storage.org/en/stable/api/index.html) from Ballerina" + }, + { + "name":"ballerinax/launchdarkly", + "description":"Connects to [LaunchDarkly](https://apidocs.launchdarkly.com/) from Ballerina" + }, + { + "name":"ballerinax/leanix.integrationapi", + "description":"Connects to [LeanIX Integration API](https://eu.leanix.net/services/integration-api/v1/docs/) from Ballerina." + }, + { + "name":"ballerinax/listen.notes", + "description":"Connects to [Listen Notes API v2.0](https://www.listennotes.com/) from Ballerina" + }, + { + "name":"ballerinax/livestorm", + "description":"Connects to [Livestorm API](https://developers.livestorm.co/docs) from Ballerina" + }, + { + "name":"ballerinax/logoraisr", + "description":"Connects to [Logoraisr API](https://docs.logoraisr.com/) from Ballerina." + }, + { + "name":"ballerinax/magento.address", + "description":"Connects to [Magento REST API v2](https://devdocs.magento.com/guides/v2.4/get-started/rest_front.html) from Ballerina" + }, + { + "name":"ballerinax/magento.async.customer", + "description":"Connects to [Magento Magento Asynchronous Customer REST endpoints API v2.3.5](https://devdocs.magento.com/guides/v2.4/get-started/rest_front.html) from Ballerina" + }, + { + "name":"ballerinax/magento.cart", + "description":"Connects to [Magento REST API v2](https://devdocs.magento.com/guides/v2.4/get-started/rest_front.html) from Ballerina" + }, + { + "name":"ballerinax/mailchimp", + "description":"Connects to Mailchimp Marketing API from Ballerina" + }, + { + "name":"ballerinax/mailchimp.marketing", + "description":"[Mailchimp Marketing Email](https://mailchimp.com) is a powerful and user-friendly platform provided by Intuit Mailchimp, designed for creating, managing, and optimizing targeted email campaigns. It enables businesses to engage customers with personalized marketing emails, automated workflows, and insightful analytics to drive growth and build lasting relationships." + }, + { + "name":"ballerinax/mailchimp.transactional", + "description":"[Mailchimp Transactional Email](https://mailchimp.com/developer/transactional/) is a reliable and scalable email delivery service provided by Intuit Mailchimp, designed for sending data-driven transactional emails such as password resets, order confirmations, and notifications." + }, + { + "name":"ballerinax/mailscript", + "description":"Connects to [Mailscript](https://docs.mailscript.com/#api) from Ballerina." + }, + { + "name":"ballerinax/mathtools.numbers", + "description":"Connects to [Numbers API](https://math.tools/api/numbers/) from Ballerina." + }, + { + "name":"ballerinax/medium", + "description":"The `ballerinax\\medium` is a [Ballerina](https://ballerina.io/) connector for Medium." + }, + { + "name":"ballerinax/metrics.logs", + "description":"The Metrics Logs Observability Extension is used to enable Ballerina metrics logs to be observed by OpenSearch." + }, + { + "name":"ballerinax/mi", + "description":"" + }, + { + "name":"ballerinax/microsoft.dynamics365businesscentral", + "description":"Connects to [Dynamics 365 Business Central API](https://dynamics.microsoft.com/en-us/business-central/overview/) from Ballerina" + }, + { + "name":"ballerinax/microsoft.excel", + "description":"Connects to Microsoft Excel from Ballerina" + }, + { + "name":"ballerinax/microsoft.onedrive", + "description":"[Microsoft OneDrive](https://central.ballerina.io/ballerinax/microsoft.onedrive/latest) is a cloud-based file storage service provided by Microsoft, allowing users and organizations to store, share, and manage files securely online." + }, + { + "name":"ballerinax/microsoft.onenote", + "description":"Connects to Microsoft OneNote from Ballerina" + }, + { + "name":"ballerinax/microsoft.outlook.calendar", + "description":"Connects to Microsoft Outlook Calendar from Ballerina" + }, + { + "name":"ballerinax/microsoft.outlook.mail", + "description":"Connects to Microsoft Outlook Mail from Ballerina" + }, + { + "name":"ballerinax/microsoft.teams", + "description":"Connects to Microsoft Teams from Ballerina." + }, + { + "name":"ballerinax/milvus", + "description":"[Milvus](https://milvus.io/) is an open-source vector database built for scalable similarity search and AI applications. It provides high-performance vector storage and retrieval capabilities, making it ideal for applications involving machine learning, deep learning, and similarity search scenarios." + }, + { + "name":"ballerinax/mistral", + "description":"[Mistral AI](https://chat.mistral.ai/chat?q=) is a research lab focused on developing the best open-source AI models. It provides developers and businesses with powerful [APIs](https://docs.mistral.ai/api/) and tools to build innovative applications using both free and commercial large language models." + }, + { + "name":"ballerinax/mitto.sms", + "description":"Connects to [Mitto SMS and Bulk SMS APIs](https://docs.mitto.ch/sms-api-reference/) from Ballerina" + }, + { + "name":"ballerinax/moesif", + "description":"The Moesif observability extension is one of the observability extensions of the Ballerina language." + }, + { + "name":"ballerinax/mongodb", + "description":"[MongoDB](https://docs.mongodb.com/v4.2/) is a general purpose, document-based, distributed database built for modern application developers and for the cloud era. MongoDB offers both a Community and an Enterprise version of the database." + }, + { + "name":"ballerinax/mssql", + "description":"This module provides the functionality required to access and manipulate data stored in an MSSQL database." + }, + { + "name":"ballerinax/mssql.cdc.driver", + "description":"This library provides the necessary Debezium drivers required for the CDC (Change Data Capture) connector in Ballerina." + }, + { + "name":"ballerinax/mssql.driver", + "description":"This Package bundles the latest MSSQL driver so that the mssql connector can be used in ballerina projects easily." + }, + { + "name":"ballerinax/mysql", + "description":"This module provides the functionality required to access and manipulate data stored in a MySQL database." + }, + { + "name":"ballerinax/mysql.cdc.driver", + "description":"This library provides the necessary Debezium drivers required for the CDC (Change Data Capture) connector in Ballerina. It enables listening to changes in MySQL databases seamlessly within Ballerina projects." + }, + { + "name":"ballerinax/mysql.driver", + "description":"This Package bundles the latest MySQL driver so that mysql connector can be used in ballerina projects easily." + }, + { + "name":"ballerinax/namsor", + "description":"Connects to [NamSor](https://v2.namsor.com/NamSorAPIv2/index.html) from Ballerina" + }, + { + "name":"ballerinax/nats", + "description":"This package provides the capability to send and receive messages by connecting to the NATS server." + }, + { + "name":"ballerinax/neutrino", + "description":"Connects to [Neutrino API](https://www.neutrinoapi.com/api/api-basics/) from Ballerina" + }, + { + "name":"ballerinax/newrelic", + "description":"The New Relic Observability Extension is one of the observability extensions in the Ballerina language." + }, + { + "name":"ballerinax/newsapi", + "description":"Connects to [News API](https://newsapi.org/docs) from Ballerina" + }, + { + "name":"ballerinax/notion", + "description":"Connects to Notion API from Ballerina" + }, + { + "name":"ballerinax/nowpayments", + "description":"Connects to NOWPayments API from Ballerina" + }, + { + "name":"ballerinax/np", + "description":"This library module provides implementations of `ballerina/np:ModelProvider` to use explicitly with natural expressions." + }, + { + "name":"ballerinax/nytimes.archive", + "description":"Connects to [New York Times Archive API](https://developer.nytimes.com/docs/archive-product/1/overview) from Ballerina" + }, + { + "name":"ballerinax/nytimes.articlesearch", + "description":"Connects to [New York Times Article Search API](https://developer.nytimes.com/docs/articlesearch-product/1/overview) from Ballerina" + }, + { + "name":"ballerinax/nytimes.books", + "description":"Connects to [New York Times Books API](https://developer.nytimes.com/docs/books-product/1/overview) from Ballerina" + }, + { + "name":"ballerinax/nytimes.mostpopular", + "description":"Connects to [New York Times Most Popular API](https://developer.nytimes.com/docs/most-popular-product/1/overview) from Ballerina" + }, + { + "name":"ballerinax/nytimes.moviereviews", + "description":"Connects to [New York Times Movie Reviews API](https://developer.nytimes.com/docs/movie-reviews-api/1/overview) from Ballerina" + }, + { + "name":"ballerinax/nytimes.newswire", + "description":"Connects to [New York Times Newswire API](https://developer.nytimes.com/docs/timeswire-product/1/overview) from Ballerina" + }, + { + "name":"ballerinax/nytimes.semantic", + "description":"Connects to [New York Times Semantic API](https://developer.nytimes.com/docs/semantic-api-product/1/overview) from Ballerina" + }, + { + "name":"ballerinax/nytimes.timestags", + "description":"Connects to [New York Times TimesTags API](https://developer.nytimes.com/docs/timestags-product/1/overview) from Ballerina" + }, + { + "name":"ballerinax/nytimes.topstories", + "description":"Connects to [New York Times Top Stories API](https://developer.nytimes.com/docs/top-stories-product/1/overview) from Ballerina" + }, + { + "name":"ballerinax/ocpi", + "description":"Connects to Open Charge Networks(OCNs) from Ballerina" + }, + { + "name":"ballerinax/odweather", + "description":"Connects to [ODWeather](https://api.oceandrivers.com/) from Ballerina" + }, + { + "name":"ballerinax/onepassword", + "description":"Connects to [1Password Connect API API](https://1password.com/) from Ballerina" + }, + { + "name":"ballerinax/openai", + "description":"[OpenAI](https://openai.com/) provides a suite of powerful AI models and services for natural language processing, code generation, image understanding, and more." + }, + { + "name":"ballerinax/openai.audio", + "description":"[OpenAI](https://openai.com/), an AI research organization focused on creating friendly AI for humanity, offers the [OpenAI API](https://platform.openai.com/docs/api-reference/introduction) to access its powerful AI models for tasks like natural language processing and image generation." + }, + { + "name":"ballerinax/openai.chat", + "description":"[OpenAI](https://openai.com/), an AI research organization focused on creating friendly AI for humanity, offers the [OpenAI API](https://platform.openai.com/docs/api-reference/introduction) to access its powerful AI models for tasks like natural language processing and image generation." + }, + { + "name":"ballerinax/openai.embeddings", + "description":"Connects to the OpenAI Embeddings API from Ballerina with the `ballerinax/openai.embeddings` package." + }, + { + "name":"ballerinax/openai.finetunes", + "description":"[OpenAI](https://openai.com/), an AI research organization focused on creating friendly AI for humanity, offers the [OpenAI API](https://platform.openai.com/docs/api-reference/introduction) to access its powerful AI models for tasks like natural language processing and image generation." + }, + { + "name":"ballerinax/openai.images", + "description":"[OpenAI](https://openai.com/), an AI research organization focused on creating friendly AI for humanity, offers the [OpenAI API](https://platform.openai.com/docs/api-reference/introduction) to access its powerful AI models for tasks like natural language processing and image generation." + }, + { + "name":"ballerinax/openai.moderations", + "description":"Connects to the OpenAI Moderations API from Ballerina with the `ballerinax/openai.moderations` package." + }, + { + "name":"ballerinax/openai.text", + "description":"Connects to the OpenAI Completions API from Ballerina with the `ballerinax/openai.text` package." + }, + { + "name":"ballerinax/openair", + "description":"Connects to [OpenAir](https://www.openair.com/download/OpenAirRESTAPIGuide.pdf) from Ballerina" + }, + { + "name":"ballerinax/opendesign", + "description":"Connects to [Open Design REST API v0.3.4](https://opendesign.dev/docs/api-reference/introduction) from Ballerina" + }, + { + "name":"ballerinax/openfigi", + "description":"Connects to [OpenFIGI](https://www.openfigi.com/) from Ballerina" + }, + { + "name":"ballerinax/openweathermap", + "description":"Connects to [Openweathermap API](https://openweathermap.org/) from Ballerina." + }, + { + "name":"ballerinax/optimizely", + "description":"Connects to [Optimizely API v2](https://www.optimizely.com/) from Ballerina." + }, + { + "name":"ballerinax/optirtc.public", + "description":"Connects to [Optirtc Public API](https://docs.optirtc.com/api/opti-publicapi-v1.html) from Ballerina" + }, + { + "name":"ballerinax/optitune", + "description":"Connects to [OptiTune API](https://manage.opti-tune.com/help/site/articles/api/default.html) from Ballerina" + }, + { + "name":"ballerinax/oracledb", + "description":"This package provides the functionality required to access and manipulate data stored in an Oracle database." + }, + { + "name":"ballerinax/oracledb.driver", + "description":"This Package bundles the latest OracleDB drivers so that the OracleDB connector can be used in ballerina projects easily." + }, + { + "name":"ballerinax/orbitcrm", + "description":"Connects to [Orbit CRM API](https://docs.orbit.love/reference/about-the-orbit-api) from Ballerina." + }, + { + "name":"ballerinax/owler", + "description":"Connects to [Owler API](https://corp.owler.com/) from Ballerina" + }, + { + "name":"ballerinax/pagerduty", + "description":"Connects to [Pagerduty API](https://developer.pagerduty.com/api-reference/) from Ballerina" + }, + { + "name":"ballerinax/pandadoc", + "description":"Connects to [PandaDoc API](https://developers.pandadoc.com/reference/about) from Ballerina" + }, + { + "name":"ballerinax/paylocity", + "description":"Connects to [Paylocity](https://www.paylocity.com/our-products/integrations/api-library/) from Ballerina" + }, + { + "name":"ballerinax/paypal.invoices", + "description":"[PayPal](https://www.paypal.com/) is a global online payment platform enabling individuals and businesses to securely send and receive money, process transactions, and access merchant services across multiple currencies." + }, + { + "name":"ballerinax/paypal.orders", + "description":"[PayPal](https://www.paypal.com/) is a global online payment platform enabling individuals and businesses to securely send and receive money, process transactions, and access merchant services across multiple currencies." + }, + { + "name":"ballerinax/paypal.payments", + "description":"[PayPal](https://www.paypal.com/) is a global online payment platform enabling individuals and businesses to securely send and receive money, process transactions, and access merchant services across multiple currencies." + }, + { + "name":"ballerinax/paypal.subscriptions", + "description":"[PayPal](https://www.paypal.com/) is a global online payment platform enabling individuals and businesses to securely send and receive money, process transactions, and access merchant services across multiple currencies." + }, + { + "name":"ballerinax/pdfbroker", + "description":"Connects to [PDFBroker.io](https://www.pdfbroker.io/) from Ballerina." + }, + { + "name":"ballerinax/peoplehr", + "description":"Connects to [PeopleHR API](https://apidocs.peoplehr.com) from Ballerina" + }, + { + "name":"ballerinax/pinecone.index", + "description":"Connects to the `Index Operations` under [Pinecone Vector Database API](https://docs.pinecone.io/reference) from Ballerina." + }, + { + "name":"ballerinax/pinecone.vector", + "description":"Connects to the `Vector Operations` under [Pinecone Vector Database API](https://docs.pinecone.io/reference) from Ballerina." + }, + { + "name":"ballerinax/pipedrive", + "description":"Connects to [Pipedrive API](https://developers.pipedrive.com/docs/api/v1) from Ballerina" + }, + { + "name":"ballerinax/plaid", + "description":"Connects to [Plaid API](https://plaid.com/docs/api/) from Ballerina" + }, + { + "name":"ballerinax/pocketsmith", + "description":"Connects to [PocketSmith REST API](https://developers.pocketsmith.com/reference) from Ballerina" + }, + { + "name":"ballerinax/postgresql", + "description":"This module provides the functionality required to access and manipulate data stored in a PostgreSQL database." + }, + { + "name":"ballerinax/postgresql.cdc.driver", + "description":"This library provides the necessary Debezium drivers required for the CDC (Change Data Capture) connector in Ballerina." + }, + { + "name":"ballerinax/postgresql.driver", + "description":"This Package bundles the latest PostgreSQL drivers so that the PostgreSQL connector can be used in ballerina projects easily." + }, + { + "name":"ballerinax/power.bi", + "description":"Connects to [Power BI API v1.0](https://powerbi.microsoft.com/en-us/) from Ballerina." + }, + { + "name":"ballerinax/powertoolsdeveloper.collections", + "description":"Connects to [Apptigent Powertools Developer Collections API](https://portal.apptigent.com/node/612) from Ballerina" + }, + { + "name":"ballerinax/powertoolsdeveloper.data", + "description":"Connects to [Apptigent Powertools Developer Data API](https://portal.apptigent.com/node/612) from Ballerina" + }, + { + "name":"ballerinax/powertoolsdeveloper.datetime", + "description":"Connects to [Apptigent Powertools Developer DataTime API](https://portal.apptigent.com/node/612) from Ballerina" + }, + { + "name":"ballerinax/powertoolsdeveloper.files", + "description":"Connects to [Apptigent Powertools Developer Files API](https://portal.apptigent.com/node/612) from Ballerina" + }, + { + "name":"ballerinax/powertoolsdeveloper.finance", + "description":"Connects to [Apptigent Powertools Developer Finance API](https://portal.apptigent.com/node/612) from Ballerina" + }, + { + "name":"ballerinax/powertoolsdeveloper.math", + "description":"Connects to [Apptigent Powertools Developer Math API](https://portal.apptigent.com/node/612) from Ballerina" + }, + { + "name":"ballerinax/powertoolsdeveloper.text", + "description":"Connects to [Apptigent Powertools Developer Text API](https://portal.apptigent.com/node/612) from Ballerina" + }, + { + "name":"ballerinax/powertoolsdeveloper.weather", + "description":"Connects to [Apptigent Powertools Developer Weather API](https://portal.apptigent.com/node/904) from Ballerina" + }, + { + "name":"ballerinax/prodpad", + "description":"Connects to [ProdPad API v1.0](https://www.prodpad.com/) from Ballerina" + }, + { + "name":"ballerinax/prometheus", + "description":"The Prometheus Observability Extension is one of the metrics extensions of the Ballerina language." + }, + { + "name":"ballerinax/pushcut", + "description":"Connects to [Pushcut API](https://www.pushcut.io/webapi.html) from Ballerina" + }, + { + "name":"ballerinax/quickbase", + "description":"Connects to [Quickbase API v1](https://developer.quickbase.com/) from Ballerina." + }, + { + "name":"ballerinax/quickbooks.online", + "description":"Connects to [QuickBooks API v3](https://developer.intuit.com/app/developer/qbo/docs/get-started) from Ballerina." + }, + { + "name":"ballerinax/rabbitmq", + "description":"This module provides the capability to send and receive messages by connecting to the RabbitMQ server." + }, + { + "name":"ballerinax/readme", + "description":"Connects to [Readme](https://docs.readme.com/reference) from Ballerina" + }, + { + "name":"ballerinax/reckon.one", + "description":"Connects to [Reckon One API](https://developer.reckon.com/api-details#api=reckon-one-api-v2) from Ballerina" + }, + { + "name":"ballerinax/recurly", + "description":"Connects to [Recurly API](https://developers.recurly.com/api/v2021-02-25/index.html) from Ballerina" + }, + { + "name":"ballerinax/redis", + "description":"[Redis](https://redis.io/) is an open-source, in-memory data structure store that can be used as a database," + }, + { + "name":"ballerinax/ritekit", + "description":"Connects to [RiteKit](https://documenter.getpostman.com/view/2010712/SzS7Qku5?version=latest) from Ballerina" + }, + { + "name":"ballerinax/ronin", + "description":"Connects to [Ronin API](https://www.roninapp.com/api) from Ballerina" + }, + { + "name":"ballerinax/rumble.run", + "description":"Connects to [Rumble](https://www.rumble.run/docs/) from Ballerina" + }, + { + "name":"ballerinax/sakari", + "description":"Connects to Sakari SMS API from Ballerina" + }, + { + "name":"ballerinax/salesforce", + "description":"Salesforce Sales Cloud is one of the leading Customer Relationship Management(CRM) software, provided by Salesforce.Inc. Salesforce enable users to efficiently manage sales and customer relationships through its APIs, robust and secure databases, and analytics services. Sales cloud provides serveral API packages to make operations on sObjects and metadata, execute queries and searches, and listen to change events through API calls using REST, SOAP, and CometD protocols. " + }, + { + "name":"ballerinax/salesforce.einstein", + "description":"Connects to [Einstein Vision and Einstein Language Services API](https://metamind.readme.io/reference#predictive-vision-service-api) from Ballerina." + }, + { + "name":"ballerinax/salesforce.marketingcloud", + "description":"[Salesforce Marketing Cloud](https://www.salesforce.com/products/marketing-cloud/overview/) is a leading digital marketing platform that enables businesses to manage and automate customer journeys, email campaigns, and personalized messaging." + }, + { + "name":"ballerinax/salesforce.pardot", + "description":"Connects to [Salesforce Pardot API v5](https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html) from Ballerina." + }, + { + "name":"ballerinax/samcart", + "description":"Connects to [SamCart API](https://developer.samcart.com/) from Ballerina" + }, + { + "name":"ballerinax/sap", + "description":"[SAP](https://www.sap.com/india/index.html) is a global leader in enterprise resource planning (ERP) software. Beyond" + }, + { + "name":"ballerinax/sap.commerce.webservices", + "description":"[SAP Commerce Cloud](https://www.sap.com/products/crm/commerce-cloud.html) is a comprehensive e-commerce platform that enables businesses to deliver personalized, omnichannel shopping experiences across all touchpoints, from web and mobile to social and in-store interactions." + }, + { + "name":"ballerinax/sap.fieldglass.approval", + "description":"Connects to [SAP Fieldglass Approval API API v1.0.0](https://api.sap.com/api/approvals/overview) from Ballerina" + }, + { + "name":"ballerinax/sap.jco", + "description":"[SAP](https://www.sap.com/india/index.html) is a global leader in enterprise resource planning (ERP) software. Beyond" + }, + { + "name":"ballerinax/sap.s4hana.api_sales_inquiry_srv", + "description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution," + }, + { + "name":"ballerinax/sap.s4hana.api_sales_order_simulation_srv", + "description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution," + }, + { + "name":"ballerinax/sap.s4hana.api_sales_order_srv", + "description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution," + }, + { + "name":"ballerinax/sap.s4hana.api_sales_quotation_srv", + "description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution," + }, + { + "name":"ballerinax/sap.s4hana.api_salesdistrict_srv", + "description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution," + }, + { + "name":"ballerinax/sap.s4hana.api_salesorganization_srv", + "description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution," + }, + { + "name":"ballerinax/sap.s4hana.api_sd_incoterms_srv", + "description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution," + }, + { + "name":"ballerinax/sap.s4hana.api_sd_sa_soldtopartydetn", + "description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution," + }, + { + "name":"ballerinax/sap.s4hana.ce_salesorder_0001", + "description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution," + }, + { + "name":"ballerinax/sap.s4hana.salesarea_0001", + "description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution," + }, + { + "name":"ballerinax/sap.successfactors.litmos", + "description":"Connects to [SAP SuccessFactors Litmos API v1.0](https://api.sap.com/api/LitmosAPIdetails/resource) from Ballerina" + }, + { + "name":"ballerinax/saps4hana.externaltaxcalculation.taxquote", + "description":"Connects to [SAP S/4HANA Integration with External Tax Calculation Engine API - Tax Determination and Calculation via Integration Flow API v1.0.0](https://api.sap.com/api/taxquote/overview) from Ballerina" + }, + { + "name":"ballerinax/saps4hana.itcm.accountreceivable", + "description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina" + }, + { + "name":"ballerinax/saps4hana.itcm.agreement", + "description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina" + }, + { + "name":"ballerinax/saps4hana.itcm.currency", + "description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina" + }, + { + "name":"ballerinax/saps4hana.itcm.customer", + "description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina" + }, + { + "name":"ballerinax/saps4hana.itcm.customerhierarchy", + "description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina" + }, + { + "name":"ballerinax/saps4hana.itcm.organizationaldata", + "description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina" + }, + { + "name":"ballerinax/saps4hana.itcm.product", + "description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina" + }, + { + "name":"ballerinax/saps4hana.itcm.producthierarchy", + "description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina" + }, + { + "name":"ballerinax/saps4hana.itcm.promotion", + "description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina" + }, + { + "name":"ballerinax/saps4hana.itcm.uom", + "description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina" + }, + { + "name":"ballerinax/saps4hana.itcm.user", + "description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina" + }, + { + "name":"ballerinax/saps4hana.pp.idm", + "description":"Connects to [SAP S/4HANA for Procurement Planning System for Cross-domain Identity Management API v1.0.0](https://api.sap.com/api/SCIMService/overview) from Ballerina" + }, + { + "name":"ballerinax/saps4hana.wls.screeninghits", + "description":"Connects to [SAPS4HANA SAP Watch List Screening Hits API v1.7](https://api.sap.com/api/ScreeningHits/resource) from Ballerina" + }, + { + "name":"ballerinax/scim", + "description":"SCIM (System for Cross-domain Identity Management) is a widely-adopted standard protocol for automating the exchange of user identity information between identity domains, or IT systems." + }, + { + "name":"ballerinax/selz", + "description":"Connects to [Selz API](https://developer.selz.com/api/reference) from Ballerina" + }, + { + "name":"ballerinax/sendgrid", + "description":"Connects to [Sendgrid API](https://docs.sendgrid.com/for-developers) from Ballerina." + }, + { + "name":"ballerinax/servicenow", + "description":"Connects to [ServiceNow REST API ](https://developer.servicenow.com/dev.do#!/reference/api/quebec/rest) from Ballerina." + }, + { + "name":"ballerinax/shippit", + "description":"Connects to [Shippit API](https://developer.shippit.com) from Ballerina" + }, + { + "name":"ballerinax/shipstation", + "description":"Connects to [ShipStation API](https://www.shipstation.com/docs/api/) from Ballerina" + }, + { + "name":"ballerinax/shipwire.carrier", + "description":"Connects to [Shipwire Carrier API](https://www.shipwire.com/developers/carrier/) from Ballerina" + }, + { + "name":"ballerinax/shipwire.containers", + "description":"Connects to [Shipwire Containers API](https://www.shipwire.com/developers/container/) from Ballerina" + }, + { + "name":"ballerinax/shipwire.receivings", + "description":"Connects to [Shipwire Receivings API](https://www.shipwire.com/developers/receiving) from Ballerina" + }, + { + "name":"ballerinax/shipwire.warehouse", + "description":"Connects to [Shipwire Warehouses API](https://www.shipwire.com/developers/warehouse) from Ballerina" + }, + { + "name":"ballerinax/shopify.admin", + "description":"Connects to [Shopify Admin API](https://shopify.dev/api/admin-rest) from Ballerina" + }, + { + "name":"ballerinax/shortcut", + "description":"Connects to [Shortcut API](https://shortcut.com/api/rest/v3) from Ballerina" + }, + { + "name":"ballerinax/shorten.rest", + "description":"Connects to [Shorten.REST](https://docs.shorten.rest/) from Ballerina" + }, + { + "name":"ballerinax/siemens.analytics.anomalydetection", + "description":"Connects to [Siemens Analytics Anomaly Detection API](https://developer.mindsphere.io/apis/analytics-anomalydetection/api-anomalydetection-api-swagger-3-4-0.html) from Ballerina" + }, + { + "name":"ballerinax/siemens.iotandstorage.iotfileservice", + "description":"Connects to [Siemens IoT File Service API](https://developer.mindsphere.io/apis/iot-iotfile/api-iotfile-overview.html) from Ballerina" + }, + { + "name":"ballerinax/siemens.platformcore.identitymanagement", + "description":"Connects to [Siemens Identity Management API](https://developer.mindsphere.io/apis/core-identitymanagement/api-identitymanagement-overview.html) from Ballerina" + }, + { + "name":"ballerinax/sinch.conversation", + "description":"Connects to [Sinch Conversation API v1.0](https://www.sinch.com/) from Ballerina" + }, + { + "name":"ballerinax/sinch.sms", + "description":"Connects to [Sinch SMS API v1](https://www.sinch.com/) from Ballerina" + }, + { + "name":"ballerinax/sinch.verification", + "description":"Connects to [Sinch Verification API v2.0](https://www.sinch.com/) from Ballerina" + }, + { + "name":"ballerinax/sinch.voice", + "description":"Connects to [Sinch Voice API v1.0.0](https://www.sinch.com/) from Ballerina" + }, + { + "name":"ballerinax/slack", + "description":"[Slack](https://slack.com/) is a collaboration platform for teams, offering real-time messaging, file sharing, and integrations with various tools. It helps streamline communication and enhance productivity through organized channels and direct messaging." + }, + { + "name":"ballerinax/smartsheet", + "description":"[Smartsheet](https://www.smartsheet.com/) is a cloud-based platform that enables teams to plan, capture, manage, automate, and report on work at scale, empowering you to move from idea to impact, fast." + }, + { + "name":"ballerinax/snowflake", + "description":"The [Snowflake](https://www.snowflake.com/) is a cloud-based data platform that provides a data warehouse as a service designed for the cloud, providing a single integrated platform with a single SQL-based data warehouse for all data workloads." + }, + { + "name":"ballerinax/snowflake.driver", + "description":"This Package bundles the latest Snowflake driver so that the Snowflake connector can be used in ballerina projects easily." + }, + { + "name":"ballerinax/solace", + "description":"[Solace PubSub+](https://docs.solace.com/) is an advanced event-broker platform that enables event-driven communication across distributed applications using multiple messaging patterns such as publish/subscribe, request/reply, and queue-based messaging. It supports standard messaging protocols, including JMS, MQTT, AMQP, and REST, enabling seamless integration across diverse systems and environments." + }, + { + "name":"ballerinax/soundcloud", + "description":"Connects to [SoundCloud services](https://developers.soundcloud.com/docs/api/explorer/open-api) from Ballerina" + }, + { + "name":"ballerinax/spotify", + "description":"Connects to [Spotify Web API](https://developer.spotify.com/documentation/web-api/) from Ballerina. " + }, + { + "name":"ballerinax/spotto", + "description":"Connects to [Spotto API](https://api-reference.spotto.io) from Ballerina" + }, + { + "name":"ballerinax/squareup", + "description":"Connects to [SquareUp API](https://developer.squareup.com/) from Ballerina" + }, + { + "name":"ballerinax/stabilityai", + "description":"Connects to [Stability.ai REST API (v1)](https://platform.stability.ai/rest-api) from Ballerina." + }, + { + "name":"ballerinax/storecove", + "description":"Connects to [Storecove](https://app.storecove.com/docs) from Ballerina" + }, + { + "name":"ballerinax/stripe", + "description":"[Stripe](https://stripe.com/) is a leading online payment processing platform that simplifies the handling of financial transactions over the Internet. Stripe is renowned for its ease of integration, comprehensive documentation, and robust API that supports a wide range of payment operations including credit card transactions, subscription management, and direct payouts to user bank accounts." + }, + { + "name":"ballerinax/sugarcrm", + "description":"Connects to [SugarCRM API](https://support.sugarcrm.com/Documentation/Sugar_Developer/Sugar_Developer_Guide_12.0/Integration/Web_Services/REST_API/) from Ballerina" + }, + { + "name":"ballerinax/supportbee", + "description":"Connects to [SupportBee API](https://supportbee.com/api) from Ballerina" + }, + { + "name":"ballerinax/symantotextanalytics", + "description":"Connects to [Symanto API](https://symanto-research.github.io/symanto-docs/#introduction) from Ballerina." + }, + { + "name":"ballerinax/tableau", + "description":"Connects to [Tableau](https://help.tableau.com/current/api/rest_api/en-us/REST/TAG/index.html) from Ballerina" + }, + { + "name":"ballerinax/techport", + "description":"Connects to Techport API from Ballerina" + }, + { + "name":"ballerinax/text2data", + "description":"Connects to [Text Analytics & Sentiment Analysis API v3.4](http://api.text2data.com/swagger/ui/index#/)from Ballerina." + }, + { + "name":"ballerinax/themoviedb", + "description":"Connects to [The Movie Database(TMDB) API](https://developers.themoviedb.org/3/getting-started/introduction) from Ballerina" + }, + { + "name":"ballerinax/thinkific", + "description":"Connects to [Thinkific API](https://developers.thinkific.com/api/using-the-api) from Ballerina." + }, + { + "name":"ballerinax/transformer", + "description":"A data transformation function is a general-purpose API to apply a function to a set of data points. The output may contain data points generated by adding, removing, or altering some. The Ballerina transformer is also a set of such tools that provide the following capabilities." + }, + { + "name":"ballerinax/trello", + "description":"[Trello](https://trello.com/) is a popular web-based project management and collaboration platform developed by Atlassian, allowing users to organize tasks, projects, and workflows using boards, lists, and cards." + }, + { + "name":"ballerinax/trigger.aayu.mftg.as2", + "description":"This is a generated trigger for [MFT Gateway (by Aayu Technologies)](https://aayutechnologies.com/docs/product/mft-gateway/) that is capable of listening to the following events that occur in MFT Gateway. " + }, + { + "name":"ballerinax/trigger.asb", + "description":"Listen to [Microsoft Azure Messaging Service Bus](https://learn.microsoft.com/en-us/java/api/com.azure.messaging.servicebus?view=azure-java-stable) from Ballerina." + }, + { + "name":"ballerinax/trigger.asgardeo", + "description":"The `ballerinax/trigger.asgardeo` module provides a Listener to grasp events triggered from your [Asgardeo](https://wso2.com/asgardeo/) organization. This functionality is provided by the [Asgardeo Events API](https://wso2.com/asgardeo/docs/references/asgardeo-events/)." + }, + { + "name":"ballerinax/trigger.github", + "description":"The GitHub Trigger module allows you to listen to following events occur in GitHub. " + }, + { + "name":"ballerinax/trigger.google.calendar", + "description":"The [Ballerina](https://ballerina.io/) listener for Google Calendar provides the capability to listen to calendar events using the [Google Calendar API V3](https://developers.google.com/calendar/api/v3/reference)." + }, + { + "name":"ballerinax/trigger.google.drive", + "description":"The [Ballerina](https://ballerina.io/) listener for Google Drive provides the capability to listen to drive events using the [Google Drive API V3](https://developers.google.com/drive/api/v3/reference)." + }, + { + "name":"ballerinax/trigger.google.mail", + "description":"The Gmail Ballerina Trigger supports to listen to the changes of Gmail mailbox such as receiving a new message, receiving a new thread, adding a new label to a message, adding star to a message, removing label from a message, removing star from a message, and receiving a new attachment with the following trigger methods: `onNewEmail`, `onNewThread`, `onEmailLabelAdded`, `onEmailStarred`, `onEmailLabelRemoved`,`onEmailStarRemoved`, `onNewAttachment`." + }, + { + "name":"ballerinax/trigger.google.sheets", + "description":"" + }, + { + "name":"ballerinax/trigger.hubspot", + "description":"The [Ballerina](https://ballerina.io/) listener for Hubspot allows you to listen to the following events in a HubSpot account." + }, + { + "name":"ballerinax/trigger.identityserver", + "description":"The `ballerinax/trigger.identityserver` module provides a Listener to grasp events triggered from your [WSO2 Identity Server](https://wso2.com/identity-server/). This functionality is provided by the [WSO2 Identity Server webhooks](https://is.docs.wso2.com/en/next/guides/webhooks/webhook-events-and-payloads/)." + }, + { + "name":"ballerinax/trigger.quickbooks", + "description":"The QuickBooks trigger allows you to listen to [QuickBooks webhook notifications](https://developer.intuit.com/app/developer/qbo/docs/develop/webhooks)." + }, + { + "name":"ballerinax/trigger.salesforce", + "description":"Listen to [Salesforce Streaming API](https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/intro_stream.htm) from Ballerina" + }, + { + "name":"ballerinax/trigger.shopify", + "description":"The Shopify trigger allows you to listen to [Shopify webhook notifications](https://shopify.dev/apps/webhooks)." + }, + { + "name":"ballerinax/trigger.slack", + "description":"The `ballerinax/trigger.slack` module provides a Listener to grasp events triggered from your Slack App. This functionality is provided by [Slack Events API](https://api.slack.com/apis/connections/events-api)." + }, + { + "name":"ballerinax/trigger.twilio", + "description":"The Twilio trigger allows you to listen to Twilio SMS and call status change events similar to the following." + }, + { + "name":"ballerinax/twilio", + "description":"Twilio is a cloud communications platform that allows software developers to programmatically make and receive phone calls, send and receive text messages, and perform other communication functions using its web service APIs. " + }, + { + "name":"ballerinax/twitter", + "description":"[Twitter(X)](https://about.twitter.com/) is a widely-used social networking service provided by X Corp., enabling users to post and interact with messages known as \"tweets\"." + }, + { + "name":"ballerinax/uber", + "description":"Connects to Uber API services from Ballerina" + }, + { + "name":"ballerinax/vimeo", + "description":"Connects to [Vimeo API](https://developer.vimeo.com/)) from Ballerina" + }, + { + "name":"ballerinax/visiblethread", + "description":"Connects to [VisibleThread](https://api.visiblethread.com/example/index.html) from Ballerina" + }, + { + "name":"ballerinax/vonage.numberinsight", + "description":"Connects to [Vonage Number Insight API](https://nexmo-api-specification.herokuapp.com/number-insight) from Ballerina" + }, + { + "name":"ballerinax/vonage.numbers", + "description":"Connects to [Vonage Numbers API](https://nexmo-api-specification.herokuapp.com/numbers) from Ballerina" + }, + { + "name":"ballerinax/vonage.sms", + "description":"Connects to [Vonage SMS API](https://nexmo-api-specification.herokuapp.com/sms) from Ballerina" + }, + { + "name":"ballerinax/vonage.verify", + "description":"Connects to [Vonage Verify API](https://nexmo-api-specification.herokuapp.com/verify) from Ballerina" + }, + { + "name":"ballerinax/vonage.voice", + "description":"Connects to [Vonage Voice API](https://nexmo-api-specification.herokuapp.com/api/voice) from Ballerina" + }, + { + "name":"ballerinax/weaviate", + "description":"Connects to the [Weaviate Vector Search Engine API](https://weaviate.io/developers/weaviate/api) from Ballerina." + }, + { + "name":"ballerinax/webscraping.ai", + "description":"Connects to [WebScraping.AI API](https://webscraping.ai/docs) from Ballerina" + }, + { + "name":"ballerinax/whatsapp.business", + "description":"Connects to [WhatsApp Business](https://developers.facebook.com/docs/whatsapp/) from Ballerina" + }, + { + "name":"ballerinax/whohoststhis", + "description":"Connects to [Who Hosts This](https://www.who-hosts-this.com/Documentation) from Ballerina" + }, + { + "name":"ballerinax/wordnik", + "description":"Connects to [Wordnik API v4.0](https://developer.wordnik.com/docs) from Ballerina" + }, + { + "name":"ballerinax/wordpress", + "description":"Connects to [WordPress API v1.0](https://developer.wordpress.org/rest-api/) from Ballerina." + }, + { + "name":"ballerinax/workday.absencemanagement", + "description":"Connects to [Workday Absence Management API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina." + }, + { + "name":"ballerinax/workday.accountspayable", + "description":"Connects to [Workday Accounts Payable API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina." + }, + { + "name":"ballerinax/workday.businessprocess", + "description":"Connects to [Workday Business Process API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina." + }, + { + "name":"ballerinax/workday.common", + "description":"Connects to [Workday common service API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina." + }, + { + "name":"ballerinax/workday.compensation", + "description":"Connects to [Workday compensation service API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina." + }, + { + "name":"ballerinax/workday.connect", + "description":"Connects to [Workday connect service API v2](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina." + }, + { + "name":"ballerinax/workday.coreaccounting", + "description":"Connects to [Workday Core Accounting service API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina." + }, + { + "name":"ballerinax/workday.customeraccounts", + "description":"Connects to [Workday Customer Accounts service API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina." + }, + { + "name":"ballerinax/workday.expense", + "description":"Connects to [Workday Expense API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina." + }, + { + "name":"ballerinax/workday.payroll", + "description":"Connects to [Workday payroll service API v2](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina." + }, + { + "name":"ballerinax/worldbank", + "description":"Connects to [World Bank API](https://datahelpdesk.worldbank.org/knowledgebase/articles/889392-about-the-indicators-api-documentation) from Ballerina." + }, + { + "name":"ballerinax/worldtimeapi", + "description":"Connects to World Time API from Ballerina" + }, + { + "name":"ballerinax/wso2.apim.catalog", + "description":"The Ballerina WSO2 APIM catalog publisher module includes ballerina service management tools for publishing service data to WSO2 API manager service catalogs." + }, + { + "name":"ballerinax/wso2.controlplane", + "description":"The `wso2.controlplane` library is one of the external library packages, it provides internal support for exposing " + }, + { + "name":"ballerinax/xero.accounts", + "description":"Connects to [Xero Accounts API](https://developer.xero.com/documentation/api/accounting/overview) from Ballerina" + }, + { + "name":"ballerinax/xero.appstore", + "description":"Connects to [Xero AppStore](https://developer.xero.com/documentation/api/xero-app-store/overview) from Ballerina" + }, + { + "name":"ballerinax/xero.assets", + "description":"Connects to [Xero Assets API](https://developer.xero.com/documentation/api/assets/assets/) from Ballerina" + }, + { + "name":"ballerinax/xero.bankfeeds", + "description":"Connects to [Xero Bank Feeds API](https://developer.xero.com/documentation/api/bankfeeds/overview) from Ballerina" + }, + { + "name":"ballerinax/xero.files", + "description":"Connects to [Xero Files](https://developer.xero.com/documentation/api/files/overview) from Ballerina" + }, + { + "name":"ballerinax/xero.finance", + "description":"Connects to [Xero Finance API](https://developer.xero.com/documentation/api/finance/overview) from Ballerina" + }, + { + "name":"ballerinax/xero.projects", + "description":"Connects to [Xero Projects](https://developer.xero.com/documentation/api/projects/overview) from Ballerina" + }, + { + "name":"ballerinax/ynab", + "description":"Connects to [YNAB API](https://api.youneedabudget.com) from Ballerina" + }, + { + "name":"ballerinax/yodlee", + "description":"Connects to [Yodlee Core REST API](https://developer.yodlee.com/api-reference) from Ballerina" + }, + { + "name":"ballerinax/zendesk", + "description":"[Zendesk](https://www.zendesk.com/) is a customer service software company that provides a cloud-based customer support platform. It is designed to offer a seamless and efficient customer service experience, enabling businesses to manage customer interactions across multiple channels, including email, chat, phone, and social media." + }, + { + "name":"ballerinax/zendesk.support", + "description":"Connects to [Zendesk Support](https://developer.zendesk.com/api-reference/) from Ballerina" + }, + { + "name":"ballerinax/zendesk.voice", + "description":"Connects to [Zendesk Talk](https://developer.zendesk.com/api-reference/) from Ballerina" + }, + { + "name":"ballerinax/zipkin", + "description":"The Zipkin Observability Extension is one of the tracing extensions of the Ballerina language." + }, + { + "name":"ballerinax/zoho.books", + "description":"Connects to [Zoho Books](https://www.zoho.com/books/api/v3/) from Ballerina" + }, + { + "name":"ballerinax/zoho.crm.rest", + "description":"Connects to [Zoho CRM](https://www.zoho.com/crm/) from Ballerina." + }, + { + "name":"ballerinax/zoho.people", + "description":"Connects to [Zoho People](https://www.zoho.com/people/overview.html) from Ballerina." + }, + { + "name":"ballerinax/zoom", + "description":"Connects to [Zoom API](https://marketplace.zoom.us/docs/api-reference/zoom-api) from Ballerina." + }, + { + "name":"ballerinax/zoom.meetings", + "description":"[Zoom](https://www.zoom.com/) is a widely-used video conferencing service provided by Zoom Video Communications, enabling users to host and attend virtual meetings, webinars, and collaborate online." + }, + { + "name":"ballerinax/zoom.scheduler", + "description":"[Zoom](https://www.zoom.com/) is a video communications platform that enables users to schedule, host, and join virtual meetings, webinars, and conferences." + }, + { + "name":"ballerinax/zuora.collection", + "description":"Connects to [Zuora Collection V1 API](https://www.zuora.com/developer/collect-api/#section/Introduction) from Ballerina" + }, + { + "name":"ballerinax/zuora.revenue", + "description":"Connects to [Zuora Revenue V2021-08-12 API](https://www.zuora.com/developer/revpro-api/#section/Introduction) from Ballerina" + }, + { + "name":"xlibb/asb.admin", + "description":"This package offers administrative client capabilities for Azure Service Bus, allowing the creation or deletion of" + }, + { + "name":"xlibb/docreader", + "description":"A Ballerina library that makes it easy to parse and extract content from documents of many formats — similar to Apache Tika, but designed for Ballerina." + }, + { + "name":"xlibb/pdfbox", + "description":"The Ballerina PDFBox module provides comprehensive APIs for PDF document processing, offering efficient solutions for converting PDF documents into images and extracting text content. This module enables PDF manipulation within Ballerina applications, supporting various input sources including file paths, URLs, and byte arrays." + }, + { + "name":"xlibb/pipe", + "description":"This package provides a medium to send and receive events simultaneously. And it includes APIs to produce, consume and return events via a stream." + }, + { + "name":"xlibb/pipeline", + "description":"Building message-driven applications often involves complex tasks such as data transformation, message filtering, and reliable delivery to multiple systems. Developers frequently find themselves writing repetitive code for common patterns like retries, error handling, and parallel delivery. This leads to increased development time, inconsistent implementations, and systems that are harder to maintain and evolve." + }, + { + "name":"xlibb/pubsub", + "description":"This package provides an events transmission model with publish/subscribe APIs." + }, + { + "name":"xlibb/selenium", + "description":"This module automates web applications across various browsers. Selenium interacts with web browsers directly, simulating user actions such as clicks, text input, page navigation, and more. " + }, + { + "name":"xlibb/sikulix", + "description":"[SikuliX](https://sikulix.github.io/) automates anything in Windows, Mac or Linux screen. It uses image recognition powered by OpenCV, text recognition powered by OCR and precise coordinate-based interactions." + }, + { + "name":"xlibb/solace", + "description":"[Solace PubSub+](https://docs.solace.com/) is an advanced event-broker platform that enables event-driven communication across distributed applications using multiple messaging patterns such as publish/subscribe, request/reply, and queue-based messaging. It supports standard messaging protocols, including JMS, MQTT, AMQP, and REST, enabling seamless integration across diverse systems and environments." + }, + { + "name":"xlibb/solace.semp", + "description":"This Ballerina module provides a connector for interacting with Solace PubSub+ brokers via the [**SEMP v2**](https://docs.solace.com/Admin/SEMP/Using-SEMP.htm) (Solace Element Management Protocol, version 2) — the REST-based management API for configuring and monitoring Solace message brokers." + } + ] +} diff --git a/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/testng.xml b/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/testng.xml index 467afdf897..821f1e06d0 100644 --- a/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/testng.xml +++ b/flow-model-generator/modules/flow-model-generator-ls-extension/src/test/resources/testng.xml @@ -109,6 +109,8 @@ under the License. + + diff --git a/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/PackageListGenerator.java b/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/PackageListGenerator.java index b784beaea9..e99e1a5beb 100644 --- a/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/PackageListGenerator.java +++ b/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/PackageListGenerator.java @@ -45,7 +45,8 @@ private static List getPackageList(String org) { "limit", String.valueOf(LIMIT) )); List packagesList = packages.packages().stream() - .map(packageData -> new PackageMetadataInfo(packageData.name(), packageData.version())) + .map(packageData -> new PackageMetadataInfo(packageData.name(), packageData.version(), + packageData.summary())) .collect(Collectors.toList()); int totalCount = packages.count(); int totalCalls = (int) Math.ceil((double) totalCount / LIMIT); @@ -57,10 +58,11 @@ private static List getPackageList(String org) { "offset", String.valueOf(i * LIMIT) )); packagesList.addAll(packages.packages().stream() - .map(packageData -> new PackageMetadataInfo(packageData.name(), packageData.version())).toList()); + .map(packageData -> new PackageMetadataInfo(packageData.name(), packageData.version(), + packageData.summary())).toList()); } return packagesList; } - record PackageMetadataInfo(String name, String version) { } + record PackageMetadataInfo(String name, String version, String description) { } } diff --git a/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/SearchDatabaseManager.java b/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/SearchDatabaseManager.java index de99dfd76c..087ac1ed89 100644 --- a/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/SearchDatabaseManager.java +++ b/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/SearchDatabaseManager.java @@ -94,11 +94,11 @@ public static void createDatabase() { } public static int insertPackage(String org, String name, String packageName, String version, - int pullCount, List keywords) { - String sql = "INSERT INTO Package (org, name, package_name, version, pull_count, keywords) " + - "VALUES (?, ?, ?, ?, ?, ?)"; + String description, int pullCount, List keywords) { + String sql = "INSERT INTO Package (org, name, package_name, version, description, pull_count, keywords) " + + "VALUES (?, ?, ?, ?, ?, ?, ?)"; return insertEntry(sql, - new Object[]{org, name, packageName, version, pullCount, keywords == null ? "" : + new Object[]{org, name, packageName, version, description, pullCount, keywords == null ? "" : String.join(",", keywords)}); } diff --git a/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/SearchIndexGenerator.java b/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/SearchIndexGenerator.java index 447294bdb8..be160189a5 100644 --- a/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/SearchIndexGenerator.java +++ b/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/SearchIndexGenerator.java @@ -147,7 +147,8 @@ private static void processModule(SearchListGenerator.PackageMetadataInfo packag String moduleName = module.moduleName().toString(); int packageId = SearchDatabaseManager.insertPackage(descriptor.org().value(), moduleName, module.packageInstance().packageName().value(), descriptor.version().value().toString(), - packageMetadataInfo.pullCount(), resolvedPackage.manifest().keywords()); + packageMetadataInfo.description(), packageMetadataInfo.pullCount(), + resolvedPackage.manifest().keywords()); if (packageId == -1) { throw new Exception("Error inserting package to database: " + module); diff --git a/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/SearchListGenerator.java b/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/SearchListGenerator.java index 75374d09a8..a04bfab833 100644 --- a/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/SearchListGenerator.java +++ b/flow-model-generator/modules/flow-model-index-generator/src/main/java/io/ballerina/indexgenerator/SearchListGenerator.java @@ -84,7 +84,7 @@ private static List getPackageList(String org) { )); List packagesList = packages.packages().stream() .map(packageData -> new PackageMetadataInfo(packageData.name(), packageData.version(), - packageData.keywords(), packageData.pullCount())) + packageData.summary(), packageData.keywords(), packageData.pullCount())) .collect(Collectors.toList()); int totalCount = packages.count(); int totalCalls = (int) Math.ceil((double) totalCount / LIMIT); @@ -98,10 +98,11 @@ private static List getPackageList(String org) { )); packagesList.addAll(packages.packages().stream() .map(packageData -> new PackageMetadataInfo(packageData.name(), packageData.version(), - packageData.keywords(), packageData.pullCount())).toList()); + packageData.summary(), packageData.keywords(), packageData.pullCount())).toList()); } return packagesList; } - record PackageMetadataInfo(String name, String version, List keywords, int pullCount) { } + record PackageMetadataInfo(String name, String version, String description, List keywords, + int pullCount) { } } diff --git a/flow-model-generator/modules/flow-model-index-generator/src/main/resources/search-index.sql b/flow-model-generator/modules/flow-model-index-generator/src/main/resources/search-index.sql index 7d4f0c5a99..bba31455c7 100644 --- a/flow-model-generator/modules/flow-model-index-generator/src/main/resources/search-index.sql +++ b/flow-model-generator/modules/flow-model-index-generator/src/main/resources/search-index.sql @@ -15,6 +15,7 @@ CREATE TABLE Package ( name TEXT NOT NULL, package_name TEXT NOT NULL, version TEXT, + description TEXT, pull_count INTEGER, keywords TEXT ); diff --git a/flow-model-generator/modules/flow-model-index-generator/src/main/resources/search_list.json b/flow-model-generator/modules/flow-model-index-generator/src/main/resources/search_list.json index f77cef0812..ebbc8cede8 100644 --- a/flow-model-generator/modules/flow-model-index-generator/src/main/resources/search_list.json +++ b/flow-model-generator/modules/flow-model-index-generator/src/main/resources/search_list.json @@ -1 +1 @@ -{"xlibb":[{"name":"pipe","version":"1.6.1","keywords":["pipe"],"pullCount":15519},{"name":"pubsub","version":"1.5.0","keywords":["pubsub"],"pullCount":14473},{"name":"asb.admin","version":"0.2.0","keywords":["asb"],"pullCount":375},{"name":"pdfbox","version":"1.0.1","keywords":["pdfbox"],"pullCount":353},{"name":"pipeline","version":"1.0.0","keywords":["pipeline","handler","replay","processor","destination","store"],"pullCount":6},{"name":"docreader","version":"1.0.0","keywords":["docreader","documentation","reader","parser"],"pullCount":5},{"name":"sikulix","version":"0.1.0","keywords":["sikulix"],"pullCount":4},{"name":"selenium","version":"0.1.0","keywords":["selenium","web-automation"],"pullCount":4}],"ballerina":[{"name":"http","version":"2.15.0","keywords":["http","network","service","listener","client"],"pullCount":1510327},{"name":"crypto","version":"2.9.2","keywords":["security","hash","hmac","sign","encrypt","decrypt","private key","public key"],"pullCount":1215006},{"name":"time","version":"2.7.0","keywords":["time","utc","epoch","civil"],"pullCount":1074477},{"name":"log","version":"2.14.0","keywords":["level","format"],"pullCount":914428},{"name":"observe","version":"1.6.0","keywords":[],"pullCount":889456},{"name":"io","version":"1.8.0","keywords":["io","json","xml","csv","file"],"pullCount":864034},{"name":"url","version":"2.6.0","keywords":["url encoding","url decoding"],"pullCount":770229},{"name":"oauth2","version":"2.14.1","keywords":["security","authorization","introspection"],"pullCount":759359},{"name":"jwt","version":"2.15.1","keywords":["security","authentication","jwt","jwk","jws"],"pullCount":719394},{"name":"task","version":"2.11.0","keywords":["task","job","schedule"],"pullCount":708540},{"name":"auth","version":"2.14.0","keywords":["security","authentication","basic auth"],"pullCount":684773},{"name":"constraint","version":"1.7.0","keywords":["constraint","validation"],"pullCount":649600},{"name":"file","version":"1.12.0","keywords":["file","path","directory","filepath"],"pullCount":593652},{"name":"mime","version":"2.12.0","keywords":["mime","multipart","entity"],"pullCount":580898},{"name":"cache","version":"3.10.0","keywords":["cache","LRU"],"pullCount":534239},{"name":"cloud","version":"3.3.4","keywords":["cloud","kubernetes","docker","k8s","c2c"],"pullCount":500461},{"name":"os","version":"1.10.1","keywords":["environment"],"pullCount":453091},{"name":"protobuf","version":"1.8.0","keywords":["wrappers"],"pullCount":143281},{"name":"sql","version":"1.17.1","keywords":["database","client","network","SQL","RDBMS"],"pullCount":126855},{"name":"websocket","version":"2.14.2","keywords":["ws","network","bi-directional","streaming","service","client"],"pullCount":109959},{"name":"graphql","version":"1.16.1","keywords":["gql","network","query","service"],"pullCount":99462},{"name":"data.jsondata","version":"1.1.3","keywords":["json","json path","json-transform","json transform","json to json","json-convert","json convert"],"pullCount":49764},{"name":"websubhub","version":"1.15.1","keywords":["websub","hub","publisher","service","listener","client"],"pullCount":40097},{"name":"random","version":"1.7.0","keywords":["pseudo-random"],"pullCount":36534},{"name":"uuid","version":"1.10.0","keywords":["version","unique"],"pullCount":36451},{"name":"openapi","version":"2.3.3","keywords":[],"pullCount":32950},{"name":"websub","version":"2.14.0","keywords":["websub","subscriber","service","listener"],"pullCount":22029},{"name":"data.xmldata","version":"1.5.2","keywords":["xml"],"pullCount":16500},{"name":"tcp","version":"1.13.2","keywords":["network","socket","service","client"],"pullCount":11598},{"name":"ai","version":"1.6.1","keywords":["AI/Agent","Cost/Freemium","Agent","AI"],"pullCount":10322},{"name":"email","version":"2.13.0","keywords":["email","SMTP","POP","POP3","IMAP","mail"],"pullCount":9918},{"name":"ftp","version":"2.14.1","keywords":["FTP","SFTP","remote file","file transfer","client","service"],"pullCount":7798},{"name":"mcp","version":"1.0.1","keywords":["mcp"],"pullCount":7252},{"name":"avro","version":"1.2.0","keywords":["avro","serialization","deserialization","serdes"],"pullCount":6738},{"name":"udp","version":"1.13.2","keywords":["UDP","datagram","transport"],"pullCount":4038},{"name":"yaml","version":"0.8.0","keywords":["yaml"],"pullCount":3669},{"name":"messaging","version":"1.0.0","keywords":["message","store","processor","listener","guaranteed","delivery"],"pullCount":1302},{"name":"data.csv","version":"0.8.1","keywords":["csv"],"pullCount":1290},{"name":"jballerina.java.arrays","version":"1.6.0","keywords":["java","arrays"],"pullCount":1010},{"name":"math.vector","version":"1.2.0","keywords":["math","vector","distance"],"pullCount":892},{"name":"xslt","version":"2.9.1","keywords":["xslt","xml","html","xsl","transformation"],"pullCount":736},{"name":"soap","version":"2.3.0","keywords":["soap"],"pullCount":532},{"name":"edi","version":"1.5.3","keywords":["edi"],"pullCount":518},{"name":"ldap","version":"1.3.0","keywords":["ldap"],"pullCount":425},{"name":"toml","version":"0.8.0","keywords":["toml"],"pullCount":399},{"name":"np","version":"0.3.0","keywords":["natural programming","ai"],"pullCount":328},{"name":"ai.np","version":"0.5.0","keywords":["natural programming","ai"],"pullCount":131},{"name":"mqtt","version":"1.4.0","keywords":["mqtt","client","messaging","network","pubsub","iot"],"pullCount":122},{"name":"data.yaml","version":"0.8.0","keywords":["yaml"],"pullCount":10},{"name":"etl","version":"0.8.0","keywords":["etl"],"pullCount":10},{"name":"test","version":"2201.10.4","keywords":[],"pullCount":0},{"name":"lang.array","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.boolean","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.decimal","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.error","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.float","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.function","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.future","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.int","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.map","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.object","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.query","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.regexp","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.runtime","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.stream","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.string","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.table","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.transaction","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.typedesc","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.value","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"lang.xml","version":"2201.12.7","keywords":[],"pullCount":0},{"name":"jballerina.java","version":"2201.12.7","keywords":[],"pullCount":0}],"ballerinax":[{"name":"twilio","version":"5.0.0","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":2374700},{"name":"choreo","version":"0.4.12","keywords":[],"pullCount":790300},{"name":"googleapis.sheets","version":"3.5.1","keywords":["Cost/Free","Vendor/Google"],"pullCount":127817},{"name":"client.config","version":"1.0.1","keywords":[],"pullCount":119516},{"name":"twitter","version":"4.0.0","keywords":["Marketing/Social Media Accounts","Cost/Freemium"],"pullCount":106997},{"name":"trigger.salesforce","version":"0.10.0","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":101969},{"name":"java.jdbc","version":"1.14.0","keywords":["database","client","network","SQL","RDBMS","JDBC"],"pullCount":98048},{"name":"salesforce","version":"8.2.0","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":96669},{"name":"mysql","version":"1.16.1","keywords":["database","client","network","SQL","RDBMS","MySQL"],"pullCount":77026},{"name":"covid19","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":67560},{"name":"worldbank","version":"1.5.1","keywords":["Business Intelligence/Analytics","Cost/Free"],"pullCount":57456},{"name":"mysql.driver","version":"1.8.0","keywords":["Azure","MySQL"],"pullCount":56029},{"name":"asyncapi.native.handler","version":"0.5.0","keywords":[],"pullCount":46459},{"name":"health.base","version":"1.1.1","keywords":["Healthcare"],"pullCount":43859},{"name":"sap","version":"1.2.0","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":40273},{"name":"health.fhir.r4","version":"6.2.2","keywords":["Healthcare","FHIR","R4"],"pullCount":40254},{"name":"redis","version":"3.1.0","keywords":["IT Operations/Databases","Cost/Freemium"],"pullCount":39135},{"name":"kafka","version":"4.6.2","keywords":["kafka","event streaming","network","messaging"],"pullCount":37003},{"name":"postgresql","version":"1.16.1","keywords":["database","client","network","SQL","RDBMS","PostgreSQL"],"pullCount":31028},{"name":"github","version":"5.1.0","keywords":["IT Operations/Source Control","Cost/Freemium"],"pullCount":28551},{"name":"mssql.driver","version":"1.7.0","keywords":["MSSQL","SQL Server"],"pullCount":22974},{"name":"health.fhir.r4.international401","version":"4.0.0","keywords":["Healthcare","FHIR","R4","International"],"pullCount":17736},{"name":"trigger.github","version":"0.10.0","keywords":["Communication/Team Chat","Cost/Freemium","Trigger"],"pullCount":15608},{"name":"mssql","version":"1.16.1","keywords":["database","client","network","SQL","RDBMS","SQLServer","MSSQL"],"pullCount":14573},{"name":"trigger.slack","version":"0.9.0","keywords":["Communication/Team Chat","Cost/Freemium"],"pullCount":14411},{"name":"aws.s3","version":"3.5.0","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Paid","Vendor/Amazon"],"pullCount":14371},{"name":"confluent.cregistry","version":"0.4.2","keywords":["confluent","schema_registry","avro","serdes"],"pullCount":13750},{"name":"openai.chat","version":"4.0.0","keywords":["AI/Chat","OpenAI","Cost/Paid","GPT-4","ChatGPT","Vendor/OpenAI"],"pullCount":13526},{"name":"azure.openai.chat","version":"3.0.2","keywords":["AI/Chat","Azure OpenAI","Cost/Paid","GPT-3.5","ChatGPT","Vendor/Microsoft"],"pullCount":13436},{"name":"googleapis.gmail","version":"4.1.0","keywords":["Communication/Email","Cost/Free","Vendor/Google"],"pullCount":13309},{"name":"jaeger","version":"1.0.0","keywords":[],"pullCount":12898},{"name":"azure_storage_service","version":"4.3.3","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Paid","Vendor/Microsoft"],"pullCount":12790},{"name":"postgresql.driver","version":"1.6.1","keywords":["PostgreSQL"],"pullCount":12559},{"name":"health.fhir.r4.parser","version":"7.0.0","keywords":["Healthcare","FHIR","R4","Parser"],"pullCount":12524},{"name":"snowflake","version":"2.2.0","keywords":["IT Operations/Cloud Services","Cost/Paid"],"pullCount":11911},{"name":"confluent.cavroserdes","version":"1.0.2","keywords":["confluent","schema_registry","avro","serdes"],"pullCount":11716},{"name":"mongodb","version":"5.2.2","keywords":["MongoDB","Database","IT Operations/Databases","Cost/Freemium","NoSQL"],"pullCount":11657},{"name":"rabbitmq","version":"3.3.0","keywords":["service","client","messaging","network","pubsub"],"pullCount":11179},{"name":"prometheus","version":"1.0.0","keywords":[],"pullCount":11106},{"name":"googleapis.calendar","version":"3.2.1","keywords":["Productivity/Calendars","Cost/Free","Vendor/Google"],"pullCount":10966},{"name":"cdc","version":"1.0.3","keywords":[],"pullCount":10237},{"name":"stripe","version":"2.0.0","keywords":["Finance/Payment","Cost/Freemium"],"pullCount":8581},{"name":"health.hl7v2","version":"3.0.5","keywords":["Healthcare","HL7"],"pullCount":7990},{"name":"azure_cosmosdb","version":"4.2.0","keywords":["IT Operations/Databases","Cost/Paid","Vendor/Microsoft"],"pullCount":7669},{"name":"googleapis.drive","version":"3.4.1","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Free","Vendor/Google"],"pullCount":7340},{"name":"docusign.dsadmin","version":"2.0.0","keywords":["eSignature","Cost/Freemium","Administration","Admin API","Collaboration","Digital Signature"],"pullCount":7142},{"name":"slack","version":"4.0.0","keywords":["Communication/Team Chat","Cost/Freemium"],"pullCount":6637},{"name":"health.fhir.r4.uscore501","version":"3.0.0","keywords":["Healthcare","FHIR","R4","USCore"],"pullCount":6341},{"name":"health.clients.fhir","version":"3.0.0","keywords":["Healthcare","FHIR","client","R4"],"pullCount":6096},{"name":"oracledb","version":"1.14.0","keywords":["database","client","network","SQL","RDBMS","OracleDB","Oracle"],"pullCount":5846},{"name":"openai.text","version":"1.0.5","keywords":["AI/Text","OpenAI","Cost/Paid","Completions","GPT-3","GPT3.5","Vendor/OpenAI"],"pullCount":5483},{"name":"openweathermap","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Freemium"],"pullCount":5267},{"name":"azure.openai.text","version":"1.0.3","keywords":["AI/Text","Azure OpenAI","Cost/Paid","Completions","GPT-3","Vendor/Microsoft"],"pullCount":5240},{"name":"health.fhirr4","version":"3.0.0","keywords":["Healthcare","FHIR","R4","service"],"pullCount":4936},{"name":"np","version":"0.9.0","keywords":["natural programming","ai"],"pullCount":4644},{"name":"asb","version":"3.9.1","keywords":["IT Operations/Message Brokers","Cost/Paid","Vendor/Microsoft"],"pullCount":4592},{"name":"wso2.controlplane","version":"1.1.0","keywords":[],"pullCount":4559},{"name":"trigger.google.sheets","version":"0.10.0","keywords":["Communication/Team Chat","Cost/Freemium","Trigger"],"pullCount":4273},{"name":"health.fhir.r4.validator","version":"6.0.0","keywords":["Healthcare","FHIR","R4","Validator"],"pullCount":4037},{"name":"h2.driver","version":"1.2.0","keywords":["H2"],"pullCount":3723},{"name":"ai","version":"1.2.3","keywords":["AI/Agent","Cost/Freemium","Agent","AI"],"pullCount":3723},{"name":"health.hl7v23","version":"4.0.1","keywords":["Healthcare","HL7","HL7v2.3"],"pullCount":3669},{"name":"health.fhir.r4utils.fhirpath","version":"3.1.0","keywords":["Healthcare","FHIR","R4","Utils","FHIRPath"],"pullCount":3377},{"name":"newrelic","version":"1.0.3","keywords":[],"pullCount":3345},{"name":"health.hl7v27","version":"4.0.1","keywords":["Healthcare","HL7","HL7v2.7"],"pullCount":3320},{"name":"trigger.google.drive","version":"0.11.0","keywords":["Communication/Team Chat","Cost/Freemium","Trigger"],"pullCount":3282},{"name":"ai.openai","version":"1.2.3","keywords":["AI","Agent","OpenAI","Model","Provider"],"pullCount":3279},{"name":"aws.dynamodb","version":"2.3.0","keywords":["Communication/Email","Cost/Free","Vendor/Google"],"pullCount":3271},{"name":"health.hl7v231","version":"4.0.1","keywords":["Healthcare","HL7","HL7v2.3.1"],"pullCount":3204},{"name":"health.hl7v24","version":"4.0.1","keywords":["Healthcare","HL7","HL7v2.4"],"pullCount":3189},{"name":"health.hl7v25","version":"4.0.1","keywords":["Healthcare","HL7","HL7v2.5"],"pullCount":3173},{"name":"health.hl7v26","version":"4.0.1","keywords":["Healthcare","HL7","HL7v2.6"],"pullCount":3137},{"name":"health.hl7v28","version":"4.0.1","keywords":["Healthcare","HL7","HL7v2.8"],"pullCount":3128},{"name":"health.hl7v251","version":"4.0.1","keywords":["Healthcare","HL7","HL7v2.5.1"],"pullCount":3111},{"name":"hubspot.crm.contact","version":"2.3.1","keywords":["Sales \u0026 CRM/Contact Management","Cost/Freemium"],"pullCount":3037},{"name":"ai.ollama","version":"1.1.2","keywords":["AI","Agent","Ollama","Model","Provider"],"pullCount":2973},{"name":"trigger.asgardeo","version":"0.8.0","keywords":["IT Operations/Authentication","Cost/Freemium"],"pullCount":2937},{"name":"ai.pinecone","version":"1.1.2","keywords":["AI","Pinecone","Vector","Store"],"pullCount":2915},{"name":"trigger.google.calendar","version":"0.12.0","keywords":["Cost/Freemium","Trigger"],"pullCount":2908},{"name":"ai.azure","version":"1.2.0","keywords":["AI","Agent","Azure","Model","Provider"],"pullCount":2862},{"name":"trigger.google.mail","version":"0.11.0","keywords":["Cost/Freemium","Trigger"],"pullCount":2820},{"name":"mailchimp","version":"1.5.1","keywords":["Marketing/Email Newsletters","Cost/Freemium"],"pullCount":2751},{"name":"ai.anthropic","version":"1.1.2","keywords":["AI","Agent","Anthropic","Model","Provider"],"pullCount":2734},{"name":"servicenow","version":"1.5.1","keywords":["Support/Customer Support","Cost/Freemium"],"pullCount":2730},{"name":"shopify.admin","version":"2.5.0","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":2703},{"name":"oracledb.driver","version":"1.5.0","keywords":["OracleDB"],"pullCount":2660},{"name":"ai.deepseek","version":"1.0.4","keywords":["AI","Agent","Deepseek","Model","Provider"],"pullCount":2645},{"name":"ai.mistral","version":"1.1.2","keywords":["AI","Agent","Mistral","Model","Provider"],"pullCount":2640},{"name":"snowflake.driver","version":"2.8.0","keywords":["Business Intelligence/Data Warehouse","Cost/Paid"],"pullCount":2635},{"name":"trigger.asb","version":"1.2.0","keywords":["IT Operations/Message Brokers","Cost/Paid","Vendor/Microsoft"],"pullCount":2608},{"name":"zoom","version":"1.7.1","keywords":["Communication/Video Conferencing","Cost/Freemium"],"pullCount":2559},{"name":"nats","version":"3.2.0","keywords":["service","client","messaging","network","pubsub"],"pullCount":2508},{"name":"azure.datalake","version":"1.5.1","keywords":["Business Intelligence/Analytics","Cost/Paid","Vendor/Microsoft"],"pullCount":2481},{"name":"microsoft.onedrive","version":"3.0.0","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Freemium","Vendor/Microsoft"],"pullCount":2479},{"name":"aws.sqs","version":"4.0.0","keywords":["IT Operations/Message Brokers","Cost/Freemium","Vendor/Amazon"],"pullCount":2469},{"name":"health.hl7v2commons","version":"2.0.1","keywords":["Healthcare","HL7","Commons"],"pullCount":2464},{"name":"aws.sns","version":"3.0.0","keywords":["Communication/Notifications","Cost/Freemium","Vendor/Amazon"],"pullCount":2414},{"name":"capsulecrm","version":"1.5.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":2378},{"name":"aws.ses","version":"2.1.0","keywords":["Communication/Email","Cost/Freemium","Vendor/Amazon"],"pullCount":2354},{"name":"trello","version":"2.0.0","keywords":["Trello","Boards","Lists","Project management","Workflows"],"pullCount":2270},{"name":"googleapis.people","version":"2.4.0","keywords":["Sales \u0026 CRM/Contact Management","Cost/Free","Vendor/Google"],"pullCount":2220},{"name":"newsapi","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Freemium"],"pullCount":2148},{"name":"themoviedb","version":"1.5.1","keywords":["Content \u0026 Files/Video \u0026 Audio","Cost/Free"],"pullCount":2122},{"name":"spotify","version":"1.5.1","keywords":["Content \u0026 Files/Video \u0026 Audio","Cost/Freemium"],"pullCount":2113},{"name":"microsoft.excel","version":"2.4.0","keywords":["Productivity/Spreadsheets","Cost/Free","Vendor/Microsoft"],"pullCount":2084},{"name":"microsoft.teams","version":"2.4.0","keywords":["Communication/Team Chat","Cost/Paid","Vendor/Microsoft"],"pullCount":1980},{"name":"quickbooks.online","version":"1.5.1","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":1931},{"name":"health.hl7v2.utils.v2tofhirr4","version":"4.0.3","keywords":["Healthcare","HL7","FHIR"],"pullCount":1927},{"name":"aws.redshift","version":"1.1.0","keywords":["Data Warehouse","Columnar Storage","Cost/Paid","vendor/aws"],"pullCount":1898},{"name":"aws.redshift.driver","version":"1.1.0","keywords":["Data Warehouse","Cost/Paid","Columnar Storage","driver","vendor/aws"],"pullCount":1874},{"name":"ronin","version":"1.5.2","keywords":["Finance/Billing","Cost/Paid"],"pullCount":1872},{"name":"interzoid.convertcurrency","version":"1.5.1","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":1862},{"name":"eventbrite","version":"1.6.1","keywords":["Marketing/Event Management","Cost/Freemium"],"pullCount":1824},{"name":"asana","version":"2.0.0","keywords":["Asana","Productivity/Project Management","Cost/Freemium","Task Management"],"pullCount":1816},{"name":"microsoft.outlook.mail","version":"2.4.0","keywords":["Communication/Email","Cost/Paid","Vendor/Microsoft"],"pullCount":1763},{"name":"trigger.twilio","version":"0.10.0","keywords":["Communication chat/voice","Cost/Freemium","Vendor/Twilio"],"pullCount":1717},{"name":"interzoid.weatherzip","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":1683},{"name":"pipedrive","version":"1.5.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":1663},{"name":"health.fhir.r4.aubase421","version":"3.0.0","keywords":["Healthcare","FHIR","R4","aubase421"],"pullCount":1645},{"name":"xero.accounts","version":"1.5.1","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":1535},{"name":"scim","version":"1.0.0","keywords":["Identity","Provisioning","User","Management"],"pullCount":1454},{"name":"aayu.mftg.as2","version":"1.3.1","keywords":["IT Operations/Gateway","Cost/Paid"],"pullCount":1451},{"name":"paypal.orders","version":"2.0.0","keywords":["Paypal","Payments","Orders"],"pullCount":1410},{"name":"activecampaign","version":"1.3.1","keywords":["Marketing/Marketing Automation","Cost/Freemium"],"pullCount":1405},{"name":"zoho.people","version":"1.3.1","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":1348},{"name":"trigger.aayu.mftg.as2","version":"0.10.0","keywords":["IT Operations/Gateway","Cost/Paid","Trigger"],"pullCount":1336},{"name":"openai.embeddings","version":"1.0.5","keywords":["AI/Embeddings","OpenAI","Cost/Paid","GPT-3","Vendor/OpenAI"],"pullCount":1330},{"name":"azure_eventhub","version":"3.1.0","keywords":["IT Operations/Data Ingestion","Cost/Paid","Vendor/Microsoft"],"pullCount":1277},{"name":"ai.devant","version":"1.0.2","keywords":["AI","Devant","Chunkers"],"pullCount":1258},{"name":"financial.iso20022","version":"2.0.2","keywords":["Financial","ISO20022"],"pullCount":1230},{"name":"financial.swift.mt","version":"3.0.4","keywords":["Financial","SWIFT MT"],"pullCount":1225},{"name":"mysql.cdc.driver","version":"1.0.1","keywords":[],"pullCount":1200},{"name":"pinecone.vector","version":"1.0.2","keywords":["AI/Vector Databases","Cost/Freemium","Vendor/Pinecone","Embedding Search"],"pullCount":1110},{"name":"zipkin","version":"1.0.0","keywords":[],"pullCount":1110},{"name":"milvus","version":"1.1.0","keywords":["milvus","vector_database","vector_search"],"pullCount":1040},{"name":"weaviate","version":"1.0.2","keywords":["AI/Vector Databases","Cost/Freemium","Vendor/Weaviate","Embedding Search"],"pullCount":904},{"name":"ai.pgvector","version":"1.0.3","keywords":["pgvector","vector database","vector search"],"pullCount":883},{"name":"ai.milvus","version":"1.0.2","keywords":["milvus","ai","vector","vector store","vector search"],"pullCount":860},{"name":"livestorm","version":"2.6.0","keywords":["Communication/Video Conferencing","Cost/Freemium"],"pullCount":855},{"name":"ai.weaviate","version":"1.0.2","keywords":["AI","Weaviate","Vector","Store"],"pullCount":825},{"name":"health.fhir.r4utils.ccdatofhir","version":"4.0.0","keywords":["Healthcare","FHIR","R4","Utils","CCDAtoFHIR"],"pullCount":770},{"name":"health.fhir.r4.terminology","version":"7.0.0","keywords":["Healthcare","FHIR","R4","Terminology"],"pullCount":749},{"name":"mistral","version":"1.0.0","keywords":["AI","Integration"],"pullCount":737},{"name":"health.fhir.r4.uscore700","version":"3.0.0","keywords":["Healthcare","FHIR","R4","uscore700"],"pullCount":574},{"name":"cdata.connect.driver","version":"1.1.1","keywords":["IT Operations/Cloud Services","Cost/Paid"],"pullCount":571},{"name":"health.fhir.r5","version":"1.0.1","keywords":["Healthcare","FHIR","R5"],"pullCount":552},{"name":"health.fhir.r4.davincicrd210","version":"2.0.0","keywords":["Healthcare","FHIR","R4","davincicrd210"],"pullCount":475},{"name":"health.fhir.r4.ips","version":"4.0.0","keywords":["Healthcare","FHIR","R4","ips"],"pullCount":431},{"name":"sap.jco","version":"1.0.0","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP"],"pullCount":364},{"name":"health.fhir.r5.international500","version":"1.0.1","keywords":["Healthcare","FHIR","R5","health_fhir_r5_international500"],"pullCount":336},{"name":"health.fhir.r4.davincipas","version":"3.0.0","keywords":["Healthcare","FHIR","R4","davincipas"],"pullCount":329},{"name":"health.fhir.r4.aucore040","version":"3.0.0","keywords":["Healthcare","FHIR","R4","aucore040"],"pullCount":327},{"name":"activemq.driver","version":"1.1.0","keywords":["ActiveMQ"],"pullCount":308},{"name":"exchangerates","version":"1.5.1","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":299},{"name":"azure.openai.embeddings","version":"1.0.2","keywords":["AI/Embeddings","Azure OpenAI","Cost/Paid","GPT-3","Vendor/Microsoft"],"pullCount":282},{"name":"java.jms","version":"1.1.0","keywords":["jms"],"pullCount":281},{"name":"health.fhir.r4utils","version":"1.0.2","keywords":["Healthcare","FHIR","R4","Utils"],"pullCount":237},{"name":"peoplehr","version":"2.2.1","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":217},{"name":"vonage.sms","version":"1.5.1","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":209},{"name":"health.fhir.r4.uscore311","version":"3.0.0","keywords":["Healthcare","FHIR","R4","uscore311"],"pullCount":200},{"name":"sendgrid","version":"1.5.1","keywords":["Marketing/Marketing Automation","Cost/Freemium"],"pullCount":192},{"name":"azure.keyvault","version":"1.6.0","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Paid","Vendor/Microsoft"],"pullCount":184},{"name":"health.fhir.r4.carinbb200","version":"3.0.0","keywords":["Healthcare","FHIR","R4","health_fhir_r4_carinbb200"],"pullCount":159},{"name":"health.fhir.r4.medcom240","version":"1.0.1","keywords":["Healthcare","FHIR","R4","medcom240"],"pullCount":158},{"name":"health.fhir.r4.aubase410","version":"3.0.0","keywords":["Healthcare","FHIR","R4","AUBase"],"pullCount":157},{"name":"health.clients.hl7","version":"2.0.0","keywords":["Healthcare","HL7","client","HL7V2"],"pullCount":153},{"name":"health.fhir.r4.davincihrex100","version":"3.0.0","keywords":["Healthcare","FHIR","R4","DaVinci","HREX"],"pullCount":149},{"name":"trigger.shopify","version":"1.5.0","keywords":["Commerce/eCommerce","Cost/Paid","Trigger"],"pullCount":147},{"name":"trigger.hubspot","version":"0.10.0","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium","Trigger"],"pullCount":140},{"name":"financial.swiftmtToIso20022","version":"1.0.4","keywords":["Financial","SWIFT MT","ISO 20022","Conversion"],"pullCount":123},{"name":"googleapis.gcalendar","version":"4.0.1","keywords":["Productivity/Calendars","Cost/Free","Vendor/Google","Collaboration","Enterprise IT","Management"],"pullCount":121},{"name":"health.fhir.r5.parser","version":"1.0.1","keywords":["Healthcare","FHIR","R5","Parser"],"pullCount":118},{"name":"azure.functions","version":"4.2.0","keywords":["azure","functions","serverless","cloud"],"pullCount":114},{"name":"ibm.ibmmq","version":"1.4.1","keywords":["ibm.ibmmq","client","messaging","network","pubsub"],"pullCount":108},{"name":"financial.iso20022ToSwiftmt","version":"1.0.3","keywords":["Financial","SWIFT MT","ISO 20022","Conversion"],"pullCount":103},{"name":"amadeus.flightofferssearch","version":"1.3.1","keywords":["Sales \u0026 CRM/Scheduling \u0026 Booking","Cost/Freemium"],"pullCount":96},{"name":"amadeus.flightoffersprice","version":"1.3.1","keywords":["Sales \u0026 CRM/Scheduling \u0026 Booking","Cost/Freemium"],"pullCount":91},{"name":"googleapis.docs","version":"1.5.1","keywords":["Content \u0026 Files/Documents","Cost/Freemium","Vendor/Google"],"pullCount":87},{"name":"health.fhir.r4.lkcore010","version":"1.3.0","keywords":["Healthcare","FHIR","R4","LKCore"],"pullCount":85},{"name":"health.fhir.cds","version":"2.0.1","keywords":["Healthcare","FHIR","CDS","CRD"],"pullCount":82},{"name":"medium","version":"1.5.1","keywords":["Content \u0026 Files/Blogs","Cost/Freemium"],"pullCount":80},{"name":"copybook","version":"1.1.0","keywords":["copybook","serdes","cobol","mainframe"],"pullCount":78},{"name":"trigger.quickbooks","version":"1.3.0","keywords":["Finance/Accounting","Cost/Paid","Trigger"],"pullCount":77},{"name":"amadeus.flightcreateorders","version":"1.3.1","keywords":["Sales \u0026 CRM/Scheduling \u0026 Booking","Cost/Freemium"],"pullCount":75},{"name":"metrics.logs","version":"1.0.0","keywords":[],"pullCount":72},{"name":"candid","version":"0.1.1","keywords":["Candid","Nonprofit Data","Philanthropy Data","Nonprofit APIs"],"pullCount":67},{"name":"openai.images","version":"2.0.0","keywords":["AI/Images","OpenAI","Cost/Paid","Image generation","DALL-E 3","Vendor/OpenAI"],"pullCount":67},{"name":"googleapis.bigquery","version":"1.5.1","keywords":["IT Operations/Databases","Cost/Freemium","Vendor/Google"],"pullCount":66},{"name":"leanix.integrationapi","version":"1.5.1","keywords":["IT Operations/Enterprise Architecture Tools","Cost/Paid"],"pullCount":64},{"name":"googleapis.vision","version":"1.6.1","keywords":["AI/Images","Cost/Freemium","Vendor/Google"],"pullCount":63},{"name":"openai.audio","version":"2.0.0","keywords":["AI/Audio","OpenAI","Cost/Paid","speech-to-text","Whisper","Vendor/OpenAI"],"pullCount":58},{"name":"azure.textanalytics","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Paid","Vendor/Microsoft"],"pullCount":57},{"name":"edifact.d03a.retail","version":"0.9.0","keywords":[],"pullCount":51},{"name":"health.ccda.r3","version":"0.9.0","keywords":[],"pullCount":48},{"name":"health.fhir.r4.davincidtr210","version":"1.0.0","keywords":["Healthcare","FHIR","R4","davincidtr210"],"pullCount":47},{"name":"impala","version":"1.3.1","keywords":["Sales \u0026 CRM/Scheduling \u0026 Booking","Cost/Freemium"],"pullCount":45},{"name":"azure.ai.search","version":"1.0.0","keywords":["AI/Search","Azure","Cognitive Search","Azure AI Search"],"pullCount":45},{"name":"azure.ai.search.index","version":"1.0.0","keywords":["AI/Search","Azure","Search Index","Azure AI Search"],"pullCount":45},{"name":"aws.lambda","version":"3.3.0","keywords":["aws","lambda","serverless","cloud"],"pullCount":42},{"name":"jira","version":"2.0.0","keywords":["Jira","Productivity","Project Management","Cost/Freemium"],"pullCount":41},{"name":"cdata.connect","version":"1.2.0","keywords":["IT Operations/Cloud Services","Cost/Paid"],"pullCount":40},{"name":"dayforce","version":"0.1.0","keywords":["HCM","Workforce Management","HRIS"],"pullCount":40},{"name":"wso2.apim.catalog","version":"1.1.2","keywords":[],"pullCount":40},{"name":"googleapis.cloudfunctions","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Freemium","Vendor/Google"],"pullCount":37},{"name":"edifact.d03a.supplychain","version":"0.9.0","keywords":[],"pullCount":37},{"name":"googleapis.oauth2","version":"1.5.1","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium","Vendor/Google"],"pullCount":36},{"name":"openai.finetunes","version":"2.0.0","keywords":["AI/Fine-tunes","OpenAI","Cost/Paid","Files","Models","Vendor/OpenAI"],"pullCount":34},{"name":"alfresco","version":"2.0.0","keywords":[],"pullCount":29},{"name":"zendesk.support","version":"1.6.0","keywords":["Support/Customer Support","Cost/Freemium"],"pullCount":27},{"name":"mi","version":"0.1.2","keywords":[],"pullCount":26},{"name":"health.fhir.templates.r4.patient","version":"1.0.4","keywords":["Healthcare","FHIR","Patient","r4","international"],"pullCount":25},{"name":"azure.ad","version":"2.5.0","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium","Vendor/Microsoft"],"pullCount":24},{"name":"discord","version":"1.0.0","keywords":["Communication/discord","Cost/Free"],"pullCount":22},{"name":"ellucian.studentcharges","version":"1.0.0","keywords":["Education/Student Services","Cost/Paid"],"pullCount":21},{"name":"whatsapp.business","version":"1.5.1","keywords":["Communication/Call \u0026 SMS","Cost/Freemium"],"pullCount":20},{"name":"azure.sqldb","version":"1.5.1","keywords":["IT Operations/Databases","Cost/Paid","Vendor/Microsoft"],"pullCount":20},{"name":"health.fhir.templates.r4.uscore501.patient","version":"1.0.3","keywords":["Healthcare","FHIR","Patient","r4","uscore"],"pullCount":20},{"name":"health.hl7v271","version":"4.0.1","keywords":["Healthcare","HL7","HL7v2.7.1"],"pullCount":20},{"name":"health.fhir.templates.international401.patient","version":"3.0.0","keywords":["Healthcare","FHIR","Patient","r4","health.fhir.r4.international401"],"pullCount":20},{"name":"health.fhir.templates.r4.smartconfiguration","version":"1.0.1","keywords":["Healthcare","FHIR","SMART"],"pullCount":19},{"name":"health.fhir.r4.davinciplannet120","version":"2.0.0","keywords":["Healthcare","FHIR","R4","health_fhir_r4_davinciplannet120"],"pullCount":19},{"name":"microsoft.dynamics365businesscentral","version":"1.5.1","keywords":["Business Management/ERP","Cost/Paid","Vendor/Microsoft"],"pullCount":18},{"name":"health.fhir.r4.davincidrugformulary210","version":"2.0.0","keywords":["Healthcare","FHIR","R4","health_fhir_r4_davincidrugformulary210"],"pullCount":18},{"name":"cloudmersive.currency","version":"1.5.1","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":17},{"name":"health.fhir.templates.r4.metadata","version":"1.0.1","keywords":["Healthcare","FHIR","Metadata"],"pullCount":17},{"name":"zendesk","version":"2.0.0","keywords":["zendesk","CRM","CSM","Support/Customer Support","Cost/Freemium"],"pullCount":17},{"name":"worldtimeapi","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Free"],"pullCount":16},{"name":"elasticsearch","version":"1.3.1","keywords":["Business Intelligence/Analytics","Cost/Paid"],"pullCount":16},{"name":"financial.iso8583","version":"1.0.0","keywords":["Financial","iso8583","v2021"],"pullCount":16},{"name":"pinecone.index","version":"1.0.2","keywords":["AI/Vector Databases","Cost/Freemium","Vendor/Pinecone","Embedding Search"],"pullCount":15},{"name":"fraudlabspro.frauddetection","version":"1.5.1","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium"],"pullCount":15},{"name":"bitbucket","version":"1.5.1","keywords":["IT Operations/Source Control","Cost/Freemium"],"pullCount":15},{"name":"docusign.dsclick","version":"2.0.0","keywords":["eSignature","Cost/Freemium","Documents","Click API","Collaboration","Digital Signature"],"pullCount":15},{"name":"openai.moderations","version":"1.0.5","keywords":["AI/Moderations","OpenAI","Cost/Paid","Moderations","Vendor/OpenAI"],"pullCount":15},{"name":"sap.s4hana.api_sales_order_srv","version":"1.0.0","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":15},{"name":"health.fhir.templates.r4.encounter","version":"1.0.3","keywords":["Healthcare","FHIR","Encounter","r4","international"],"pullCount":14},{"name":"stabilityai","version":"1.0.1","keywords":["AI/Images","Vendor/Stability AI","Cost/Paid","Stable Diffusion"],"pullCount":14},{"name":"docusign.dsesign","version":"1.0.0","keywords":["eSignature","Cost/Freemium","Documents","Collaboration","Digital Signature"],"pullCount":14},{"name":"zoho.crm.rest","version":"1.3.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":13},{"name":"gitlab","version":"1.5.1","keywords":["IT Operations/Source Control","Cost/Freemium"],"pullCount":13},{"name":"microsoft.outlook.calendar","version":"2.4.0","keywords":["Productivity/Calendars","Cost/Free","Vendor/Microsoft"],"pullCount":13},{"name":"file360","version":"1.5.1","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":13},{"name":"aws.marketplace.mpe","version":"0.2.0","keywords":["AWS","Marketplace","Cloud/Subscriptions","Entitlement Management"],"pullCount":13},{"name":"transformer","version":"0.1.0","keywords":[],"pullCount":12},{"name":"webscraping.ai","version":"1.5.1","keywords":["Website \u0026 App Building/Web Scraper","Cost/Freemium"],"pullCount":12},{"name":"nytimes.books","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":12},{"name":"notion","version":"1.5.1","keywords":["Productivity/Project Management","Cost/Freemium"],"pullCount":12},{"name":"api2pdf","version":"1.5.1","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":12},{"name":"docusign.admin","version":"1.3.1","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":12},{"name":"guidewire.insnow","version":"0.1.0","keywords":["Insurance","Guidewire","Cloud API"],"pullCount":12},{"name":"aws.marketplace.mpm","version":"0.2.0","keywords":["AWS","Marketplace","Cloud/Billing","Consumption Tracking"],"pullCount":12},{"name":"openai","version":"1.0.0","keywords":["openai","ai","ChatGPT"],"pullCount":12},{"name":"docusign.rooms","version":"1.3.1","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":11},{"name":"workday.common","version":"1.5.1","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":11},{"name":"mathtools.numbers","version":"1.5.1","keywords":["Education/eLearning","Cost/Freemium"],"pullCount":11},{"name":"hubspot.marketing","version":"2.3.1","keywords":["Marketing/Marketing Automation","Cost/Freemium"],"pullCount":11},{"name":"cloudmersive.barcode","version":"1.5.1","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium"],"pullCount":11},{"name":"salesforce.einstein","version":"1.3.1","keywords":["Business Intelligence/Analytics","Cost/Freemium"],"pullCount":11},{"name":"pdfbroker","version":"1.5.1","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":11},{"name":"googleapis.cloudpubsub","version":"1.5.1","keywords":["IT Operations/Data Ingestion","Cost/Freemium","Vendor/Google"],"pullCount":11},{"name":"health.fhir.templates.r4.practitioner","version":"1.0.3","keywords":["Healthcare","FHIR","Practitioner","r4","international"],"pullCount":11},{"name":"health.fhir.templates.r4.athenaconnect","version":"1.0.3","keywords":["Healthcare","FHIR","AthenaHealth"],"pullCount":11},{"name":"edifact.d03a.finance","version":"0.9.0","keywords":[],"pullCount":11},{"name":"aws.dynamodbstreams","version":"1.0.0","keywords":[],"pullCount":11},{"name":"health.fhir.templates.international401.practitioner","version":"3.0.0","keywords":["Healthcare","FHIR","Practitioner","r4","health.fhir.r4.international401"],"pullCount":11},{"name":"ibm.ctg","version":"0.1.1","keywords":["IBM","CICS","CTG","Mainframe"],"pullCount":11},{"name":"ai.memory.mssql","version":"1.0.0","keywords":["ai","agent","memory"],"pullCount":11},{"name":"optirtc.public","version":"1.5.1","keywords":["Business Intelligence/Analytics","Cost/Free"],"pullCount":10},{"name":"pandadoc","version":"1.3.1","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":10},{"name":"googleapis.cloudfilestore","version":"1.5.1","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Paid","Vendor/Google"],"pullCount":10},{"name":"paylocity","version":"1.5.1","keywords":["Finance/Payroll","Cost/Paid"],"pullCount":10},{"name":"dataflowkit","version":"1.5.1","keywords":["Website \u0026 App Building/Web Scraper","Cost/Freemium"],"pullCount":10},{"name":"googleapis.classroom","version":"1.5.1","keywords":["Education/Elearning","Cost/Free","Vendor/Google"],"pullCount":10},{"name":"facebook.ads","version":"1.5.1","keywords":["Marketing/Social Media Accounts","Cost/Free"],"pullCount":10},{"name":"saps4hana.itcm.user","version":"1.5.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":10},{"name":"health.fhir.templates.r4.observation","version":"1.0.3","keywords":["Healthcare","FHIR","Observation","r4","international"],"pullCount":10},{"name":"googleapis.youtube.data","version":"1.5.1","keywords":["Content \u0026 Files/Video \u0026 Audio","Cost/Free","Vendor/Google"],"pullCount":10},{"name":"ably","version":"1.5.1","keywords":["Business Intelligence/Analytics","Cost/Freemium"],"pullCount":10},{"name":"workday.connect","version":"1.5.1","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":10},{"name":"botify","version":"1.5.1","keywords":["Website \u0026 App Building/Search Engine Optimization","Cost/Paid"],"pullCount":10},{"name":"googleapis.appsscript","version":"1.5.1","keywords":["Content \u0026 Files/Documents","Cost/Free","Vendor/Google"],"pullCount":10},{"name":"siemens.iotandstorage.iotfileservice","version":"1.5.1","keywords":["Internet of Things/Device Management","Cost/Paid"],"pullCount":10},{"name":"workday.customeraccounts","version":"1.5.1","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":10},{"name":"health.fhir.templates.r4.cernerconnect","version":"1.0.3","keywords":["Healthcare","FHIR","Cerner"],"pullCount":10},{"name":"health.fhir.templates.r4.epicconnect","version":"1.0.3","keywords":["Healthcare","FHIR","Epic"],"pullCount":10},{"name":"hubspot.crm.import","version":"3.0.0","keywords":["hubspot","crm","imports"],"pullCount":10},{"name":"hubspot.marketing.emails","version":"0.1.0","keywords":["hubspot","crm","marketing","emails"],"pullCount":10},{"name":"paypal.payments","version":"2.0.0","keywords":["Paypal","Payments"],"pullCount":10},{"name":"health.fhir.templates.international401.device","version":"3.0.0","keywords":["Healthcare","FHIR","Device","r4","health.fhir.r4.international401"],"pullCount":10},{"name":"hubspot.crm.product","version":"2.3.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":9},{"name":"power.bi","version":"1.5.1","keywords":["Business Intelligence/Analytics","Cost/Paid","Vendor/Microsoft"],"pullCount":9},{"name":"readme","version":"1.5.1","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":9},{"name":"reckon.one","version":"1.3.1","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":9},{"name":"dropbox","version":"1.5.1","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Free"],"pullCount":9},{"name":"edocs","version":"1.5.1","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":9},{"name":"wordpress","version":"1.5.1","keywords":["Website \u0026 App Building/Website Builders","Cost/Freemium"],"pullCount":9},{"name":"powertoolsdeveloper.files","version":"1.5.1","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":9},{"name":"shorten.rest","version":"1.5.1","keywords":["Marketing/Url Shortener","Cost/Freemium"],"pullCount":9},{"name":"freshbooks","version":"1.5.1","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":9},{"name":"ip2whois","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Free"],"pullCount":9},{"name":"googleapis.clouddatastore","version":"1.5.1","keywords":["IT Operations/Databases","Cost/Freemium","Vendor/Google"],"pullCount":9},{"name":"workday.absencemanagement","version":"1.5.1","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":9},{"name":"saps4hana.wls.screeninghits","version":"1.4.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":9},{"name":"health.fhir.templates.r4.organization","version":"1.0.3","keywords":["Healthcare","FHIR","Organization","r4","international"],"pullCount":9},{"name":"elmah","version":"1.5.1","keywords":["IT Operations/Debug Tools","Cost/Paid"],"pullCount":9},{"name":"saps4hana.itcm.product","version":"1.5.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":9},{"name":"googleapis.slides","version":"1.5.1","keywords":["Content \u0026 Files/Documents","Cost/Freemium","Vendor/Google"],"pullCount":9},{"name":"xero.files","version":"1.5.1","keywords":["Content \u0026 Files/Documents","Cost/Paid"],"pullCount":9},{"name":"zoho.books","version":"1.3.1","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":9},{"name":"commercetools.customizebehavior","version":"1.4.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":9},{"name":"nytimes.newswire","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":9},{"name":"sap.successfactors.litmos","version":"1.3.1","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":9},{"name":"tableau","version":"1.4.1","keywords":["Business Intelligence/Visualization","Cost/Freemium"],"pullCount":9},{"name":"powertoolsdeveloper.weather","version":"1.5.1","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":9},{"name":"openair","version":"1.5.1","keywords":["Productivity/Project Management","Cost/Paid"],"pullCount":9},{"name":"interzoid.currencyrate","version":"1.5.1","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":9},{"name":"googleapis.youtube.analytics","version":"1.5.1","keywords":["Business Intelligence/Analytics","Cost/Free","Vendor/Google"],"pullCount":9},{"name":"health.fhir.templates.international401.consent","version":"3.0.0","keywords":["Healthcare","FHIR","Consent","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.r4.uscore400","version":"3.0.0","keywords":["Healthcare","FHIR","R4","uscore400"],"pullCount":9},{"name":"health.fhir.r4.uscore610","version":"3.0.0","keywords":["Healthcare","FHIR","R4","uscore610"],"pullCount":9},{"name":"Apache","version":"0.1.0","keywords":["giphy","GIF","sticker"],"pullCount":8},{"name":"boxapi","version":"0.1.1","keywords":["Box","File","Folder"],"pullCount":8},{"name":"ellucian.student","version":"1.0.0","keywords":["Education/Student Services","Cost/Paid"],"pullCount":8},{"name":"saps4hana.externaltaxcalculation.taxquote","version":"1.3.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":8},{"name":"hubspot.analytics","version":"2.3.1","keywords":["Business Intelligence/Analytics","Cost/Freemium"],"pullCount":8},{"name":"sap.fieldglass.approval","version":"1.3.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":8},{"name":"hubspot.files","version":"2.3.1","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Freemium"],"pullCount":8},{"name":"jira.servicemanagement","version":"1.3.1","keywords":["Support//Customer Support","Cost/Freemium"],"pullCount":8},{"name":"pocketsmith","version":"1.5.1","keywords":["Finance/Asset Management","Cost/Freemium"],"pullCount":8},{"name":"pagerduty","version":"1.5.1","keywords":["Support/Customer Support","Cost/Freemium"],"pullCount":8},{"name":"workday.coreaccounting","version":"1.5.1","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":8},{"name":"siemens.platformcore.identitymanagement","version":"1.5.1","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium"],"pullCount":8},{"name":"godaddy.orders","version":"1.5.1","keywords":["Website \u0026 App Building/Website Builders","Cost/Paid"],"pullCount":8},{"name":"sugarcrm","version":"1.4.1","keywords":["Sales \u0026 CRM","Customer Relationship Management"],"pullCount":8},{"name":"commercetools.auditlog","version":"1.4.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":8},{"name":"adobe.analytics","version":"1.3.1","keywords":["Business Intelligence/Analytics","Cost/Freemium"],"pullCount":8},{"name":"googleapis.cloudbuild","version":"1.5.1","keywords":["Finance/Billing","Cost/Paid","Vendor/Google"],"pullCount":8},{"name":"iris.lead","version":"1.5.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":8},{"name":"godaddy.abuse","version":"1.5.1","keywords":["Business Intelligence/Reporting","Cost/Paid"],"pullCount":8},{"name":"xero.finance","version":"1.5.1","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":8},{"name":"ebay.listing","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":8},{"name":"workday.payroll","version":"1.5.1","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":8},{"name":"hubspot.crm.company","version":"2.3.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":8},{"name":"googleapis.youtube.reporting","version":"1.5.1","keywords":["Business Intelligence/Reporting","Cost/Free","Vendor/Google"],"pullCount":8},{"name":"bitly","version":"1.5.1","keywords":["Devtools","Cost/Freemium"],"pullCount":8},{"name":"isbndb","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/Books","Cost/Paid"],"pullCount":8},{"name":"sinch.sms","version":"1.5.1","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":8},{"name":"xero.bankfeeds","version":"1.5.1","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":8},{"name":"insightly.custom","version":"1.5.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":8},{"name":"googleapis.manufacturercenter","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Free","Vendor/Google"],"pullCount":8},{"name":"health.fhir.templates.r4.diagnosticreport","version":"1.0.3","keywords":["Healthcare","FHIR","DiagnosticReport","r4","international"],"pullCount":8},{"name":"googleapis.bigquery.datatransfer","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Freemium","Vendor/Google"],"pullCount":8},{"name":"googleapis.cloudtalentsolution","version":"1.5.1","keywords":["Human Resources/Talent Acquisition","Cost/Free","Vendor/Google"],"pullCount":8},{"name":"bmc.truesightpresentationserver","version":"1.5.1","keywords":["IT Operations/Server Monitoring","Cost/Freemium"],"pullCount":8},{"name":"spotto","version":"1.5.1","keywords":["Internet of Things/Device Management","Cost/Paid"],"pullCount":8},{"name":"iris.helpdesk","version":"1.5.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":8},{"name":"hubspot.crm.deal","version":"2.3.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":8},{"name":"godaddy.shopper","version":"1.5.1","keywords":["Website \u0026 App Building/Website Builders","Cost/Paid"],"pullCount":8},{"name":"hubspot.crm.feedback","version":"2.3.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":8},{"name":"automata","version":"1.5.1","keywords":["Business Intelligence/Analytics","Cost/Paid"],"pullCount":8},{"name":"launchdarkly","version":"1.5.1","keywords":["Productivity/Project Management","Cost/Freemium"],"pullCount":8},{"name":"storecove","version":"1.5.1","keywords":["Finance/Billing","Cost/Freemium"],"pullCount":8},{"name":"bintable","version":"1.5.1","keywords":["Business Intelligence/Analytics","Cost/Free"],"pullCount":8},{"name":"powertoolsdeveloper.data","version":"1.5.1","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":8},{"name":"saps4hana.itcm.agreement","version":"1.5.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":8},{"name":"odweather","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":8},{"name":"shipstation","version":"1.4.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":8},{"name":"fungenerators.barcode","version":"1.5.1","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Paid"],"pullCount":8},{"name":"bulksms","version":"1.5.1","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":8},{"name":"azure.iothub","version":"1.5.1","keywords":["Internet of Things/Device Management","Cost/Paid","Vendor/Microsoft"],"pullCount":8},{"name":"docusign.click","version":"1.3.1","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":8},{"name":"salesforce.pardot","version":"1.3.1","keywords":["Marketing/Marketing Automation","Cost/Paid"],"pullCount":8},{"name":"owler","version":"1.5.1","keywords":["Business Intelligence/Analytics","Cost/Freemium"],"pullCount":8},{"name":"recurly","version":"1.5.1","keywords":["Finance/Billing","Cost/Paid"],"pullCount":8},{"name":"ebay.account","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":8},{"name":"journey.io","version":"1.5.1","keywords":["Business Intelligence/Analytics","Cost/Freemium"],"pullCount":8},{"name":"wordnik","version":"1.5.1","keywords":["Education/Dictionary","Cost/Freemium"],"pullCount":8},{"name":"neutrino","version":"1.5.1","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":8},{"name":"siemens.analytics.anomalydetection","version":"1.5.1","keywords":["Business Intelligence/Analytics","Cost/Paid"],"pullCount":8},{"name":"saps4hana.itcm.customer","version":"1.5.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":8},{"name":"xero.assets","version":"1.5.1","keywords":["Finance/Asset Management","Cost/Paid"],"pullCount":8},{"name":"ynab","version":"1.5.1","keywords":["Finance/Asset Management","Cost/Paid"],"pullCount":8},{"name":"adp.paystatements","version":"1.5.1","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":8},{"name":"dracoon.public","version":"1.5.1","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Paid"],"pullCount":8},{"name":"iptwist","version":"1.5.1","keywords":["IT Operations/Geographic Information Systems","Cost/Freemium"],"pullCount":8},{"name":"orbitcrm","version":"1.5.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":8},{"name":"googleapis.vault","version":"1.5.1","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Paid","Vendor/Google"],"pullCount":8},{"name":"brex.team","version":"1.5.1","keywords":["Human Resources/HRMS","Cost/Freemium"],"pullCount":8},{"name":"fraudlabspro.smsverification","version":"1.5.1","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium"],"pullCount":8},{"name":"googleapis.books","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/Books","Cost/Freemium","Vendor/Google"],"pullCount":8},{"name":"azure.timeseries","version":"1.5.1","keywords":["Internet of Things/Device Management","Cost/Paid","Vendor/Microsoft"],"pullCount":8},{"name":"visiblethread","version":"1.5.1","keywords":["Business Intelligence/Language Analysis","Cost/Paid"],"pullCount":8},{"name":"mitto.sms","version":"1.5.1","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":8},{"name":"health.fhir.templates.r4.servicerequest","version":"1.0.3","keywords":["Healthcare","FHIR","ServiceRequest","r4","international"],"pullCount":8},{"name":"health.fhir.templates.r4.uscore501.encounter","version":"1.0.3","keywords":["Healthcare","FHIR","Encounter","r4","uscore"],"pullCount":8},{"name":"aws.simpledb","version":"2.2.0","keywords":["IT Operations/Databases","Cost/Freemium","Vendor/Amazon"],"pullCount":8},{"name":"sap.s4hana.salesarea_0001","version":"1.0.0","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":8},{"name":"sap.s4hana.api_sales_quotation_srv","version":"1.0.0","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":8},{"name":"aws.secretmanager","version":"0.3.0","keywords":["AWS","Secret Manager","Cloud/Subscriptions"],"pullCount":8},{"name":"hubspot.marketing.events","version":"0.1.0","keywords":[],"pullCount":8},{"name":"hubspot.marketing.forms","version":"0.1.0","keywords":["hubspot","crm","marketing","forms"],"pullCount":8},{"name":"health.fhir.templates.international401.encounter","version":"3.0.0","keywords":["Healthcare","FHIR","Encounter","r4","health.fhir.r4.international401"],"pullCount":8},{"name":"health.fhir.templates.international401.claim","version":"3.0.0","keywords":["Healthcare","FHIR","Claim","r4","health.fhir.r4.international401"],"pullCount":8},{"name":"health.fhir.templates.international401.diagnosticreport","version":"3.0.0","keywords":["Healthcare","FHIR","DiagnosticReport","r4","health.fhir.r4.international401"],"pullCount":8},{"name":"health.fhir.templates.international401.medicationstatement","version":"3.0.0","keywords":["Healthcare","FHIR","MedicationStatement","r4","health.fhir.r4.international401"],"pullCount":8},{"name":"health.fhirr5","version":"1.0.1","keywords":["Healthcare","FHIR","R5","service"],"pullCount":8},{"name":"health.fhir.templates.international401.relatedperson","version":"3.0.0","keywords":["Healthcare","FHIR","RelatedPerson","r4","health.fhir.r4.international401"],"pullCount":8},{"name":"interzoid.currencyexchange","version":"0.1.0","keywords":["Currency","Interzoid","Exchange Rate"],"pullCount":7},{"name":"plaid","version":"1.5.1","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":7},{"name":"googleapis.tasks","version":"1.5.1","keywords":["Productivity/Task Management","Cost/Free","Vendor/Google"],"pullCount":7},{"name":"xero.projects","version":"1.5.1","keywords":["Productivity/Project Management","Cost/Paid"],"pullCount":7},{"name":"apideck.accounting","version":"1.5.1","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":7},{"name":"workday.compensation","version":"1.5.1","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":7},{"name":"azure.openai.finetunes","version":"1.0.1","keywords":["AI/Fine-tunes","Vendor/Microsoft","Cost/Paid","Fine-tunes","Files","Models","Azure OpenAI"],"pullCount":7},{"name":"magento.cart","version":"1.3.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":7},{"name":"shipwire.receivings","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":7},{"name":"symantotextanalytics","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Paid"],"pullCount":7},{"name":"azure.analysisservices","version":"1.3.1","keywords":["IT Operations/Cloud Services","Cost/Paid","Vendor/Microsoft"],"pullCount":7},{"name":"powertoolsdeveloper.math","version":"1.5.1","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":7},{"name":"ipgeolocation","version":"1.5.1","keywords":["IT Operations/Geographic Information Systems","Cost/Free"],"pullCount":7},{"name":"interzoid.globaltime","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":7},{"name":"ebay.metadata","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":7},{"name":"browshot","version":"1.5.1","keywords":["IT Operations/Browser Tools","Cost/Freemium"],"pullCount":7},{"name":"ebay.logistics","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":7},{"name":"interzoid.statedata","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":7},{"name":"squareup","version":"1.3.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":7},{"name":"namsor","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Freemium"],"pullCount":7},{"name":"godaddy.countries","version":"1.5.1","keywords":["Website \u0026 App Building/Website Builders","Cost/Paid"],"pullCount":7},{"name":"commercetools.pricingdiscount","version":"1.4.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":7},{"name":"formstack","version":"1.3.1","keywords":["Finance/Task Management","Cost/Freemium"],"pullCount":7},{"name":"hubspot.crm.ticket","version":"2.3.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":7},{"name":"whohoststhis","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":7},{"name":"apple.appstore","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/App Store","Cost/Paid"],"pullCount":7},{"name":"sinch.voice","version":"1.5.1","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":7},{"name":"mailscript","version":"1.5.1","keywords":["Communication/Mail","Cost/Paid"],"pullCount":7},{"name":"zendesk.voice","version":"1.5.1","keywords":["Support/Customer Support","Cost/Freemium"],"pullCount":7},{"name":"shipwire.warehouse","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":7},{"name":"iris.merchants","version":"1.5.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":7},{"name":"karbon","version":"1.5.1","keywords":["Productivity/Product Management","Cost/Paid"],"pullCount":7},{"name":"nytimes.moviereviews","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":7},{"name":"godaddy.agreements","version":"1.5.1","keywords":["Website \u0026 App Building/Website Builders","Cost/Paid"],"pullCount":7},{"name":"instagram.bussiness","version":"1.5.1","keywords":["Marketing/Social Media Accounts","Cost/Free"],"pullCount":7},{"name":"ebay.analytics","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":7},{"name":"nytimes.topstories","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":7},{"name":"commercetools.customer","version":"1.4.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":7},{"name":"quickbase","version":"1.3.1","keywords":["Website \u0026 App Building/App Builders","Cost/Paid"],"pullCount":7},{"name":"vonage.voice","version":"1.5.1","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":7},{"name":"cloudmersive.virusscan","version":"1.5.1","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium"],"pullCount":7},{"name":"azure.iotcentral","version":"1.5.1","keywords":["Internet of Things/Device Management","Cost/Paid","Vendor/Microsoft"],"pullCount":7},{"name":"dev.to","version":"1.5.1","keywords":["Marketing/Social Media Accounts","Cost/Freemium"],"pullCount":7},{"name":"workday.expense","version":"1.5.1","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":7},{"name":"nytimes.articlesearch","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":7},{"name":"chaingateway","version":"1.5.1","keywords":["Finance/Cryptocurrency","Cost/Freemium"],"pullCount":7},{"name":"icons8","version":"1.5.1","keywords":["Content \u0026 Files/Images \u0026 Design","Cost/Freemium"],"pullCount":7},{"name":"googleapis.cloudnaturallanguage","version":"1.5.1","keywords":["Business Intelligence/Language Analysis","Cost/Free","Vendor/Google"],"pullCount":7},{"name":"text2data","version":"1.5.1","keywords":["Business Intelligence/Analytics","Cost/Freemium"],"pullCount":7},{"name":"selz","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":7},{"name":"azure.anomalydetector","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Paid","Vendor/Microsoft"],"pullCount":7},{"name":"gotomeeting","version":"1.5.1","keywords":["Communication/Video Conferencing","Cost/Paid"],"pullCount":7},{"name":"avaza","version":"1.5.1","keywords":["Productivity/Project Management","Cost/Freemium"],"pullCount":7},{"name":"geonames","version":"1.3.1","keywords":["IT Operations/Geographic Information Systems","Cost/Freemium"],"pullCount":7},{"name":"interzoid.globalpageload","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":7},{"name":"yodlee","version":"1.5.1","keywords":["Finance/Asset Management","Cost/Freemium"],"pullCount":7},{"name":"iris.disputeresponder","version":"1.5.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":7},{"name":"ocpi","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Free"],"pullCount":7},{"name":"interzoid.zipinfo","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":7},{"name":"gotowebinar","version":"1.5.1","keywords":["Communication/Video Conferencing","Cost/Paid"],"pullCount":7},{"name":"saps4hana.itcm.organizationaldata","version":"1.5.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":7},{"name":"bing.autosuggest","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Freemium","Vendor/Microsoft"],"pullCount":7},{"name":"saps4hana.itcm.currency","version":"1.5.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":7},{"name":"ebay.compliance","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":7},{"name":"commercetools.productcatalog","version":"1.4.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":7},{"name":"ebay.finances","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":7},{"name":"hubspot.crm.property","version":"2.3.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":7},{"name":"files.com","version":"1.5.1","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Paid"],"pullCount":7},{"name":"kinto","version":"1.5.1","keywords":["Website \u0026 App Building/App Builders","Cost/Free"],"pullCount":7},{"name":"googleapis.blogger","version":"1.5.1","keywords":["Content \u0026 Files/Blogs","Cost/Free","Vendor/Google"],"pullCount":7},{"name":"gototraining","version":"1.5.1","keywords":["Communication/Video Conferencing","Cost/Paid"],"pullCount":7},{"name":"googleapis.cloudbillingaccount","version":"1.5.1","keywords":["Finance/Billing","Cost/Freemium","Vendor/Google"],"pullCount":7},{"name":"cloudmersive.security","version":"1.5.1","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium"],"pullCount":7},{"name":"powertoolsdeveloper.text","version":"1.5.1","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":7},{"name":"onepassword","version":"1.5.1","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Paid"],"pullCount":7},{"name":"godaddy.subscriptions","version":"1.5.1","keywords":["Website \u0026 App Building/Website Builders","Cost/Paid"],"pullCount":7},{"name":"docusign.monitor","version":"1.3.1","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":7},{"name":"brex.onboarding","version":"1.5.1","keywords":["Sales \u0026 CRM/Contact Management","Cost/Freemium"],"pullCount":7},{"name":"hubspot.crm.pipeline","version":"2.3.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":7},{"name":"godaddy.aftermarket","version":"1.5.1","keywords":["Website \u0026 App Building/Website Builders","Cost/Paid"],"pullCount":7},{"name":"azure.qnamaker","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Freemium","Vendor/Microsoft"],"pullCount":7},{"name":"powertoolsdeveloper.datetime","version":"1.5.1","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":7},{"name":"hubspot.crm.quote","version":"2.3.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":7},{"name":"microsoft.onenote","version":"2.4.0","keywords":["Content \u0026 Files/Notes","Cost/Freemium","Vendor/Microsoft"],"pullCount":7},{"name":"health.fhir.templates.r4.repositorysync","version":"1.0.2","keywords":["Healthcare","FHIR","Repository","Synchronize"],"pullCount":7},{"name":"zuora.collection","version":"1.5.1","keywords":["Finance/Payment","Cost/Paid"],"pullCount":7},{"name":"powertoolsdeveloper.collections","version":"1.5.1","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":7},{"name":"vimeo","version":"1.5.1","keywords":["Content \u0026 Files/Video \u0026 Audio","Cost/Freemium"],"pullCount":7},{"name":"powertoolsdeveloper.finance","version":"1.5.1","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":7},{"name":"sinch.conversation","version":"1.5.1","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":7},{"name":"samcart","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":7},{"name":"atspoke","version":"1.5.1","keywords":["Support/Customer Support","Cost/Paid"],"pullCount":7},{"name":"saps4hana.itcm.accountreceivable","version":"1.5.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":7},{"name":"fungenerators.uuid","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Paid"],"pullCount":7},{"name":"graphhopper.directions","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":7},{"name":"avatax","version":"1.3.1","keywords":["Business Intelligence/Reporting","Cost/Freemium"],"pullCount":7},{"name":"figshare","version":"1.5.1","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":7},{"name":"cloudmersive.validate","version":"1.5.1","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium"],"pullCount":7},{"name":"soundcloud","version":"1.5.1","keywords":["Content \u0026 Files/Video \u0026 Audio","Cost/Freemium"],"pullCount":7},{"name":"workday.businessprocess","version":"1.5.1","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":7},{"name":"googleapis.mybusiness","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Free","Vendor/Google"],"pullCount":7},{"name":"freshdesk","version":"1.3.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":7},{"name":"googleapis.abusiveexperiencereport","version":"1.5.1","keywords":["Business Intelligence/Reporting","Cost/Free","Vendor/Google"],"pullCount":7},{"name":"logoraisr","version":"1.5.1","keywords":["Content \u0026 Files/Images \u0026 Design","Cost/Paid"],"pullCount":7},{"name":"googleapis.discovery","version":"1.5.1","keywords":["Marketing/Ads \u0026 Conversion","Cost/Free","Vendor/Google"],"pullCount":7},{"name":"eloqua","version":"1.3.1","keywords":["Marketing/Marketing Automation","Cost/Paid"],"pullCount":7},{"name":"disqus","version":"1.5.1","keywords":["Website \u0026 App Building/Website Builders","Cost/Freemium"],"pullCount":7},{"name":"constantcontact","version":"1.5.1","keywords":["Marketing/Marketing Automation","Cost/Paid"],"pullCount":7},{"name":"instagram","version":"1.5.1","keywords":["Marketing/Social Media Accounts","Cost/Free"],"pullCount":7},{"name":"nytimes.semantic","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":7},{"name":"bisstats","version":"1.5.1","keywords":["Business Intelligence/Analytics","Cost/Free"],"pullCount":7},{"name":"iris.esignature","version":"1.5.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":7},{"name":"adp.workerpayrollinstructions","version":"1.5.1","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":7},{"name":"flatapi","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Freemium"],"pullCount":7},{"name":"saps4hana.pp.idm","version":"1.4.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":7},{"name":"zuora.revenue","version":"1.5.1","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":7},{"name":"apideck.lead","version":"1.5.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":7},{"name":"shortcut","version":"1.5.1","keywords":["Productivity/Project Management","Cost/Freemium"],"pullCount":7},{"name":"ebay.browse","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":7},{"name":"commercetools.customizedata","version":"1.4.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":7},{"name":"nytimes.archive","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":7},{"name":"listen.notes","version":"1.5.1","keywords":["Content \u0026 Files/Video \u0026 Audio","Cost/Freemium"],"pullCount":7},{"name":"iris.subscriptions","version":"1.5.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":7},{"name":"vonage.numbers","version":"1.5.1","keywords":["Communication/Call Tracking","Cost/Paid"],"pullCount":7},{"name":"googleapis.retail","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Paid","Vendor/Google"],"pullCount":7},{"name":"rumble.run","version":"1.5.1","keywords":["IT Operations/Server Monitoring","Cost/Freemium"],"pullCount":7},{"name":"extpose","version":"1.5.1","keywords":["IT Operations/Browser Tools","Cost/Freemium"],"pullCount":7},{"name":"commercetools.configuration","version":"1.4.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":7},{"name":"magento.async.customer","version":"1.3.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":7},{"name":"optimizely","version":"1.5.1","keywords":["IT Operations/Testing Tools","Cost/Paid"],"pullCount":7},{"name":"googleapis.cloudtranslation","version":"1.5.1","keywords":["Education/Translator","Cost/Free","Vendor/Google"],"pullCount":7},{"name":"ebay.recommendation","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":7},{"name":"keap","version":"1.3.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":7},{"name":"googleapis.cloudscheduler","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Freemium","Vendor/Google"],"pullCount":7},{"name":"saps4hana.itcm.uom","version":"1.5.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":7},{"name":"box","version":"1.5.1","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Freemium"],"pullCount":7},{"name":"saps4hana.itcm.producthierarchy","version":"1.5.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":7},{"name":"interzoid.globalnumberinfo","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":7},{"name":"saps4hana.itcm.customerhierarchy","version":"1.5.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":7},{"name":"ritekit","version":"1.5.1","keywords":["Marketing/Social Media Marketing","Cost/Freemium"],"pullCount":7},{"name":"isendpro","version":"1.5.1","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":7},{"name":"hubspot.crm.schema","version":"2.3.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":7},{"name":"openfigi","version":"1.5.1","keywords":["Finance/Accounting","Cost/Free"],"pullCount":7},{"name":"sakari","version":"1.5.1","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":7},{"name":"nytimes.mostpopular","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":7},{"name":"interzoid.emailinfo","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":7},{"name":"supportbee","version":"1.5.1","keywords":["Support/Customer Support","Cost/Paid"],"pullCount":7},{"name":"shippit","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":7},{"name":"workday.accountspayable","version":"1.5.1","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":7},{"name":"uber","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/Ride-Hailing","Cost/Paid"],"pullCount":7},{"name":"shipwire.containers","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":7},{"name":"godaddy.domains","version":"1.5.1","keywords":["Website \u0026 App Building/Website Builders","Cost/Paid"],"pullCount":7},{"name":"optitune","version":"1.5.1","keywords":["Internet of Things/Device Management","Cost/Paid"],"pullCount":7},{"name":"prodpad","version":"1.5.1","keywords":["Productivity/Product Management","Cost/Paid"],"pullCount":7},{"name":"ebay.negotiation","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":7},{"name":"hubspot.crm.lineitem","version":"2.3.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":7},{"name":"giphy","version":"1.5.1","keywords":["Content \u0026 Files/Images \u0026 Design","Cost/Free"],"pullCount":7},{"name":"hubspot.events","version":"2.3.1","keywords":["Marketing/Event Management","Cost/Freemium"],"pullCount":7},{"name":"shipwire.carrier","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":7},{"name":"thinkific","version":"1.3.1","keywords":["Website \u0026 App Building/Website Builders","Cost/Freemium"],"pullCount":7},{"name":"commercetools.cartsordershoppinglists","version":"1.4.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":7},{"name":"iris.residuals","version":"1.5.1","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":7},{"name":"pushcut","version":"1.5.1","keywords":["Internet of Things/Device Management","Cost/Paid"],"pullCount":7},{"name":"saps4hana.itcm.promotion","version":"1.5.1","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":7},{"name":"nytimes.timestags","version":"1.5.1","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":7},{"name":"godaddy.certificates","version":"1.5.1","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Paid"],"pullCount":7},{"name":"earthref.fiesta","version":"1.5.1","keywords":["IT Operations/Geographic Information Systems","Cost/Free"],"pullCount":7},{"name":"clever.data","version":"1.5.1","keywords":["Education/Elearning","Cost/Paid"],"pullCount":7},{"name":"nowpayments","version":"1.5.1","keywords":["Finance/Payment","Cost/Paid"],"pullCount":7},{"name":"xero.appstore","version":"1.4.1","keywords":["Support/Customer Support","Cost/Paid"],"pullCount":7},{"name":"azure.openai.deployment","version":"1.0.1","keywords":["AI/Deployment","Vendor/Microsoft","Cost/Paid","Model Deployment","Azure OpenAI"],"pullCount":7},{"name":"opendesign","version":"1.5.1","keywords":["Content \u0026 Files/Images \u0026 Design","Cost/Freemium"],"pullCount":7},{"name":"techport","version":"1.5.1","keywords":["IT Operations/Cloud Services","Cost/Free"],"pullCount":7},{"name":"sinch.verification","version":"1.5.1","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Paid"],"pullCount":7},{"name":"vonage.verify","version":"1.5.1","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":7},{"name":"vonage.numberinsight","version":"1.5.1","keywords":["Communication/Call Tracking","Cost/Paid"],"pullCount":7},{"name":"ebay.inventory","version":"1.5.1","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":7},{"name":"magento.address","version":"1.3.1","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":7},{"name":"apideck.proxy","version":"1.5.1","keywords":["IT Operations/Server Monitoring","Cost/Freemium"],"pullCount":7},{"name":"beezup.merchant","version":"1.6.0","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":7},{"name":"edifact.d03a.manufacturing","version":"0.9.0","keywords":[],"pullCount":7},{"name":"edifact.d03a.logistics","version":"0.9.0","keywords":[],"pullCount":7},{"name":"edifact.d03a.services","version":"0.9.0","keywords":[],"pullCount":7},{"name":"edifact.d03a.shipping","version":"0.9.0","keywords":[],"pullCount":7},{"name":"sap.s4hana.api_salesdistrict_srv","version":"1.0.0","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":7},{"name":"sap.s4hana.api_sd_sa_soldtopartydetn","version":"1.0.0","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":7},{"name":"sap.s4hana.api_sd_incoterms_srv","version":"1.0.0","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":7},{"name":"sap.s4hana.api_sales_inquiry_srv","version":"1.0.0","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":7},{"name":"sap.s4hana.ce_salesorder_0001","version":"1.0.0","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":7},{"name":"sap.s4hana.api_sales_order_simulation_srv","version":"1.0.0","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":7},{"name":"sap.s4hana.api_salesorganization_srv","version":"1.0.0","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":7},{"name":"aws.redshiftdata","version":"1.1.0","keywords":["Data Warehouse","Columnar Storage","Cost/Paid","vendor/aws"],"pullCount":7},{"name":"hubspot.crm.extensions.timelines","version":"1.0.0","keywords":[],"pullCount":7},{"name":"hubspot.crm.engagements.email","version":"1.0.0","keywords":[],"pullCount":7},{"name":"hubspot.crm.commerce.carts","version":"1.0.0","keywords":["hubspot","crm","commerce","carts"],"pullCount":7},{"name":"hubspot.crm.engagement.notes","version":"1.0.0","keywords":["hubspot","crm","engagement","notes"],"pullCount":7},{"name":"hubspot.crm.lists","version":"0.1.0","keywords":["hubspot","crm","lists"],"pullCount":7},{"name":"hubspot.crm.properties","version":"1.0.0","keywords":["hubspot","CRM","Properties Management","Marketing Automation","Customer Data","Cost/Freemium"],"pullCount":7},{"name":"hubspot.marketing.subscriptions","version":"1.0.0","keywords":["hubspot","marketing","subscriptions"],"pullCount":7},{"name":"hubspot.marketing.transactional","version":"0.1.0","keywords":["hubspot","marketing","transactional","emails"],"pullCount":7},{"name":"health.fhir.templates.international401.allergyintolerance","version":"3.0.0","keywords":["Healthcare","FHIR","AllergyIntolerance","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.compartmentdefinition","version":"3.0.0","keywords":["Healthcare","FHIR","CompartmentDefinition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.endpoint","version":"3.0.0","keywords":["Healthcare","FHIR","Endpoint","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.enrollmentrequest","version":"3.0.0","keywords":["Healthcare","FHIR","EnrollmentRequest","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.careplan","version":"3.0.0","keywords":["Healthcare","FHIR","CarePlan","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.evidencevariable","version":"3.0.0","keywords":["Healthcare","FHIR","EvidenceVariable","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.group","version":"3.0.0","keywords":["Healthcare","FHIR","Group","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.account","version":"3.0.0","keywords":["Healthcare","FHIR","Account","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.adverseevent","version":"3.0.0","keywords":["Healthcare","FHIR","AdverseEvent","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.enrollmentresponse","version":"3.0.0","keywords":["Healthcare","FHIR","EnrollmentResponse","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.episodeofcare","version":"3.0.0","keywords":["Healthcare","FHIR","EpisodeOfCare","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.familymemberhistory","version":"3.0.0","keywords":["Healthcare","FHIR","FamilyMemberHistory","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.clinicalimpression","version":"3.0.0","keywords":["Healthcare","FHIR","ClinicalImpression","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.catalogentry","version":"3.0.0","keywords":["Healthcare","FHIR","CatalogEntry","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.chargeitem","version":"3.0.0","keywords":["Healthcare","FHIR","ChargeItem","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.coverageeligibilityresponse","version":"3.0.0","keywords":["Healthcare","FHIR","CoverageEligibilityResponse","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.documentreference","version":"3.0.0","keywords":["Healthcare","FHIR","DocumentReference","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.coverageeligibilityrequest","version":"3.0.0","keywords":["Healthcare","FHIR","CoverageEligibilityRequest","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.effectevidencesynthesis","version":"3.0.0","keywords":["Healthcare","FHIR","EffectEvidenceSynthesis","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.condition","version":"3.0.0","keywords":["Healthcare","FHIR","Condition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.contract","version":"3.0.0","keywords":["Healthcare","FHIR","Contract","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.appointmentresponse","version":"3.0.0","keywords":["Healthcare","FHIR","AppointmentResponse","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.coverage","version":"3.0.0","keywords":["Healthcare","FHIR","Coverage","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.detectedissue","version":"3.0.0","keywords":["Healthcare","FHIR","DetectedIssue","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.claimresponse","version":"3.0.0","keywords":["Healthcare","FHIR","ClaimResponse","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.communicationrequest","version":"3.0.0","keywords":["Healthcare","FHIR","CommunicationRequest","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.evidence","version":"3.0.0","keywords":["Healthcare","FHIR","Evidence","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.devicerequest","version":"3.0.0","keywords":["Healthcare","FHIR","DeviceRequest","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.communication","version":"3.0.0","keywords":["Healthcare","FHIR","Communication","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.basic","version":"3.0.0","keywords":["Healthcare","FHIR","Basic","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.conceptmap","version":"3.0.0","keywords":["Healthcare","FHIR","ConceptMap","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.bodystructure","version":"3.0.0","keywords":["Healthcare","FHIR","BodyStructure","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.devicedefinition","version":"3.0.0","keywords":["Healthcare","FHIR","DeviceDefinition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.devicemetric","version":"3.0.0","keywords":["Healthcare","FHIR","DeviceMetric","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.auditevent","version":"3.0.0","keywords":["Healthcare","FHIR","AuditEvent","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.appointment","version":"3.0.0","keywords":["Healthcare","FHIR","Appointment","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.goal","version":"3.0.0","keywords":["Healthcare","FHIR","Goal","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.composition","version":"3.0.0","keywords":["Healthcare","FHIR","Composition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.careteam","version":"3.0.0","keywords":["Healthcare","FHIR","CareTeam","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.chargeitemdefinition","version":"3.0.0","keywords":["Healthcare","FHIR","ChargeItemDefinition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.biologicallyderivedproduct","version":"3.0.0","keywords":["Healthcare","FHIR","BiologicallyDerivedProduct","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.examplescenario","version":"3.0.0","keywords":["Healthcare","FHIR","ExampleScenario","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.deviceusestatement","version":"3.0.0","keywords":["Healthcare","FHIR","DeviceUseStatement","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.activitydefinition","version":"3.0.0","keywords":["Healthcare","FHIR","ActivityDefinition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.explanationofbenefit","version":"3.0.0","keywords":["Healthcare","FHIR","ExplanationOfBenefit","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.flag","version":"3.0.0","keywords":["Healthcare","FHIR","Flag","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.eventdefinition","version":"3.0.0","keywords":["Healthcare","FHIR","EventDefinition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.documentmanifest","version":"3.0.0","keywords":["Healthcare","FHIR","DocumentManifest","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.graphdefinition","version":"3.0.0","keywords":["Healthcare","FHIR","GraphDefinition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.immunization","version":"3.0.0","keywords":["Healthcare","FHIR","Immunization","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.immunizationevaluation","version":"3.0.0","keywords":["Healthcare","FHIR","ImmunizationEvaluation","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.insuranceplan","version":"3.0.0","keywords":["Healthcare","FHIR","InsurancePlan","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.healthcareservice","version":"3.0.0","keywords":["Healthcare","FHIR","HealthcareService","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.guidanceresponse","version":"3.0.0","keywords":["Healthcare","FHIR","GuidanceResponse","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.imagingstudy","version":"3.0.0","keywords":["Healthcare","FHIR","ImagingStudy","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.immunizationrecommendation","version":"3.0.0","keywords":["Healthcare","FHIR","ImmunizationRecommendation","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.list","version":"3.0.0","keywords":["Healthcare","FHIR","List","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.invoice","version":"3.0.0","keywords":["Healthcare","FHIR","Invoice","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.namingsystem","version":"3.0.0","keywords":["Healthcare","FHIR","NamingSystem","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.measurereport","version":"3.0.0","keywords":["Healthcare","FHIR","MeasureReport","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medication","version":"3.0.0","keywords":["Healthcare","FHIR","Medication","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.implementationguide","version":"3.0.0","keywords":["Healthcare","FHIR","ImplementationGuide","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medicinalproductundesirableeffect","version":"3.0.0","keywords":["Healthcare","FHIR","MedicinalProductUndesirableEffect","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.location","version":"3.0.0","keywords":["Healthcare","FHIR","Location","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.measure","version":"3.0.0","keywords":["Healthcare","FHIR","Measure","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.paymentreconciliation","version":"3.0.0","keywords":["Healthcare","FHIR","PaymentReconciliation","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medicinalproductingredient","version":"3.0.0","keywords":["Healthcare","FHIR","MedicinalProductIngredient","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medicinalproductinteraction","version":"3.0.0","keywords":["Healthcare","FHIR","MedicinalProductInteraction","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medicationadministration","version":"3.0.0","keywords":["Healthcare","FHIR","MedicationAdministration","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.nutritionorder","version":"3.0.0","keywords":["Healthcare","FHIR","NutritionOrder","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medicationrequest","version":"3.0.0","keywords":["Healthcare","FHIR","MedicationRequest","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medicationknowledge","version":"3.0.0","keywords":["Healthcare","FHIR","MedicationKnowledge","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.person","version":"3.0.0","keywords":["Healthcare","FHIR","Person","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.library","version":"3.0.0","keywords":["Healthcare","FHIR","Library","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.linkage","version":"3.0.0","keywords":["Healthcare","FHIR","Linkage","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.procedure","version":"3.0.0","keywords":["Healthcare","FHIR","Procedure","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.observationdefinition","version":"3.0.0","keywords":["Healthcare","FHIR","ObservationDefinition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.practitionerrole","version":"3.0.0","keywords":["Healthcare","FHIR","PractitionerRole","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.provenance","version":"3.0.0","keywords":["Healthcare","FHIR","Provenance","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.plandefinition","version":"3.0.0","keywords":["Healthcare","FHIR","PlanDefinition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medicinalproductpackaged","version":"3.0.0","keywords":["Healthcare","FHIR","MedicinalProductPackaged","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.requestgroup","version":"3.0.0","keywords":["Healthcare","FHIR","RequestGroup","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medicinalproductcontraindication","version":"3.0.0","keywords":["Healthcare","FHIR","MedicinalProductContraindication","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.questionnaireresponse","version":"3.0.0","keywords":["Healthcare","FHIR","QuestionnaireResponse","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medicinalproduct","version":"3.0.0","keywords":["Healthcare","FHIR","MedicinalProduct","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.messagedefinition","version":"3.0.0","keywords":["Healthcare","FHIR","MessageDefinition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.observation","version":"3.0.0","keywords":["Healthcare","FHIR","Observation","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.media","version":"3.0.0","keywords":["Healthcare","FHIR","Media","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medicinalproductmanufactured","version":"3.0.0","keywords":["Healthcare","FHIR","MedicinalProductManufactured","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.messageheader","version":"3.0.0","keywords":["Healthcare","FHIR","MessageHeader","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.operationdefinition","version":"3.0.0","keywords":["Healthcare","FHIR","OperationDefinition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.organizationaffiliation","version":"3.0.0","keywords":["Healthcare","FHIR","OrganizationAffiliation","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.molecularsequence","version":"3.0.0","keywords":["Healthcare","FHIR","MolecularSequence","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.questionnaire","version":"3.0.0","keywords":["Healthcare","FHIR","Questionnaire","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.organization","version":"3.0.0","keywords":["Healthcare","FHIR","Organization","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medicinalproductpharmaceutical","version":"3.0.0","keywords":["Healthcare","FHIR","MedicinalProductPharmaceutical","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medicinalproductindication","version":"3.0.0","keywords":["Healthcare","FHIR","MedicinalProductIndication","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.parameters","version":"3.0.0","keywords":["Healthcare","FHIR","Parameters","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medicationdispense","version":"3.0.0","keywords":["Healthcare","FHIR","MedicationDispense","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.paymentnotice","version":"3.0.0","keywords":["Healthcare","FHIR","PaymentNotice","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.riskassessment","version":"3.0.0","keywords":["Healthcare","FHIR","RiskAssessment","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.researchdefinition","version":"3.0.0","keywords":["Healthcare","FHIR","ResearchDefinition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.researchelementdefinition","version":"3.0.0","keywords":["Healthcare","FHIR","ResearchElementDefinition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.researchstudy","version":"3.0.0","keywords":["Healthcare","FHIR","ResearchStudy","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.riskevidencesynthesis","version":"3.0.0","keywords":["Healthcare","FHIR","RiskEvidenceSynthesis","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.medicinalproductauthorization","version":"3.0.0","keywords":["Healthcare","FHIR","MedicinalProductAuthorization","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.schedule","version":"3.0.0","keywords":["Healthcare","FHIR","Schedule","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.researchsubject","version":"3.0.0","keywords":["Healthcare","FHIR","ResearchSubject","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.slot","version":"3.0.0","keywords":["Healthcare","FHIR","Slot","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.specimen","version":"3.0.0","keywords":["Healthcare","FHIR","Specimen","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.servicerequest","version":"3.0.0","keywords":["Healthcare","FHIR","ServiceRequest","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.searchparameter","version":"3.0.0","keywords":["Healthcare","FHIR","SearchParameter","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.structuremap","version":"3.0.0","keywords":["Healthcare","FHIR","StructureMap","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.subscription","version":"3.0.0","keywords":["Healthcare","FHIR","Subscription","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.substancesourcematerial","version":"3.0.0","keywords":["Healthcare","FHIR","SubstanceSourceMaterial","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.structuredefinition","version":"3.0.0","keywords":["Healthcare","FHIR","StructureDefinition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.substancenucleicacid","version":"3.0.0","keywords":["Healthcare","FHIR","SubstanceNucleicAcid","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.specimendefinition","version":"3.0.0","keywords":["Healthcare","FHIR","SpecimenDefinition","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.substancepolymer","version":"3.0.0","keywords":["Healthcare","FHIR","SubstancePolymer","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.substanceprotein","version":"3.0.0","keywords":["Healthcare","FHIR","SubstanceProtein","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.substancereferenceinformation","version":"3.0.0","keywords":["Healthcare","FHIR","SubstanceReferenceInformation","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.supplyrequest","version":"3.0.0","keywords":["Healthcare","FHIR","SupplyRequest","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.visionprescription","version":"3.0.0","keywords":["Healthcare","FHIR","VisionPrescription","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.verificationresult","version":"3.0.0","keywords":["Healthcare","FHIR","VerificationResult","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.testscript","version":"3.0.0","keywords":["Healthcare","FHIR","TestScript","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.testreport","version":"3.0.0","keywords":["Healthcare","FHIR","TestReport","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.supplydelivery","version":"3.0.0","keywords":["Healthcare","FHIR","SupplyDelivery","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.task","version":"3.0.0","keywords":["Healthcare","FHIR","Task","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.substance","version":"3.0.0","keywords":["Healthcare","FHIR","Substance","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.substancespecification","version":"3.0.0","keywords":["Healthcare","FHIR","SubstanceSpecification","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"health.fhir.templates.international401.terminologycapabilities","version":"3.0.0","keywords":["Healthcare","FHIR","TerminologyCapabilities","r4","health.fhir.r4.international401"],"pullCount":7},{"name":"moesif","version":"1.0.1","keywords":[],"pullCount":7},{"name":"hubspot.crm.engagements.communications","version":"1.0.0","keywords":[],"pullCount":6},{"name":"hubspot.automation.actions","version":"1.0.0","keywords":["HubSpot","automation","actions","ballerina","integration","connector"],"pullCount":6},{"name":"hubspot.crm.commerce.discounts","version":"1.0.0","keywords":["discounts","hubspot","CRM","commerce"],"pullCount":6},{"name":"hubspot.crm.commerce.orders","version":"1.0.0","keywords":["hubspot","crm","commerce","orders"],"pullCount":6},{"name":"hubspot.crm.commerce.taxes","version":"1.0.0","keywords":["hubspot","crm","commerce","taxes"],"pullCount":6},{"name":"hubspot.crm.commerce.quotes","version":"1.0.0","keywords":["hubspot","commerce","quotes"],"pullCount":6},{"name":"hubspot.crm.engagement.meeting","version":"1.0.0","keywords":["hubspot","crm","meeting"],"pullCount":6},{"name":"hubspot.crm.obj.companies","version":"1.0.0","keywords":["hubspot","crm","companies","automation"],"pullCount":6},{"name":"hubspot.crm.obj.feedback","version":"0.1.0","keywords":["hubspot","crm","feedback"],"pullCount":6},{"name":"hubspot.crm.obj.deals","version":"0.1.0","keywords":["hubspot","crm","deals","automation"],"pullCount":6},{"name":"hubspot.crm.obj.contacts","version":"0.1.0","keywords":["hubspot","customer","management","connector","crm"],"pullCount":6},{"name":"hubspot.crm.obj.lineitems","version":"0.1.0","keywords":["HubSpot","CRM","Object","LineItems","API","Inventory Management","E-commerce"],"pullCount":6},{"name":"hubspot.crm.obj.leads","version":"0.1.0","keywords":["hubspot","crm","objects","leads"],"pullCount":6},{"name":"hubspot.crm.obj.schemas","version":"1.0.0","keywords":["schema","hubspot","object"],"pullCount":6},{"name":"hubspot.crm.obj.tickets","version":"1.0.0","keywords":["hubspot","crm","tickets"],"pullCount":6},{"name":"hubspot.crm.obj.products","version":"1.0.0","keywords":["Hubspot","CRM","Object","Products"],"pullCount":6},{"name":"hubspot.marketing.campaigns","version":"1.0.0","keywords":["hubspot","crm","marketing","campaigns"],"pullCount":6},{"name":"hubspot.crm.pipelines","version":"1.0.0","keywords":["hubspot","crm","pipelines"],"pullCount":6},{"name":"hubspot.crm.associations","version":"1.0.0","keywords":[],"pullCount":5},{"name":"hubspot.crm.associations.schema","version":"1.0.0","keywords":["hubspot","crm","associations","schema"],"pullCount":5},{"name":"hubspot.crm.owners","version":"1.0.0","keywords":[],"pullCount":5},{"name":"hubspot.crm.extensions.videoconferencing","version":"1.0.0","keywords":[],"pullCount":5},{"name":"hubspot.crm.engagements.calls","version":"1.0.0","keywords":["hubspot","CRM","Engagements","Calls Management","Customer Interaction","Communication Tracking"],"pullCount":5},{"name":"hubspot.crm.engagements.tasks","version":"1.0.0","keywords":[],"pullCount":5},{"name":"mssql.cdc.driver","version":"1.0.0","keywords":[],"pullCount":5},{"name":"zoom.scheduler","version":"1.0.0","keywords":["Zoom","Video Conference","Scheduling","Calendar"],"pullCount":4},{"name":"solace","version":"0.3.0","keywords":["solace","messaging","network","pubsub"],"pullCount":4},{"name":"elastic.elasticcloud","version":"1.0.0","keywords":["Elasticsearch","Elastic Cloud"],"pullCount":3},{"name":"paypal.invoices","version":"1.0.0","keywords":["PayPal","Invoicing"],"pullCount":3},{"name":"mailchimp.transactional","version":"1.0.0","keywords":["mailchimp","transactional","email","email-connector","ballerina","ballerina-connector","campaigns"],"pullCount":3},{"name":"mailchimp.marketing","version":"1.0.0","keywords":["mailchimp","marketing","email","campaigns","ballerina","connector"],"pullCount":3},{"name":"zoom.meetings","version":"1.0.0","keywords":["zoom","video conference","meetings"],"pullCount":3},{"name":"paypal.subscriptions","version":"1.0.0","keywords":["PayPal","Subscriptions","Plans","Billing","Payments","Recurring","Connector"],"pullCount":3},{"name":"salesforce.marketingcloud","version":"1.0.0","keywords":["marketing","sales","communication"],"pullCount":3},{"name":"postgresql.cdc.driver","version":"1.0.0","keywords":[],"pullCount":3},{"name":"smartsheet","version":"1.0.0","keywords":["smartsheet","project-management","task-automation","workflow-automation","spreadsheet-integration"],"pullCount":3},{"name":"trigger.identityserver","version":"0.9.0","keywords":["IT Operations/Authentication","Cost/Freemium","Trigger"],"pullCount":2},{"name":"health.fhir.r4.be.core200","version":"1.0.0","keywords":["Healthcare","FHIR","R4","health_fhir_r4_be_core200"],"pullCount":2},{"name":"health.fhir.r4.be.mycarenet200","version":"1.0.0","keywords":["Healthcare","FHIR","R4","health_fhir_r4_be_mycarenet200"],"pullCount":2},{"name":"health.fhir.r4.be.clinical100","version":"1.0.0","keywords":["Healthcare","FHIR","R4","health_fhir_r4_be_clinical100"],"pullCount":2},{"name":"health.fhir.r4.be.lab100","version":"1.0.0","keywords":["Healthcare","FHIR","R4","health_fhir_r4_be_lab100"],"pullCount":2},{"name":"health.fhir.r4.be.vaccination100","version":"1.0.0","keywords":["Healthcare","FHIR","R4","health_fhir_r4_be_vaccination100"],"pullCount":2},{"name":"health.fhir.r4.be.medication100","version":"1.0.0","keywords":["Healthcare","FHIR","R4","health_fhir_r4_be_medication100"],"pullCount":2},{"name":"health.fhir.r4.be.allergy100","version":"1.0.0","keywords":["Healthcare","FHIR","R4","health_fhir_r4_be_allergy100"],"pullCount":2},{"name":"health.fhir.r4utils.deidentify","version":"1.1.0","keywords":["Healthcare","FHIR","R4","Utils","deidentify"],"pullCount":2}]} \ No newline at end of file +{"ballerina":[{"name":"http","version":"2.15.4","description":"This module provides APIs for connecting and interacting with HTTP and HTTP2 endpoints. It facilitates two types of network entry points as the `Client` and `Listener`.","keywords":["http","network","service","listener","client"],"pullCount":1593034},{"name":"crypto","version":"2.10.1","description":"This module provides common cryptographic mechanisms based on different algorithms.","keywords":["security","hash","hmac","sign","encrypt","decrypt","private key","public key"],"pullCount":1326290},{"name":"time","version":"2.8.0","description":"This module provides a set of APIs that have the capabilities to generate and manipulate UTC and localized time.","keywords":["time","utc","epoch","civil"],"pullCount":1125996},{"name":"log","version":"2.16.1","description":"This module provides APIs to log information when running applications, with support for contextual logging, configurable log levels, formats, destinations, and key-value context.","keywords":["level","format"],"pullCount":968791},{"name":"observe","version":"1.7.0","description":"This module provides an API for observing Ballerina services.","keywords":[],"pullCount":936110},{"name":"io","version":"1.8.0","description":"This module provides file read/write APIs and console print/read APIs. The file APIs allow read and write operations on different kinds of file types such as bytes, text, CSV, JSON, and XML. Further, these file APIs can be categorized as streaming and non-streaming APIs.","keywords":["io","json","xml","csv","file"],"pullCount":891012},{"name":"url","version":"2.6.1","description":"This module provides the URL encoding/decoding functions.","keywords":["url encoding","url decoding"],"pullCount":820233},{"name":"oauth2","version":"2.15.0","description":"This module provides a framework for interacting with OAuth2 authorization servers as specified in the [RFC 6749](https://datatracker.ietf.org/doc/html/rfc6749) and [RFC 7662](https://datatracker.ietf.org/doc/html/rfc7662).","keywords":["security","authorization","introspection"],"pullCount":783792},{"name":"task","version":"2.11.1","description":"This module provides APIs to schedule a Ballerina job either once or periodically and to manage the execution of those jobs.","keywords":["task","job","schedule"],"pullCount":761313},{"name":"jwt","version":"2.15.1","description":"This module provides a framework for authentication/authorization with JWTs and generation/validation of JWTs as specified in the [RFC 7519](https://datatracker.ietf.org/doc/html/rfc7519), [RFC 7515](https://datatracker.ietf.org/doc/html/rfc7515), and [RFC 7517](https://datatracker.ietf.org/doc/html/rfc7517).","keywords":["security","authentication","jwt","jwk","jws"],"pullCount":754709},{"name":"auth","version":"2.14.0","description":"This module provides a framework for authentication/authorization based on the Basic Authentication scheme specified in [RFC 7617](https://datatracker.ietf.org/doc/html/rfc7617).","keywords":["security","authentication","basic auth"],"pullCount":700798},{"name":"constraint","version":"1.7.0","description":"This module provides features to validate the values with respect to the constraints defined to the respective Ballerina types.","keywords":["constraint","validation"],"pullCount":673339},{"name":"mime","version":"2.12.1","description":"This module provides a set of APIs to work with messages, which follow the Multipurpose Internet Mail Extensions (MIME) specification as specified in the [RFC 2045 standard](https://www.ietf.org/rfc/rfc2045.txt).","keywords":["mime","multipart","entity"],"pullCount":606530},{"name":"file","version":"1.12.0","description":"This module provides APIs to create, delete, rename the file/directory, retrieve metadata of the given file, and manipulate the file paths in a way that is compatible with the operating system, and a `Directory Listener`, which is used to listen to the file changes in a directory in the local file system.","keywords":["file","path","directory","filepath"],"pullCount":601433},{"name":"cache","version":"3.10.0","description":"This module provides APIs for in-memory caching by using a semi-persistent mapping from keys to values. Cache entries are added to the cache manually and are stored in the cache until either evicted or invalidated manually.","keywords":["cache","LRU"],"pullCount":542591},{"name":"cloud","version":"3.3.4","description":"This module provides the capabilities to generate cloud artifacts for Ballerina programs.","keywords":["cloud","kubernetes","docker","k8s","c2c"],"pullCount":533545},{"name":"os","version":"1.10.1","description":"This module provides APIs to retrieve information about the environment variables and the current users of the Operating System.","keywords":["environment"],"pullCount":479263},{"name":"protobuf","version":"1.8.0","description":"This module provides APIs to represent a set of pre-defined protobuf types.","keywords":["wrappers"],"pullCount":146923},{"name":"sql","version":"1.17.1","description":"This module provides the generic interface and functionality to interact with an SQL database. The corresponding","keywords":["database","client","network","SQL","RDBMS"],"pullCount":133536},{"name":"websocket","version":"2.15.1","description":"This module provides APIs for connecting and interacting with WebSocket endpoints. ","keywords":["ws","network","bi-directional","streaming","service","client"],"pullCount":113033},{"name":"graphql","version":"1.17.0","description":"This module provides APIs for connecting and interacting with GraphQL endpoints.","keywords":["gql","network","query","service"],"pullCount":100566},{"name":"data.jsondata","version":"1.1.3","description":"The Ballerina JSON Data Library is a comprehensive toolkit designed to facilitate the handling and manipulation of JSON data within Ballerina applications. It streamlines the process of converting JSON data to native Ballerina data types, enabling developers to work with JSON content seamlessly and efficiently.","keywords":["json","json path","json-transform","json transform","json to json","json-convert","json convert"],"pullCount":76879},{"name":"websubhub","version":"1.15.1","description":"This module provides APIs for a WebSub Hub service and WebSub Publisher client.","keywords":["websub","hub","publisher","service","listener","client"],"pullCount":41025},{"name":"uuid","version":"1.10.0","description":"This module provides APIs to generate and inspect UUIDs (Universally Unique Identifiers).","keywords":["version","unique"],"pullCount":39729},{"name":"random","version":"1.7.0","description":"This module provides APIs to generate pseudo-random numbers.","keywords":["pseudo-random"],"pullCount":37426},{"name":"openapi","version":"2.4.0","description":"This module provides comprehensive annotations and utilities to enhance the seamless interoperability between Ballerina and OpenAPI specifications.","keywords":[],"pullCount":33192},{"name":"data.xmldata","version":"1.5.2","description":"The Ballerina XML Data Library is a comprehensive toolkit designed to facilitate the handling and manipulation of XML data within Ballerina applications. It streamlines the process of converting XML data to native Ballerina data types, enabling developers to work with XML content seamlessly and efficiently.","keywords":["xml"],"pullCount":24970},{"name":"websub","version":"2.14.0","description":"This module provides APIs for a WebSub Subscriber Service.","keywords":["websub","subscriber","service","listener"],"pullCount":22248},{"name":"ai","version":"1.9.0","description":"This module provides APIs for building AI-powered applications and agents using Large Language Models (LLMs).","keywords":["AI/Agent","Cost/Freemium","Agent","Vendor/N/A","Area/AI","Type/Connector"],"pullCount":16711},{"name":"tcp","version":"1.13.3","description":"This module provides APIs for sending/receiving messages to/from another application process (local or remote) over the connection-oriented TCP protocol.","keywords":["network","socket","service","client"],"pullCount":12230},{"name":"mcp","version":"1.0.3","description":"This module offers APIs for developing MCP (Model Context Protocol) clients and servers in Ballerina.","keywords":["mcp"],"pullCount":12157},{"name":"email","version":"2.13.0","description":"This module provides APIs to perform email operations such as sending and reading emails using the SMTP, POP3, and IMAP4 protocols.","keywords":["email","SMTP","POP","POP3","IMAP","mail"],"pullCount":10698},{"name":"ftp","version":"2.16.0","description":"This module provides an FTP/SFTP client and an FTP/SFTP server listener implementation to facilitate an FTP/SFTP connection connected to a remote location. Additionally, it supports FTPS (FTP over SSL/TLS) to facilitate secure file transfers.","keywords":["FTP","SFTP","remote file","file transfer","client","service"],"pullCount":10212},{"name":"avro","version":"1.2.0","description":"Avro is an open-source data serialization system that enables efficient binary serialization and deserialization. It allows users to define schemas for structured data, providing better representation and fast serialization/deserialization. Avro\u0027s schema evolution capabilities ensure compatibility and flexibility in evolving data systems.","keywords":["avro","serialization","deserialization","serdes"],"pullCount":7521},{"name":"udp","version":"1.13.3","description":"This module provides APIs for sending/receiving datagrams to/from another application process (local or remote) using UDP.","keywords":["UDP","datagram","transport"],"pullCount":4296},{"name":"yaml","version":"0.8.0","description":"This module provides APIs to convert a YAML configuration file to json, and vice-versa.","keywords":["yaml"],"pullCount":4290},{"name":"messaging","version":"1.0.0","description":"Ballerina developers often face challenges when integrating with diverse message brokers or database clients for ","keywords":["message","store","processor","listener","guaranteed","delivery"],"pullCount":3505},{"name":"data.csv","version":"0.8.1","description":"The Ballerina CSV Data Library is a comprehensive toolkit designed to facilitate the handling and manipulation of CSV data within Ballerina applications. It streamlines the process of converting CSV data to native Ballerina data types, enabling developers to work with CSV content seamlessly and efficiently.","keywords":["csv"],"pullCount":1878},{"name":"math.vector","version":"1.2.0","description":"This package provides functions for doing vector operations including calculating the `L1` and `L2` norm, dot product, cosine similarity, Euclidean distance, and Manhattan distance.","keywords":["math","vector","distance"],"pullCount":1465},{"name":"jballerina.java.arrays","version":"1.6.0","description":"This module provides APIs to create new Java array instances, get elements from arrays, set elements, etc. ","keywords":["java","arrays"],"pullCount":1011},{"name":"xslt","version":"2.9.1","description":"This module provides an API to transform XML content to another XML/HTML/plain text format using XSL transformations.","keywords":["xslt","xml","html","xsl","transformation"],"pullCount":739},{"name":"edi","version":"1.5.3","description":"","keywords":["edi"],"pullCount":565},{"name":"soap","version":"2.3.0","description":"This module offers a set of APIs that facilitate the transmission of XML requests to a SOAP backend. It excels in managing security policies within SOAP requests, ensuring the transmission of secured SOAP envelopes. Moreover, it possesses the capability to efficiently extract data from security-applied SOAP responses.","keywords":["soap"],"pullCount":544},{"name":"ldap","version":"1.3.0","description":"LDAP (Lightweight Directory Access Protocol) is a vendor-neutral software protocol for accessing and maintaining distributed directory information services. It allows users to locate organizations, individuals, and other resources such as files and devices in a network. LDAP is used in various applications for directory-based authentication and authorization.","keywords":["ldap"],"pullCount":429},{"name":"toml","version":"0.8.0","description":"This module provides APIs to convert a TOML configuration file to `map\u003cjson\u003e`, and vice-versa.","keywords":["toml"],"pullCount":402},{"name":"np","version":"0.3.0","description":"The natural programming library module provides seamless integration with Large Language Models (LLMs). It offers a first-class approach to integrate LLM calls with automatic detection of expected response formats and parsing of responses to corresponding Ballerina types.","keywords":["natural programming","ai"],"pullCount":346},{"name":"ai.np","version":"0.5.1","description":"This is the library module for natural programming - specifically the compile-time code generation component of natural programming. This module also generates JSON schema corresponding to types used with natural expressions.","keywords":["natural programming","ai"],"pullCount":136},{"name":"mqtt","version":"1.4.0","description":"This module provides an implementation to interact with MQTT servers via MQTT client and listener.","keywords":["mqtt","client","messaging","network","pubsub","iot"],"pullCount":125},{"name":"data.yaml","version":"0.8.0","description":"The Ballerina data.yaml library provides robust and flexible functionalities for working with YAML data within ","keywords":["yaml"],"pullCount":14},{"name":"etl","version":"0.8.0","description":"This package provides a collection of APIs designed for data processing and manipulation, enabling seamless ETL workflows and supporting a variety of use cases.","keywords":["etl"],"pullCount":11},{"name":"test","version":"2201.10.4","description":"This module facilitates writing tests for Ballerina code in a simple manner. It provides a number of capabilities such as configuring the setup and cleanup steps at different levels, ordering and grouping of tests, providing value-sets to tests, and independence from external functions and endpoints via mocking capabilities.","keywords":[],"pullCount":0},{"name":"lang.array","version":"2201.12.7","description":"The `lang.array` module corresponds to the `list` basic type.","keywords":[],"pullCount":0},{"name":"lang.boolean","version":"2201.12.7","description":"The `lang.boolean` module corresponds to the `boolean` basic type.","keywords":[],"pullCount":0},{"name":"lang.decimal","version":"2201.12.7","description":"The `lang.decimal` module corresponds to the `decimal` basic type.","keywords":[],"pullCount":0},{"name":"lang.error","version":"2201.12.7","description":"The `lang.error` module corresponds to the `error` basic type.","keywords":[],"pullCount":0},{"name":"lang.float","version":"2201.12.7","description":"The `lang.float` module corresponds to the `float` basic type.","keywords":[],"pullCount":0},{"name":"lang.function","version":"2201.12.7","description":"The `lang.function` module corresponds to the `function` basic type.","keywords":[],"pullCount":0},{"name":"lang.future","version":"2201.12.7","description":"The `lang.future` module corresponds to the `future` basic type.","keywords":[],"pullCount":0},{"name":"lang.int","version":"2201.12.7","description":"The `lang.int` module corresponds to the `int` basic type.","keywords":[],"pullCount":0},{"name":"lang.map","version":"2201.12.7","description":"The `lang.map` module corresponds to the `mapping` basic type.","keywords":[],"pullCount":0},{"name":"lang.object","version":"2201.12.7","description":"The `lang.object` module corresponds to the `object` basic type.","keywords":[],"pullCount":0},{"name":"lang.query","version":"2201.12.7","description":"This module provides lang library operations on `query-action`s \u0026 `query-expression`s.","keywords":[],"pullCount":0},{"name":"lang.regexp","version":"2201.12.7","description":"The `lang.regexp` module corresponds to the `regexp` basic type.","keywords":[],"pullCount":0},{"name":"lang.runtime","version":"2201.12.7","description":"The `lang.runtime` module provides functions related to the language runtime that are not specific to a particular basic type.","keywords":[],"pullCount":0},{"name":"lang.stream","version":"2201.12.7","description":"The `lang.stream` module corresponds to the `stream` basic type.","keywords":[],"pullCount":0},{"name":"lang.string","version":"2201.12.7","description":"The `lang.string` module corresponds to the `string` basic type.","keywords":[],"pullCount":0},{"name":"lang.table","version":"2201.12.7","description":"The `lang.table` module corresponds to the `table` basic type.","keywords":[],"pullCount":0},{"name":"lang.transaction","version":"2201.12.7","description":"The `lang.transaction` module supports transactions.","keywords":[],"pullCount":0},{"name":"lang.typedesc","version":"2201.12.7","description":"The `lang.typedesc` module corresponds to the `typedesc` basic type.","keywords":[],"pullCount":0},{"name":"lang.value","version":"2201.12.7","description":"The `lang.value` module provides functions that work on values of more than one basic type.","keywords":[],"pullCount":0},{"name":"lang.xml","version":"2201.12.7","description":"The `lang.xml` module corresponds to the `xml` basic type.","keywords":[],"pullCount":0},{"name":"jballerina.java","version":"2201.12.7","description":"This module provides library operations required for Java interoperability in Ballerina. It includes a set of","keywords":[],"pullCount":0}],"ballerinax":[{"name":"twilio","version":"5.0.1","description":"Twilio is a cloud communications platform that allows software developers to programmatically make and receive phone calls, send and receive text messages, and perform other communication functions using its web service APIs. ","keywords":["Communication/Call \u0026 SMS","Cost/Paid","Vendor/Twilio","Area/Communication","Type/Connector"],"pullCount":2432249},{"name":"choreo","version":"0.4.12","description":"The Choreo Observability Extension is one of the observability extensions of the [Ballerina](https://ballerina.io/) language.","keywords":[],"pullCount":790361},{"name":"googleapis.sheets","version":"3.5.1","description":"Connects to [Google Sheets](https://developers.google.com/sheets/api) from Ballerina.","keywords":["Cost/Free","Vendor/Google"],"pullCount":128617},{"name":"client.config","version":"1.0.1","description":"Contains client config utils and Ballerina types for ballerinax connectors.","keywords":[],"pullCount":121513},{"name":"twitter","version":"5.0.0","description":"[Twitter(X)](https://about.twitter.com/) is a widely-used social networking service provided by X Corp., enabling users to post and interact with messages known as \"tweets\".","keywords":["Marketing/Social Media Accounts","Cost/Freemium","Vendor/Twitter","Area/Social Media","Type/Connector"],"pullCount":108938},{"name":"trigger.salesforce","version":"0.10.0","description":"Listen to [Salesforce Streaming API](https://developer.salesforce.com/docs/atlas.en-us.api_streaming.meta/api_streaming/intro_stream.htm) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":103069},{"name":"java.jdbc","version":"1.14.1","description":"This package provides the functionality that is required to access and manipulate data stored in any type of relational database,","keywords":["client","network","SQL","RDBMS","JDBC","Vendor/Java","Area/Database","Type/Connector"],"pullCount":99697},{"name":"salesforce","version":"8.2.0","description":"Salesforce Sales Cloud is one of the leading Customer Relationship Management(CRM) software, provided by Salesforce.Inc. Salesforce enable users to efficiently manage sales and customer relationships through its APIs, robust and secure databases, and analytics services. Sales cloud provides serveral API packages to make operations on sObjects and metadata, execute queries and searches, and listen to change events through API calls using REST, SOAP, and CometD protocols. ","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":96942},{"name":"mysql","version":"1.16.1","description":"This module provides the functionality required to access and manipulate data stored in a MySQL database.","keywords":["database","client","network","SQL","RDBMS","MySQL"],"pullCount":81139},{"name":"covid19","version":"1.5.1","description":"Connects to [Novel COVID-19 API](https://disease.sh/docs/) from Ballerina.","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":68229},{"name":"mysql.driver","version":"1.8.0","description":"This Package bundles the latest MySQL driver so that mysql connector can be used in ballerina projects easily.","keywords":["Azure","MySQL"],"pullCount":57485},{"name":"worldbank","version":"1.5.1","description":"Connects to [World Bank API](https://datahelpdesk.worldbank.org/knowledgebase/articles/889392-about-the-indicators-api-documentation) from Ballerina.","keywords":["Business Intelligence/Analytics","Cost/Free"],"pullCount":57460},{"name":"asyncapi.native.handler","version":"0.5.0","description":"This is a wrapper, which is being used by triggers. ","keywords":[],"pullCount":48340},{"name":"health.base","version":"1.1.1","description":"Package containing some common capabilities used in other health packages","keywords":["Healthcare"],"pullCount":47445},{"name":"health.fhir.r4","version":"6.2.3","description":"The package containing the FHIR R4 Data types, Base Resource Types, Error Types, Utilities, etc.","keywords":["Healthcare","FHIR","R4"],"pullCount":43747},{"name":"redis","version":"3.1.0","description":"[Redis](https://redis.io/) is an open-source, in-memory data structure store that can be used as a database,","keywords":["IT Operations/Databases","Cost/Freemium"],"pullCount":41473},{"name":"kafka","version":"4.6.3","description":"This package provides an implementation to interact with Kafka Brokers via Kafka Consumer and Kafka Producer clients.","keywords":["kafka","event streaming","network","messaging"],"pullCount":40797},{"name":"sap","version":"1.2.0","description":"[SAP](https://www.sap.com/india/index.html) is a global leader in enterprise resource planning (ERP) software. Beyond","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":40376},{"name":"postgresql","version":"1.16.2","description":"This module provides the functionality required to access and manipulate data stored in a PostgreSQL database.","keywords":["client","network","SQL","RDBMS","Vendor/PostgreSQL","Area/Database","Type/Connector"],"pullCount":33938},{"name":"github","version":"5.1.0","description":"[GitHub](https://github.com/) is a widely used platform for version control and collaboration, allowing developers to work together on projects from anywhere. It hosts a vast array of both open-source and private projects, providing a suite of development tools for collaborative software development.","keywords":["IT Operations/Source Control","Cost/Freemium"],"pullCount":30171},{"name":"mssql.driver","version":"1.7.0","description":"This Package bundles the latest MSSQL driver so that the mssql connector can be used in ballerina projects easily.","keywords":["MSSQL","SQL Server"],"pullCount":24393},{"name":"health.fhir.r4.international401","version":"4.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","International"],"pullCount":20355},{"name":"confluent.cregistry","version":"0.4.3","description":"[Confluent Schema Registry](https://docs.confluent.io/platform/current/schema-registry/) serves as a centralized repository for managing Avro schemas, ensuring data consistency and compatibility in serialization and deserialization processes.","keywords":["schema_registry","avro","serdes","Vendor/Confluent","Area/Database","Type/Connector"],"pullCount":17834},{"name":"trigger.github","version":"0.10.0","description":"The GitHub Trigger module allows you to listen to following events occur in GitHub. ","keywords":["Communication/Team Chat","Cost/Freemium","Trigger"],"pullCount":17331},{"name":"mssql","version":"1.16.2","description":"This module provides the functionality required to access and manipulate data stored in an MSSQL database.","keywords":["client","network","SQL","RDBMS","SQLServer","MSSQL","Vendor/Microsoft","Area/Database","Type/Connector"],"pullCount":16668},{"name":"azure.openai.chat","version":"3.0.2","description":"Connects to [Azure OpenAI Chat Completions API](https://learn.microsoft.com/en-us/azure/cognitive-services/openai/reference#chat-completions/) from Ballerina.","keywords":["AI/Chat","Azure OpenAI","Cost/Paid","GPT-3.5","ChatGPT","Vendor/Microsoft"],"pullCount":16312},{"name":"openai.chat","version":"4.0.1","description":"[OpenAI](https://openai.com/), an AI research organization focused on creating friendly AI for humanity, offers the [OpenAI API](https://platform.openai.com/docs/api-reference/introduction) to access its powerful AI models for tasks like natural language processing and image generation.","keywords":["AI/Chat","Cost/Paid","GPT-4","ChatGPT","Vendor/OpenAI","Area/AI","Type/Connector"],"pullCount":16091},{"name":"confluent.cavroserdes","version":"1.0.2","description":"[Avro Serializer/Deserializer for Confluent Schema Registry](https://docs.confluent.io/platform/current/schema-registry/fundamentals/serdes-develop/serdes-avro.html) is an Avro serializer/deserializer designed to work with the Confluent Schema Registry. It is designed to not include the message schema in the message payload but instead includes the schema ID.","keywords":["confluent","schema_registry","avro","serdes"],"pullCount":15023},{"name":"postgresql.driver","version":"1.6.2","description":"This Package bundles the latest PostgreSQL drivers so that the PostgreSQL connector can be used in ballerina projects easily.","keywords":["Vendor/PostgreSQL","Area/Database","Type/Driver"],"pullCount":14777},{"name":"trigger.slack","version":"0.9.0","description":"The `ballerinax/trigger.slack` module provides a Listener to grasp events triggered from your Slack App. This functionality is provided by [Slack Events API](https://api.slack.com/apis/connections/events-api).","keywords":["Communication/Team Chat","Cost/Freemium"],"pullCount":14631},{"name":"aws.s3","version":"3.5.0","description":"Connects to AWS S3 from Ballerina","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Paid","Vendor/Amazon"],"pullCount":14480},{"name":"cdc","version":"1.0.3","description":"The Ballerina Change Data Capture (CDC) module provides APIs to capture and process database change events in real-time. This module enables developers to define services that handle change capture events such as inserts, updates, and deletes. It is built on top of the Debezium framework and supports popular databases like MySQL and Microsoft SQL Server.","keywords":[],"pullCount":14339},{"name":"googleapis.gmail","version":"4.1.0","description":"[Gmail](https://blog.google/products/gmail/) is a widely-used email service provided by Google LLC, enabling users to send and receive emails over the internet.","keywords":["Communication/Email","Cost/Free","Vendor/Google"],"pullCount":13955},{"name":"rabbitmq","version":"3.3.1","description":"This module provides the capability to send and receive messages by connecting to the RabbitMQ server.","keywords":["service","client","messaging","network","pubsub","Vendor/RabbitMQ","Area/Communication","Type/Connector"],"pullCount":13942},{"name":"snowflake","version":"2.2.1","description":"The [Snowflake](https://www.snowflake.com/) is a cloud-based data platform that provides a data warehouse as a service designed for the cloud, providing a single integrated platform with a single SQL-based data warehouse for all data workloads.","keywords":["IT Operations/Cloud Services","Cost/Paid","Vendor/Snowflake","Area/Database","Type/Connector"],"pullCount":13783},{"name":"health.fhir.r4.parser","version":"7.0.0","description":"FHIR Parser is a package facilitates to read, validate, and convert FHIR resources among their serialized formats and structured in-memory representations.","keywords":["Healthcare","FHIR","R4","Parser"],"pullCount":13779},{"name":"jaeger","version":"1.0.0","description":"The Jaeger Observability Extension is one of the tracing extensions of the\u003ca target\u003d\"_blank\" href\u003d\"https://ballerina.io/\"\u003e Ballerina\u003c/a\u003e language.","keywords":[],"pullCount":13548},{"name":"azure_storage_service","version":"4.3.3","description":"Connects to Azure Storage Services from Ballerina","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Paid","Vendor/Microsoft"],"pullCount":12878},{"name":"prometheus","version":"1.0.0","description":"The Prometheus Observability Extension is one of the metrics extensions of the \u003ca target\u003d\"_blank\" href\u003d\"https://ballerina.io/\"\u003eBallerina\u003c/a\u003e language.","keywords":[],"pullCount":12712},{"name":"mongodb","version":"5.2.3","description":"[MongoDB](https://docs.mongodb.com/v4.2/) is a general purpose, document-based, distributed database built for modern application developers and for the cloud era. MongoDB offers both a Community and an Enterprise version of the database.","keywords":["IT Operations/Databases","Cost/Freemium","NoSQL","Vendor/MongoDB","Area/Database","Type/Connector"],"pullCount":12426},{"name":"googleapis.calendar","version":"3.2.1","description":"Connects to Google Calendar from Ballerina","keywords":["Productivity/Calendars","Cost/Free","Vendor/Google"],"pullCount":11339},{"name":"health.hl7v2","version":"3.0.7","description":"Package containing core HL7v2 capabilities to implement HL7v2 related integration","keywords":["Healthcare","HL7"],"pullCount":8637},{"name":"stripe","version":"2.0.1","description":"[Stripe](https://stripe.com/) is a leading online payment processing platform that simplifies the handling of financial transactions over the Internet. Stripe is renowned for its ease of integration, comprehensive documentation, and robust API that supports a wide range of payment operations including credit card transactions, subscription management, and direct payouts to user bank accounts.","keywords":["Finance/Payment","Cost/Freemium","Vendor/Stripe","Area/Finance","Type/Connector"],"pullCount":8625},{"name":"azure_cosmosdb","version":"4.2.0","description":"Connects to [Azure Cosmos DB(SQL) API](https://docs.microsoft.com/en-us/rest/api/cosmos-db/) from Ballerina.","keywords":["IT Operations/Databases","Cost/Paid","Vendor/Microsoft"],"pullCount":8339},{"name":"docusign.dsadmin","version":"2.0.0","description":"[DocuSign](https://www.docusign.com) is a digital transaction management platform that enables users to securely sign, send, and manage documents electronically.","keywords":["eSignature","Cost/Freemium","Administration","Admin API","Collaboration","Digital Signature"],"pullCount":8177},{"name":"googleapis.drive","version":"3.4.1","description":"Connects to [Google Drive API](https://developers.google.com/drive) from Ballerina","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Free","Vendor/Google"],"pullCount":7405},{"name":"health.clients.fhir","version":"3.0.0","description":"Package containing a generic FHIR client connector that can be used to connect to a FHIR server.","keywords":["Healthcare","FHIR","client","R4"],"pullCount":7379},{"name":"slack","version":"5.0.0","description":"[Slack](https://slack.com/) is a collaboration platform for teams, offering real-time messaging, file sharing, and integrations with various tools. It helps streamline communication and enhance productivity through organized channels and direct messaging.","keywords":["Communication/Team Chat","Cost/Freemium","Vendor/Slack","Area/Communication","Type/Connector"],"pullCount":6820},{"name":"oracledb","version":"1.14.1","description":"This package provides the functionality required to access and manipulate data stored in an Oracle database.","keywords":["client","network","SQL","RDBMS","OracleDB","Vendor/Oracle","Area/Database","Type/Connector"],"pullCount":6811},{"name":"health.fhir.r4.uscore501","version":"3.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","USCore"],"pullCount":6658},{"name":"np","version":"0.9.0","description":"This library module provides implementations of `ballerina/np:ModelProvider` to use explicitly with natural expressions.","keywords":["natural programming","ai"],"pullCount":6324},{"name":"ai.openai","version":"1.3.1","description":"This module offers APIs for connecting with OpenAI Large Language Models (LLM).","keywords":["Agent","Model","Provider","Vendor/OpenAI","Area/AI","Type/Connector"],"pullCount":5713},{"name":"wso2.controlplane","version":"1.1.0","description":"The `wso2.controlplane` library is one of the external library packages, it provides internal support for exposing ","keywords":[],"pullCount":5636},{"name":"ai.pinecone","version":"1.1.2","description":"This module provides APIs for connecting with Pinecone vector database, enabling efficient vector storage, retrieval, and management for AI applications. It implements the Ballerina AI VectorStore interface and supports Dense, Sparse, and Hybrid vector search modes.","keywords":["AI","Pinecone","Vector","Store"],"pullCount":5601},{"name":"openai.text","version":"1.0.5","description":"Connects to the OpenAI Completions API from Ballerina with the `ballerinax/openai.text` package.","keywords":["AI/Text","OpenAI","Cost/Paid","Completions","GPT-3","GPT3.5","Vendor/OpenAI"],"pullCount":5525},{"name":"ai","version":"1.2.3","description":"This module provides APIs for building AI agents using Large Language Models (LLMs).","keywords":["AI/Agent","Cost/Freemium","Agent","AI"],"pullCount":5523},{"name":"openweathermap","version":"1.5.1","description":"Connects to [Openweathermap API](https://openweathermap.org/) from Ballerina.","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Freemium"],"pullCount":5355},{"name":"health.fhirr4","version":"3.0.1","description":"Package containing the FHIR R4 service type that can be used for creating FHIR APIs","keywords":["Healthcare","FHIR","R4","service"],"pullCount":5355},{"name":"ai.anthropic","version":"1.3.0","description":"This module offers APIs for connecting with Anthropic Large Language Models (LLM).","keywords":["Agent","Anthropic","Model","Provider","Vendor/Antropic","Area/AI","Type/Connector"],"pullCount":5311},{"name":"ai.ollama","version":"1.2.1","description":"This module offers APIs for connecting with Ollama Large Language Models (LLM).","keywords":["Agent","Ollama","Model","Provider","Vendor/Meta","Area/AI","Type/Connector"],"pullCount":5295},{"name":"azure.openai.text","version":"1.0.3","description":"Connects to [Azure OpenAI Completions API](https://learn.microsoft.com/en-us/azure/cognitive-services/openai/reference#completions/) from Ballerina.","keywords":["AI/Text","Azure OpenAI","Cost/Paid","Completions","GPT-3","Vendor/Microsoft"],"pullCount":5282},{"name":"ai.azure","version":"1.4.1","description":"This module offers APIs for connecting with AzureOpenAI Large Language Models (LLM).","keywords":["Agent","Azure","Model","Provider","Vendor/Microsoft","Area/AI","Type/Connector"],"pullCount":5244},{"name":"ai.deepseek","version":"1.1.1","description":"This module offers APIs for connecting with Deepseek Large Language Models (LLM).","keywords":["Agent","Model","Provider","Vendor/Deepseek","Area/AI","Type/Connector"],"pullCount":4965},{"name":"ai.mistral","version":"1.2.1","description":"This module offers APIs for connecting with MistralAI Large Language Models (LLM).","keywords":["Agent","Model","Provider","Vendor/mistral","Area/AI","Type/Connector"],"pullCount":4962},{"name":"asb","version":"3.9.1","description":"The [Azure Service Bus](https://docs.microsoft.com/en-us/azure/service-bus-messaging/) is a fully managed enterprise message broker with message queues and publish-subscribe topics. It","keywords":["IT Operations/Message Brokers","Cost/Paid","Vendor/Microsoft"],"pullCount":4626},{"name":"health.fhir.r4.validator","version":"6.0.0","description":"A FHIR validator is a package designed to check the adherence of FHIR resources to the FHIR specification. Validator ensures that FHIR resources follow the defined rules, constraints, and guidelines specified in the FHIR standard.","keywords":["Healthcare","FHIR","R4","Validator"],"pullCount":4430},{"name":"trigger.google.sheets","version":"0.10.0","description":"","keywords":["Communication/Team Chat","Cost/Freemium","Trigger"],"pullCount":4276},{"name":"h2.driver","version":"1.2.0","description":"This Package bundles the latest H2 driver so that `java.jdbc` connector can be used in ballerina projects easily.","keywords":["H2"],"pullCount":4114},{"name":"health.hl7v23","version":"4.0.3","description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.3 specification related ","keywords":["Healthcare","HL7","HL7v2.3"],"pullCount":4086},{"name":"newrelic","version":"1.0.3","description":"The New Relic Observability Extension is one of the observability extensions in the \u003ca target\u003d\"_blank\" href\u003d\"https://ballerina.io/\"\u003eBallerina\u003c/a\u003e language.","keywords":[],"pullCount":4013},{"name":"health.hl7v27","version":"4.0.1","description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.7 specification related","keywords":["Healthcare","HL7","HL7v2.7"],"pullCount":3661},{"name":"health.fhir.r4utils.fhirpath","version":"4.0.0","description":"This package provides utilities for working with FHIR resources using FHIRPath expressions. It allows you to query, update, and manipulate FHIR resources in a type-safe manner using Ballerina.","keywords":["Healthcare","FHIR","R4","Utils","FHIRPath"],"pullCount":3582},{"name":"health.hl7v231","version":"4.0.1","description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.3.1 specification related","keywords":["Healthcare","HL7","HL7v2.3.1"],"pullCount":3576},{"name":"health.hl7v24","version":"4.0.1","description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.4 specification related","keywords":["Healthcare","HL7","HL7v2.4"],"pullCount":3535},{"name":"health.hl7v25","version":"4.0.1","description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.5 specification related","keywords":["Healthcare","HL7","HL7v2.5"],"pullCount":3517},{"name":"health.hl7v26","version":"4.0.1","description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.6 specification related","keywords":["Healthcare","HL7","HL7v2.6"],"pullCount":3479},{"name":"health.hl7v28","version":"4.0.1","description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.8 specification related","keywords":["Healthcare","HL7","HL7v2.8"],"pullCount":3471},{"name":"health.hl7v251","version":"4.0.1","description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.5.1 specification related","keywords":["Healthcare","HL7","HL7v2.5.1"],"pullCount":3453},{"name":"aws.dynamodb","version":"2.3.0","description":"Connects to AWS DynamoDB from Ballerina","keywords":["Communication/Email","Cost/Free","Vendor/Google"],"pullCount":3349},{"name":"trigger.google.drive","version":"0.11.0","description":"The [Ballerina](https://ballerina.io/) listener for Google Drive provides the capability to listen to drive events using the [Google Drive API V3](https://developers.google.com/drive/api/v3/reference).","keywords":["Communication/Team Chat","Cost/Freemium","Trigger"],"pullCount":3285},{"name":"nats","version":"3.3.0","description":"This package provides the capability to send and receive messages by connecting to the NATS server.","keywords":["service","client","messaging","network","pubsub","Vendor/NATS","Area/Communication","Type/Connector"],"pullCount":3150},{"name":"azure.datalake","version":"1.5.1","description":"Connects to [Azure Data Lake Storage(Gen2) API](https://docs.microsoft.com/en-us/rest/api/storageservices/data-lake-storage-gen2) from Ballerina","keywords":["Business Intelligence/Analytics","Cost/Paid","Vendor/Microsoft"],"pullCount":3144},{"name":"hubspot.crm.contact","version":"2.3.1","description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Sales \u0026 CRM/Contact Management","Cost/Freemium"],"pullCount":3039},{"name":"trigger.asgardeo","version":"0.8.0","description":"The `ballerinax/trigger.asgardeo` module provides a Listener to grasp events triggered from your [Asgardeo](https://wso2.com/asgardeo/) organization. This functionality is provided by the [Asgardeo Events API](https://wso2.com/asgardeo/docs/references/asgardeo-events/).","keywords":["IT Operations/Authentication","Cost/Freemium"],"pullCount":2945},{"name":"trigger.google.calendar","version":"0.12.0","description":"The [Ballerina](https://ballerina.io/) listener for Google Calendar provides the capability to listen to calendar events using the [Google Calendar API V3](https://developers.google.com/calendar/api/v3/reference).","keywords":["Cost/Freemium","Trigger"],"pullCount":2911},{"name":"oracledb.driver","version":"1.5.0","description":"This Package bundles the latest OracleDB drivers so that the OracleDB connector can be used in ballerina projects easily.","keywords":["OracleDB"],"pullCount":2874},{"name":"servicenow","version":"1.5.1","description":"Connects to [ServiceNow REST API ](https://developer.servicenow.com/dev.do#!/reference/api/quebec/rest) from Ballerina.","keywords":["Support/Customer Support","Cost/Freemium"],"pullCount":2847},{"name":"mailchimp","version":"1.5.1","description":"Connects to Mailchimp Marketing API from Ballerina","keywords":["Marketing/Email Newsletters","Cost/Freemium"],"pullCount":2838},{"name":"trigger.google.mail","version":"0.11.0","description":"The Gmail Ballerina Trigger supports to listen to the changes of Gmail mailbox such as receiving a new message, receiving a new thread, adding a new label to a message, adding star to a message, removing label from a message, removing star from a message, and receiving a new attachment with the following trigger methods: `onNewEmail`, `onNewThread`, `onEmailLabelAdded`, `onEmailStarred`, `onEmailLabelRemoved`,`onEmailStarRemoved`, `onNewAttachment`.","keywords":["Cost/Freemium","Trigger"],"pullCount":2823},{"name":"health.hl7v2commons","version":"2.0.1","description":"Package containing core HL7v2 common implementations accross HL7 versions to implement HL7v2 related integrations","keywords":["Healthcare","HL7","Commons"],"pullCount":2806},{"name":"shopify.admin","version":"2.5.0","description":"Connects to [Shopify Admin API](https://shopify.dev/api/admin-rest) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":2790},{"name":"snowflake.driver","version":"2.8.0","description":"This Package bundles the latest Snowflake driver so that the Snowflake connector can be used in ballerina projects easily.","keywords":["Business Intelligence/Data Warehouse","Cost/Paid"],"pullCount":2649},{"name":"trigger.asb","version":"1.2.0","description":"Listen to [Microsoft Azure Messaging Service Bus](https://learn.microsoft.com/en-us/java/api/com.azure.messaging.servicebus?view\u003dazure-java-stable) from Ballerina.","keywords":["IT Operations/Message Brokers","Cost/Paid","Vendor/Microsoft"],"pullCount":2612},{"name":"zoom","version":"1.7.1","description":"Connects to [Zoom API](https://marketplace.zoom.us/docs/api-reference/zoom-api) from Ballerina.","keywords":["Communication/Video Conferencing","Cost/Freemium"],"pullCount":2562},{"name":"aws.sns","version":"3.0.0","description":"The `ballerinax/aws.sns` package offers APIs to connect and interact with [AWS SNS API](https://docs.aws.amazon.com/sns/latest/api/welcome.html) endpoints.","keywords":["Communication/Notifications","Cost/Freemium","Vendor/Amazon"],"pullCount":2544},{"name":"microsoft.onedrive","version":"3.0.1","description":"[Microsoft OneDrive](https://central.ballerina.io/ballerinax/microsoft.onedrive/latest) is a cloud-based file storage service provided by Microsoft, allowing users and organizations to store, share, and manage files securely online.","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Freemium","Vendor/Microsoft","Area/File Management","Type/Connector"],"pullCount":2484},{"name":"aws.sqs","version":"4.0.1","description":"[Amazon Simple Queue Service (SQS)](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) is a fully managed message queuing service provided by Amazon Web Services (AWS) that enables you to decouple and scale microservices, distributed systems, and serverless applications.","keywords":["IT Operations/Message Brokers","Cost/Freemium","Vendor/Amazon","Area/Communication","Type/Connector"],"pullCount":2483},{"name":"capsulecrm","version":"1.5.1","description":"Connects to [Capsule CRM API](https://developer.capsulecrm.com/v2/overview/getting-started) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":2464},{"name":"ai.devant","version":"1.0.2","description":"The `ai.devant` module provides APIs to interact with [Devant by WSO2](https://wso2.com/devant/), enabling document chunking and loading documents from a directory in the format expected by the Devant Chunker. It integrates seamlessly with the [`ballerina/ai`](https://central.ballerina.io/ballerina/ai/latest) module to provide a smooth workflow for processing AI documents using Devant AI services.","keywords":["AI","Devant","Chunkers"],"pullCount":2461},{"name":"trello","version":"2.0.1","description":"[Trello](https://trello.com/) is a popular web-based project management and collaboration platform developed by Atlassian, allowing users to organize tasks, projects, and workflows using boards, lists, and cards.","keywords":["Boards","Lists","Workflows","Vendor/Trello","Area/Project Management","Type/Connector"],"pullCount":2358},{"name":"aws.ses","version":"2.1.0","description":"Connects to AWS SES from Ballerina","keywords":["Communication/Email","Cost/Freemium","Vendor/Amazon"],"pullCount":2356},{"name":"googleapis.people","version":"2.4.0","description":"Connects to [Google People API](https://developers.google.com/people/api/rest) from Ballerina.","keywords":["Sales \u0026 CRM/Contact Management","Cost/Free","Vendor/Google"],"pullCount":2222},{"name":"spotify","version":"1.5.1","description":"Connects to [Spotify Web API](https://developer.spotify.com/documentation/web-api/) from Ballerina. ","keywords":["Content \u0026 Files/Video \u0026 Audio","Cost/Freemium"],"pullCount":2200},{"name":"microsoft.excel","version":"2.4.0","description":"Connects to Microsoft Excel from Ballerina","keywords":["Productivity/Spreadsheets","Cost/Free","Vendor/Microsoft"],"pullCount":2170},{"name":"openai.embeddings","version":"1.0.5","description":"Connects to the OpenAI Embeddings API from Ballerina with the `ballerinax/openai.embeddings` package.","keywords":["AI/Embeddings","OpenAI","Cost/Paid","GPT-3","Vendor/OpenAI"],"pullCount":2168},{"name":"pinecone.vector","version":"1.0.2","description":"Connects to the `Vector Operations` under [Pinecone Vector Database API](https://docs.pinecone.io/reference) from Ballerina.","keywords":["AI/Vector Databases","Cost/Freemium","Vendor/Pinecone","Embedding Search"],"pullCount":2155},{"name":"newsapi","version":"1.5.1","description":"Connects to [News API](https://newsapi.org/docs) from Ballerina","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Freemium"],"pullCount":2150},{"name":"themoviedb","version":"1.5.1","description":"Connects to [The Movie Database(TMDB) API](https://developers.themoviedb.org/3/getting-started/introduction) from Ballerina","keywords":["Content \u0026 Files/Video \u0026 Audio","Cost/Free"],"pullCount":2125},{"name":"health.hl7v2.utils.v2tofhirr4","version":"4.0.4","description":"Package containing HL7v2.x to FHIR pre-built mapping functionalities. ","keywords":["Healthcare","HL7","FHIR"],"pullCount":2111},{"name":"milvus","version":"1.1.0","description":"[Milvus](https://milvus.io/) is an open-source vector database built for scalable similarity search and AI applications. It provides high-performance vector storage and retrieval capabilities, making it ideal for applications involving machine learning, deep learning, and similarity search scenarios.","keywords":["milvus","vector_database","vector_search"],"pullCount":2087},{"name":"microsoft.teams","version":"2.4.0","description":"Connects to Microsoft Teams from Ballerina.","keywords":["Communication/Team Chat","Cost/Paid","Vendor/Microsoft"],"pullCount":1982},{"name":"aws.redshift","version":"1.2.1","description":"[Amazon Redshift](https://aws.amazon.com/redshift/) is a powerful and fully-managed data warehouse service provided by Amazon Web Services (AWS), designed to efficiently analyze large datasets with high performance and scalability.","keywords":["Data Warehouse","Columnar Storage","Cost/Paid","Vendor/Amazon","Area/Database","Type/Connector"],"pullCount":1971},{"name":"aws.redshift.driver","version":"1.1.0","description":"This Package bundles the latest AWS Redshift drivers so that the AWS Redshift connector can be used in ballerina projects easily.","keywords":["Data Warehouse","Cost/Paid","Columnar Storage","driver","vendor/aws"],"pullCount":1940},{"name":"quickbooks.online","version":"1.5.1","description":"Connects to [QuickBooks API v3](https://developer.intuit.com/app/developer/qbo/docs/get-started) from Ballerina.","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":1933},{"name":"ronin","version":"1.5.2","description":"Connects to [Ronin API](https://www.roninapp.com/api) from Ballerina","keywords":["Finance/Billing","Cost/Paid"],"pullCount":1874},{"name":"interzoid.convertcurrency","version":"1.5.1","description":"Connects to [Interzoid Convert Currency API](https://www.interzoid.com/services/convertcurrency) from Ballerina.","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":1864},{"name":"eventbrite","version":"1.6.1","description":"Connects to [Eventbrite API](https://www.eventbrite.com/platform/api) from Ballerina","keywords":["Marketing/Event Management","Cost/Freemium"],"pullCount":1826},{"name":"trigger.twilio","version":"0.10.0","description":"The Twilio trigger allows you to listen to Twilio SMS and call status change events similar to the following.","keywords":["Communication chat/voice","Cost/Freemium","Vendor/Twilio"],"pullCount":1821},{"name":"asana","version":"3.0.0","description":"[Asana](https://asana.com/) is a popular project management and team collaboration tool that enables teams to organize, track, and manage their work and projects. It offers features such as task assignments, project milestones, team dashboards, and more, facilitating efficient workflow management.","keywords":["Productivity/Project Management","Cost/Freemium","Task Management","Vendor/Asana","Area/Project Management","Type/Connector"],"pullCount":1819},{"name":"microsoft.outlook.mail","version":"2.4.0","description":"Connects to Microsoft Outlook Mail from Ballerina","keywords":["Communication/Email","Cost/Paid","Vendor/Microsoft"],"pullCount":1766},{"name":"pipedrive","version":"1.5.1","description":"Connects to [Pipedrive API](https://developers.pipedrive.com/docs/api/v1) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":1749},{"name":"health.fhir.r4.aubase421","version":"3.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","aubase421"],"pullCount":1738},{"name":"interzoid.weatherzip","version":"1.5.1","description":"Connects to [Interzoid Weather Zip API](https://interzoid.com/services/getweatherzip) from Ballerina.","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":1686},{"name":"mistral","version":"1.0.1","description":"[Mistral AI](https://chat.mistral.ai/chat?q\u003d) is a research lab focused on developing the best open-source AI models. It provides developers and businesses with powerful [APIs](https://docs.mistral.ai/api/) and tools to build innovative applications using both free and commercial large language models.","keywords":["Integration","Vendor/mistral","Area/AI","Type/Connector"],"pullCount":1631},{"name":"xero.accounts","version":"1.5.1","description":"Connects to [Xero Accounts API](https://developer.xero.com/documentation/api/accounting/overview) from Ballerina","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":1622},{"name":"ai.pgvector","version":"1.0.3","description":"Pgvector is a PostgreSQL extension that introduces a vector data type and similarity search capabilities for working with embeddings.","keywords":["pgvector","vector database","vector search"],"pullCount":1616},{"name":"mysql.cdc.driver","version":"1.0.1","description":"This library provides the necessary Debezium drivers required for the CDC (Change Data Capture) connector in Ballerina. It enables listening to changes in MySQL databases seamlessly within Ballerina projects.","keywords":[],"pullCount":1549},{"name":"weaviate","version":"1.0.2","description":"Connects to the [Weaviate Vector Search Engine API](https://weaviate.io/developers/weaviate/api) from Ballerina.","keywords":["AI/Vector Databases","Cost/Freemium","Vendor/Weaviate","Embedding Search"],"pullCount":1545},{"name":"ai.milvus","version":"1.0.2","description":"The Ballerina Milvus vector store module provides a comprehensive API for integrating with Milvus vector database, enabling efficient storage, retrieval, and management of high-dimensional vectors. This module implements the Ballerina AI `VectorStore` interface and supports multiple vector search algorithms including dense, sparse, and hybrid vector search modes.","keywords":["milvus","ai","vector","vector store","vector search"],"pullCount":1508},{"name":"ai.weaviate","version":"1.0.2","description":"Weaviate is an open-source vector database that stores both objects and vectors, allowing for combining vector search with structured filtering with the scalability of a cloud-native database.","keywords":["AI","Weaviate","Vector","Store"],"pullCount":1474},{"name":"scim","version":"1.0.1","description":"SCIM (System for Cross-domain Identity Management) is a widely-adopted standard protocol for automating the exchange of user identity information between identity domains, or IT systems.","keywords":["Identity","Provisioning","User","Management","Vendor/N/A","Area/Security \u0026 Identity","Type/Connector"],"pullCount":1459},{"name":"financial.iso20022","version":"2.0.2","description":"","keywords":["Financial","ISO20022"],"pullCount":1454},{"name":"financial.swift.mt","version":"3.0.5","description":"SWIFT MT (Message Type) messages are a set of standardized financial messages used globally in interbank communication, allowing secure and efficient cross-border transactions. These messages follow a specific structure to ensure consistency in financial data exchange, supporting various operations such as payments, securities trading, and treasury transactions.","keywords":["Financial","SWIFT MT"],"pullCount":1454},{"name":"aayu.mftg.as2","version":"1.3.1","description":"Connects to [MFT Gateway API by Aayu Technologies](https://aayutechnologies.com/docs/product/mft-gateway/) from Ballerina","keywords":["IT Operations/Gateway","Cost/Paid"],"pullCount":1453},{"name":"paypal.orders","version":"2.0.1","description":"[PayPal](https://www.paypal.com/) is a global online payment platform enabling individuals and businesses to securely send and receive money, process transactions, and access merchant services across multiple currencies.","keywords":["Payments","Orders","Vendor/Paypal","Area/Finance","Type/Connector"],"pullCount":1415},{"name":"activecampaign","version":"1.3.1","description":"Connects to [ActiveCampaign API](https://developers.activecampaign.com/reference/overview) from Ballerina.","keywords":["Marketing/Marketing Automation","Cost/Freemium"],"pullCount":1407},{"name":"zoho.people","version":"1.3.1","description":"Connects to [Zoho People](https://www.zoho.com/people/overview.html) from Ballerina.","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":1351},{"name":"trigger.aayu.mftg.as2","version":"0.10.0","description":"This is a generated trigger for [MFT Gateway (by Aayu Technologies)](https://aayutechnologies.com/docs/product/mft-gateway/) that is capable of listening to the following events that occur in MFT Gateway. ","keywords":["IT Operations/Gateway","Cost/Paid","Trigger"],"pullCount":1339},{"name":"azure_eventhub","version":"3.1.0","description":"Connects to [Microsoft Azure Event Hubs](https://docs.microsoft.com/en-us/rest/api/eventhub/) from Ballerina.","keywords":["IT Operations/Data Ingestion","Cost/Paid","Vendor/Microsoft"],"pullCount":1283},{"name":"zipkin","version":"1.0.0","description":"The Zipkin Observability Extension is one of the tracing extensions of the\u003ca target\u003d\"_blank\" href\u003d\"https://ballerina.io/\"\u003e Ballerina\u003c/a\u003e language.","keywords":[],"pullCount":1154},{"name":"health.fhir.r4.uscore700","version":"3.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","uscore700"],"pullCount":884},{"name":"livestorm","version":"2.6.0","description":"Connects to [Livestorm API](https://developers.livestorm.co/docs) from Ballerina","keywords":["Communication/Video Conferencing","Cost/Freemium"],"pullCount":857},{"name":"health.fhir.r4utils.ccdatofhir","version":"4.0.0","description":"Package containing C-CDA to FHIR pre-built mapping functionalities. ","keywords":["Healthcare","FHIR","R4","Utils","CCDAtoFHIR"],"pullCount":808},{"name":"health.fhir.r4.terminology","version":"7.0.0","description":"A package containing utilities to perform search, read interactions on FHIR terminologies, including code systems and value sets.","keywords":["Healthcare","FHIR","R4","Terminology"],"pullCount":783},{"name":"health.fhir.r4.ips","version":"4.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","ips"],"pullCount":728},{"name":"cdata.connect.driver","version":"1.1.1","description":"Connects to [CData Connect JDBC Driver](https://cloud.cdata.com/docs/JDBC.html) from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Paid"],"pullCount":574},{"name":"health.fhir.r4.davincicrd210","version":"2.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","davincicrd210"],"pullCount":565},{"name":"health.fhir.r5","version":"1.0.1","description":"The package containing the FHIR R5 Data types, Base Resource Types, Error Types, Utilities, etc.","keywords":["Healthcare","FHIR","R5"],"pullCount":563},{"name":"solace","version":"0.3.0","description":"[Solace PubSub+](https://docs.solace.com/) is an advanced event-broker platform that enables event-driven communication across distributed applications using multiple messaging patterns such as publish/subscribe, request/reply, and queue-based messaging. It supports standard messaging protocols, including JMS, MQTT, AMQP, and REST, enabling seamless integration across diverse systems and environments.","keywords":["solace","messaging","network","pubsub"],"pullCount":524},{"name":"azure.openai.embeddings","version":"1.0.2","description":"Connects to [Azure OpenAI Embeddings API](https://learn.microsoft.com/en-us/azure/cognitive-services/openai/reference#embeddings/) from Ballerina.","keywords":["AI/Embeddings","Azure OpenAI","Cost/Paid","GPT-3","Vendor/Microsoft"],"pullCount":521},{"name":"health.fhir.r4.davincipas","version":"3.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","davincipas"],"pullCount":380},{"name":"sap.jco","version":"1.0.0","description":"[SAP](https://www.sap.com/india/index.html) is a global leader in enterprise resource planning (ERP) software. Beyond","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP"],"pullCount":370},{"name":"health.fhir.r4.uscore311","version":"3.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","uscore311"],"pullCount":362},{"name":"health.fhir.r5.international500","version":"1.0.1","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R5","health_fhir_r5_international500"],"pullCount":349},{"name":"activemq.driver","version":"1.1.0","description":"This package bundles the latest ActiveMQ client so that JMS connector can be used in ballerina projects easily.","keywords":["ActiveMQ"],"pullCount":341},{"name":"health.fhir.r4.aucore040","version":"3.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","aucore040"],"pullCount":333},{"name":"java.jms","version":"1.1.0","description":"The `ballerinax/java.jms` package provides an API to connect to an external JMS provider like ActiveMQ from Ballerina.","keywords":["jms"],"pullCount":306},{"name":"exchangerates","version":"1.5.1","description":"Connects to ExchangeRate API from Ballerina","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":301},{"name":"azure.ai.search.index","version":"1.0.1","description":"[Azure AI Search](https://azure.microsoft.com/en-us/products/ai-services/cognitive-search), a cloud search service with built-in AI capabilities, provides the [Azure AI Search REST API](https://docs.microsoft.com/en-us/rest/api/searchservice/) to access its powerful search and indexing functionality for building rich search experiences.","keywords":["AI/Search","Azure","Search Index","Azure AI Search","Vendor/Microsoft","Area/AI","Type/Connector"],"pullCount":272},{"name":"azure.ai.search","version":"1.0.1","description":"[Azure AI Search](https://azure.microsoft.com/products/ai-services/ai-search/) is a cloud search service that gives developers infrastructure, APIs, and tools for building a rich search experience over private, heterogeneous content in web, mobile, and enterprise applications.","keywords":["AI/Search","Azure","Cognitive Search","Azure AI Search","Vendor/Microsoft","Area/AI","Type/Connector"],"pullCount":271},{"name":"health.fhir.r4utils","version":"1.0.2","description":"Package containing FHIR related processors and utilities for implementing FHIR APIs, FHIR","keywords":["Healthcare","FHIR","R4","Utils"],"pullCount":239},{"name":"peoplehr","version":"2.2.1","description":"Connects to [PeopleHR API](https://apidocs.peoplehr.com) from Ballerina","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":230},{"name":"metrics.logs","version":"1.0.1","description":"The Metrics Logs Observability Extension is used to enable Ballerina metrics logs to be observed by OpenSearch.","keywords":[],"pullCount":222},{"name":"vonage.sms","version":"1.5.1","description":"Connects to [Vonage SMS API](https://nexmo-api-specification.herokuapp.com/sms) from Ballerina","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":212},{"name":"sendgrid","version":"1.5.1","description":"Connects to [Sendgrid API](https://docs.sendgrid.com/for-developers) from Ballerina.","keywords":["Marketing/Marketing Automation","Cost/Freemium"],"pullCount":211},{"name":"azure.keyvault","version":"1.6.0","description":"Connects to [Azure Key Vault API](https://azure.microsoft.com/en-us/services/key-vault/) from Ballerina","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Paid","Vendor/Microsoft"],"pullCount":186},{"name":"financial.swiftmtToIso20022","version":"2.0.3","description":"","keywords":["Financial","SWIFT MT","ISO 20022","Conversion"],"pullCount":170},{"name":"mssql.cdc.driver","version":"1.0.0","description":"This library provides the necessary Debezium drivers required for the CDC (Change Data Capture) connector in Ballerina.","keywords":[],"pullCount":169},{"name":"health.fhir.r4.carinbb200","version":"3.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","health_fhir_r4_carinbb200"],"pullCount":163},{"name":"health.fhir.r4.medcom240","version":"1.0.1","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","medcom240"],"pullCount":161},{"name":"health.fhir.r4.aubase410","version":"3.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","AUBase"],"pullCount":159},{"name":"health.clients.hl7","version":"2.0.0","description":"Package containing a generic HL7 client that can be used to connect to an HL7 Exchange(Server).","keywords":["Healthcare","HL7","client","HL7V2"],"pullCount":155},{"name":"health.fhir.r4.davincihrex100","version":"3.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","DaVinci","HREX"],"pullCount":153},{"name":"trigger.shopify","version":"1.5.0","description":"The Shopify trigger allows you to listen to [Shopify webhook notifications](https://shopify.dev/apps/webhooks).","keywords":["Commerce/eCommerce","Cost/Paid","Trigger"],"pullCount":150},{"name":"gcloud.pubsub","version":"0.1.0","description":"[Google Cloud Pub/Sub](https://cloud.google.com/pubsub) is a fully managed, real-time messaging service that enables ","keywords":["pubsub","google cloud","messaging","cloud","gcp"],"pullCount":147},{"name":"googleapis.gcalendar","version":"4.0.1","description":"The Ballerina Google Calendar Connector provides the capability to manage events and calendar operations. It also provides the capability to support service account authorization that can provide delegated domain-wide access to the GSuite domain and support admins to do operations on behalf of the domain users.","keywords":["Productivity/Calendars","Cost/Free","Vendor/Google","Collaboration","Enterprise IT","Management"],"pullCount":143},{"name":"trigger.hubspot","version":"0.10.0","description":"The [Ballerina](https://ballerina.io/) listener for Hubspot allows you to listen to the following events in a HubSpot account.","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium","Trigger"],"pullCount":143},{"name":"financial.iso20022ToSwiftmt","version":"1.0.4","description":"","keywords":["Financial","SWIFT MT","ISO 20022","Conversion"],"pullCount":143},{"name":"azure.functions","version":"4.2.0","description":"This module provides an annotation-based [Azure Functions](https://azure.microsoft.com/en-us/services/functions/) extension implementation for Ballerina. ","keywords":["azure","functions","serverless","cloud"],"pullCount":125},{"name":"health.fhir.r5.parser","version":"1.0.1","description":"FHIR Parser is a package facilitates to read, validate, and convert FHIR resources among their serialized formats and structured in-memory representations.","keywords":["Healthcare","FHIR","R5","Parser"],"pullCount":125},{"name":"wso2.apim.catalog","version":"1.1.3","description":"The Ballerina WSO2 APIM catalog publisher module includes ballerina service management tools for publishing service data to WSO2 API manager service catalogs.","keywords":[],"pullCount":121},{"name":"ibm.ibmmq","version":"1.4.2","description":"[IBM MQ](https://www.ibm.com/products/mq) is a powerful messaging middleware platform designed for facilitating reliable","keywords":["ibm.ibmmq","client","messaging","network","pubsub","Vendor/IBM","Area/Communication","Type/Connector"],"pullCount":115},{"name":"amadeus.flightofferssearch","version":"1.3.1","description":"Connects to [Amadeus Flight Offers Search API](https://developers.amadeus.com/self-service/category/air/api-doc/flight-offers-search) from Ballerina","keywords":["Sales \u0026 CRM/Scheduling \u0026 Booking","Cost/Freemium"],"pullCount":99},{"name":"amadeus.flightoffersprice","version":"1.3.1","description":"Connects to [Amadeus Flight Offers Price API](https://developers.amadeus.com/self-service/category/air/api-doc/flight-offers-price) from Ballerina","keywords":["Sales \u0026 CRM/Scheduling \u0026 Booking","Cost/Freemium"],"pullCount":93},{"name":"googleapis.docs","version":"1.5.1","description":"Connects to [Google Docs API v1.0](https://developers.google.com/docs/api) from Ballerina","keywords":["Content \u0026 Files/Documents","Cost/Freemium","Vendor/Google"],"pullCount":90},{"name":"health.fhir.cds","version":"2.0.1","description":"Ballerina package containing CDS data models","keywords":["Healthcare","FHIR","CDS","CRD"],"pullCount":87},{"name":"health.fhir.r4.lkcore010","version":"1.3.0","description":"The Ballerina package containing FHIR resource data models compliant with https://lk-gov-health-hiu.github.io/fhir-ig/ ","keywords":["Healthcare","FHIR","R4","LKCore"],"pullCount":87},{"name":"medium","version":"1.5.1","description":"The `ballerinax\\medium` is a [Ballerina](https://ballerina.io/) connector for Medium.","keywords":["Content \u0026 Files/Blogs","Cost/Freemium"],"pullCount":82},{"name":"copybook","version":"1.1.0","description":"This package provides APIs to convert Cobol Copybook data to JSON or Ballerina records and vice versa.","keywords":["copybook","serdes","cobol","mainframe"],"pullCount":81},{"name":"candid","version":"0.2.0","description":"[Candid](https://candid.org/) is a non-profit organization that provides a comprehensive database of information about nonprofits, foundations, grantmakers, and philanthropists. Their mission is to connect people who want to change the world to the resources they need to do it.","keywords":["Nonprofit Data","Philanthropy Data","Nonprofit APIs","Vendor/Candid","Area/Other","Type/Connector"],"pullCount":81},{"name":"trigger.quickbooks","version":"1.3.0","description":"The QuickBooks trigger allows you to listen to [QuickBooks webhook notifications](https://developer.intuit.com/app/developer/qbo/docs/develop/webhooks).","keywords":["Finance/Accounting","Cost/Paid","Trigger"],"pullCount":80},{"name":"amadeus.flightcreateorders","version":"1.3.1","description":"Connects to [Amadeus Flight Create Orders API](https://developers.amadeus.com/) from Ballerina","keywords":["Sales \u0026 CRM/Scheduling \u0026 Booking","Cost/Freemium"],"pullCount":77},{"name":"ai.memory.mssql","version":"1.2.0","description":"This module provides an MS SQL-backed short-term memory store to use with AI messages (e.g., with AI agents, model providers, etc.).","keywords":["ai","agent","memory"],"pullCount":73},{"name":"openai.images","version":"2.0.0","description":"[OpenAI](https://openai.com/), an AI research organization focused on creating friendly AI for humanity, offers the [OpenAI API](https://platform.openai.com/docs/api-reference/introduction) to access its powerful AI models for tasks like natural language processing and image generation.","keywords":["AI/Images","OpenAI","Cost/Paid","Image generation","DALL-E 3","Vendor/OpenAI"],"pullCount":70},{"name":"googleapis.bigquery","version":"1.5.1","description":"Connects to [Google BigQuery API v2.0](https://cloud.google.com/bigquery/docs/reference/rest) from Ballerina","keywords":["IT Operations/Databases","Cost/Freemium","Vendor/Google"],"pullCount":69},{"name":"leanix.integrationapi","version":"1.5.1","description":"Connects to [LeanIX Integration API](https://eu.leanix.net/services/integration-api/v1/docs/) from Ballerina.","keywords":["IT Operations/Enterprise Architecture Tools","Cost/Paid"],"pullCount":66},{"name":"googleapis.vision","version":"1.6.1","description":"Connects to [Google Cloud Vision API](https://cloud.google.com/vision/docs/reference/rest) from Ballerina","keywords":["AI/Images","Cost/Freemium","Vendor/Google"],"pullCount":65},{"name":"azure.textanalytics","version":"1.5.1","description":"Connects to [Azure Text Analytics API](https://docs.microsoft.com/en-us/azure/cognitive-services/text-analytics/) from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Paid","Vendor/Microsoft"],"pullCount":60},{"name":"openai.audio","version":"2.0.0","description":"[OpenAI](https://openai.com/), an AI research organization focused on creating friendly AI for humanity, offers the [OpenAI API](https://platform.openai.com/docs/api-reference/introduction) to access its powerful AI models for tasks like natural language processing and image generation.","keywords":["AI/Audio","OpenAI","Cost/Paid","speech-to-text","Whisper","Vendor/OpenAI"],"pullCount":60},{"name":"edifact.d03a.retail","version":"0.9.0","description":"EDI Library","keywords":[],"pullCount":53},{"name":"health.fhir.r4.davincidtr210","version":"1.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","davincidtr210"],"pullCount":51},{"name":"health.hl7v23.utils.v2tofhirr4","version":"1.0.0","description":"Package containing HL7v2.3 to FHIR pre-built mapping functionalities. ","keywords":["Healthcare","HL7","FHIR"],"pullCount":51},{"name":"health.ccda.r3","version":"0.9.0","description":"HL7v3 CDA Ballerina Modules","keywords":[],"pullCount":50},{"name":"impala","version":"1.3.1","description":"Connects to [Impala](https://docs.impala.travel/docs/booking-api/branches/v1.003/YXBpOjQwMDYwNDY-impala-hotel-booking-api) from Ballerina","keywords":["Sales \u0026 CRM/Scheduling \u0026 Booking","Cost/Freemium"],"pullCount":47},{"name":"jira","version":"2.0.1","description":"[Jira](https://www.atlassian.com/software/jira) is a powerful project management and issue tracking platform developed by Atlassian, widely used for agile software development, bug tracking, and workflow management.","keywords":["Productivity","Cost/Freemium","Vendor/Jira","Area/Project Management","Type/Connector"],"pullCount":47},{"name":"aws.lambda","version":"3.3.0","description":"This module provides the capabilities of creating [AWS Lambda](https://aws.amazon.com/lambda/) functions using Ballerina. ","keywords":["aws","lambda","serverless","cloud"],"pullCount":44},{"name":"sap.s4hana.api_sales_order_srv","version":"1.0.0","description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution,","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":43},{"name":"cdata.connect","version":"1.2.0","description":"Connects to [CData Connect](https://cloud.cdata.com/docs/JDBC.html) from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Paid"],"pullCount":42},{"name":"dayforce","version":"0.1.0","description":"Dayforce is a comprehensive human capital management system that covers the entire employee lifecycle including HR, payroll, benefits, talent management, workforce management, and services. The entire system resides on cloud that takes the burden of managing and replicating data on-premise.","keywords":["HCM","Workforce Management","HRIS"],"pullCount":42},{"name":"googleapis.cloudfunctions","version":"1.5.1","description":"Connects to [Google Cloud Functions](https://cloud.google.com/functions/docs/reference/rest) from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Freemium","Vendor/Google"],"pullCount":39},{"name":"edifact.d03a.supplychain","version":"0.9.0","description":"EDI Library","keywords":[],"pullCount":39},{"name":"googleapis.oauth2","version":"1.5.1","description":"Connects to Google OAuth2 API from Ballerina","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium","Vendor/Google"],"pullCount":38},{"name":"alfresco","version":"2.0.1","description":"","keywords":["Content Management","Document Management","ECM","DMS","Vendor/Alfresco","Area/Documents","Type/Connector"],"pullCount":37},{"name":"openai.finetunes","version":"2.0.0","description":"[OpenAI](https://openai.com/), an AI research organization focused on creating friendly AI for humanity, offers the [OpenAI API](https://platform.openai.com/docs/api-reference/introduction) to access its powerful AI models for tasks like natural language processing and image generation.","keywords":["AI/Fine-tunes","OpenAI","Cost/Paid","Files","Models","Vendor/OpenAI"],"pullCount":36},{"name":"whatsapp.business","version":"1.5.1","description":"Connects to [WhatsApp Business](https://developers.facebook.com/docs/whatsapp/) from Ballerina","keywords":["Communication/Call \u0026 SMS","Cost/Freemium"],"pullCount":33},{"name":"zendesk.support","version":"1.6.0","description":"Connects to [Zendesk Support](https://developer.zendesk.com/api-reference/) from Ballerina","keywords":["Support/Customer Support","Cost/Freemium"],"pullCount":30},{"name":"openai","version":"1.0.1","description":"[OpenAI](https://openai.com/) provides a suite of powerful AI models and services for natural language processing, code generation, image understanding, and more.","keywords":["ChatGPT","Vendor/OpenAI","Area/AI","Type/Connector"],"pullCount":30},{"name":"health.fhir.templates.r4.patient","version":"1.0.4","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Patient","r4","international"],"pullCount":28},{"name":"mi","version":"0.1.2","description":"","keywords":[],"pullCount":28},{"name":"azure.ad","version":"2.5.0","description":"Connects to Azure AD from Ballerina","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium","Vendor/Microsoft"],"pullCount":26},{"name":"discord","version":"2.0.0","description":"[Discord](https://support.discord.com/hc/en-us/articles/360045138571-Beginner-s-Guide-to-Discord) is a popular communication platform designed for creating communities and facilitating real-time messaging, voice, and video interactions over the internet.","keywords":["Communication/discord","Cost/Free","Vendor/Discord","Area/Communication","Type/Connector"],"pullCount":25},{"name":"ellucian.studentcharges","version":"1.0.0","description":"Connects to [Ellucian Student Charges API](https://ellucian.force.com/) from Ballerina","keywords":["Education/Student Services","Cost/Paid"],"pullCount":23},{"name":"azure.sqldb","version":"1.5.1","description":"Connects to [Azure SQL DB API 2017-03-01-preview](https://docs.microsoft.com/en-us/azure/azure-sql/database/sql-database-paas-overview) from Ballerina","keywords":["IT Operations/Databases","Cost/Paid","Vendor/Microsoft"],"pullCount":23},{"name":"health.hl7v271","version":"4.0.1","description":"Package containing HL7 messages, segments, data types and utilities to implement HL7 v2.7.1 specification related","keywords":["Healthcare","HL7","HL7v2.7.1"],"pullCount":23},{"name":"health.fhir.templates.r4.uscore501.patient","version":"1.0.3","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Patient","r4","uscore"],"pullCount":22},{"name":"health.fhir.templates.international401.patient","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Patient","r4","health.fhir.r4.international401"],"pullCount":22},{"name":"health.fhir.templates.r4.smartconfiguration","version":"1.0.1","description":"This API template provides API implementation of ","keywords":["Healthcare","FHIR","SMART"],"pullCount":21},{"name":"zendesk","version":"2.0.0","description":"[Zendesk](https://www.zendesk.com/) is a customer service software company that provides a cloud-based customer support platform. It is designed to offer a seamless and efficient customer service experience, enabling businesses to manage customer interactions across multiple channels, including email, chat, phone, and social media.","keywords":["zendesk","CRM","CSM","Support/Customer Support","Cost/Freemium"],"pullCount":21},{"name":"health.fhir.r4.davinciplannet120","version":"2.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","health_fhir_r4_davinciplannet120"],"pullCount":21},{"name":"microsoft.dynamics365businesscentral","version":"1.5.1","description":"Connects to [Dynamics 365 Business Central API](https://dynamics.microsoft.com/en-us/business-central/overview/) from Ballerina","keywords":["Business Management/ERP","Cost/Paid","Vendor/Microsoft"],"pullCount":20},{"name":"health.fhir.r4.davincidrugformulary210","version":"2.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","health_fhir_r4_davincidrugformulary210"],"pullCount":20},{"name":"health.fhir.r4.uscore610","version":"3.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","uscore610"],"pullCount":20},{"name":"cloudmersive.currency","version":"1.5.1","description":"Connects to [Cloudmersive Currency API](https://api.cloudmersive.com/docs/currency.asp) from Ballerina","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":19},{"name":"worldtimeapi","version":"1.5.1","description":"Connects to World Time API from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Free"],"pullCount":19},{"name":"elasticsearch","version":"1.3.1","description":"Connects to [Elasticsearch API](https://www.elastic.co/elasticsearch/) from Ballerina","keywords":["Business Intelligence/Analytics","Cost/Paid"],"pullCount":19},{"name":"health.fhir.templates.r4.metadata","version":"1.0.1","description":"This API template provides implementation of FHIR Metadata API. This implements ","keywords":["Healthcare","FHIR","Metadata"],"pullCount":19},{"name":"pinecone.index","version":"1.0.2","description":"Connects to the `Index Operations` under [Pinecone Vector Database API](https://docs.pinecone.io/reference) from Ballerina.","keywords":["AI/Vector Databases","Cost/Freemium","Vendor/Pinecone","Embedding Search"],"pullCount":18},{"name":"financial.iso8583","version":"1.0.0","description":"ISO8583 Parser Package","keywords":["Financial","iso8583","v2021"],"pullCount":18},{"name":"moesif","version":"1.0.1","description":"The Moesif observability extension is one of the observability extensions of the\u003ca target\u003d\"_blank\" href\u003d\"https://ballerina.io/\"\u003e Ballerina\u003c/a\u003e language.","keywords":[],"pullCount":18},{"name":"docusign.dsclick","version":"2.0.1","description":"[DocuSign](https://www.docusign.com) is a digital transaction management platform that enables users to securely sign, send, and manage documents electronically.","keywords":["eSignature","Cost/Freemium","Click API","Collaboration","Digital Signature","Vendor/DocuSign","Area/Documents","Type/Connector"],"pullCount":18},{"name":"fraudlabspro.frauddetection","version":"1.5.1","description":"Connects to [FraudLabsPro Fraud Detection API](https://www.fraudlabspro.com/developer/api/screen-order) from Ballerina","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium"],"pullCount":17},{"name":"stabilityai","version":"1.0.1","description":"Connects to [Stability.ai REST API (v1)](https://platform.stability.ai/rest-api) from Ballerina.","keywords":["AI/Images","Vendor/Stability AI","Cost/Paid","Stable Diffusion"],"pullCount":17},{"name":"bitbucket","version":"1.5.1","description":"Connects to [BitBucket](https://developer.atlassian.com/bitbucket/api/2/reference/) from Ballerina","keywords":["IT Operations/Source Control","Cost/Freemium"],"pullCount":17},{"name":"openai.moderations","version":"1.0.5","description":"Connects to the OpenAI Moderations API from Ballerina with the `ballerinax/openai.moderations` package.","keywords":["AI/Moderations","OpenAI","Cost/Paid","Moderations","Vendor/OpenAI"],"pullCount":17},{"name":"zoho.crm.rest","version":"1.3.1","description":"Connects to [Zoho CRM](https://www.zoho.com/crm/) from Ballerina.","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":16},{"name":"health.fhir.templates.r4.encounter","version":"1.0.3","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Encounter","r4","international"],"pullCount":16},{"name":"docusign.dsesign","version":"1.0.0","description":"[DocuSign](https://www.docusign.com) is a digital transaction management platform that enables users to securely sign, send, and manage documents electronically.","keywords":["eSignature","Cost/Freemium","Documents","Collaboration","Digital Signature"],"pullCount":16},{"name":"transformer","version":"0.1.0","description":"A data transformation function is a general-purpose API to apply a function to a set of data points. The output may contain data points generated by adding, removing, or altering some. The Ballerina transformer is also a set of such tools that provide the following capabilities.","keywords":[],"pullCount":15},{"name":"webscraping.ai","version":"1.5.1","description":"Connects to [WebScraping.AI API](https://webscraping.ai/docs) from Ballerina","keywords":["Website \u0026 App Building/Web Scraper","Cost/Freemium"],"pullCount":15},{"name":"gitlab","version":"1.5.1","description":"Connects to [GitLab REST API](https://docs.gitlab.com/ee/api/api_resources.html) from Ballerina","keywords":["IT Operations/Source Control","Cost/Freemium"],"pullCount":15},{"name":"microsoft.outlook.calendar","version":"2.4.0","description":"Connects to Microsoft Outlook Calendar from Ballerina","keywords":["Productivity/Calendars","Cost/Free","Vendor/Microsoft"],"pullCount":15},{"name":"file360","version":"1.5.1","description":"Connects to [file360 API v1.0](https://developer.opentext.com/apis/ebc5860f-3e04-4d1b-a8be-b2683738c701/File360) from Ballerina","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":15},{"name":"aws.marketplace.mpe","version":"0.2.0","description":"[AWS Marketplace Entitlement Service](https://docs.aws.amazon.com/marketplace/latest/userguide/entitlement.html) is a","keywords":["AWS","Marketplace","Cloud/Subscriptions","Entitlement Management"],"pullCount":15},{"name":"workday.common","version":"1.5.1","description":"Connects to [Workday common service API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina.","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":14},{"name":"nytimes.books","version":"1.5.1","description":"Connects to [New York Times Books API](https://developer.nytimes.com/docs/books-product/1/overview) from Ballerina","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":14},{"name":"notion","version":"1.5.1","description":"Connects to Notion API from Ballerina","keywords":["Productivity/Project Management","Cost/Freemium"],"pullCount":14},{"name":"api2pdf","version":"1.5.1","description":"Connects to [Api2Pdf REST API](https://www.api2pdf.com/) from Ballerina","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":14},{"name":"docusign.admin","version":"1.3.1","description":"Connects to [DocuSign Admin API](https://developers.docusign.com/docs/admin-api/) from Ballerina.","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":14},{"name":"guidewire.insnow","version":"0.1.0","description":"[Guidewire InsuranceNow](https://www.guidewire.com/products/insurancenow) is a cloud-based insurance platform offering comprehensive tools for policy, billing, and claims management, designed to streamline operations and improve customer service in the insurance industry.","keywords":["Insurance","Guidewire","Cloud API"],"pullCount":14},{"name":"aws.marketplace.mpm","version":"0.2.0","description":"[AWS Marketplace Metering Service](https://docs.aws.amazon.com/marketplacemetering/latest/APIReference/Welcome.html) is","keywords":["AWS","Marketplace","Cloud/Billing","Consumption Tracking"],"pullCount":14},{"name":"idetraceprovider","version":"0.9.0","description":"The IdeTraceProvider Observability Extension is a lightweight tracing extension for the \u003ca target\u003d\"_blank\" href\u003d\"https://ballerina.io/\"\u003eBallerina\u003c/a\u003e language.","keywords":[],"pullCount":14},{"name":"hubspot.marketing.emails","version":"1.0.0","description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform. ","keywords":["marketing","emails","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":14},{"name":"docusign.rooms","version":"1.3.1","description":"Connects to [DocuSign Rooms API](https://developers.docusign.com/docs/rooms-api/) from Ballerina.","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":13},{"name":"mathtools.numbers","version":"1.5.1","description":"Connects to [Numbers API](https://math.tools/api/numbers/) from Ballerina.","keywords":["Education/eLearning","Cost/Freemium"],"pullCount":13},{"name":"hubspot.marketing","version":"2.3.1","description":"Connects to [HubSpot Marketing API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Marketing/Marketing Automation","Cost/Freemium"],"pullCount":13},{"name":"cloudmersive.barcode","version":"1.5.1","description":"Connects to [Cloudmersive Barcode API](https://api.cloudmersive.com/docs/barcode.asp) from Ballerina","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium"],"pullCount":13},{"name":"salesforce.einstein","version":"1.3.1","description":"Connects to [Einstein Vision and Einstein Language Services API](https://metamind.readme.io/reference#predictive-vision-service-api) from Ballerina.","keywords":["Business Intelligence/Analytics","Cost/Freemium"],"pullCount":13},{"name":"pdfbroker","version":"1.5.1","description":"Connects to [PDFBroker.io](https://www.pdfbroker.io/) from Ballerina.","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":13},{"name":"xero.files","version":"1.5.1","description":"Connects to [Xero Files](https://developer.xero.com/documentation/api/files/overview) from Ballerina","keywords":["Content \u0026 Files/Documents","Cost/Paid"],"pullCount":13},{"name":"googleapis.cloudpubsub","version":"1.5.1","description":"Connects to [Google Cloud Pub/Sub](https://cloud.google.com/pubsub/docs/reference/rest) from Ballerina","keywords":["IT Operations/Data Ingestion","Cost/Freemium","Vendor/Google"],"pullCount":13},{"name":"workday.connect","version":"1.5.1","description":"Connects to [Workday connect service API v2](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina.","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":13},{"name":"siemens.iotandstorage.iotfileservice","version":"1.5.1","description":"Connects to [Siemens IoT File Service API](https://developer.mindsphere.io/apis/iot-iotfile/api-iotfile-overview.html) from Ballerina","keywords":["Internet of Things/Device Management","Cost/Paid"],"pullCount":13},{"name":"workday.customeraccounts","version":"1.5.1","description":"Connects to [Workday Customer Accounts service API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina.","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":13},{"name":"health.fhir.templates.r4.practitioner","version":"1.0.3","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Practitioner","r4","international"],"pullCount":13},{"name":"health.fhir.templates.r4.cernerconnect","version":"1.0.3","description":"This template can be used to create a project for exposing Cerner as managed API.","keywords":["Healthcare","FHIR","Cerner"],"pullCount":13},{"name":"health.fhir.templates.r4.athenaconnect","version":"1.0.3","description":"This template can be used to create a project for exposing AthenaHealth as managed API.","keywords":["Healthcare","FHIR","AthenaHealth"],"pullCount":13},{"name":"edifact.d03a.finance","version":"0.9.0","description":"EDI Library","keywords":[],"pullCount":13},{"name":"aws.dynamodbstreams","version":"1.0.0","description":"[Amazon DynamoDB](https://aws.amazon.com/dynamodb/) is a fully managed, serverless, key-value NoSQL database designed to run high-performance applications at any scale. DynamoDB offers built-in security, continuous backups, automated multi-region replication, in-memory caching, and data export tools.","keywords":[],"pullCount":13},{"name":"health.fhir.templates.international401.practitioner","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Practitioner","r4","health.fhir.r4.international401"],"pullCount":13},{"name":"ibm.ctg","version":"0.1.1","description":"[IBM CICS Transaction Gateway (CTG)](https://www.ibm.com/products/cics-transaction-gateway) is a robust middleware solution that facilitates communication between distributed applications and IBM CICS Transaction Servers.","keywords":["IBM","CICS","CTG","Mainframe"],"pullCount":13},{"name":"paypal.payments","version":"2.0.1","description":"[PayPal](https://www.paypal.com/) is a global online payment platform enabling individuals and businesses to securely send and receive money, process transactions, and access merchant services across multiple currencies.","keywords":["Payments","Vendor/Paypal","Area/Finance","Type/Connector"],"pullCount":13},{"name":"hubspot.crm.import","version":"4.0.0","description":"[HubSpot](https://www.hubspot.com/our-story) is an AI-powered customer relationship management (CRM) platform.","keywords":["imports","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":13},{"name":"optirtc.public","version":"1.5.1","description":"Connects to [Optirtc Public API](https://docs.optirtc.com/api/opti-publicapi-v1.html) from Ballerina","keywords":["Business Intelligence/Analytics","Cost/Free"],"pullCount":12},{"name":"pandadoc","version":"1.3.1","description":"Connects to [PandaDoc API](https://developers.pandadoc.com/reference/about) from Ballerina","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":12},{"name":"wordpress","version":"1.5.1","description":"Connects to [WordPress API v1.0](https://developer.wordpress.org/rest-api/) from Ballerina.","keywords":["Website \u0026 App Building/Website Builders","Cost/Freemium"],"pullCount":12},{"name":"googleapis.cloudfilestore","version":"1.5.1","description":"Connects to [Google Cloud Filestore](https://cloud.google.com/filestore/docs/reference/rest) from Ballerina","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Paid","Vendor/Google"],"pullCount":12},{"name":"paylocity","version":"1.5.1","description":"Connects to [Paylocity](https://www.paylocity.com/our-products/integrations/api-library/) from Ballerina","keywords":["Finance/Payroll","Cost/Paid"],"pullCount":12},{"name":"shorten.rest","version":"1.5.1","description":"Connects to [Shorten.REST](https://docs.shorten.rest/) from Ballerina","keywords":["Marketing/Url Shortener","Cost/Freemium"],"pullCount":12},{"name":"dataflowkit","version":"1.5.1","description":"Connects to [Dataflow Kit](https://dataflowkit.com/doc-api) from Ballerina","keywords":["Website \u0026 App Building/Web Scraper","Cost/Freemium"],"pullCount":12},{"name":"googleapis.classroom","version":"1.5.1","description":"Connects to [Google Classroom API](https://developers.google.com/classroom/guides/get-started) from Ballerina","keywords":["Education/Elearning","Cost/Free","Vendor/Google"],"pullCount":12},{"name":"facebook.ads","version":"1.5.1","description":"Connects to [Facebook Marketing API v12.0](https://developers.facebook.com/docs/marketing-apis) from Ballerina.","keywords":["Marketing/Social Media Accounts","Cost/Free"],"pullCount":12},{"name":"saps4hana.itcm.user","version":"1.5.1","description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":12},{"name":"workday.absencemanagement","version":"1.5.1","description":"Connects to [Workday Absence Management API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina.","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":12},{"name":"health.fhir.templates.r4.observation","version":"1.0.3","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Observation","r4","international"],"pullCount":12},{"name":"googleapis.youtube.data","version":"1.5.1","description":"Connects to [Youtube Data API](https://developers.google.com/youtube/v3/docs) from Ballerina","keywords":["Content \u0026 Files/Video \u0026 Audio","Cost/Free","Vendor/Google"],"pullCount":12},{"name":"zoho.books","version":"1.3.1","description":"Connects to [Zoho Books](https://www.zoho.com/books/api/v3/) from Ballerina","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":12},{"name":"ably","version":"1.5.1","description":"Connects to [Ably API](https://ably.com/documentation/rest-api) from Ballerina","keywords":["Business Intelligence/Analytics","Cost/Freemium"],"pullCount":12},{"name":"tableau","version":"1.4.1","description":"Connects to [Tableau](https://help.tableau.com/current/api/rest_api/en-us/REST/TAG/index.html) from Ballerina","keywords":["Business Intelligence/Visualization","Cost/Freemium"],"pullCount":12},{"name":"botify","version":"1.5.1","description":"Connects to [Botify API](https://developers.botify.com/reference) from Ballerina","keywords":["Website \u0026 App Building/Search Engine Optimization","Cost/Paid"],"pullCount":12},{"name":"googleapis.appsscript","version":"1.5.1","description":"Connects to [Google Apps Script API](https://developers.google.com/apps-script/api/) from Ballerina","keywords":["Content \u0026 Files/Documents","Cost/Free","Vendor/Google"],"pullCount":12},{"name":"health.fhir.templates.r4.epicconnect","version":"1.0.3","description":"This template can be used to create a project for exposing Epic as managed API.","keywords":["Healthcare","FHIR","Epic"],"pullCount":12},{"name":"health.fhir.templates.international401.device","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Device","r4","health.fhir.r4.international401"],"pullCount":12},{"name":"hubspot.crm.product","version":"2.3.1","description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":11},{"name":"power.bi","version":"1.5.1","description":"Connects to [Power BI API v1.0](https://powerbi.microsoft.com/en-us/) from Ballerina.","keywords":["Business Intelligence/Analytics","Cost/Paid","Vendor/Microsoft"],"pullCount":11},{"name":"readme","version":"1.5.1","description":"Connects to [Readme](https://docs.readme.com/reference) from Ballerina","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":11},{"name":"reckon.one","version":"1.3.1","description":"Connects to [Reckon One API](https://developer.reckon.com/api-details#api\u003dreckon-one-api-v2) from Ballerina","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":11},{"name":"dropbox","version":"1.5.1","description":"Connects to [Dropbox API v2](https://www.dropbox.com/developers/documentation/http/documentation) from Ballerina.","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Free"],"pullCount":11},{"name":"edocs","version":"1.5.1","description":"Connects to [eDocs API v1.0.0](https://www.opentext.com/products-and-solutions/industries/legal/legal-content-management-edocs) from Ballerina","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":11},{"name":"workday.coreaccounting","version":"1.5.1","description":"Connects to [Workday Core Accounting service API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina.","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":11},{"name":"siemens.platformcore.identitymanagement","version":"1.5.1","description":"Connects to [Siemens Identity Management API](https://developer.mindsphere.io/apis/core-identitymanagement/api-identitymanagement-overview.html) from Ballerina","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium"],"pullCount":11},{"name":"sugarcrm","version":"1.4.1","description":"Connects to [SugarCRM API](https://support.sugarcrm.com/Documentation/Sugar_Developer/Sugar_Developer_Guide_12.0/Integration/Web_Services/REST_API/) from Ballerina","keywords":["Sales \u0026 CRM","Customer Relationship Management"],"pullCount":11},{"name":"powertoolsdeveloper.files","version":"1.5.1","description":"Connects to [Apptigent Powertools Developer Files API](https://portal.apptigent.com/node/612) from Ballerina","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":11},{"name":"xero.finance","version":"1.5.1","description":"Connects to [Xero Finance API](https://developer.xero.com/documentation/api/finance/overview) from Ballerina","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":11},{"name":"workday.payroll","version":"1.5.1","description":"Connects to [Workday payroll service API v2](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina.","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":11},{"name":"freshbooks","version":"1.5.1","description":"Connects to [FreshBooks API v1](https://www.freshbooks.com/api/start) from Ballerina.","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":11},{"name":"ip2whois","version":"1.5.1","description":"Connects to IP2WHOIS API from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Free"],"pullCount":11},{"name":"googleapis.clouddatastore","version":"1.5.1","description":"Connects to [Google Cloud Datastore](https://cloud.google.com/datastore/docs/reference/data/rest) from Ballerina","keywords":["IT Operations/Databases","Cost/Freemium","Vendor/Google"],"pullCount":11},{"name":"sinch.sms","version":"1.5.1","description":"Connects to [Sinch SMS API v1](https://www.sinch.com/) from Ballerina","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":11},{"name":"xero.bankfeeds","version":"1.5.1","description":"Connects to [Xero Bank Feeds API](https://developer.xero.com/documentation/api/bankfeeds/overview) from Ballerina","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":11},{"name":"saps4hana.wls.screeninghits","version":"1.4.1","description":"Connects to [SAPS4HANA SAP Watch List Screening Hits API v1.7](https://api.sap.com/api/ScreeningHits/resource) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":11},{"name":"health.fhir.templates.r4.organization","version":"1.0.3","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Organization","r4","international"],"pullCount":11},{"name":"spotto","version":"1.5.1","description":"Connects to [Spotto API](https://api-reference.spotto.io) from Ballerina","keywords":["Internet of Things/Device Management","Cost/Paid"],"pullCount":11},{"name":"elmah","version":"1.5.1","description":"Connects to [Elmah.io REST API](https://docs.elmah.io/using-the-rest-api/) from Ballerina","keywords":["IT Operations/Debug Tools","Cost/Paid"],"pullCount":11},{"name":"storecove","version":"1.5.1","description":"Connects to [Storecove](https://app.storecove.com/docs) from Ballerina","keywords":["Finance/Billing","Cost/Freemium"],"pullCount":11},{"name":"saps4hana.itcm.product","version":"1.5.1","description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":11},{"name":"googleapis.slides","version":"1.5.1","description":"Connects to [Google Slides API v1](https://developers.google.com/slides/api) from Ballerina","keywords":["Content \u0026 Files/Documents","Cost/Freemium","Vendor/Google"],"pullCount":11},{"name":"commercetools.customizebehavior","version":"1.4.1","description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":11},{"name":"nytimes.newswire","version":"1.5.1","description":"Connects to [New York Times Newswire API](https://developer.nytimes.com/docs/timeswire-product/1/overview) from Ballerina","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":11},{"name":"sap.successfactors.litmos","version":"1.3.1","description":"Connects to [SAP SuccessFactors Litmos API v1.0](https://api.sap.com/api/LitmosAPIdetails/resource) from Ballerina","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":11},{"name":"wordnik","version":"1.5.1","description":"Connects to [Wordnik API v4.0](https://developer.wordnik.com/docs) from Ballerina","keywords":["Education/Dictionary","Cost/Freemium"],"pullCount":11},{"name":"neutrino","version":"1.5.1","description":"Connects to [Neutrino API](https://www.neutrinoapi.com/api/api-basics/) from Ballerina","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":11},{"name":"powertoolsdeveloper.weather","version":"1.5.1","description":"Connects to [Apptigent Powertools Developer Weather API](https://portal.apptigent.com/node/904) from Ballerina","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":11},{"name":"xero.assets","version":"1.5.1","description":"Connects to [Xero Assets API](https://developer.xero.com/documentation/api/assets/assets/) from Ballerina","keywords":["Finance/Asset Management","Cost/Paid"],"pullCount":11},{"name":"ynab","version":"1.5.1","description":"Connects to [YNAB API](https://api.youneedabudget.com) from Ballerina","keywords":["Finance/Asset Management","Cost/Paid"],"pullCount":11},{"name":"openair","version":"1.5.1","description":"Connects to [OpenAir](https://www.openair.com/download/OpenAirRESTAPIGuide.pdf) from Ballerina","keywords":["Productivity/Project Management","Cost/Paid"],"pullCount":11},{"name":"interzoid.currencyrate","version":"1.5.1","description":"Connects to [Interzoid Currency Rate API v1.0.0](https://interzoid.com/services/getcurrencyrate) from Ballerina.","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":11},{"name":"visiblethread","version":"1.5.1","description":"Connects to [VisibleThread](https://api.visiblethread.com/example/index.html) from Ballerina","keywords":["Business Intelligence/Language Analysis","Cost/Paid"],"pullCount":11},{"name":"googleapis.youtube.analytics","version":"1.5.1","description":"Connects to [Youtube Analytics API](https://developers.google.com/youtube/reporting) from Ballerina","keywords":["Business Intelligence/Analytics","Cost/Free","Vendor/Google"],"pullCount":11},{"name":"health.fhir.templates.international401.consent","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Consent","r4","health.fhir.r4.international401"],"pullCount":11},{"name":"health.fhir.r4.uscore400","version":"3.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","uscore400"],"pullCount":11},{"name":"salesforce.marketingcloud","version":"1.0.1","description":"[Salesforce Marketing Cloud](https://www.salesforce.com/products/marketing-cloud/overview/) is a leading digital marketing platform that enables businesses to manage and automate customer journeys, email campaigns, and personalized messaging.","keywords":["marketing","sales","communication","Vendor/Salesforce","Area/Social Media Marketing","Type/Connector"],"pullCount":11},{"name":"hubspot.crm.engagements.email","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform. ","keywords":["engagements","email","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":11},{"name":"hubspot.marketing.forms","version":"1.0.0","description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform.","keywords":["marketing","forms","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":11},{"name":"hubspot.marketing.events","version":"1.0.0","description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform.","keywords":["# TODO: Add keywords","Vendor/HubSpot","Area/Social Media Marketing","Type/Connector"],"pullCount":11},{"name":"Apache","version":"0.1.0","description":"Connects to Giphy from Ballerina","keywords":["giphy","GIF","sticker"],"pullCount":10},{"name":"boxapi","version":"0.1.1","description":"Connects to Box Platform API from Ballerina.","keywords":["Box","File","Folder"],"pullCount":10},{"name":"ellucian.student","version":"1.0.0","description":"Connects to [Ellucian Student API](https://ellucian.force.com/) from Ballerina","keywords":["Education/Student Services","Cost/Paid"],"pullCount":10},{"name":"xero.projects","version":"1.5.1","description":"Connects to [Xero Projects](https://developer.xero.com/documentation/api/projects/overview) from Ballerina","keywords":["Productivity/Project Management","Cost/Paid"],"pullCount":10},{"name":"workday.compensation","version":"1.5.1","description":"Connects to [Workday compensation service API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina.","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":10},{"name":"saps4hana.externaltaxcalculation.taxquote","version":"1.3.1","description":"Connects to [SAP S/4HANA Integration with External Tax Calculation Engine API - Tax Determination and Calculation via Integration Flow API v1.0.0](https://api.sap.com/api/taxquote/overview) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":10},{"name":"hubspot.analytics","version":"2.3.1","description":"Connects to [HubSpot Analytics API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Business Intelligence/Analytics","Cost/Freemium"],"pullCount":10},{"name":"sap.fieldglass.approval","version":"1.3.1","description":"Connects to [SAP Fieldglass Approval API API v1.0.0](https://api.sap.com/api/approvals/overview) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":10},{"name":"hubspot.files","version":"2.3.1","description":"Connects to [HubSpot Files API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Freemium"],"pullCount":10},{"name":"symantotextanalytics","version":"1.5.1","description":"Connects to [Symanto API](https://symanto-research.github.io/symanto-docs/#introduction) from Ballerina.","keywords":["IT Operations/Cloud Services","Cost/Paid"],"pullCount":10},{"name":"jira.servicemanagement","version":"1.3.1","description":"Connects to [Jira Service Management Cloud REST API](https://developer.atlassian.com/cloud/jira/service-desk/) from Ballerina.","keywords":["Support//Customer Support","Cost/Freemium"],"pullCount":10},{"name":"squareup","version":"1.3.1","description":"Connects to [SquareUp API](https://developer.squareup.com/) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":10},{"name":"pocketsmith","version":"1.5.1","description":"Connects to [PocketSmith REST API](https://developers.pocketsmith.com/reference) from Ballerina","keywords":["Finance/Asset Management","Cost/Freemium"],"pullCount":10},{"name":"whohoststhis","version":"1.5.1","description":"Connects to [Who Hosts This](https://www.who-hosts-this.com/Documentation) from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":10},{"name":"sinch.voice","version":"1.5.1","description":"Connects to [Sinch Voice API v1.0.0](https://www.sinch.com/) from Ballerina","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":10},{"name":"pagerduty","version":"1.5.1","description":"Connects to [Pagerduty API](https://developer.pagerduty.com/api-reference/) from Ballerina","keywords":["Support/Customer Support","Cost/Freemium"],"pullCount":10},{"name":"zendesk.voice","version":"1.5.1","description":"Connects to [Zendesk Talk](https://developer.zendesk.com/api-reference/) from Ballerina","keywords":["Support/Customer Support","Cost/Freemium"],"pullCount":10},{"name":"godaddy.orders","version":"1.5.1","description":"Connects to [GoDaddy Orders](https://developer.godaddy.com/doc/endpoint/orders) from Ballerina","keywords":["Website \u0026 App Building/Website Builders","Cost/Paid"],"pullCount":10},{"name":"commercetools.auditlog","version":"1.4.1","description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":10},{"name":"adobe.analytics","version":"1.3.1","description":"Connects to [Adobe Analytics API](https://developer.adobe.com/analytics-apis/docs/2.0/) from Ballerina.","keywords":["Business Intelligence/Analytics","Cost/Freemium"],"pullCount":10},{"name":"googleapis.cloudbuild","version":"1.5.1","description":"Connects to [Google Cloud Build](https://cloud.google.com/build/docs/api/reference/rest) from Ballerina","keywords":["Finance/Billing","Cost/Paid","Vendor/Google"],"pullCount":10},{"name":"iris.lead","version":"1.5.1","description":"Connects to [IRIS Lead API](https://www.iriscrm.com/api) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":10},{"name":"godaddy.abuse","version":"1.5.1","description":"Connects to [GoDaddy Abuse](https://developer.godaddy.com/doc/endpoint/abuse) from Ballerina","keywords":["Business Intelligence/Reporting","Cost/Paid"],"pullCount":10},{"name":"vonage.voice","version":"1.5.1","description":"Connects to [Vonage Voice API](https://nexmo-api-specification.herokuapp.com/api/voice) from Ballerina","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":10},{"name":"workday.expense","version":"1.5.1","description":"Connects to [Workday Expense API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina.","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":10},{"name":"text2data","version":"1.5.1","description":"Connects to [Text Analytics \u0026 Sentiment Analysis API v3.4](http://api.text2data.com/swagger/ui/index#/)from Ballerina.","keywords":["Business Intelligence/Analytics","Cost/Freemium"],"pullCount":10},{"name":"avaza","version":"1.5.1","description":"Connects to [Avaza API v1](https://api.avaza.com/swagger/ui/index) from Ballerina","keywords":["Productivity/Project Management","Cost/Freemium"],"pullCount":10},{"name":"yodlee","version":"1.5.1","description":"Connects to [Yodlee Core REST API](https://developer.yodlee.com/api-reference) from Ballerina","keywords":["Finance/Asset Management","Cost/Freemium"],"pullCount":10},{"name":"ocpi","version":"1.5.1","description":"Connects to Open Charge Networks(OCNs) from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Free"],"pullCount":10},{"name":"ebay.listing","version":"1.5.1","description":"Connects to [eBay Listing API v1_beta.3.0](https://developer.ebay.com) from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":10},{"name":"hubspot.crm.company","version":"2.3.1","description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":10},{"name":"googleapis.youtube.reporting","version":"1.5.1","description":"Connects to [Youtube Reporting API](https://developers.google.com/youtube/reporting) from Ballerina","keywords":["Business Intelligence/Reporting","Cost/Free","Vendor/Google"],"pullCount":10},{"name":"bitly","version":"1.5.1","description":"Connects to [Bitly API v4.0.0](https://dev.bitly.com/api-reference) from Ballerina","keywords":["Devtools","Cost/Freemium"],"pullCount":10},{"name":"isbndb","version":"1.5.1","description":"Connects to [ISBNdb API](https://isbndb.com/apidocs/v2) from Ballerina.","keywords":["Lifestyle \u0026 Entertainment/Books","Cost/Paid"],"pullCount":10},{"name":"insightly.custom","version":"1.5.1","description":"Connects to [Insightly API v3.1](https://www.insightly.com/) from Ballerina.","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":10},{"name":"googleapis.manufacturercenter","version":"1.5.1","description":"Connects to [Google Manufacturer Center API](https://developers.google.com/manufacturers/) from Ballerina","keywords":["Commerce/eCommerce","Cost/Free","Vendor/Google"],"pullCount":10},{"name":"health.fhir.templates.r4.diagnosticreport","version":"1.0.3","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","DiagnosticReport","r4","international"],"pullCount":10},{"name":"zuora.collection","version":"1.5.1","description":"Connects to [Zuora Collection V1 API](https://www.zuora.com/developer/collect-api/#section/Introduction) from Ballerina","keywords":["Finance/Payment","Cost/Paid"],"pullCount":10},{"name":"googleapis.bigquery.datatransfer","version":"1.5.1","description":"Connects to [Google BigQuery Data Transfer API v1](https://cloud.google.com/bigquery/docs/reference/rest) from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Freemium","Vendor/Google"],"pullCount":10},{"name":"vimeo","version":"1.5.1","description":"Connects to [Vimeo API](https://developer.vimeo.com/)) from Ballerina","keywords":["Content \u0026 Files/Video \u0026 Audio","Cost/Freemium"],"pullCount":10},{"name":"googleapis.cloudtalentsolution","version":"1.5.1","description":"Connects to [Google Cloud Talent Solution API](https://cloud.google.com/talent-solution/job-search/docs/) from Ballerina","keywords":["Human Resources/Talent Acquisition","Cost/Free","Vendor/Google"],"pullCount":10},{"name":"bmc.truesightpresentationserver","version":"1.5.1","description":"Connects to [Hardware Sentry TrueSight Presentation Server REST API](https://docs.bmc.com/docs/display/tsps107/Getting+started) from Ballerina.","keywords":["IT Operations/Server Monitoring","Cost/Freemium"],"pullCount":10},{"name":"sinch.conversation","version":"1.5.1","description":"Connects to [Sinch Conversation API v1.0](https://www.sinch.com/) from Ballerina","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":10},{"name":"iris.helpdesk","version":"1.5.1","description":"Connects to [IRIS Helpdesk API](https://www.iriscrm.com/api) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":10},{"name":"hubspot.crm.deal","version":"2.3.1","description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":10},{"name":"godaddy.shopper","version":"1.5.1","description":"Connects to [GoDaddy Shoppers](https://developer.godaddy.com/doc/endpoint/shoppers) from Ballerina","keywords":["Website \u0026 App Building/Website Builders","Cost/Paid"],"pullCount":10},{"name":"hubspot.crm.feedback","version":"2.3.1","description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":10},{"name":"automata","version":"1.5.1","description":"Connects to [Automata](https://byautomata.io/api/) from Ballerina","keywords":["Business Intelligence/Analytics","Cost/Paid"],"pullCount":10},{"name":"launchdarkly","version":"1.5.1","description":"Connects to [LaunchDarkly](https://apidocs.launchdarkly.com/) from Ballerina","keywords":["Productivity/Project Management","Cost/Freemium"],"pullCount":10},{"name":"soundcloud","version":"1.5.1","description":"Connects to [SoundCloud services](https://developers.soundcloud.com/docs/api/explorer/open-api) from Ballerina","keywords":["Content \u0026 Files/Video \u0026 Audio","Cost/Freemium"],"pullCount":10},{"name":"workday.businessprocess","version":"1.5.1","description":"Connects to [Workday Business Process API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina.","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":10},{"name":"bintable","version":"1.5.1","description":"Connects to BINTable API from Ballerina","keywords":["Business Intelligence/Analytics","Cost/Free"],"pullCount":10},{"name":"powertoolsdeveloper.data","version":"1.5.1","description":"Connects to [Apptigent Powertools Developer Data API](https://portal.apptigent.com/node/612) from Ballerina","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":10},{"name":"saps4hana.itcm.agreement","version":"1.5.1","description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":10},{"name":"odweather","version":"1.5.1","description":"Connects to [ODWeather](https://api.oceandrivers.com/) from Ballerina","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":10},{"name":"shipstation","version":"1.4.1","description":"Connects to [ShipStation API](https://www.shipstation.com/docs/api/) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":10},{"name":"fungenerators.barcode","version":"1.5.1","description":"Connects to from Ballerina","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Paid"],"pullCount":10},{"name":"bulksms","version":"1.5.1","description":"Connects to [BulkSMS.com](https://www.bulksms.com/) services from Ballerina","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":10},{"name":"zuora.revenue","version":"1.5.1","description":"Connects to [Zuora Revenue V2021-08-12 API](https://www.zuora.com/developer/revpro-api/#section/Introduction) from Ballerina","keywords":["Finance/Accounting","Cost/Paid"],"pullCount":10},{"name":"azure.iothub","version":"1.5.1","description":"Connects to [Azure IoT Hub API](https://azure.microsoft.com/en-us/services/iot-hub/) from Ballerina","keywords":["Internet of Things/Device Management","Cost/Paid","Vendor/Microsoft"],"pullCount":10},{"name":"docusign.click","version":"1.3.1","description":"Connects to [DocuSign Click API](https://developers.docusign.com/docs/click-api/) from Ballerina.","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":10},{"name":"salesforce.pardot","version":"1.3.1","description":"Connects to [Salesforce Pardot API v5](https://developer.salesforce.com/docs/marketing/pardot/guide/version5overview.html) from Ballerina.","keywords":["Marketing/Marketing Automation","Cost/Paid"],"pullCount":10},{"name":"owler","version":"1.5.1","description":"Connects to [Owler API](https://corp.owler.com/) from Ballerina","keywords":["Business Intelligence/Analytics","Cost/Freemium"],"pullCount":10},{"name":"vonage.numbers","version":"1.5.1","description":"Connects to [Vonage Numbers API](https://nexmo-api-specification.herokuapp.com/numbers) from Ballerina","keywords":["Communication/Call Tracking","Cost/Paid"],"pullCount":10},{"name":"rumble.run","version":"1.5.1","description":"Connects to [Rumble](https://www.rumble.run/docs/) from Ballerina","keywords":["IT Operations/Server Monitoring","Cost/Freemium"],"pullCount":10},{"name":"recurly","version":"1.5.1","description":"Connects to [Recurly API](https://developers.recurly.com/api/v2021-02-25/index.html) from Ballerina","keywords":["Finance/Billing","Cost/Paid"],"pullCount":10},{"name":"ebay.account","version":"1.5.1","description":"Connects to [eBay Account](https://developer.ebay.com/api-docs/sell/account/overview.html) from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":10},{"name":"journey.io","version":"1.5.1","description":"Connects to [Journey.io API](https://developers.journy.io/) from Ballerina","keywords":["Business Intelligence/Analytics","Cost/Freemium"],"pullCount":10},{"name":"siemens.analytics.anomalydetection","version":"1.5.1","description":"Connects to [Siemens Analytics Anomaly Detection API](https://developer.mindsphere.io/apis/analytics-anomalydetection/api-anomalydetection-api-swagger-3-4-0.html) from Ballerina","keywords":["Business Intelligence/Analytics","Cost/Paid"],"pullCount":10},{"name":"saps4hana.itcm.customer","version":"1.5.1","description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":10},{"name":"supportbee","version":"1.5.1","description":"Connects to [SupportBee API](https://supportbee.com/api) from Ballerina","keywords":["Support/Customer Support","Cost/Paid"],"pullCount":10},{"name":"workday.accountspayable","version":"1.5.1","description":"Connects to [Workday Accounts Payable API v1](https://community.workday.com/sites/default/files/file-hosting/restapi/index.html) from Ballerina.","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":10},{"name":"uber","version":"1.5.1","description":"Connects to Uber API services from Ballerina","keywords":["Lifestyle \u0026 Entertainment/Ride-Hailing","Cost/Paid"],"pullCount":10},{"name":"adp.paystatements","version":"1.5.1","description":"Connects to [ADP Pay Statements](https://developers.adp.com/articles/api/pay-statements-v1-api) from Ballerina","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":10},{"name":"dracoon.public","version":"1.5.1","description":"Connects to [Dracoon REST API](https://cloud.support.dracoon.com/hc/en-us/articles/115005447729-API-overview) from Ballerina","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Paid"],"pullCount":10},{"name":"thinkific","version":"1.3.1","description":"Connects to [Thinkific API](https://developers.thinkific.com/api/using-the-api) from Ballerina.","keywords":["Website \u0026 App Building/Website Builders","Cost/Freemium"],"pullCount":10},{"name":"iptwist","version":"1.5.1","description":"Connects to [ipTwist API v1](https://iptwist.com/) from Ballerina","keywords":["IT Operations/Geographic Information Systems","Cost/Freemium"],"pullCount":10},{"name":"orbitcrm","version":"1.5.1","description":"Connects to [Orbit CRM API](https://docs.orbit.love/reference/about-the-orbit-api) from Ballerina.","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":10},{"name":"googleapis.vault","version":"1.5.1","description":"Connects to [Google Vault](https://developers.google.com/vault/reference/rest) from Ballerina","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Paid","Vendor/Google"],"pullCount":10},{"name":"brex.team","version":"1.5.1","description":"Connects to [Brex Team API v0.1](https://developer.brex.com/openapi/onboarding_api/) from Ballerina","keywords":["Human Resources/HRMS","Cost/Freemium"],"pullCount":10},{"name":"xero.appstore","version":"1.4.1","description":"Connects to [Xero AppStore](https://developer.xero.com/documentation/api/xero-app-store/overview) from Ballerina","keywords":["Support/Customer Support","Cost/Paid"],"pullCount":10},{"name":"fraudlabspro.smsverification","version":"1.5.1","description":"Connects to [FraudLabsPro SMS Verification API](https://www.fraudlabspro.com/developer/api/send-verification) from Ballerina","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium"],"pullCount":10},{"name":"googleapis.books","version":"1.5.1","description":"Connects to [Google Books API v1](https://developers.google.com/books) from Ballerina","keywords":["Lifestyle \u0026 Entertainment/Books","Cost/Freemium","Vendor/Google"],"pullCount":10},{"name":"azure.timeseries","version":"1.5.1","description":"Connects to [Azure Time Series Insights API](https://azure.microsoft.com/en-us/services/time-series-insights/) from Ballerina","keywords":["Internet of Things/Device Management","Cost/Paid","Vendor/Microsoft"],"pullCount":10},{"name":"techport","version":"1.5.1","description":"Connects to Techport API from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Free"],"pullCount":10},{"name":"sinch.verification","version":"1.5.1","description":"Connects to [Sinch Verification API v2.0](https://www.sinch.com/) from Ballerina","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Paid"],"pullCount":10},{"name":"vonage.verify","version":"1.5.1","description":"Connects to [Vonage Verify API](https://nexmo-api-specification.herokuapp.com/verify) from Ballerina","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":10},{"name":"vonage.numberinsight","version":"1.5.1","description":"Connects to [Vonage Number Insight API](https://nexmo-api-specification.herokuapp.com/number-insight) from Ballerina","keywords":["Communication/Call Tracking","Cost/Paid"],"pullCount":10},{"name":"mitto.sms","version":"1.5.1","description":"Connects to [Mitto SMS and Bulk SMS APIs](https://docs.mitto.ch/sms-api-reference/) from Ballerina","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":10},{"name":"health.fhir.templates.r4.servicerequest","version":"1.0.3","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ServiceRequest","r4","international"],"pullCount":10},{"name":"health.fhir.templates.r4.uscore501.encounter","version":"1.0.3","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Encounter","r4","uscore"],"pullCount":10},{"name":"aws.simpledb","version":"2.2.0","description":"Connects to AWS simpledb from Ballerina","keywords":["IT Operations/Databases","Cost/Freemium","Vendor/Amazon"],"pullCount":10},{"name":"sap.s4hana.salesarea_0001","version":"1.0.0","description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution,","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":10},{"name":"sap.s4hana.api_sales_quotation_srv","version":"1.0.0","description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution,","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":10},{"name":"aws.secretmanager","version":"0.3.0","description":"[AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) is a service that helps you protect sensitive information, such as database credentials, API keys, and other secrets, by securely storing and managing access to them.","keywords":["AWS","Secret Manager","Cloud/Subscriptions"],"pullCount":10},{"name":"health.fhir.templates.international401.encounter","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Encounter","r4","health.fhir.r4.international401"],"pullCount":10},{"name":"health.fhir.templates.international401.claim","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Claim","r4","health.fhir.r4.international401"],"pullCount":10},{"name":"health.fhir.templates.international401.diagnosticreport","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","DiagnosticReport","r4","health.fhir.r4.international401"],"pullCount":10},{"name":"health.fhir.templates.international401.medicationstatement","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicationStatement","r4","health.fhir.r4.international401"],"pullCount":10},{"name":"health.fhirr5","version":"1.0.1","description":"Package containing the FHIR R5 service type that can be used for creating FHIR APIs","keywords":["Healthcare","FHIR","R5","service"],"pullCount":10},{"name":"health.fhir.templates.international401.relatedperson","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","RelatedPerson","r4","health.fhir.r4.international401"],"pullCount":10},{"name":"hubspot.crm.extensions.timelines","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform.","keywords":["timelines","events","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":10},{"name":"hubspot.marketing.subscriptions","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["marketing","subscriptions","Vendor/HubSpot","Area/Social Media Marketing","Type/Connector"],"pullCount":10},{"name":"hubspot.marketing.transactional","version":"1.0.0","description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform.","keywords":["marketing","transactional","emails","Vendor/HubSpot","Area/Social Media Marketing","Type/Connector"],"pullCount":10},{"name":"hubspot.crm.properties","version":"2.0.0","description":"[HubSpot ](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform.","keywords":["Properties Management","Marketing Automation","Customer Data","Cost/Freemium","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":10},{"name":"hubspot.crm.engagement.notes","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform.","keywords":["engagement","notes","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":10},{"name":"hubspot.crm.lists","version":"1.0.0","description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform.","keywords":["lists","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":10},{"name":"hubspot.crm.commerce.carts","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["commerce","carts","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":10},{"name":"interzoid.currencyexchange","version":"0.1.0","description":"Connects to [Interzoid Get Currency Rate API](https://www.interzoid.com/services/getcurrencyrate) from Ballerina.","keywords":["Currency","Interzoid","Exchange Rate"],"pullCount":9},{"name":"plaid","version":"1.5.1","description":"Connects to [Plaid API](https://plaid.com/docs/api/) from Ballerina","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":9},{"name":"googleapis.tasks","version":"1.5.1","description":"Connects to [Google Tasks API](https://developers.google.com/tasks/get_started) from Ballerina","keywords":["Productivity/Task Management","Cost/Free","Vendor/Google"],"pullCount":9},{"name":"apideck.accounting","version":"1.5.1","description":"Connects to [Apideck Accounting](https://docs.apideck.com/apis/accounting/reference) from Ballerina","keywords":["Finance/Accounting","Cost/Freemium"],"pullCount":9},{"name":"azure.openai.finetunes","version":"1.0.1","description":"Connects to [Azure OpenAI Files API](https://learn.microsoft.com/en-us/rest/api/cognitiveservices/azureopenaistable/files/),","keywords":["AI/Fine-tunes","Vendor/Microsoft","Cost/Paid","Fine-tunes","Files","Models","Azure OpenAI"],"pullCount":9},{"name":"magento.cart","version":"1.3.1","description":"Connects to [Magento REST API v2](https://devdocs.magento.com/guides/v2.4/get-started/rest_front.html) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":9},{"name":"shipwire.receivings","version":"1.5.1","description":"Connects to [Shipwire Receivings API](https://www.shipwire.com/developers/receiving) from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":9},{"name":"azure.analysisservices","version":"1.3.1","description":"Connects to [Azure Analysis Services API](https://azure.microsoft.com/en-us/services/analysis-services/) from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Paid","Vendor/Microsoft"],"pullCount":9},{"name":"powertoolsdeveloper.math","version":"1.5.1","description":"Connects to [Apptigent Powertools Developer Math API](https://portal.apptigent.com/node/612) from Ballerina","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":9},{"name":"ipgeolocation","version":"1.5.1","description":"Connects to [IP Geolocation API ](https://www.abstractapi.com/ip-geolocation-api#docs) from Ballerina.","keywords":["IT Operations/Geographic Information Systems","Cost/Free"],"pullCount":9},{"name":"interzoid.globaltime","version":"1.5.1","description":"Connects to [Interzoid Get Global Time API](https://www.interzoid.com/services/getglobaltime) from Ballerina.","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":9},{"name":"ebay.metadata","version":"1.5.1","description":"Connects to [eBay Metadata API v1.4.1](https://developer.ebay.com) from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":9},{"name":"browshot","version":"1.5.1","description":"Connects to [Browshot](https://browshot.com/api/documentation) from Ballerina","keywords":["IT Operations/Browser Tools","Cost/Freemium"],"pullCount":9},{"name":"ebay.logistics","version":"1.5.1","description":"Connects to eBay Logistics from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":9},{"name":"interzoid.statedata","version":"1.5.1","description":"Connects to [Interzoid State Data API](https://www.interzoid.com/services/getstateabbreviation) from Ballerina.","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":9},{"name":"namsor","version":"1.5.1","description":"Connects to [NamSor](https://v2.namsor.com/NamSorAPIv2/index.html) from Ballerina","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Freemium"],"pullCount":9},{"name":"godaddy.countries","version":"1.5.1","description":"Connects to [GoDaddy Countries](https://developer.godaddy.com/doc/endpoint/countries) from Ballerina","keywords":["Website \u0026 App Building/Website Builders","Cost/Paid"],"pullCount":9},{"name":"commercetools.pricingdiscount","version":"1.4.1","description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":9},{"name":"formstack","version":"1.3.1","description":"Connects to [Formstack](https://formstack.readme.io/docs/api-overview) from Ballerina","keywords":["Finance/Task Management","Cost/Freemium"],"pullCount":9},{"name":"hubspot.crm.ticket","version":"2.3.1","description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":9},{"name":"apple.appstore","version":"1.5.1","description":"Connects to Apple App Store Connect API from Ballerina","keywords":["Lifestyle \u0026 Entertainment/App Store","Cost/Paid"],"pullCount":9},{"name":"mailscript","version":"1.5.1","description":"Connects to [Mailscript](https://docs.mailscript.com/#api) from Ballerina.","keywords":["Communication/Mail","Cost/Paid"],"pullCount":9},{"name":"shipwire.warehouse","version":"1.5.1","description":"Connects to [Shipwire Warehouses API](https://www.shipwire.com/developers/warehouse) from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":9},{"name":"iris.merchants","version":"1.5.1","description":"Connects to [IRIS Merchants API](https://www.iriscrm.com/api) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":9},{"name":"karbon","version":"1.5.1","description":"Connects to [Karbon API](https://developers.karbonhq.com/api) from Ballerina","keywords":["Productivity/Product Management","Cost/Paid"],"pullCount":9},{"name":"nytimes.moviereviews","version":"1.5.1","description":"Connects to [New York Times Movie Reviews API](https://developer.nytimes.com/docs/movie-reviews-api/1/overview) from Ballerina","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":9},{"name":"godaddy.agreements","version":"1.5.1","description":"Connects to [GoDaddy agreements](https://developer.godaddy.com/doc/endpoint/agreements) from Ballerina","keywords":["Website \u0026 App Building/Website Builders","Cost/Paid"],"pullCount":9},{"name":"instagram.bussiness","version":"1.5.1","description":"Connects to [Instagram Graph API v12.0](https://developers.facebook.com/docs/instagram-basic-display-api) from Ballerina.","keywords":["Marketing/Social Media Accounts","Cost/Free"],"pullCount":9},{"name":"ebay.analytics","version":"1.5.1","description":"Connects to Ebay Analytics API from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":9},{"name":"nytimes.topstories","version":"1.5.1","description":"Connects to [New York Times Top Stories API](https://developer.nytimes.com/docs/top-stories-product/1/overview) from Ballerina","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":9},{"name":"commercetools.customer","version":"1.4.1","description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":9},{"name":"quickbase","version":"1.3.1","description":"Connects to [Quickbase API v1](https://developer.quickbase.com/) from Ballerina.","keywords":["Website \u0026 App Building/App Builders","Cost/Paid"],"pullCount":9},{"name":"cloudmersive.virusscan","version":"1.5.1","description":"Connects to [Cloudmersive Virus Scan API](https://api.cloudmersive.com/docs/virus.asp) from Ballerina","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium"],"pullCount":9},{"name":"azure.iotcentral","version":"1.5.1","description":"Connects to [Azure IoT Central API](https://azure.microsoft.com/en-us/services/time-series-insights/) from Ballerina","keywords":["Internet of Things/Device Management","Cost/Paid","Vendor/Microsoft"],"pullCount":9},{"name":"dev.to","version":"1.5.1","description":"Connects to [DEV API v0.9.7](https://developers.forem.com/api/) from Ballerina.","keywords":["Marketing/Social Media Accounts","Cost/Freemium"],"pullCount":9},{"name":"nytimes.articlesearch","version":"1.5.1","description":"Connects to [New York Times Article Search API](https://developer.nytimes.com/docs/articlesearch-product/1/overview) from Ballerina","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":9},{"name":"chaingateway","version":"1.5.1","description":"Connects to [Chaingateway API](https://chaingateway.io/docs-ethereum) from Ballerina","keywords":["Finance/Cryptocurrency","Cost/Freemium"],"pullCount":9},{"name":"icons8","version":"1.5.1","description":"Connects to [Icons8](https://developers.icons8.com/docs/getting-started) from Ballerina","keywords":["Content \u0026 Files/Images \u0026 Design","Cost/Freemium"],"pullCount":9},{"name":"googleapis.cloudnaturallanguage","version":"1.5.1","description":"Connects to [Google Cloud Natural Language API](https://cloud.google.com/natural-language/) from Ballerina","keywords":["Business Intelligence/Language Analysis","Cost/Free","Vendor/Google"],"pullCount":9},{"name":"selz","version":"1.5.1","description":"Connects to [Selz API](https://developer.selz.com/api/reference) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":9},{"name":"azure.anomalydetector","version":"1.5.1","description":"Connects to [Azure Anomaly Detector API](https://azure.microsoft.com/en-us/services/cognitive-services/anomaly-detector/) from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Paid","Vendor/Microsoft"],"pullCount":9},{"name":"gotomeeting","version":"1.5.1","description":"Connects to [GoToMeeting](https://developer.goto.com/GoToMeetingV1) from Ballerina","keywords":["Communication/Video Conferencing","Cost/Paid"],"pullCount":9},{"name":"geonames","version":"1.3.1","description":"Connects to [Geonames API](https://www.geonames.org/export/JSON-webservices.html) from Ballerina","keywords":["IT Operations/Geographic Information Systems","Cost/Freemium"],"pullCount":9},{"name":"interzoid.globalpageload","version":"1.5.1","description":"Connects to [Interzoid Global Page Load Performance API](https://interzoid.com/services/globalpageload) from Ballerina.","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":9},{"name":"iris.disputeresponder","version":"1.5.1","description":"Connects to [IRIS Dispute Responder API](https://www.iriscrm.com/api) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":9},{"name":"interzoid.zipinfo","version":"1.5.1","description":"Connects to [Interzoid Zip Code Detailed Information API](https://www.interzoid.com/services/getzipcodeinfo) from Ballerina.","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":9},{"name":"gotowebinar","version":"1.5.1","description":"Connects to [GoToWebinar](https://developer.goto.com/GoToWebinarV2/) from Ballerina","keywords":["Communication/Video Conferencing","Cost/Paid"],"pullCount":9},{"name":"saps4hana.itcm.organizationaldata","version":"1.5.1","description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":9},{"name":"bing.autosuggest","version":"1.5.1","description":"Connects to [Bing Autosuggest API](https://www.microsoft.com/en-us/bing/apis/bing-autosuggest-api) from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Freemium","Vendor/Microsoft"],"pullCount":9},{"name":"saps4hana.itcm.currency","version":"1.5.1","description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":9},{"name":"ebay.compliance","version":"1.5.1","description":"Connects to [eBay Compliance API v1.4.1](https://developer.ebay.com) from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":9},{"name":"commercetools.productcatalog","version":"1.4.1","description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":9},{"name":"ebay.finances","version":"1.5.1","description":"Connects to [eBay Finances API](https://developer.ebay.com/api-docs/sell/finances/static/overview.html) from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":9},{"name":"hubspot.crm.property","version":"2.3.1","description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":9},{"name":"files.com","version":"1.5.1","description":"Connects to [Files.com API](https://www.files.com/) from Ballerina","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Paid"],"pullCount":9},{"name":"kinto","version":"1.5.1","description":"Connects to [Kinto](https://docs.kinto-storage.org/en/stable/api/index.html) from Ballerina","keywords":["Website \u0026 App Building/App Builders","Cost/Free"],"pullCount":9},{"name":"googleapis.blogger","version":"1.5.1","description":"Connects to [Google Blogger API](https://developers.google.com/blogger/docs/3.0/getting_started) from Ballerina","keywords":["Content \u0026 Files/Blogs","Cost/Free","Vendor/Google"],"pullCount":9},{"name":"gototraining","version":"1.5.1","description":"Connects to [GoToTraining](https://developer.goto.com/GoToTrainingV1/) from Ballerina","keywords":["Communication/Video Conferencing","Cost/Paid"],"pullCount":9},{"name":"googleapis.cloudbillingaccount","version":"1.5.1","description":"Connects to [Google Cloud Billing Account API](https://cloud.google.com/billing/docs/apis) from Ballerina","keywords":["Finance/Billing","Cost/Freemium","Vendor/Google"],"pullCount":9},{"name":"cloudmersive.security","version":"1.5.1","description":"Connects to [Cloudmersive Security API](https://api.cloudmersive.com/docs/security.asp) from Ballerina","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium"],"pullCount":9},{"name":"powertoolsdeveloper.text","version":"1.5.1","description":"Connects to [Apptigent Powertools Developer Text API](https://portal.apptigent.com/node/612) from Ballerina","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":9},{"name":"onepassword","version":"1.5.1","description":"Connects to [1Password Connect API API](https://1password.com/) from Ballerina","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Paid"],"pullCount":9},{"name":"godaddy.subscriptions","version":"1.5.1","description":"Connects to [GoDaddy Subscriptions](https://developer.godaddy.com/doc/endpoint/subscriptions) from Ballerina","keywords":["Website \u0026 App Building/Website Builders","Cost/Paid"],"pullCount":9},{"name":"docusign.monitor","version":"1.3.1","description":"Connects to [DocuSign Monitor API](https://developers.docusign.com/docs/monitor-api/monitor101/) from Ballerina.","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":9},{"name":"brex.onboarding","version":"1.5.1","description":"Connects to [Brex Onboarding API v0.1](https://developer.brex.com/openapi/onboarding_api/) from Ballerina","keywords":["Sales \u0026 CRM/Contact Management","Cost/Freemium"],"pullCount":9},{"name":"hubspot.crm.pipeline","version":"2.3.1","description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":9},{"name":"godaddy.aftermarket","version":"1.5.1","description":"Connects to [GoDaddy Aftermarket](https://developer.godaddy.com/doc/endpoint/aftermarket) from Ballerina","keywords":["Website \u0026 App Building/Website Builders","Cost/Paid"],"pullCount":9},{"name":"azure.qnamaker","version":"1.5.1","description":"Connects to [Azure QnA Maker API](https://docs.microsoft.com/en-us/rest/api/cognitiveservices-qnamaker/QnAMaker4.0/) from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Freemium","Vendor/Microsoft"],"pullCount":9},{"name":"powertoolsdeveloper.datetime","version":"1.5.1","description":"Connects to [Apptigent Powertools Developer DataTime API](https://portal.apptigent.com/node/612) from Ballerina","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":9},{"name":"hubspot.crm.quote","version":"2.3.1","description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":9},{"name":"microsoft.onenote","version":"2.4.0","description":"Connects to Microsoft OneNote from Ballerina","keywords":["Content \u0026 Files/Notes","Cost/Freemium","Vendor/Microsoft"],"pullCount":9},{"name":"health.fhir.templates.r4.repositorysync","version":"1.0.2","description":"This template provides a boilerplate code for rapid implementation of FHIR Repository APIs and syncing the FHIR Repository from Client Source Systems. ","keywords":["Healthcare","FHIR","Repository","Synchronize"],"pullCount":9},{"name":"powertoolsdeveloper.collections","version":"1.5.1","description":"Connects to [Apptigent Powertools Developer Collections API](https://portal.apptigent.com/node/612) from Ballerina","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":9},{"name":"powertoolsdeveloper.finance","version":"1.5.1","description":"Connects to [Apptigent Powertools Developer Finance API](https://portal.apptigent.com/node/612) from Ballerina","keywords":["Website \u0026 App Building/App Builders","Cost/Freemium"],"pullCount":9},{"name":"samcart","version":"1.5.1","description":"Connects to [SamCart API](https://developer.samcart.com/) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":9},{"name":"atspoke","version":"1.5.1","description":"Connects to [atSpoke API](https://askspoke.com/api/reference) from Ballerina","keywords":["Support/Customer Support","Cost/Paid"],"pullCount":9},{"name":"saps4hana.itcm.accountreceivable","version":"1.5.1","description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":9},{"name":"fungenerators.uuid","version":"1.5.1","description":"Connects to fungenerators.UUID from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Paid"],"pullCount":9},{"name":"graphhopper.directions","version":"1.5.1","description":"Connects to GraphHopper Directions API from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":9},{"name":"avatax","version":"1.3.1","description":"Connects to [Avalara AvaTax](https://developer.avalara.com/api-reference/avatax/rest/v2/) from Ballerina","keywords":["Business Intelligence/Reporting","Cost/Freemium"],"pullCount":9},{"name":"figshare","version":"1.5.1","description":"Connects to [Figshare API v2.0.0](https://docs.figshare.com/) from Ballerina","keywords":["Content \u0026 Files/Documents","Cost/Freemium"],"pullCount":9},{"name":"cloudmersive.validate","version":"1.5.1","description":"Connects to [Cloudmersive Validate API](https://api.cloudmersive.com/docs/validate.asp) from Ballerina","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Freemium"],"pullCount":9},{"name":"googleapis.mybusiness","version":"1.5.1","description":"Connects to [Google My Business API](https://developers.google.com/my-business/) from Ballerina","keywords":["Commerce/eCommerce","Cost/Free","Vendor/Google"],"pullCount":9},{"name":"freshdesk","version":"1.3.1","description":"Connects to [Freshdesk](https://developers.freshdesk.com/api/#intro) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":9},{"name":"googleapis.abusiveexperiencereport","version":"1.5.1","description":"Connects to [Google Abusive Experience Report API](https://developers.google.com/abusive-experience-report/) from Ballerina","keywords":["Business Intelligence/Reporting","Cost/Free","Vendor/Google"],"pullCount":9},{"name":"logoraisr","version":"1.5.1","description":"Connects to [Logoraisr API](https://docs.logoraisr.com/) from Ballerina.","keywords":["Content \u0026 Files/Images \u0026 Design","Cost/Paid"],"pullCount":9},{"name":"googleapis.discovery","version":"1.5.1","description":"Connects to [Google Discovery API](https://developers.google.com/discovery/v1/reference) from Ballerina","keywords":["Marketing/Ads \u0026 Conversion","Cost/Free","Vendor/Google"],"pullCount":9},{"name":"eloqua","version":"1.3.1","description":"Connects to [Oracle Eloqua API](https://docs.oracle.com/en/cloud/saas/marketing/eloqua-develop/Developers/GettingStarted/Tutorials/tutorials.htm) from Ballerina","keywords":["Marketing/Marketing Automation","Cost/Paid"],"pullCount":9},{"name":"disqus","version":"1.5.1","description":"Connects to [Disqus API](https://disqus.com/api/docs) from Ballerina","keywords":["Website \u0026 App Building/Website Builders","Cost/Freemium"],"pullCount":9},{"name":"constantcontact","version":"1.5.1","description":"Connects to [Constant Contact API](https://v3.developer.constantcontact.com/api_guide/index.html) from Ballerina","keywords":["Marketing/Marketing Automation","Cost/Paid"],"pullCount":9},{"name":"instagram","version":"1.5.1","description":"Connects to [Instagram Basic Display API v12.0](https://developers.facebook.com/docs/instagram-basic-display-api) from Ballerina.","keywords":["Marketing/Social Media Accounts","Cost/Free"],"pullCount":9},{"name":"nytimes.semantic","version":"1.5.1","description":"Connects to [New York Times Semantic API](https://developer.nytimes.com/docs/semantic-api-product/1/overview) from Ballerina","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":9},{"name":"bisstats","version":"1.5.1","description":"Connects to [BIS statistical data and metadata API](https://stats.bis.org/api-doc/v1/) from Ballerina","keywords":["Business Intelligence/Analytics","Cost/Free"],"pullCount":9},{"name":"iris.esignature","version":"1.5.1","description":"Connects to [IRIS E-Signature API](https://www.iriscrm.com/api) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":9},{"name":"adp.workerpayrollinstructions","version":"1.5.1","description":"Connects to [ADP Worker Payroll Instructions](https://developers.adp.com/articles/api/worker-payroll-instructions-v1-api) from Ballerina","keywords":["Human Resources/HRMS","Cost/Paid"],"pullCount":9},{"name":"flatapi","version":"1.5.1","description":"Connects to [Flat API](https://flat.io/developers/docs/api/) from Ballerina","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Freemium"],"pullCount":9},{"name":"saps4hana.pp.idm","version":"1.4.1","description":"Connects to [SAP S/4HANA for Procurement Planning System for Cross-domain Identity Management API v1.0.0](https://api.sap.com/api/SCIMService/overview) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":9},{"name":"apideck.lead","version":"1.5.1","description":"Connects to [Apideck Lead API](https://www.apideck.com/lead-api) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":9},{"name":"shortcut","version":"1.5.1","description":"Connects to [Shortcut API](https://shortcut.com/api/rest/v3) from Ballerina","keywords":["Productivity/Project Management","Cost/Freemium"],"pullCount":9},{"name":"ebay.browse","version":"1.5.1","description":"Connects to Ebay Browse API from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":9},{"name":"commercetools.customizedata","version":"1.4.1","description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":9},{"name":"nytimes.archive","version":"1.5.1","description":"Connects to [New York Times Archive API](https://developer.nytimes.com/docs/archive-product/1/overview) from Ballerina","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":9},{"name":"listen.notes","version":"1.5.1","description":"Connects to [Listen Notes API v2.0](https://www.listennotes.com/) from Ballerina","keywords":["Content \u0026 Files/Video \u0026 Audio","Cost/Freemium"],"pullCount":9},{"name":"iris.subscriptions","version":"1.5.1","description":"Connects to [IRIS Subscriptions API](https://www.iriscrm.com/api) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":9},{"name":"googleapis.retail","version":"1.5.1","description":"Connects to [Google Retail API](https://cloud.google.com/retail/docs/overview) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid","Vendor/Google"],"pullCount":9},{"name":"extpose","version":"1.5.1","description":"Connects to Extpose API from Ballerina","keywords":["IT Operations/Browser Tools","Cost/Freemium"],"pullCount":9},{"name":"commercetools.configuration","version":"1.4.1","description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":9},{"name":"magento.async.customer","version":"1.3.1","description":"Connects to [Magento Magento Asynchronous Customer REST endpoints API v2.3.5](https://devdocs.magento.com/guides/v2.4/get-started/rest_front.html) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":9},{"name":"optimizely","version":"1.5.1","description":"Connects to [Optimizely API v2](https://www.optimizely.com/) from Ballerina.","keywords":["IT Operations/Testing Tools","Cost/Paid"],"pullCount":9},{"name":"googleapis.cloudtranslation","version":"1.5.1","description":"Connects to [Google Cloud Translation API](https://cloud.google.com/translate/docs/quickstarts) from Ballerina","keywords":["Education/Translator","Cost/Free","Vendor/Google"],"pullCount":9},{"name":"ebay.recommendation","version":"1.5.1","description":"Connects to [Ebay Recommendation API v1.1.0](https://developer.ebay.com) from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":9},{"name":"keap","version":"1.3.1","description":"Connects to [Keap API](https://developer.infusionsoft.com/docs/rest) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":9},{"name":"googleapis.cloudscheduler","version":"1.5.1","description":"Connects to [Google Cloud Scheduler](https://cloud.google.com/scheduler/docs/reference/rest) from Ballerina","keywords":["IT Operations/Cloud Services","Cost/Freemium","Vendor/Google"],"pullCount":9},{"name":"saps4hana.itcm.uom","version":"1.5.1","description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":9},{"name":"box","version":"1.5.1","description":"Connects to [Box Platform API](https://developer.box.com/reference/) from Ballerina.","keywords":["Content \u0026 Files/File Management \u0026 Storage","Cost/Freemium"],"pullCount":9},{"name":"saps4hana.itcm.producthierarchy","version":"1.5.1","description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":9},{"name":"interzoid.globalnumberinfo","version":"1.5.1","description":"Connects to [Interzoid Global Phone Number Information API v1.0.0](https://interzoid.com/services/getglobalnumberinfo) from Ballerina.","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":9},{"name":"saps4hana.itcm.customerhierarchy","version":"1.5.1","description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":9},{"name":"ritekit","version":"1.5.1","description":"Connects to [RiteKit](https://documenter.getpostman.com/view/2010712/SzS7Qku5?version\u003dlatest) from Ballerina","keywords":["Marketing/Social Media Marketing","Cost/Freemium"],"pullCount":9},{"name":"isendpro","version":"1.5.1","description":"Connects to [iSendPro](https://www.isendpro.com/docs/?type\u003d7) from Ballerina.","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":9},{"name":"hubspot.crm.schema","version":"2.3.1","description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":9},{"name":"openfigi","version":"1.5.1","description":"Connects to [OpenFIGI](https://www.openfigi.com/) from Ballerina","keywords":["Finance/Accounting","Cost/Free"],"pullCount":9},{"name":"sakari","version":"1.5.1","description":"Connects to Sakari SMS API from Ballerina","keywords":["Communication/Call \u0026 SMS","Cost/Paid"],"pullCount":9},{"name":"nytimes.mostpopular","version":"1.5.1","description":"Connects to [New York Times Most Popular API](https://developer.nytimes.com/docs/most-popular-product/1/overview) from Ballerina","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":9},{"name":"interzoid.emailinfo","version":"1.5.1","description":"Connects to [Interzoid Email Info API](https://interzoid.com/services/getemailinfo) from Ballerina.","keywords":["IT Operations/Cloud Services","Cost/Freemium"],"pullCount":9},{"name":"shippit","version":"1.5.1","description":"Connects to [Shippit API](https://developer.shippit.com) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":9},{"name":"shipwire.containers","version":"1.5.1","description":"Connects to [Shipwire Containers API](https://www.shipwire.com/developers/container/) from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":9},{"name":"godaddy.domains","version":"1.5.1","description":"Connects to [GoDaddy Domains](https://developer.godaddy.com/doc/endpoint/domains) from Ballerina","keywords":["Website \u0026 App Building/Website Builders","Cost/Paid"],"pullCount":9},{"name":"optitune","version":"1.5.1","description":"Connects to [OptiTune API](https://manage.opti-tune.com/help/site/articles/api/default.html) from Ballerina","keywords":["Internet of Things/Device Management","Cost/Paid"],"pullCount":9},{"name":"prodpad","version":"1.5.1","description":"Connects to [ProdPad API v1.0](https://www.prodpad.com/) from Ballerina","keywords":["Productivity/Product Management","Cost/Paid"],"pullCount":9},{"name":"ebay.negotiation","version":"1.5.1","description":"Connects to eBay Negotiation from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":9},{"name":"hubspot.crm.lineitem","version":"2.3.1","description":"Connects to [HubSpot CRM API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Freemium"],"pullCount":9},{"name":"giphy","version":"1.5.1","description":"Connects to [Giphy](https://developers.giphy.com/docs/api/) from Ballerina","keywords":["Content \u0026 Files/Images \u0026 Design","Cost/Free"],"pullCount":9},{"name":"hubspot.events","version":"2.3.1","description":"Connects to [HubSpot Events API](https://developers.hubspot.com/docs/api/overview) from Ballerina","keywords":["Marketing/Event Management","Cost/Freemium"],"pullCount":9},{"name":"shipwire.carrier","version":"1.5.1","description":"Connects to [Shipwire Carrier API](https://www.shipwire.com/developers/carrier/) from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":9},{"name":"commercetools.cartsordershoppinglists","version":"1.4.1","description":"Connects to [Commercetools API v1](https://docs.commercetools.com/api/)) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":9},{"name":"iris.residuals","version":"1.5.1","description":"Connects to [IRIS Residuals API](https://www.iriscrm.com/api) from Ballerina","keywords":["Sales \u0026 CRM/Customer Relationship Management","Cost/Paid"],"pullCount":9},{"name":"pushcut","version":"1.5.1","description":"Connects to [Pushcut API](https://www.pushcut.io/webapi.html) from Ballerina","keywords":["Internet of Things/Device Management","Cost/Paid"],"pullCount":9},{"name":"saps4hana.itcm.promotion","version":"1.5.1","description":"Connects to [SAPS4HANA Intelligent Trade Claims Management(ITCM)](https://help.sap.com/viewer/902b9d277dfe48fea582d28849d54935/CURRENT/en-US) from Ballerina","keywords":["Business Management/ERP","Cost/Paid"],"pullCount":9},{"name":"nytimes.timestags","version":"1.5.1","description":"Connects to [New York Times TimesTags API](https://developer.nytimes.com/docs/timestags-product/1/overview) from Ballerina","keywords":["Lifestyle \u0026 Entertainment/News \u0026 Lifestyle","Cost/Free"],"pullCount":9},{"name":"godaddy.certificates","version":"1.5.1","description":"Connects to [GoDaddy Certificates](https://developer.godaddy.com/doc/endpoint/certificates) from Ballerina","keywords":["IT Operations/Security \u0026 Identity Tools","Cost/Paid"],"pullCount":9},{"name":"earthref.fiesta","version":"1.5.1","description":"Connects to [EarthRef.org\u0027s FIESTA API v1.2.0](https://api.earthref.org/v1) from Ballerina","keywords":["IT Operations/Geographic Information Systems","Cost/Free"],"pullCount":9},{"name":"clever.data","version":"1.5.1","description":"Connects to [Clever Data](https://dev.clever.com/v1.2/docs/) from Ballerina.","keywords":["Education/Elearning","Cost/Paid"],"pullCount":9},{"name":"nowpayments","version":"1.5.1","description":"Connects to NOWPayments API from Ballerina","keywords":["Finance/Payment","Cost/Paid"],"pullCount":9},{"name":"azure.openai.deployment","version":"1.0.1","description":"Connects to [Azure OpenAI Deployments API](https://learn.microsoft.com/en-us/rest/api/cognitiveservices/azureopenaistable/deployments/) from Ballerina.","keywords":["AI/Deployment","Vendor/Microsoft","Cost/Paid","Model Deployment","Azure OpenAI"],"pullCount":9},{"name":"opendesign","version":"1.5.1","description":"Connects to [Open Design REST API v0.3.4](https://opendesign.dev/docs/api-reference/introduction) from Ballerina","keywords":["Content \u0026 Files/Images \u0026 Design","Cost/Freemium"],"pullCount":9},{"name":"ebay.inventory","version":"1.5.1","description":"Connects to Ebay Inventory API from Ballerina","keywords":["Commerce/eCommerce","Cost/Freemium"],"pullCount":9},{"name":"magento.address","version":"1.3.1","description":"Connects to [Magento REST API v2](https://devdocs.magento.com/guides/v2.4/get-started/rest_front.html) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":9},{"name":"apideck.proxy","version":"1.5.1","description":"Connects to [Apideck Proxy API](https://www.apideck.com/lead-api) from Ballerina","keywords":["IT Operations/Server Monitoring","Cost/Freemium"],"pullCount":9},{"name":"beezup.merchant","version":"1.6.0","description":"Connects to [BeezUP Merchant API](https://api-docs.beezup.com/) from Ballerina","keywords":["Commerce/eCommerce","Cost/Paid"],"pullCount":9},{"name":"edifact.d03a.manufacturing","version":"0.9.0","description":"EDI Library","keywords":[],"pullCount":9},{"name":"edifact.d03a.logistics","version":"0.9.0","description":"EDI Library","keywords":[],"pullCount":9},{"name":"edifact.d03a.services","version":"0.9.0","description":"EDI Library","keywords":[],"pullCount":9},{"name":"edifact.d03a.shipping","version":"0.9.0","description":"EDI Library","keywords":[],"pullCount":9},{"name":"sap.s4hana.api_salesdistrict_srv","version":"1.0.0","description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution,","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":9},{"name":"sap.s4hana.api_sd_sa_soldtopartydetn","version":"1.0.0","description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution,","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":9},{"name":"sap.s4hana.api_sd_incoterms_srv","version":"1.0.0","description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution,","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":9},{"name":"sap.s4hana.api_sales_inquiry_srv","version":"1.0.0","description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution,","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":9},{"name":"sap.s4hana.ce_salesorder_0001","version":"1.0.0","description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution,","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":9},{"name":"sap.s4hana.api_sales_order_simulation_srv","version":"1.0.0","description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution,","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":9},{"name":"sap.s4hana.api_salesorganization_srv","version":"1.0.0","description":"[S/4HANA](https://www.sap.com/india/products/erp/s4hana.html) is a robust enterprise resource planning (ERP) solution,","keywords":["Business Management/ERP","Cost/Paid","Vendor/SAP","Sales and Distribution","SD"],"pullCount":9},{"name":"aws.redshiftdata","version":"1.1.0","description":"[Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/welcome.html) is a powerful and fully-managed data warehouse service provided by Amazon Web Services (AWS), designed to efficiently analyze large datasets with high performance and scalability.","keywords":["Data Warehouse","Columnar Storage","Cost/Paid","vendor/aws"],"pullCount":9},{"name":"health.fhir.templates.international401.allergyintolerance","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","AllergyIntolerance","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.compartmentdefinition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","CompartmentDefinition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.endpoint","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Endpoint","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.enrollmentrequest","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","EnrollmentRequest","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.careplan","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","CarePlan","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.evidencevariable","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","EvidenceVariable","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.group","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Group","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.account","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Account","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.adverseevent","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","AdverseEvent","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.enrollmentresponse","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","EnrollmentResponse","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.episodeofcare","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","EpisodeOfCare","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.familymemberhistory","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","FamilyMemberHistory","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.clinicalimpression","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ClinicalImpression","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.catalogentry","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","CatalogEntry","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.chargeitem","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ChargeItem","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.coverageeligibilityresponse","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","CoverageEligibilityResponse","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.documentreference","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","DocumentReference","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.coverageeligibilityrequest","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","CoverageEligibilityRequest","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.effectevidencesynthesis","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","EffectEvidenceSynthesis","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.condition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Condition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.contract","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Contract","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.appointmentresponse","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","AppointmentResponse","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.coverage","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Coverage","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.detectedissue","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","DetectedIssue","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.claimresponse","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ClaimResponse","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.communicationrequest","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","CommunicationRequest","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.evidence","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Evidence","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.devicerequest","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","DeviceRequest","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.communication","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Communication","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.basic","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Basic","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.conceptmap","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ConceptMap","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.bodystructure","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","BodyStructure","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.devicedefinition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","DeviceDefinition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.devicemetric","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","DeviceMetric","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.auditevent","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","AuditEvent","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.appointment","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Appointment","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.goal","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Goal","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.composition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Composition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.careteam","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","CareTeam","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.chargeitemdefinition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ChargeItemDefinition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.biologicallyderivedproduct","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","BiologicallyDerivedProduct","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.examplescenario","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ExampleScenario","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.deviceusestatement","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","DeviceUseStatement","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.activitydefinition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ActivityDefinition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.explanationofbenefit","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ExplanationOfBenefit","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.flag","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Flag","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.eventdefinition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","EventDefinition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.documentmanifest","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","DocumentManifest","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.graphdefinition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","GraphDefinition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.immunization","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Immunization","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.immunizationevaluation","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ImmunizationEvaluation","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.insuranceplan","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","InsurancePlan","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.healthcareservice","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","HealthcareService","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.guidanceresponse","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","GuidanceResponse","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.imagingstudy","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ImagingStudy","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.immunizationrecommendation","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ImmunizationRecommendation","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.list","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","List","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.invoice","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Invoice","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.namingsystem","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","NamingSystem","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.measurereport","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MeasureReport","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medication","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Medication","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.implementationguide","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ImplementationGuide","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medicinalproductundesirableeffect","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicinalProductUndesirableEffect","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.location","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Location","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.measure","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Measure","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.paymentreconciliation","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","PaymentReconciliation","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medicinalproductingredient","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicinalProductIngredient","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medicinalproductinteraction","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicinalProductInteraction","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medicationadministration","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicationAdministration","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.nutritionorder","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","NutritionOrder","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medicationrequest","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicationRequest","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medicationknowledge","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicationKnowledge","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.person","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Person","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.library","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Library","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.linkage","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Linkage","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.procedure","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Procedure","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.observationdefinition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ObservationDefinition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.practitionerrole","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","PractitionerRole","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.provenance","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Provenance","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.plandefinition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","PlanDefinition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medicinalproductpackaged","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicinalProductPackaged","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.requestgroup","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","RequestGroup","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medicinalproductcontraindication","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicinalProductContraindication","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.questionnaireresponse","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","QuestionnaireResponse","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medicinalproduct","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicinalProduct","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.messagedefinition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MessageDefinition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.observation","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Observation","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.media","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Media","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medicinalproductmanufactured","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicinalProductManufactured","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.messageheader","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MessageHeader","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.operationdefinition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","OperationDefinition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.organizationaffiliation","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","OrganizationAffiliation","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.molecularsequence","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MolecularSequence","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.questionnaire","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Questionnaire","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.organization","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Organization","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medicinalproductpharmaceutical","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicinalProductPharmaceutical","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medicinalproductindication","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicinalProductIndication","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.parameters","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Parameters","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medicationdispense","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicationDispense","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.paymentnotice","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","PaymentNotice","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.riskassessment","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","RiskAssessment","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.researchdefinition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ResearchDefinition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.researchelementdefinition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ResearchElementDefinition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.researchstudy","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ResearchStudy","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.riskevidencesynthesis","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","RiskEvidenceSynthesis","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.medicinalproductauthorization","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","MedicinalProductAuthorization","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.schedule","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Schedule","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.researchsubject","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ResearchSubject","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.slot","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Slot","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.specimen","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Specimen","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.servicerequest","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","ServiceRequest","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.searchparameter","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","SearchParameter","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.structuremap","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","StructureMap","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.subscription","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Subscription","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.substancesourcematerial","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","SubstanceSourceMaterial","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.structuredefinition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","StructureDefinition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.substancenucleicacid","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","SubstanceNucleicAcid","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.specimendefinition","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","SpecimenDefinition","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.substancepolymer","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","SubstancePolymer","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.substanceprotein","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","SubstanceProtein","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.substancereferenceinformation","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","SubstanceReferenceInformation","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.supplyrequest","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","SupplyRequest","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.visionprescription","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","VisionPrescription","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.verificationresult","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","VerificationResult","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.testscript","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","TestScript","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.testreport","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","TestReport","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.supplydelivery","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","SupplyDelivery","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.task","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Task","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.substance","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","Substance","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.substancespecification","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","SubstanceSpecification","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"health.fhir.templates.international401.terminologycapabilities","version":"3.0.0","description":"This template provides a boilerplate code for rapid implementation of FHIR APIs and creating, accessing and manipulating FHIR resources.","keywords":["Healthcare","FHIR","TerminologyCapabilities","r4","health.fhir.r4.international401"],"pullCount":9},{"name":"zoom.scheduler","version":"1.0.1","description":"[Zoom](https://www.zoom.com/) is a video communications platform that enables users to schedule, host, and join virtual meetings, webinars, and conferences.","keywords":["Video Conference","Scheduling","Calendar","Vendor/Zoom","Area/Communication","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.engagements.communications","version":"2.0.0","description":"[HubSpot](https://developers.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["enagagements communications","engagements","communications","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.marketing.campaigns","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["marketing","campaigns","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.pipelines","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com/our-story) is an AI-powered customer relationship management (CRM) platform.","keywords":["pipelines","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.obj.products","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com/our-story) is an AI-powered customer relationship management (CRM) platform.","keywords":["Object","Products","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.obj.leads","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["objects","leads","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.obj.tickets","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["tickets","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.obj.schemas","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["schema","object","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.obj.feedback","version":"2.0.0","description":"[HubSpot](https://developers.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["feedback","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.obj.lineitems","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com/our-story) is an AI-powered customer platform.","keywords":["Object","LineItems","API","Inventory Management","E-commerce","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.obj.deals","version":"1.0.0","description":"[HubSpot](https://developers.hubspot.com/docs/reference/api) is is an AI-powered customer platform.","keywords":["deals","automation","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.obj.contacts","version":"1.0.0","description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["customer","management","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.obj.companies","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["companies","automation","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.commerce.quotes","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["commerce","quotes","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.commerce.orders","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["commerce","orders","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.commerce.taxes","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["commerce","taxes","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.crm.commerce.discounts","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com/our-story) is an AI-powered customer relationship management (CRM) platform.","keywords":["discounts","commerce","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":9},{"name":"hubspot.automation.actions","version":"1.0.0","description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform.","keywords":["HubSpot","automation","actions","ballerina","integration","connector"],"pullCount":8},{"name":"hubspot.crm.engagement.meeting","version":"1.0.0","description":"[HubSpot ](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform.","keywords":["hubspot","crm","meeting"],"pullCount":8},{"name":"amp","version":"1.0.0","description":"The Amp Observability Extension is one of the tracing extensions of the\u003ca target\u003d\"_blank\" href\u003d\"https://ballerina.io/\"\u003e Ballerina\u003c/a\u003e language.","keywords":[],"pullCount":8},{"name":"zoom.meetings","version":"1.0.1","description":"[Zoom](https://www.zoom.com/) is a widely-used video conferencing service provided by Zoom Video Communications, enabling users to host and attend virtual meetings, webinars, and collaborate online.","keywords":["video conference","meetings","Vendor/Zoom","Area/Communication","Type/Connector"],"pullCount":8},{"name":"hubspot.crm.engagements.calls","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform.","keywords":["Engagements","Calls Management","Customer Interaction","Communication Tracking","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":8},{"name":"hubspot.crm.engagements.tasks","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform.","keywords":["tasks","engagements","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":8},{"name":"hubspot.crm.extensions.videoconferencing","version":"2.0.0","description":"[HubSpot](https://developers.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["video conferencing","API integration","customer data","meeting management","automation","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":8},{"name":"hubspot.crm.associations.schema","version":"2.0.0","description":"[HubSpot](https://www.hubspot.com/) is an AI-powered customer relationship management (CRM) platform.","keywords":["associations","schema","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":8},{"name":"hubspot.crm.owners","version":"2.0.0","description":"[HubSpot](https://developers.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["owners","integration","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":8},{"name":"hubspot.crm.associations","version":"2.0.0","description":"[HubSpot](https://developers.hubspot.com) is an AI-powered customer relationship management (CRM) platform.","keywords":["ballerina","associations","Vendor/HubSpot","Area/CRM","Type/Connector"],"pullCount":8},{"name":"sap.commerce.webservices","version":"0.9.0","description":"[SAP Commerce Cloud](https://www.sap.com/products/crm/commerce-cloud.html) is a comprehensive e-commerce platform that enables businesses to deliver personalized, omnichannel shopping experiences across all touchpoints, from web and mobile to social and in-store interactions.","keywords":["category/connector","vendor/sap","domain/commerce","area/integration","protocol/rest"],"pullCount":7},{"name":"smartsheet","version":"1.0.1","description":"[Smartsheet](https://www.smartsheet.com/) is a cloud-based platform that enables teams to plan, capture, manage, automate, and report on work at scale, empowering you to move from idea to impact, fast.","keywords":["project-management","task-automation","workflow-automation","spreadsheet-integration","Vendor/Smartsheet","Area/Project Management","Type/Connector"],"pullCount":7},{"name":"elastic.elasticcloud","version":"1.0.0","description":"Elastic Cloud is a powerful cloud-hosted Elasticsearch service provided by Elastic, offering scalable search and analytics capabilities with enterprise-grade security and management features.","keywords":["Elasticsearch","Elastic Cloud"],"pullCount":6},{"name":"postgresql.cdc.driver","version":"1.0.0","description":"This library provides the necessary Debezium drivers required for the CDC (Change Data Capture) connector in Ballerina.","keywords":[],"pullCount":6},{"name":"paypal.subscriptions","version":"1.0.1","description":"[PayPal](https://www.paypal.com/) is a global online payment platform enabling individuals and businesses to securely send and receive money, process transactions, and access merchant services across multiple currencies.","keywords":["Subscriptions","Plans","Billing","Payments","Recurring","Vendor/Paypal","Area/Finance","Type/Connector"],"pullCount":6},{"name":"mailchimp.marketing","version":"1.0.1","description":"[Mailchimp Marketing Email](https://mailchimp.com) is a powerful and user-friendly platform provided by Intuit Mailchimp, designed for creating, managing, and optimizing targeted email campaigns. It enables businesses to engage customers with personalized marketing emails, automated workflows, and insightful analytics to drive growth and build lasting relationships.","keywords":["marketing","email","campaigns","ballerina","Vendor/Mailchimp","Area/Social Media Marketing","Type/Connector"],"pullCount":6},{"name":"mailchimp.transactional","version":"1.0.1","description":"[Mailchimp Transactional Email](https://mailchimp.com/developer/transactional/) is a reliable and scalable email delivery service provided by Intuit Mailchimp, designed for sending data-driven transactional emails such as password resets, order confirmations, and notifications.","keywords":["transactional","email","email-connector","ballerina","ballerina-connector","campaigns","Vendor/Mailchimp","Area/Communication","Type/Connector"],"pullCount":6},{"name":"paypal.invoices","version":"1.0.1","description":"[PayPal](https://www.paypal.com/) is a global online payment platform enabling individuals and businesses to securely send and receive money, process transactions, and access merchant services across multiple currencies.","keywords":["Invoicing","Vendor/Paypal","Area/Finance","Type/Connector"],"pullCount":6},{"name":"trigger.identityserver","version":"0.9.0","description":"The `ballerinax/trigger.identityserver` module provides a Listener to grasp events triggered from your [WSO2 Identity Server](https://wso2.com/identity-server/). This functionality is provided by the [WSO2 Identity Server webhooks](https://is.docs.wso2.com/en/next/guides/webhooks/webhook-events-and-payloads/).","keywords":["IT Operations/Authentication","Cost/Freemium","Trigger"],"pullCount":5},{"name":"health.fhir.r4.be.core200","version":"1.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","health_fhir_r4_be_core200"],"pullCount":4},{"name":"health.fhir.r4.be.mycarenet200","version":"1.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","health_fhir_r4_be_mycarenet200"],"pullCount":4},{"name":"health.fhir.r4.be.clinical100","version":"1.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","health_fhir_r4_be_clinical100"],"pullCount":4},{"name":"health.fhir.r4.be.lab100","version":"1.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","health_fhir_r4_be_lab100"],"pullCount":4},{"name":"health.fhir.r4.be.vaccination100","version":"1.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","health_fhir_r4_be_vaccination100"],"pullCount":4},{"name":"health.fhir.r4.be.medication100","version":"1.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","health_fhir_r4_be_medication100"],"pullCount":4},{"name":"health.fhir.r4.be.allergy100","version":"1.0.0","description":"Ballerina package containing FHIR resource data models","keywords":["Healthcare","FHIR","R4","health_fhir_r4_be_allergy100"],"pullCount":4},{"name":"health.fhir.r4utils.deidentify","version":"2.0.0","description":"A highly extensible Ballerina package for de-identifying FHIR resources using FHIRPath expressions. This utility provides built-in de-identification operations and also allows developers to implement custom de-identification functions while maintaining FHIR compliance.","keywords":["Healthcare","FHIR","R4","Utils","deidentify"],"pullCount":4},{"name":"health.clients.fhir.epic","version":"1.0.0","description":"FHIR client connector that can be used to connect to a FHIR server and perform common interactions and operations.","keywords":["Healthcare","FHIR","epic","epic-fhir-connector"],"pullCount":1}],"xlibb":[{"name":"pipe","version":"1.6.1","description":"This package provides a medium to send and receive events simultaneously. And it includes APIs to produce, consume and return events via a stream.","keywords":["pipe"],"pullCount":15599},{"name":"pubsub","version":"1.5.0","description":"This package provides an events transmission model with publish/subscribe APIs.","keywords":["pubsub"],"pullCount":14550},{"name":"pdfbox","version":"1.0.1","description":"The Ballerina PDFBox module provides comprehensive APIs for PDF document processing, offering efficient solutions for converting PDF documents into images and extracting text content. This module enables PDF manipulation within Ballerina applications, supporting various input sources including file paths, URLs, and byte arrays.","keywords":["pdfbox"],"pullCount":379},{"name":"asb.admin","version":"0.2.0","description":"This package offers administrative client capabilities for Azure Service Bus, allowing the creation or deletion of","keywords":["asb"],"pullCount":375},{"name":"solace","version":"0.2.2","description":"[Solace PubSub+](https://docs.solace.com/) is an advanced event-broker platform that enables event-driven communication across distributed applications using multiple messaging patterns such as publish/subscribe, request/reply, and queue-based messaging. It supports standard messaging protocols, including JMS, MQTT, AMQP, and REST, enabling seamless integration across diverse systems and environments.","keywords":["service","client","messaging","network","pubsub"],"pullCount":152},{"name":"solace.semp","version":"0.2.0","description":"This Ballerina module provides a connector for interacting with Solace PubSub+ brokers via the [**SEMP v2**](https://docs.solace.com/Admin/SEMP/Using-SEMP.htm) (Solace Element Management Protocol, version 2) — the REST-based management API for configuring and monitoring Solace message brokers.","keywords":["Solace","Management"],"pullCount":148},{"name":"pipeline","version":"1.0.0","description":"Building message-driven applications often involves complex tasks such as data transformation, message filtering, and reliable delivery to multiple systems. Developers frequently find themselves writing repetitive code for common patterns like retries, error handling, and parallel delivery. This leads to increased development time, inconsistent implementations, and systems that are harder to maintain and evolve.","keywords":["pipeline","handler","replay","processor","destination","store"],"pullCount":13},{"name":"docreader","version":"1.0.0","description":"A Ballerina library that makes it easy to parse and extract content from documents of many formats — similar to Apache Tika, but designed for Ballerina.","keywords":["docreader","documentation","reader","parser"],"pullCount":6},{"name":"sikulix","version":"0.1.0","description":"[SikuliX](https://sikulix.github.io/) automates anything in Windows, Mac or Linux screen. It uses image recognition powered by OpenCV, text recognition powered by OCR and precise coordinate-based interactions.","keywords":["sikulix"],"pullCount":4},{"name":"selenium","version":"0.1.0","description":"This module automates web applications across various browsers. Selenium interacts with web browsers directly, simulating user actions such as clicks, text input, page navigation, and more. ","keywords":["selenium","web-automation"],"pullCount":4}]} \ No newline at end of file diff --git a/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/FieldData.java b/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/FieldData.java new file mode 100644 index 0000000000..a6273e9577 --- /dev/null +++ b/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/FieldData.java @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com) + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package io.ballerina.modelgenerator.commons; + +import io.ballerina.compiler.api.symbols.TypeSymbol; + +/** + * Represents a field in a record type definition. + * + * @since 1.0.0 + */ +public class FieldData { + + private final String name; + private final String description; + private final FieldType type; + private final boolean optional; + + public FieldData(String name, String description, FieldType type, boolean optional) { + this.name = name; + this.description = description; + this.type = type; + this.optional = optional; + } + + // Getters + public String name() { + return name; + } + + public String description() { + return description; + } + + public FieldType type() { + return type; + } + + public boolean optional() { + return optional; + } + + /** + * Represents the type of a field. + */ + public static class FieldType { + private final String name; + private final TypeSymbol typeSymbol; + + public FieldType(String name) { + this.name = name; + this.typeSymbol = null; + } + + public FieldType(String name, TypeSymbol typeSymbol) { + this.name = name; + this.typeSymbol = typeSymbol; + } + + public String name() { + return name; + } + + public TypeSymbol typeSymbol() { + return typeSymbol; + } + } +} diff --git a/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/FunctionData.java b/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/FunctionData.java index fd23c64a0e..7a8b94fc24 100644 --- a/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/FunctionData.java +++ b/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/FunctionData.java @@ -44,6 +44,7 @@ public class FunctionData { private final String importStatements; private Map parameters; private String packageId; + private ReturnTypeData returnTypeData; public FunctionData(int functionId, String name, String description, String returnType, String packageName, String moduleName, String org, String version, String resourcePath, @@ -71,6 +72,10 @@ public void setPackageId(String attachmentId) { this.packageId = attachmentId; } + public void setReturnTypeData(ReturnTypeData returnTypeData) { + this.returnTypeData = returnTypeData; + } + // Getters public int functionId() { return functionId; @@ -132,6 +137,10 @@ public String packageId() { return packageId; } + public ReturnTypeData returnTypeData() { + return returnTypeData; + } + public enum Kind { FUNCTION, CONNECTOR, diff --git a/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/FunctionDataBuilder.java b/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/FunctionDataBuilder.java index 2566e0beac..0723a345d8 100644 --- a/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/FunctionDataBuilder.java +++ b/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/FunctionDataBuilder.java @@ -428,7 +428,17 @@ public FunctionData build() { } ClassSymbol classSymbol = (ClassSymbol) parentSymbol; Optional initMethod = classSymbol.initMethod(); - initMethod.ifPresent(methodSymbol -> functionSymbol = methodSymbol); + if (initMethod.isPresent()) { + functionSymbol = initMethod.get(); + } else { + String clientName = getFunctionName(); + FunctionData functionData = new FunctionData(0, clientName, getDescription(classSymbol), + getTypeSignature(clientName), moduleInfo.packageName(), moduleInfo.moduleName(), + moduleInfo.org(), moduleInfo.version(), "", functionKind, + false, false, null); + functionData.setParameters(Map.of()); + return functionData; + } } else { // Fetch the respective method using the function name // TODO: We are special-casing the scenario where the index is not used. We should generalize @@ -467,6 +477,9 @@ public FunctionData build() { resourcePath, functionKind, returnData.returnError(), paramForTypeInfer != null, returnData.importStatements()); + // Populate ReturnTypeData with links + populateReturnTypeLinks(functionData, functionTypeSymbol, returnData.returnType()); + Types types = semanticModel.types(); TypeBuilder builder = semanticModel.types().builder(); UnionTypeSymbol union = builder.UNION_TYPE.withMemberTypes(types.BOOLEAN, types.NIL, types.STRING, types.INT, @@ -675,6 +688,32 @@ public List buildChildNodes() { returnData.returnError(), returnData.paramForTypeInfer() != null, returnData.importStatements()); + + // Populate ReturnTypeData with links + FunctionTypeSymbol methodTypeSymbol = methodSymbol.typeDescriptor(); + populateReturnTypeLinks(functionData, methodTypeSymbol, returnData.returnType()); + + // Populate method parameters + Map methodParameters = new LinkedHashMap<>(); + if (methodKind == FunctionData.Kind.RESOURCE) { + ResourcePathTemplate resourcePathTemplate = buildResourcePathTemplate(methodSymbol); + resourcePathTemplate.pathParams().forEach(param -> methodParameters.put(param.name(), param)); + } + + ParamForTypeInfer paramForTypeInfer = returnData.paramForTypeInfer(); + Types types = semanticModel.types(); + TypeBuilder builder = semanticModel.types().builder(); + UnionTypeSymbol union = builder.UNION_TYPE.withMemberTypes(types.BOOLEAN, types.NIL, types.STRING, + types.INT, types.FLOAT, types.DECIMAL, types.BYTE, types.REGEX, types.XML).build(); + + Map documentationMap = + methodSymbol.documentation().map(Documentation::parameterMap).orElse(Map.of()); + methodTypeSymbol.params().ifPresent(paramList -> paramList.forEach(paramSymbol -> methodParameters.putAll( + getParameters(paramSymbol, documentationMap, paramForTypeInfer, union)))); + methodTypeSymbol.restParam().ifPresent(paramSymbol -> methodParameters.putAll( + getParameters(paramSymbol, documentationMap, paramForTypeInfer, union))); + functionData.setParameters(methodParameters); + functionDataList.add(functionData); } return functionDataList; @@ -860,6 +899,15 @@ private static void addParameterMemberTypes(TypeSymbol typeSymbol, ParameterData moduleInfo == null ? "" : moduleInfo.packageName())); } + private void populateReturnTypeLinks(FunctionData functionData, FunctionTypeSymbol functionTypeSymbol, + String returnTypeString) { + Optional returnTypeSymbol = functionTypeSymbol.returnTypeDescriptor(); + if (returnTypeSymbol.isPresent()) { + ReturnTypeData returnTypeData = new ReturnTypeData(returnTypeString, returnTypeSymbol.get()); + functionData.setReturnTypeData(returnTypeData); + } + } + private Map getIncludedRecordParams(RecordTypeSymbol recordTypeSymbol, boolean insert, Map documentationMap, diff --git a/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/ReturnTypeData.java b/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/ReturnTypeData.java new file mode 100644 index 0000000000..52e21eda8c --- /dev/null +++ b/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/ReturnTypeData.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com) + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package io.ballerina.modelgenerator.commons; + +import io.ballerina.compiler.api.symbols.TypeSymbol; + +/** + * Represents the return type of a function. + * + * @since 1.0.0 + */ +public class ReturnTypeData { + + private final String name; + private final TypeSymbol typeSymbol; + + public ReturnTypeData(String name) { + this.name = name; + this.typeSymbol = null; + } + + public ReturnTypeData(String name, TypeSymbol typeSymbol) { + this.name = name; + this.typeSymbol = typeSymbol; + } + + public String name() { + return name; + } + + public TypeSymbol typeSymbol() { + return typeSymbol; + } +} diff --git a/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/TypeDefData.java b/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/TypeDefData.java new file mode 100644 index 0000000000..8bd17823f0 --- /dev/null +++ b/model-generator-commons/src/main/java/io/ballerina/modelgenerator/commons/TypeDefData.java @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2025, WSO2 LLC. (http://www.wso2.com) + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package io.ballerina.modelgenerator.commons; + +import java.util.List; + +/** + * Represents typedef information (Record, Enum, Union, etc.). + * + * @since 1.0.0 + */ +public class TypeDefData { + + private final String name; + private final String description; + private final TypeCategory type; + private final List fields; + private final String baseType; + + public TypeDefData(String name, String description, TypeCategory type, List fields, String baseType) { + this.name = name; + this.description = description; + this.type = type; + this.fields = fields; + this.baseType = baseType; + } + + // Getters + public String name() { + return name; + } + + public String description() { + return description; + } + + public TypeCategory type() { + return type; + } + + public List fields() { + return fields; + } + + public String baseType() { + return baseType; + } + + public enum TypeCategory { + RECORD("Record"), + ENUM("Enum"), + UNION("Union"), + CLASS("Class"), + ERROR("Error"), + CONSTANT("Constant"), + TYPEDESC("typedesc"), + OTHER("Other"); + + private final String value; + + TypeCategory(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + public static TypeCategory fromString(String value) { + for (TypeCategory category : TypeCategory.values()) { + if (category.value.equalsIgnoreCase(value)) { + return category; + } + } + return OTHER; + } + } +}