Create API Key

Generate a new API key for authentication.

POST/api-keys

Request Body

namestringRequired

The name of the API key for identification.

scopestring

The scope of the API key. Can be ‘full’ or ‘sending’ (default: ‘full’).

sending_domain_idinteger

The ID of the sending domain to restrict this key to (default: null).

POST /api-keys
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const apiKey = await emailit.apiKeys.create({
  name: 'Production Key',
  scope: 'full_access',
});
from emailit import EmailitClient
client = EmailitClient("your_api_key")

api_key = client.api_keys.create({
  "name": "Production Key",
  "scope": "full_access",
})
$emailit = Emailit::client('your_api_key');

$apiKey = $emailit->apiKeys()->create([
  'name' => 'Production Key',
  'scope' => 'full_access',
]);
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

api_key = client.api_keys.create(
  name: "Production Key",
  scope: "full_access"
)
import "github.com/emailit/emailit-go/v2"

client := emailit.NewClient("your_api_key")
apiKey, err := client.ApiKeys.Create(&emailit.CreateApiKeyRequest{
  Name:  "Production Key",
  Scope: "full_access",
})
use emailit::Emailit;

let emailit = Emailit::new("your_api_key");
let api_key = emailit.api_keys.create(
  emailit::types::CreateApiKeyParams::new("Production Key")
    .with_scope("full_access")
).await?;
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");
EmailitObject apiKey = emailit.apiKeys().create(
  ApiKeyCreateParams.builder()
    .setName("Production Key")
    .setScope("full_access")
    .build()
);
using Emailit;

var emailit = new EmailitClient("your_api_key");
var apiKey = emailit.ApiKeys.Create(new ApiKeyCreateOptions {
  Name = "Production Key",
  Scope = "full_access",
});
use Emailit\Laravel\Facades\Emailit;

$apiKey = Emailit::apiKeys()->create([
  'name' => 'Production Key',
  'scope' => 'full_access',
]);
curl -X POST https://api.emailit.com/v2/api-keys \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production Key",
    "scope": "full_access"
  }'
{
  "object": "api_key",
  "id": 1234567890,
  "name": "My API Key",
  "scope": "sending",
  "sending_domain_id": 1234567890,
  "last_used_at": null,
  "created_at": "2021-01-01T00:00:00Z",
  "updated_at": "2021-01-01T00:00:00Z",
  "key": "em_live_51RxCWJ...vS00p61e0qRE"
}
{
  "error": {
    "code": 400,
    "message": "Bad Request"
  }
}
{
  "error": {
    "code": 409,
    "message": "API key already exists"
  },
  "existing": {
    "object": "api_key",
    "id": 1234567890,
    "name": "My API Key"
  }
}

Get API Key

Retrieve information about a specific API key in your Emailit account.

GET/api-keys/{id}

Path Parameters

idstringRequired

The ID of the API key to retrieve.

GET /api-keys/{id}
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const apiKey = await emailit.apiKeys.get('ak_123');
from emailit import EmailitClient
client = EmailitClient("your_api_key")

api_key = client.api_keys.get("ak_123")
$emailit = Emailit::client('your_api_key');

$apiKey = $emailit->apiKeys()->get('ak_123');
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

api_key = client.api_keys.get("ak_123")
import "github.com/emailit/emailit-go/v2"

client := emailit.NewClient("your_api_key")
apiKey, err := client.ApiKeys.Get("ak_123")
use emailit::Emailit;

let emailit = Emailit::new("your_api_key");
let api_key = emailit.api_keys.get("ak_123").await?;
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");
EmailitObject apiKey = emailit.apiKeys().get("ak_123");
using Emailit;

var emailit = new EmailitClient("your_api_key");
var apiKey = emailit.ApiKeys.Get("ak_123");
use Emailit\Laravel\Facades\Emailit;

$apiKey = Emailit::apiKeys()->get('ak_123');
curl https://api.emailit.com/v2/api-keys/ak_123 \
  -H "Authorization: Bearer your_api_key"
{
  "object": "api_key",
  "id": 1234567890,
  "name": "My API Key",
  "scope": "sending",
  "sending_domain_id": 1234567890,
  "last_used_at": "2021-01-01T12:00:00Z",
  "created_at": "2021-01-01T00:00:00Z",
  "updated_at": "2021-01-01T00:00:00Z"
}
{
  "error": {
    "code": 404,
    "message": "API key not found"
  }
}

List API Keys

Get all API keys in your account.

GET/api-keys

Query Parameters

pageinteger

Page number for pagination (minimum: 1).

limitinteger

Number of API keys to return (minimum: 1, maximum: 100).

GET /api-keys
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const apiKeys = await emailit.apiKeys.list();
from emailit import EmailitClient
client = EmailitClient("your_api_key")

api_keys = client.api_keys.list()
$emailit = Emailit::client('your_api_key');

$apiKeys = $emailit->apiKeys()->list();
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

api_keys = client.api_keys.list
import "github.com/emailit/emailit-go/v2"

client := emailit.NewClient("your_api_key")
apiKeys, err := client.ApiKeys.List(nil)
use emailit::Emailit;

let emailit = Emailit::new("your_api_key");
let api_keys = emailit.api_keys.list(None).await?;
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");
EmailitObject apiKeys = emailit.apiKeys().list();
using Emailit;

