
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
The official JavaScript SDK for interfacing with briteAPI. This SDK simplifies interacting with briteAPI services directly from your JavaScript-based applications, whether in a Node.js, browser, or Next.js environment.
Install the package via npm:
npm install briteapi --save
Or, if you prefer yarn:
yarn add briteapi
First, import the SDK and initialize it with your API key:
const { BriteAPI } = require("briteapi");
const briteAPI = new BriteAPI("your_api_key_here");
When making API requests using the BriteAPI SDK, it's important to remember that the SDK is pre-configured with the base URL (https://www.britelink.io/api/). This means you should not include the base URL in your endpoint strings; simply start with the API version and endpoint path.
For primary endpoints, start directly with the version (v1/) followed by the endpoint name. Do not add the base URL (https://www.britelink.io/api/), as the SDK already handles this for you.
// Correct usage - No need to specify the full URL
briteAPI
.fetch("v1/drugs")
.then((data) => console.log(data))
.catch((error) => console.error("Error:", error));
Similarly, for accessing secondary or quaternary endpoints, you only need to specify the endpoint path starting from the version indicator (v1/), followed by the resource name and any required parameters or IDs. The SDK takes care of appending this to the base URL.
Example for a secondary endpoint:
const drugId = "12345"; // Example ID
// Just use the endpoint and the SDK will append it to the base URL
briteAPI
.fetch(`v1/drugs/${drugId}`)
.then((data) => console.log(data))
.catch((error) => console.error("Error:", error));
And for a quaternary endpoint with additional query parameters:
const drugId = "12345"; // Example ID for the primary resource
// Directly specify the endpoint with parameters; no need for the full URL
briteAPI
.fetch(`v1/drugs/${drugId}/details?f=true&cursor=someValue`)
.then((data) => console.log(data))
.catch((error) => console.error("Error:", error));
For dynamic parameters such as IDs, use JavaScript template literals for ease of insertion into the endpoint string. Remember, there's no need to add the base URL at the beginning of your endpoint string.
Example using a dynamic parameter:
const userId = "abc123";
// Directly start with the API version and endpoint path
briteAPI
.fetch(`v1/users/${userId}`)
.then((data) => console.log(data))
.catch((error) => console.error("Error:", error));
For Next.js applications, it's recommended to use environment variables to store your API key. Add your API key to your .env.local file:
NEXT_PRIVATE_BRITEAPI_KEY=your_api_key_here
Then, you can use the SDK in your pages or API routes as follows:
// page.jsx
"use client";
import React, { useState, useEffect } from "react";
import { NextBriteAPI } from "briteapi";
const SDK = () => {
const [data, setData] = useState(null);
const [error, setError] = useState(null);
useEffect(() => {
const fetchData = async () => {
const briteAPI = new NextBriteAPI(
"secret_699038a1-a1de-4f70-8e63-308f2c8caf48"
);
try {
const fetchedData = await briteAPI.fetch("v1/drugs");
setData(fetchedData);
} catch (error) {
console.error(error);
setError(error);
}
};
fetchData();
}, []); // Empty dependency array means this effect runs once on mount
return (
<main className="max-w-5xl m-auto w-full px-4">
<h1>Hello from BriteLink SDK</h1>
{error && <p>Error fetching data</p>}
{data ? (
<pre>{JSON.stringify(data, null, 2)}</pre> // Pretty print the JSON data
) : (
<p>Loading...</p>
)}
</main>
);
};
export default SDK;
fetch(endpoint): Makes a GET request to the specified briteAPI endpoint.Sure, let's update the documentation to include the useInternalDb parameter in the available methods:
The BriteAPI SDK provides methods for performing CRUD operations on various resources:
fetchPatients(): Fetch all patients.createPatient(data: Patient, useInternalDb?: boolean): Create a new patient. Optionally, specify useInternalDb as true if you want to use the internal database.updatePatient(id: number, patientData: Patient): Update existing patient data.deletePatient(id: number): Delete a patient by ID.fetchPremises(): Fetch all premises.createPremise(data: Premise, useInternalDb?: boolean): Create a new premise. Optionally, specify useInternalDb as true if you want to use the internal database.updatePremise(id: number, premiseData: Premise): Update existing premise data.deletePremise(id: number): Delete a premise by ID.fetchProviders(): Fetch all providers.createProvider(data: Provider, useInternalDb?: boolean): Create a new provider. Optionally, specify useInternalDb as true if you want to use the internal database.updateProvider(id: number, providerData: Provider): Update existing provider data.deleteProvider(id: number): Delete a provider by ID.fetchAppointments(): Fetch all appointments.createAppointment(data: Appointment, useInternalDb?: boolean): Create a new appointment. Optionally, specify useInternalDb as true if you want to use the internal database.updateAppointment(id: number, appointmentData: Appointment): Update existing appointment data.deleteAppointment(id: number): Delete an appointment by ID.By specifying useInternalDb as true, you indicate that the SDK should use the internal database for the operation, if applicable. Developers can choose to enable or disable this option based on their requirements.
import { BriteAPI } from "briteapi";
const briteAPI = new BriteAPI("your_api_key_here");
The SDK throws errors when requests fail. It's important to handle these in your application:
briteAPI
.fetch("nonexistent_endpoint")
.then((data) => console.log(data))
.catch((error) => console.error("Error:", error.message));
Contributions are very welcome! Feel free to open issues or submit pull requests on our GitHub repository.
For support, please open an issue on GitHub or reach out to our support team directly.
This SDK is available under the MIT License. For more details, see the LICENSE file.
FAQs
JavaScript SDK for briteAPI services.
The npm package briteapi receives a total of 1 weekly downloads. As such, briteapi popularity was classified as not popular.
We found that briteapi demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.