Skip to main content
POST
https://{tenantDomain}/api/v2
/
emails
/
provider
C#
using Auth0.ManagementApi;
using System.Threading.Tasks;
using Auth0.ManagementApi.Emails;

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

        await client.Emails.Provider.CreateAsync(
            new CreateEmailProviderRequestContent {
                Name = EmailProviderNameEnum.Mailgun,
                Credentials = new EmailProviderCredentialsSchemaZero {
                    ApiKey = "api_key"
                }
            }
        );
    }

}
package example

import (
    context "context"

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

func do() {
    client := client.NewClient(
        option.WithToken(
            "<token>",
        ),
    )
    request := &emails.CreateEmailProviderRequestContent{
        Name: management.EmailProviderNameEnumMailgun,
        Credentials: &management.EmailProviderCredentialsSchema{
            EmailProviderCredentialsSchemaZero: &management.EmailProviderCredentialsSchemaZero{
                ApiKey: "api_key",
            },
        },
    }
    client.Emails.Provider.Create(
        context.TODO(),
        request,
    )
}
package com.example.usage;

import com.auth0.client.mgmt.ManagementApi;
import com.auth0.client.mgmt.resources.emails.provider.requests.CreateEmailProviderRequestContent;
import com.auth0.client.mgmt.types.EmailProviderCredentialsSchema;
import com.auth0.client.mgmt.types.EmailProviderCredentialsSchemaZero;
import com.auth0.client.mgmt.types.EmailProviderNameEnum;

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

        client.emails().provider().create(
            CreateEmailProviderRequestContent
                .builder()
                .name(EmailProviderNameEnum.MAILGUN)
                .credentials(
                    EmailProviderCredentialsSchema.of(
                        EmailProviderCredentialsSchemaZero
                            .builder()
                            .apiKey("api_key")
                            .build()
                    )
                )
                .build()
        );
    }
}
<?php

namespace Example;

use Auth0\SDK\API\Management\Management;
use Auth0\SDK\API\Management\Emails\Provider\Requests\CreateEmailProviderRequestContent;
use Auth0\SDK\API\Management\Types\EmailProviderNameEnum;
use Auth0\SDK\API\Management\Types\EmailProviderCredentialsSchemaZero;

$client = new Management(
    token: '<token>',
);
$client->emails->provider->create(
    new CreateEmailProviderRequestContent([
        'name' => EmailProviderNameEnum::Mailgun->value,
        'credentials' => new EmailProviderCredentialsSchemaZero([
            'apiKey' => 'api_key',
        ]),
    ]),
);
from auth0.management import ManagementClient, EmailProviderCredentialsSchemaZero

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

client.emails.provider.create(
    name="mailgun",
    credentials=EmailProviderCredentialsSchemaZero(
        api_key="api_key",
    ),
)
require "auth0"

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

client.emails.provider.create(
  name: "mailgun",
  credentials: {
    api_key: "api_key"
  }
)
import { ManagementClient } from "auth0";

async function main() {
    const client = new ManagementClient({
        token: "<token>",
    });
    await client.emails.provider.create({
        name: "mailgun",
        credentials: {
            apiKey: "api_key",
        },
    });
}
main();
import { ManagementClient } from "auth0";

async function main() {
    const client = new ManagementClient({
        token: "<token>",
    });
    await client.emails.provider.create({
        name: "mailgun",
        credentials: {
            apiKey: "api_key",
        },
    });
}
main();
curl --request POST \
  --url https://{tenantDomain}/api/v2/emails/provider \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "credentials": {
    "api_key": "<string>"
  },
  "enabled": true,
  "default_from_address": "<string>",
  "settings": {}
}
'
{
  "name": "sendgrid",
  "enabled": true,
  "default_from_address": "<string>",
  "credentials": {
    "api_user": "<string>",
    "region": "<string>",
    "smtp_host": "<string>",
    "smtp_port": 123,
    "smtp_user": "<string>"
  },
  "settings": {}
}

Authorizations

Authorization
string
header
required

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

Body

name
enum<string>
required

Name of the email provider. Can be mailgun, mandrill, sendgrid, resend, ses, sparkpost, smtp, azure_cs, ms365, or custom.

Available options:
mailgun,
mandrill,
sendgrid,
resend,
ses,
sparkpost,
smtp,
azure_cs,
ms365,
custom
credentials
object
required

Credentials required to use the provider.

enabled
boolean
default:true

Whether the provider is enabled (true) or disabled (false).

default_from_address
string

Email address to use as "from" when no other address specified.

settings
object | null

Specific provider setting

Response

Email provider successfully created.

name
string
default:sendgrid

Name of the email provider. Can be mailgun, mandrill, sendgrid, resend, ses, sparkpost, smtp, azure_cs, ms365, or custom.

enabled
boolean
default:true

Whether the provider is enabled (true) or disabled (false).

default_from_address
string

Email address to use as "from" when no other address specified.

credentials
object

Credentials required to use the provider.

settings
object

Specific provider setting