Credentials

Create a credential for a tenant

Changed on

Create a new SMTP or API credential for a tenant. The credential can be used to send emails via Ark on behalf of the tenant.

Important: The credential key is only returned once at creation time. Store it securely - you cannot retrieve it again.

Credential Types:

  • smtp - For SMTP-based email sending. Returns both key and smtpUsername.
  • api - For API-based email sending. Returns only key.
post/tenants/{tenantId}/credentials

Request

Path parameters

tenantIdstring required

The tenant ID

Request body

namestring required

Name for the credential. Can only contain letters, numbers, hyphens, and underscores. Max 50 characters.

type'smtp' | 'api' required

Type of credential:

  • smtp - For SMTP-based email sending
  • api - For API-based email sending

Example request

{
  "name": "production-smtp",
  "type": "smtp"
}

Response

Credential created

successtrue required

Example response

{
  "data": {
    "id": 123,
    "name": "production-smtp",
    "type": "smtp",
    "lastUsedAt": "2026-02-03T10:30:00Z",
    "createdAt": "2026-01-15T08:00:00Z",
    "updatedAt": "2026-02-03T10:30:00Z",
    "key": "cred_a1b2c3d4e5f6g7h8i9j0...",
    "smtpUsername": "cm6abc123def456/cred_a1b2c3d4e5f6g7h8i9j0..."
  },
  "meta": {
    "requestId": "req_V1StGXR8_Z5jdHi6"
  }
}

