Auth0 Management Snippets SDK
The Auth0 Management Snippets SDK produces valid usage snippets from arbitrary request data for the Auth0 Management API.
Supported Languages
The SDK supports generating code snippets for the following languages:
- TypeScript - Node.js/TypeScript SDK snippets (
"typescript") - Go - Go SDK snippets (
"go") - Python - Python SDK snippets (
"python") - PHP - PHP SDK snippets (
"php") - Java - Java SDK snippets (
"java") - C# - .NET SDK snippets (
"csharp") - Ruby - Ruby SDK snippets (
"ruby")
Note: PHP and Ruby snippets target the Fern-generated Management clients shipping in
auth0/auth0-PHPv9 andauth0/ruby-auth0v6. Until those major versions are generally available, the generated snippets won't match the current stable (v8 / v5) releases.
Select a language by passing its identifier to resolver.sdk(...), e.g. resolver.sdk("python").
Usage
The SDK can be used as follows:
import { SnippetResolver } from "@fern-api/auth0-management-snippets";
const resolver = new SnippetResolver();
const typescript = resolver.sdk("typescript");
const users = typescript.endpoint("GET /users");
const response = await users.generate({
auth: {
type: "bearer",
token: "<YOUR_API_KEY>"
},
queryParameters: {
per_page: 10,
page: 0
}
});The generated response.snippet will be set to the following:
import { ManagementClient } from "@fern-api/auth0-management-snippets";
async function main() {
const client = new ManagementClient({
token: "<YOUR_API_KEY>",
});
await client.users.list({
perPage: 10,
page: 0,
});
}
main();Go Usage
To generate Go snippets, specify "go" as the language:
import { SnippetResolver } from "@fern-api/auth0-management-snippets";
const resolver = new SnippetResolver();
const go = resolver.sdk("go");
const users = go.endpoint("GET /users");
const response = await users.generate({
auth: {
type: "bearer",
token: "<YOUR_API_KEY>"
},
queryParameters: {
per_page: 10,
page: 0
}
});The generated response.snippet will be set to the following:
package example
import (
client "github.com/auth0/go-auth0/management/client"
option "github.com/auth0/go-auth0/management/option"
context "context"
management "github.com/auth0/go-auth0/management"
)
func do() () {
client := client.NewClient(
option.WithToken(
"<YOUR_API_KEY>",
),
)
client.Users.List(
context.TODO(),
&management.ListUsersRequestParameters{
PerPage: management.Int(
10,
),
Page: management.Int(
0,
),
},
)
}Other Languages
The same API works for every supported language — just change the identifier passed to
resolver.sdk(...). For example, resolver.sdk("python").endpoint("GET /users").generate({ ... })
produces:
from auth0.management import ManagementClient
client = ManagementClient(
token="<YOUR_API_KEY>",
)
client.users.list(
per_page=10,
page=0,
)The equivalent Java, C#, PHP, and Ruby snippets:
ManagementApi client = ManagementApi
.builder()
.token("<YOUR_API_KEY>")
.build();
client.users().list(/* ... */);var client = new ManagementClient(
token: "<YOUR_API_KEY>"
);
await client.Users.ListAsync(/* ... */);
use Auth0\SDK\API\Management\Management;
$client = new Management(
token: '<YOUR_API_KEY>',
);
$client->users->list(/* ... */);
require "auth0"
client = Auth0::Management.new(token: "<YOUR_API_KEY>")
client.users.list(/* ... */)
More Examples
Get Action by ID
const resolver = new SnippetResolver();
const typescript = resolver.sdk("typescript");
const action = typescript.endpoint("GET /actions/actions/{id}");
const response = await action.generate({
auth: {
type: "bearer",
token: "<YOUR_API_KEY>"
},
pathParameters: {
id: "action_123"
}
});Generated snippet:
import { ManagementClient } from "@fern-api/auth0-management-snippets";
async function main() {
const client = new ManagementClient({
token: "<YOUR_API_KEY>",
});
await client.actions.get("action_123");
}
main();Default snippets
You can call the generate method without a request payload to retrieve the default example
of the endpoint like so:
import { SnippetResolver } from "@fern-api/auth0-management-snippets";
const resolver = new SnippetResolver();
const typescript = resolver.sdk("typescript");
const users = typescript.endpoint("POST /users");
const response = await users.generate();The generated snippet will include required fields with example values:
import { ManagementClient } from "@fern-api/auth0-management-snippets";
async function main() {
const client = new ManagementClient({
token: "<token>",
});
await client.users.create({
connection: "connection",
});
}
main();Note that the result will omit optional properties, so if a request is entirely composed of optional values, you're better off providing your own request payload.
Sync Methods
The SDK also exposes a generateSync method for users that don't have access to async and await in specific contexts.
It uses the same parameters as generate and can be invoked like so:
import { SnippetResolver } from "@fern-api/auth0-management-snippets";
const resolver = new SnippetResolver();
const typescript = resolver.sdk("typescript");
const users = typescript.endpoint("GET /users")
const response = users.generateSync({ ... });Endpoint Filtering
For performance, the endpoint method filters the provided API specification to only contain the
selected endpoint (e.g. GET /users). This means you can reuse the filtered result with a
simple variable for the endpoint like so:
// The 'users' variable acts upon an API specification that only contains the 'POST /users' endpoint.
const users = typescript.endpoint("POST /users")
// Generate multiple snippets using the same instance.
const one = users.generateSync({ ... });
const two = users.generateSync({ ... });
...