var emailit = new EmailitClient("your_api_key");
var apiKeys = emailit.ApiKeys.List();
use Emailit\Laravel\Facades\Emailit;

$apiKeys = Emailit::apiKeys()->list();
curl https://api.emailit.com/v2/api-keys \
  -H "Authorization: Bearer your_api_key"
{
  "data": [
    {
      "id": 1234567890,
      "name": "My API Key",
      "scope": "sending",
      "sending_domain_id": 1234567890,
      "last_used_at": "2021-01-01T12:00:00Z",
      "created_at": "2021-01-01T00:00:00Z",
      "updated_at": "2021-01-01T00:00:00Z"
    },
    {
      "id": 1234567891,
      "name": "Another API Key",
      "scope": "full",
      "sending_domain_id": null,
      "last_used_at": null,
      "created_at": "2021-01-02T00:00:00Z",
      "updated_at": "2021-01-02T00:00:00Z"
    }
  ],
  "next_page_url": "https://api.emailit.com/v2/api-keys?page=2&limit=10",
  "previous_page_url": null
}

Update API Key

Update the name of an existing API key in your Emailit account.

POST/api-keys/{id}

Path Parameters

idstringRequired

The ID of the API key to update.

Request Body

namestringRequired

The new name for the API key.

PATCH /api-keys/{id}
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

const apiKey = await emailit.apiKeys.update('ak_123', {
  name: 'Updated Key',
});
from emailit import EmailitClient
client = EmailitClient("your_api_key")

api_key = client.api_keys.update("ak_123", {
  "name": "Updated Key",
})
$emailit = Emailit::client('your_api_key');

$apiKey = $emailit->apiKeys()->update('ak_123', [
  'name' => 'Updated Key',
]);
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

api_key = client.api_keys.update("ak_123", name: "Updated Key")
import "github.com/emailit/emailit-go/v2"

client := emailit.NewClient("your_api_key")
apiKey, err := client.ApiKeys.Update("ak_123", &emailit.UpdateApiKeyRequest{
  Name: "Updated Key",
})
use emailit::Emailit;

let emailit = Emailit::new("your_api_key");
let api_key = emailit.api_keys.update("ak_123",
  emailit::types::UpdateApiKeyParams {
    name: Some("Updated Key".into()),
    ..Default::default()
  }
).await?;
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");
EmailitObject apiKey = emailit.apiKeys().update("ak_123",
  ApiKeyUpdateParams.builder()
    .setName("Updated Key")
    .build()
);
using Emailit;

var emailit = new EmailitClient("your_api_key");
var apiKey = emailit.ApiKeys.Update("ak_123", new ApiKeyUpdateOptions {
  Name = "Updated Key",
});
use Emailit\Laravel\Facades\Emailit;

$apiKey = Emailit::apiKeys()->update('ak_123', [
  'name' => 'Updated Key',
]);
curl -X PATCH https://api.emailit.com/v2/api-keys/ak_123 \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated Key"
  }'
{
  "object": "api_key",
  "id": 1234567890,
  "name": "Updated API Key Name",
  "scope": "sending",
  "sending_domain_id": 1234567890,
  "last_used_at": "2021-01-01T12:00:00Z",
  "created_at": "2021-01-01T00:00:00Z",
  "updated_at": "2021-01-01T12:00:00Z"
}
{
  "error": {
    "code": 400,
    "message": "Bad Request"
  }
}
{
  "error": {
    "code": 404,
    "message": "API key not found"
  }
}
{
  "error": {
    "code": 409,
    "message": "API key name already exists"
  }
}

Delete API Key

Revoke and delete an API key from your Emailit account.

DELETE/api-keys/{id}

Path Parameters

idstringRequired

The ID of the API key to delete.

DELETE /api-keys/{id}
import { Emailit } from '@emailit/node';
const emailit = new Emailit('your_api_key');

await emailit.apiKeys.delete('ak_123');
from emailit import EmailitClient
client = EmailitClient("your_api_key")

client.api_keys.delete("ak_123")
$emailit = Emailit::client('your_api_key');

$emailit->apiKeys()->delete('ak_123');
require "emailit"
client = Emailit::EmailitClient.new("your_api_key")

client.api_keys.delete("ak_123")
import "github.com/emailit/emailit-go/v2"

client := emailit.NewClient("your_api_key")
err := client.ApiKeys.Delete("ak_123")
use emailit::Emailit;

let emailit = Emailit::new("your_api_key");
emailit.api_keys.delete("ak_123").await?;
import com.emailit.*;
import com.emailit.params.*;

EmailitClient emailit = new EmailitClient("your_api_key");
emailit.apiKeys().delete("ak_123");
using Emailit;

var emailit = new EmailitClient("your_api_key");
emailit.ApiKeys.Delete("ak_123");
use Emailit\Laravel\Facades\Emailit;

Emailit::apiKeys()->delete('ak_123');
curl -X DELETE https://api.emailit.com/v2/api-keys/ak_123 \
  -H "Authorization: Bearer your_api_key"
{
  "object": "api_key",
  "id": 1234567890,
  "name": "My API Key",
  "deleted": true
}
{
  "error": {
    "code": 404,
    "message": "API key not found"
  }
}