Changes

    • warning

      added the new infrastructure_error enum value to the / response property for the response status

    • warning

      added the new infrastructure_error enum value to the / response property for the response status

    • warning

      added the new infrastructure_error enum value to the / response property for the response status

    • warning

      added the new infrastructure_error enum value to the / response property for the response status

    • warning

      added the new infrastructure_error enum value to the / response property for the response status

    • warning

      added the new infrastructure_error enum value to the / response property for the response status

    • info

      removed the postal_error enum value from the / response property for the response status

    • info

      removed the postal_error enum value from the / response property for the response status

    • info

      removed the postal_error enum value from the / response property for the response status

    • info

      removed the postal_error enum value from the / response property for the response status

    • info

      removed the postal_error enum value from the / response property for the response status

    • info

      removed the postal_error enum value from the / response property for the response status

    • warning

      added the new already_exists enum value to the / response property for the response status

    • warning

      added the new already_exists enum value to the / response property for the response status

    • warning

      added the new already_exists enum value to the / response property for the response status

    • warning

      added the new already_exists enum value to the / response property for the response status

    • warning

      added the new already_exists enum value to the / response property for the response status

    • warning

      added the new already_exists enum value to the / response property for the response status

    • warning

      added the new attachment_too_large enum value to the / response property for the response status

    • warning

      added the new attachment_too_large enum value to the / response property for the response status

    • warning

      added the new attachment_too_large enum value to the / response property for the response status

    • warning

      added the new attachment_too_large enum value to the / response property for the response status

    • warning

      added the new attachment_too_large enum value to the / response property for the response status

    • warning

      added the new attachment_too_large enum value to the / response property for the response status

    • warning

      added the new authentication_required enum value to the / response property for the response status

    • warning

      added the new authentication_required enum value to the / response property for the response status

    • warning

      added the new authentication_required enum value to the / response property for the response status

    • warning

      added the new authentication_required enum value to the / response property for the response status

    • warning

      added the new authentication_required enum value to the / response property for the response status

    • warning

      added the new authentication_required enum value to the / response property for the response status

    • warning

      added the new billing_error enum value to the / response property for the response status

    • warning

      added the new billing_error enum value to the / response property for the response status

    • warning

      added the new billing_error enum value to the / response property for the response status

    • warning

      added the new billing_error enum value to the / response property for the response status

    • warning

      added the new billing_error enum value to the / response property for the response status

    • warning

      added the new billing_error enum value to the / response property for the response status

    • warning

      added the new billing_not_configured enum value to the / response property for the response status

    • warning

      added the new billing_not_configured enum value to the / response property for the response status

    • warning

      added the new billing_not_configured enum value to the / response property for the response status

    • warning

      added the new billing_not_configured enum value to the / response property for the response status

    • warning

      added the new billing_not_configured enum value to the / response property for the response status

    • warning

      added the new billing_not_configured enum value to the / response property for the response status

    • warning

      added the new credential_not_found enum value to the / response property for the response status

    • warning

      added the new credential_not_found enum value to the / response property for the response status

    • warning

      added the new credential_not_found enum value to the / response property for the response status

    • warning

      added the new credential_not_found enum value to the / response property for the response status

    • warning

      added the new credential_not_found enum value to the / response property for the response status

    • warning

      added the new credential_not_found enum value to the / response property for the response status

    • warning

      added the new credential_on_hold enum value to the / response property for the response status

    • warning

      added the new credential_on_hold enum value to the / response property for the response status

    • warning

      added the new credential_on_hold enum value to the / response property for the response status

    • warning

      added the new credential_on_hold enum value to the / response property for the response status

    • warning

      added the new credential_on_hold enum value to the / response property for the response status

    • warning

      added the new credential_on_hold enum value to the / response property for the response status

    • warning

      added the new credential_revoked enum value to the / response property for the response status

    • warning

      added the new credential_revoked enum value to the / response property for the response status

    • warning

      added the new credential_revoked enum value to the / response property for the response status

    • warning

      added the new credential_revoked enum value to the / response property for the response status

    • warning

      added the new credential_revoked enum value to the / response property for the response status

    • warning

      added the new credential_revoked enum value to the / response property for the response status

    • warning

      added the new delivery_not_found enum value to the / response property for the response status

    • warning

      added the new delivery_not_found enum value to the / response property for the response status

    • warning

      added the new delivery_not_found enum value to the / response property for the response status

    • warning

      added the new delivery_not_found enum value to the / response property for the response status

    • warning

      added the new delivery_not_found enum value to the / response property for the response status

    • warning

      added the new delivery_not_found enum value to the / response property for the response status

    • warning

      added the new domain_already_exists enum value to the / response property for the response status

    • warning

      added the new domain_already_exists enum value to the / response property for the response status

    • warning

      added the new domain_already_exists enum value to the / response property for the response status

    • warning

      added the new domain_already_exists enum value to the / response property for the response status

    • warning

      added the new domain_already_exists enum value to the / response property for the response status

    • warning

      added the new domain_already_exists enum value to the / response property for the response status

    • warning

      added the new domain_not_found enum value to the / response property for the response status

    • warning

      added the new domain_not_found enum value to the / response property for the response status

    • warning

      added the new domain_not_found enum value to the / response property for the response status

    • warning

      added the new domain_not_found enum value to the / response property for the response status

    • warning

      added the new domain_not_found enum value to the / response property for the response status

    • warning

      added the new domain_not_found enum value to the / response property for the response status

    • warning

      added the new domain_not_verified enum value to the / response property for the response status

    • warning

      added the new domain_not_verified enum value to the / response property for the response status

    • warning

      added the new domain_not_verified enum value to the / response property for the response status

    • warning

      added the new domain_not_verified enum value to the / response property for the response status

    • warning

      added the new domain_not_verified enum value to the / response property for the response status

    • warning

      added the new domain_not_verified enum value to the / response property for the response status

    • warning

      added the new email_not_found enum value to the / response property for the response status

    • warning

      added the new email_not_found enum value to the / response property for the response status

    • warning

      added the new email_not_found enum value to the / response property for the response status

    • warning

      added the new email_not_found enum value to the / response property for the response status

    • warning

      added the new email_not_found enum value to the / response property for the response status

    • warning

      added the new email_not_found enum value to the / response property for the response status

    • warning

      added the new external_id_already_exists enum value to the / response property for the response status

    • warning

      added the new external_id_already_exists enum value to the / response property for the response status

    • warning

      added the new external_id_already_exists enum value to the / response property for the response status

    • warning

      added the new external_id_already_exists enum value to the / response property for the response status

    • warning

      added the new external_id_already_exists enum value to the / response property for the response status

    • warning

      added the new external_id_already_exists enum value to the / response property for the response status

    • warning

      added the new forbidden enum value to the / response property for the response status

    • warning

      added the new forbidden enum value to the / response property for the response status

    • warning

      added the new forbidden enum value to the / response property for the response status

    • warning

      added the new forbidden enum value to the / response property for the response status

    • warning

      added the new forbidden enum value to the / response property for the response status

    • warning

      added the new forbidden enum value to the / response property for the response status

    • warning

      added the new idempotency_conflict enum value to the / response property for the response status

    • warning

      added the new idempotency_conflict enum value to the / response property for the response status

    • warning

      added the new idempotency_conflict enum value to the / response property for the response status

    • warning

      added the new idempotency_conflict enum value to the / response property for the response status

    • warning

      added the new idempotency_conflict enum value to the / response property for the response status

    • warning

      added the new idempotency_conflict enum value to the / response property for the response status

    • warning

      added the new insufficient_balance enum value to the / response property for the response status

    • warning

      added the new insufficient_balance enum value to the / response property for the response status

    • warning

      added the new insufficient_balance enum value to the / response property for the response status

    • warning

      added the new insufficient_balance enum value to the / response property for the response status

    • warning

      added the new insufficient_balance enum value to the / response property for the response status

    • warning

      added the new insufficient_balance enum value to the / response property for the response status

    • warning

      added the new internal_error enum value to the / response property for the response status

    • warning

      added the new internal_error enum value to the / response property for the response status

    • warning

      added the new internal_error enum value to the / response property for the response status

    • warning

      added the new internal_error enum value to the / response property for the response status

    • warning

      added the new internal_error enum value to the / response property for the response status

    • warning

      added the new internal_error enum value to the / response property for the response status

    • warning

      added the new invalid_api_key enum value to the / response property for the response status

    • warning

      added the new invalid_api_key enum value to the / response property for the response status

    • warning

      added the new invalid_api_key enum value to the / response property for the response status

    • warning

      added the new invalid_api_key enum value to the / response property for the response status

    • warning

      added the new invalid_api_key enum value to the / response property for the response status

    • warning

      added the new invalid_api_key enum value to the / response property for the response status

    • warning

      added the new invalid_email_address enum value to the / response property for the response status

    • warning

      added the new invalid_email_address enum value to the / response property for the response status

    • warning

      added the new invalid_email_address enum value to the / response property for the response status

    • warning

      added the new invalid_email_address enum value to the / response property for the response status

    • warning

      added the new invalid_email_address enum value to the / response property for the response status

    • warning

      added the new invalid_email_address enum value to the / response property for the response status

    • warning

      added the new invalid_raw_message enum value to the / response property for the response status

    • warning

      added the new invalid_raw_message enum value to the / response property for the response status

    • warning

      added the new invalid_raw_message enum value to the / response property for the response status

    • warning

      added the new invalid_raw_message enum value to the / response property for the response status

    • warning

      added the new invalid_raw_message enum value to the / response property for the response status

    • warning

      added the new invalid_raw_message enum value to the / response property for the response status

    • warning

      added the new invalid_request enum value to the / response property for the response status

    • warning

      added the new invalid_request enum value to the / response property for the response status

    • warning

      added the new invalid_request enum value to the / response property for the response status

    • warning

      added the new invalid_request enum value to the / response property for the response status

    • warning

      added the new invalid_request enum value to the / response property for the response status

    • warning

      added the new invalid_request enum value to the / response property for the response status

    • warning

      added the new ip_not_allowed enum value to the / response property for the response status

    • warning

      added the new ip_not_allowed enum value to the / response property for the response status

    • warning

      added the new ip_not_allowed enum value to the / response property for the response status

    • warning

      added the new ip_not_allowed enum value to the / response property for the response status

    • warning

      added the new ip_not_allowed enum value to the / response property for the response status

    • warning

      added the new ip_not_allowed enum value to the / response property for the response status

    • warning

      added the new message_too_large enum value to the / response property for the response status

    • warning

      added the new message_too_large enum value to the / response property for the response status

    • warning

      added the new message_too_large enum value to the / response property for the response status

    • warning

      added the new message_too_large enum value to the / response property for the response status

    • warning

      added the new message_too_large enum value to the / response property for the response status

    • warning

      added the new message_too_large enum value to the / response property for the response status

    • warning

      added the new metadata_key_invalid enum value to the / response property for the response status

    • warning

      added the new metadata_key_invalid enum value to the / response property for the response status

    • warning

      added the new metadata_key_invalid enum value to the / response property for the response status

    • warning

      added the new metadata_key_invalid enum value to the / response property for the response status

    • warning

      added the new metadata_key_invalid enum value to the / response property for the response status

    • warning

      added the new metadata_key_invalid enum value to the / response property for the response status

    • warning

      added the new metadata_too_large enum value to the / response property for the response status

    • warning

      added the new metadata_too_large enum value to the / response property for the response status

    • warning

      added the new metadata_too_large enum value to the / response property for the response status

    • warning

      added the new metadata_too_large enum value to the / response property for the response status

    • warning

      added the new metadata_too_large enum value to the / response property for the response status

    • warning

      added the new metadata_too_large enum value to the / response property for the response status

    • warning

      added the new metadata_value_invalid enum value to the / response property for the response status

    • warning

      added the new metadata_value_invalid enum value to the / response property for the response status

    • warning

      added the new metadata_value_invalid enum value to the / response property for the response status

    • warning

      added the new metadata_value_invalid enum value to the / response property for the response status

    • warning

      added the new metadata_value_invalid enum value to the / response property for the response status

    • warning

      added the new metadata_value_invalid enum value to the / response property for the response status

    • warning

      added the new missing_field enum value to the / response property for the response status

    • warning

      added the new missing_field enum value to the / response property for the response status

    • warning

      added the new missing_field enum value to the / response property for the response status

    • warning

      added the new missing_field enum value to the / response property for the response status

    • warning

      added the new missing_field enum value to the / response property for the response status

    • warning

      added the new missing_field enum value to the / response property for the response status

    • warning

      added the new missing_scope enum value to the / response property for the response status

    • warning

      added the new missing_scope enum value to the / response property for the response status

    • warning

      added the new missing_scope enum value to the / response property for the response status

    • warning

      added the new missing_scope enum value to the / response property for the response status

    • warning

      added the new missing_scope enum value to the / response property for the response status

    • warning

      added the new missing_scope enum value to the / response property for the response status

    • warning

      added the new not_found enum value to the / response property for the response status

    • warning

      added the new not_found enum value to the / response property for the response status

    • warning

      added the new not_found enum value to the / response property for the response status

    • warning

      added the new not_found enum value to the / response property for the response status

    • warning

      added the new not_found enum value to the / response property for the response status

    • warning

      added the new not_found enum value to the / response property for the response status

    • warning

      added the new payload_too_large enum value to the / response property for the response status

    • warning

      added the new payload_too_large enum value to the / response property for the response status

    • warning

      added the new payload_too_large enum value to the / response property for the response status

    • warning

      added the new payload_too_large enum value to the / response property for the response status

    • warning

      added the new payload_too_large enum value to the / response property for the response status

    • warning

      added the new payload_too_large enum value to the / response property for the response status

    • warning

      added the new payment_required enum value to the / response property for the response status

    • warning

      added the new payment_required enum value to the / response property for the response status

    • warning

      added the new payment_required enum value to the / response property for the response status

    • warning

      added the new payment_required enum value to the / response property for the response status

    • warning

      added the new payment_required enum value to the / response property for the response status

    • warning

      added the new payment_required enum value to the / response property for the response status

    • warning

      added the new postal_error enum value to the / response property for the response status

    • warning

      added the new postal_error enum value to the / response property for the response status

    • warning

      added the new postal_error enum value to the / response property for the response status

    • warning

      added the new postal_error enum value to the / response property for the response status

    • warning

      added the new postal_error enum value to the / response property for the response status

    • warning

      added the new postal_error enum value to the / response property for the response status

    • warning

      added the new rate_limit_exceeded enum value to the / response property for the response status

    • warning

      added the new rate_limit_exceeded enum value to the / response property for the response status

    • warning

      added the new rate_limit_exceeded enum value to the / response property for the response status

    • warning

      added the new rate_limit_exceeded enum value to the / response property for the response status

    • warning

      added the new rate_limit_exceeded enum value to the / response property for the response status

    • warning

      added the new rate_limit_exceeded enum value to the / response property for the response status

    • warning

      added the new send_limit_exceeded enum value to the / response property for the response status

    • warning

      added the new send_limit_exceeded enum value to the / response property for the response status

    • warning

      added the new send_limit_exceeded enum value to the / response property for the response status

    • warning

      added the new send_limit_exceeded enum value to the / response property for the response status

    • warning

      added the new send_limit_exceeded enum value to the / response property for the response status

    • warning

      added the new send_limit_exceeded enum value to the / response property for the response status

    • warning

      added the new server_suspended enum value to the / response property for the response status

    • warning

      added the new server_suspended enum value to the / response property for the response status

    • warning

      added the new server_suspended enum value to the / response property for the response status

    • warning

      added the new server_suspended enum value to the / response property for the response status

    • warning

      added the new server_suspended enum value to the / response property for the response status

    • warning

      added the new server_suspended enum value to the / response property for the response status

    • warning

      added the new service_unavailable enum value to the / response property for the response status

    • warning

      added the new service_unavailable enum value to the / response property for the response status

    • warning

      added the new service_unavailable enum value to the / response property for the response status

    • warning

      added the new service_unavailable enum value to the / response property for the response status

    • warning

      added the new service_unavailable enum value to the / response property for the response status

    • warning

      added the new service_unavailable enum value to the / response property for the response status

    • warning

      added the new suppressed_recipient enum value to the / response property for the response status

    • warning

      added the new suppressed_recipient enum value to the / response property for the response status

    • warning

      added the new suppressed_recipient enum value to the / response property for the response status

    • warning

      added the new suppressed_recipient enum value to the / response property for the response status

    • warning

      added the new suppressed_recipient enum value to the / response property for the response status

    • warning

      added the new suppressed_recipient enum value to the / response property for the response status

    • warning

      added the new suppression_not_found enum value to the / response property for the response status

    • warning

      added the new suppression_not_found enum value to the / response property for the response status

    • warning

      added the new suppression_not_found enum value to the / response property for the response status

    • warning

      added the new suppression_not_found enum value to the / response property for the response status

    • warning

      added the new suppression_not_found enum value to the / response property for the response status

    • warning

      added the new suppression_not_found enum value to the / response property for the response status

    • warning

      added the new tenant_not_found enum value to the / response property for the response status

    • warning

      added the new tenant_not_found enum value to the / response property for the response status

    • warning

      added the new tenant_not_found enum value to the / response property for the response status

    • warning

      added the new tenant_not_found enum value to the / response property for the response status

    • warning

      added the new tenant_not_found enum value to the / response property for the response status

    • warning

      added the new tenant_not_found enum value to the / response property for the response status

    • warning

      added the new too_many_attachments enum value to the / response property for the response status

    • warning

      added the new too_many_attachments enum value to the / response property for the response status

    • warning

      added the new too_many_attachments enum value to the / response property for the response status

    • warning

      added the new too_many_attachments enum value to the / response property for the response status

    • warning

      added the new too_many_attachments enum value to the / response property for the response status

    • warning

      added the new too_many_attachments enum value to the / response property for the response status

    • warning

      added the new too_many_recipients enum value to the / response property for the response status

    • warning

      added the new too_many_recipients enum value to the / response property for the response status

    • warning

      added the new too_many_recipients enum value to the / response property for the response status

    • warning

      added the new too_many_recipients enum value to the / response property for the response status

    • warning

      added the new too_many_recipients enum value to the / response property for the response status

    • warning

      added the new too_many_recipients enum value to the / response property for the response status

    • warning

      added the new unauthenticated_from_address enum value to the / response property for the response status

    • warning

      added the new unauthenticated_from_address enum value to the / response property for the response status

    • warning

      added the new unauthenticated_from_address enum value to the / response property for the response status

    • warning

      added the new unauthenticated_from_address enum value to the / response property for the response status

    • warning

      added the new unauthenticated_from_address enum value to the / response property for the response status

    • warning

      added the new unauthenticated_from_address enum value to the / response property for the response status

    • warning

      added the new unprocessable_entity enum value to the / response property for the response status

    • warning

      added the new unprocessable_entity enum value to the / response property for the response status

    • warning

      added the new unprocessable_entity enum value to the / response property for the response status

    • warning

      added the new unprocessable_entity enum value to the / response property for the response status

    • warning

      added the new unprocessable_entity enum value to the / response property for the response status

    • warning

      added the new unprocessable_entity enum value to the / response property for the response status

    • warning

      added the new validation_error enum value to the / response property for the response status

    • warning

      added the new validation_error enum value to the / response property for the response status

    • warning

      added the new validation_error enum value to the / response property for the response status

    • warning

      added the new validation_error enum value to the / response property for the response status

    • warning

      added the new validation_error enum value to the / response property for the response status

    • warning

      added the new validation_error enum value to the / response property for the response status

    • warning

      added the new webhook_not_found enum value to the / response property for the response status

    • warning

      added the new webhook_not_found enum value to the / response property for the response status

    • warning

      added the new webhook_not_found enum value to the / response property for the response status

    • warning

      added the new webhook_not_found enum value to the / response property for the response status

    • warning

      added the new webhook_not_found enum value to the / response property for the response status

    • warning

      added the new webhook_not_found enum value to the / response property for the response status