Skip to main content
POST
https://{tenantDomain}/api/v2
/
client-grants
C#
using Auth0.ManagementApi;
using System.Threading.Tasks;

public partial class Examples
{
    public async Task Example() {
        var client = new ManagementClient(
            token: "<token>"
        );

        await client.ClientGrants.CreateAsync(
            new CreateClientGrantRequestContent {
                Audience = "audience"
            }
        );
    }

}
package example

import (
    context "context"

    management "github.com/auth0/go-auth0/management/management"
    client "github.com/auth0/go-auth0/management/management/client"
    option "github.com/auth0/go-auth0/management/management/option"
)

func do() {
    client := client.NewClient(
        option.WithToken(
            "<token>",
        ),
    )
    request := &management.CreateClientGrantRequestContent{
        ClientId: "client_id",
        Audience: "audience",
        Scope: []string{
            "scope",
        },
    }
    client.ClientGrants.Create(
        context.TODO(),
        request,
    )
}
package com.example.usage;

import com.auth0.client.mgmt.ManagementApi;
import com.auth0.client.mgmt.resources.clientgrants.requests.CreateClientGrantRequestContent;

public class Example {
    public static void main(String[] args) {
        ManagementApi client = ManagementApi
            .builder()
            .token("<token>")
            .build();

        client.clientGrants().create(
            CreateClientGrantRequestContent
                .builder()
                .audience("audience")
                .build()
        );
    }
}
<?php

namespace Example;

use Auth0\SDK\API\Management\Management;
use Auth0\SDK\API\Management\ClientGrants\Requests\CreateClientGrantRequestContent;

$client = new Management(
    token: '<token>',
);
$client->clientGrants->create(
    new CreateClientGrantRequestContent([
        'audience' => 'audience',
    ]),
);
from auth0.management import ManagementClient

client = ManagementClient(
    token="<token>",
)

client.client_grants.create(
    audience="audience",
)
require "auth0"

client = Auth0::Management.new(token: "<token>")

client.client_grants.create(audience: "audience")
import { ManagementClient } from "auth0";

async function main() {
    const client = new ManagementClient({
        token: "<token>",
    });
    await client.clientGrants.create({
        clientId: "client_id",
        audience: "audience",
        scope: [
            "scope",
        ],
    });
}
main();
import { ManagementClient } from "auth0";

async function main() {
    const client = new ManagementClient({
        token: "<token>",
    });
    await client.clientGrants.create({
        clientId: "client_id",
        audience: "audience",
        scope: [
            "scope",
        ],
    });
}
main();
curl --request POST \
  --url https://{tenantDomain}/api/v2/client-grants \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "audience": "<string>",
  "client_id": "<string>",
  "default_for": "third_party_clients",
  "allow_any_organization": false,
  "scope": [
    "<string>"
  ],
  "authorization_details_types": [
    "<string>"
  ],
  "allow_all_scopes": true
}
'
{
  "id": "<string>",
  "client_id": "<string>",
  "audience": "<string>",
  "scope": [
    "<string>"
  ],
  "allow_any_organization": true,
  "default_for": "third_party_clients",
  "is_system": true,
  "authorization_details_types": [
    "<string>"
  ],
  "allow_all_scopes": true
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

audience
string
required

The audience (API identifier) of this client grant

Minimum string length: 1
client_id
string

ID of the client.

default_for
enum<string>
GA

Applies this client grant as the default for all clients in the specified group. The only accepted value is third_party_clients, which applies the grant to all third-party clients. Per-client grants for the same audience take precedence. Mutually exclusive with client_id.

Available options:
third_party_clients
organization_usage
enum<string>

Defines whether organizations can be used with client credentials exchanges for this grant.

Available options:
deny,
allow,
require
allow_any_organization
boolean
default:false

If enabled, any organization can be used with this grant. If disabled (default), the grant must be explicitly assigned to the desired organizations.

scope
string[]

Scopes allowed for this client grant.

Required string length: 1 - 280
subject_type
enum<string>

The type of application access the client grant allows.

Available options:
client,
user
authorization_details_types
string[]

Types of authorization_details allowed for this client grant.

Required string length: 1 - 255
allow_all_scopes
boolean

If enabled, all scopes configured on the resource server are allowed for this grant.

Response

Client grant successfully created.

id
string

ID of the client grant.

client_id
string

ID of the client.

audience
string

The audience (API identifier) of this client grant.

Minimum string length: 1
scope
string[]

Scopes allowed for this client grant.

Minimum string length: 1
organization_usage
enum<string>

Defines whether organizations can be used with client credentials exchanges for this grant.

Available options:
deny,
allow,
require
allow_any_organization
boolean

If enabled, any organization can be used with this grant. If disabled (default), the grant must be explicitly assigned to the desired organizations.

default_for
enum<string>
GA

Applies this client grant as the default for all clients in the specified group. The only accepted value is third_party_clients, which applies the grant to all third-party clients. Per-client grants for the same audience take precedence. Mutually exclusive with client_id.

Available options:
third_party_clients
is_system
boolean

If enabled, this grant is a special grant created by Auth0. It cannot be modified or deleted directly.

subject_type
enum<string>

The type of application access the client grant allows.

Available options:
client,
user
authorization_details_types
string[]

Types of authorization_details allowed for this client grant.

Required string length: 1 - 255
allow_all_scopes
boolean

If enabled, all scopes configured on the resource server are allowed for this grant.