Skip to main content
POST
/
api-keys
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

const { data, error } = await resend.apiKeys.create({ name: 'Production' });
$resend = Resend::client('re_xxxxxxxxx');

$resend->apiKeys->create([
  'name' => 'Production'
]);
import resend

resend.api_key = "re_xxxxxxxxx"

params: resend.ApiKeys.CreateParams = {
  "name": "Production",
}

resend.ApiKeys.create(params)
require "resend"

Resend.api_key = "re_xxxxxxxxx"

params = {
  name: "Production"
}
Resend::ApiKeys.create(params)
package main

import "github.com/resend/resend-go/v3"

func main() {
	client := resend.NewClient("re_xxxxxxxxx")
	params := &resend.CreateApiKeyRequest{
		Name: "Production",
	}
	client.ApiKeys.Create(params)
}
use resend_rs::{types::CreateApiKeyOptions, Resend, Result};

#[tokio::main]
async fn main() -> Result<()> {
  let resend = Resend::new("re_xxxxxxxxx");

  let _api_key = resend
    .api_keys
    .create(CreateApiKeyOptions::new("Production"))
    .await?;

  Ok(())
}
import com.resend.*;

public class Main {
    public static void main(String[] args) {
        Resend resend = new Resend("re_xxxxxxxxx");

        CreateApiKeyOptions params = CreateApiKeyOptions
                .builder()
                .name("Production").build();

        CreateApiKeyResponse apiKey = resend.apiKeys().create(params);
    }
}
using Resend;

IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI

var resp = await resend.ApiKeyCreateAsync( "Production" );
Console.WriteLine( "Token={0}", resp.Content.Token );
curl -X POST 'https://api.resend.com/api-keys' \
     -H 'Authorization: Bearer re_xxxxxxxxx' \
     -H 'Content-Type: application/json' \
     -d $'{
  "name": "Production"
}'
resend api-keys create --name Production
{
  "id": "dacf4072-4119-4d88-932f-6202748ac7c8",
  "object": "api_key",
  "token": "re_c1tpEyD8_NKFusih9vKVQknRAQfmFcWCv"
}

Body Parameters

name
string
required
The API key name. Maximum 50 characters.
permission
full_access | sending_access
The API key can have full access to Resend’s API or be only restricted to send emails. * full_access: Can create, delete, get, and update any resource. * sending_access: Can only send emails.
import { Resend } from 'resend';

const resend = new Resend('re_xxxxxxxxx');

const { data, error } = await resend.apiKeys.create({ name: 'Production' });
$resend = Resend::client('re_xxxxxxxxx');

$resend->apiKeys->create([
  'name' => 'Production'
]);
import resend

resend.api_key = "re_xxxxxxxxx"

params: resend.ApiKeys.CreateParams = {
  "name": "Production",
}

resend.ApiKeys.create(params)
require "resend"

Resend.api_key = "re_xxxxxxxxx"

params = {
  name: "Production"
}
Resend::ApiKeys.create(params)
package main

import "github.com/resend/resend-go/v3"

func main() {
	client := resend.NewClient("re_xxxxxxxxx")
	params := &resend.CreateApiKeyRequest{
		Name: "Production",
	}
	client.ApiKeys.Create(params)
}
use resend_rs::{types::CreateApiKeyOptions, Resend, Result};

#[tokio::main]
async fn main() -> Result<()> {
  let resend = Resend::new("re_xxxxxxxxx");

  let _api_key = resend
    .api_keys
    .create(CreateApiKeyOptions::new("Production"))
    .await?;

  Ok(())
}
import com.resend.*;

public class Main {
    public static void main(String[] args) {
        Resend resend = new Resend("re_xxxxxxxxx");

        CreateApiKeyOptions params = CreateApiKeyOptions
                .builder()
                .name("Production").build();

        CreateApiKeyResponse apiKey = resend.apiKeys().create(params);
    }
}
using Resend;

IResend resend = ResendClient.Create( "re_xxxxxxxxx" ); // Or from DI

var resp = await resend.ApiKeyCreateAsync( "Production" );
Console.WriteLine( "Token={0}", resp.Content.Token );
curl -X POST 'https://api.resend.com/api-keys' \
     -H 'Authorization: Bearer re_xxxxxxxxx' \
     -H 'Content-Type: application/json' \
     -d $'{
  "name": "Production"
}'
resend api-keys create --name Production
{
  "id": "dacf4072-4119-4d88-932f-6202748ac7c8",
  "object": "api_key",
  "token": "re_c1tpEyD8_NKFusih9vKVQknRAQfmFcWCv"
}