@revenexx/sdk
v0.0.5
Published
Revenexx Web SDK for browsers and SSR frameworks.
Downloads
594
Keywords
Readme
This repository is auto-generated by the Revenexx SDK Generator. Do not submit changes directly — they will be overwritten on the next generation run.
Revenexx Web SDK
Revenexx is a backend platform for building scalable web and mobile applications. This SDK gives you direct access to the Revenexx APIs from your browser or server.
Installation
NPM
Install the package from the npm registry:
npm install @revenexx/sdk --saveIf you're using a bundler (like Rollup or webpack), you can import the Revenexx Web module when you need it:
import { Client, Greetings } from "@revenexx/sdk";Getting Started
Init your SDK
Initialize your SDK with your Revenexx API endpoint, your tenant slug and your credentials. The tenant slug is sent as the X-Revenexx-Tenant header on every request. The client supports two authentication methods:
- API key — a gateway-managed scoped key (
rvxk_…), set viasetApiKeyAuth(). Intended for server-side or trusted environments; never embed an API key in code shipped to the browser. - Bearer token — a Zitadel-issued JWT for interactive callers, set via
setBearerAuth(). The value is sent as theAuthorizationheader verbatim, so include theBearerprefix.
import { Client } from "@revenexx/sdk";
const client = new Client();
client
.setEndpoint('https://api.revenexx.com') // Your Revenexx API endpoint
.setTenant('<TENANT_SLUG>') // Your tenant slug
.setApiKeyAuth('rvxk_...') // Your scoped API key
;Or, with a user JWT:
client
.setEndpoint('https://api.revenexx.com')
.setTenant('<TENANT_SLUG>')
.setBearerAuth(`Bearer ${jwt}`)
;Make Your First Request
Once your client is set up, instantiate any of the Revenexx services with it and send a request. All service methods accept a single params object and return a promise. Full documentation for every service method can be found in the API References.
import { Client, Greetings } from "@revenexx/sdk";
const greetings = new Greetings(client);
await greetings.greetingsCreate({
name: 'World',
locale: 'en-US',
});Full Example
import { Client, Greetings } from "@revenexx/sdk";
const client = new Client();
client
.setEndpoint('https://api.revenexx.com')
.setTenant('<TENANT_SLUG>')
.setApiKeyAuth('rvxk_...')
;
const greetings = new Greetings(client);
await greetings.greetingsCreate({
name: 'World',
locale: 'en-US',
});
const greeting = await greetings.greetingsGet({ id: '<GREETING_ID>' });
console.log(greeting.message);Type Safety with Models
The SDK ships with full TypeScript definitions. Response types live in the Models namespace, and every service method is typed against them — including nullable fields, which are typed as | null.
import { Client, Customers, type Models } from "@revenexx/sdk";
const customers = new Customers(client);
const address: Models.Address = await customers.customersAddressesGet({
id: '<ADDRESS_ID>',
});
console.log(address.street, address.city);
console.log(address.company); // string | nullError Handling
The Revenexx Web SDK raises a RevenexxException object with message, code and response properties. You can handle any errors by catching the exception and present the message to the user or handle it yourself based on the provided error information.
import { RevenexxException } from "@revenexx/sdk";
try {
const greeting = await greetings.greetingsGet({ id: '<GREETING_ID>' });
console.log(greeting);
} catch (error) {
if (error instanceof RevenexxException) {
console.error(error.code, error.message);
}
}Learn more
You can use the following resources to learn more and get help
Contribution
This library is auto-generated by the Revenexx SDK Generator. To learn more about how you can contribute, please check the contribution guide before sending a pull-request.
License
Please see the license file for more information.
