Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.19.0"
".": "0.20.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 58
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/ark%2Fark-ee4b9d190e3aaa146b08bc0ffed1c802dc353c3fdc37fc0097f2350ab3714b70.yml
openapi_spec_hash: 0dad8b2e562ba7ce879425ab92169d85
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/ark%2Fark-06c3025bf12b191c3906b28173c9b359e24481dd2839dbf3e6dd0b80c1de3fd6.yml
openapi_spec_hash: d8f8fb1f78579997b6381d64cba4e826
config_hash: b70b11b10fc614f91f1c6f028b40780f
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## 0.20.0 (2026-02-20)

Full Changelog: [v0.19.0...v0.20.0](https://github.com/ArkHQ-io/ark-ruby/compare/v0.19.0...v0.20.0)

### Features

* **api:** add tenantId to send ([d443493](https://github.com/ArkHQ-io/ark-ruby/commit/d4434933efda6c1cc2cab76c52319113f67aab91))


### Chores

* update mock server docs ([e0cbedc](https://github.com/ArkHQ-io/ark-ruby/commit/e0cbedce73ed0f6dbd683cb3dc04b8aa9937a434))

## 0.19.0 (2026-02-07)

Full Changelog: [v0.18.0...v0.19.0](https://github.com/ArkHQ-io/ark-ruby/compare/v0.18.0...v0.19.0)
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ $ bundle exec rake

Most tests require you to [set up a mock server](https://github.com/stoplightio/prism) against the OpenAPI spec to run the tests.

```bash
$ npx prism mock path/to/your/openapi.yml
```sh
$ ./scripts/mock
```

```bash
Expand Down
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ GIT
PATH
remote: .
specs:
ark-email (0.19.0)
ark-email (0.20.0)
cgi
connection_pool

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
<!-- x-release-please-start-version -->

```ruby
gem "ark-email", "~> 0.19.0"
gem "ark-email", "~> 0.20.0"
```

<!-- x-release-please-end -->
Expand Down
10 changes: 9 additions & 1 deletion lib/ark_email/models/email_list_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,12 @@ class EmailListResponse < ArkEmail::Internal::Type::BaseModel
# @return [String]
required :subject, String

# @!attribute tenant_id
# The tenant ID this email belongs to
#
# @return [String]
required :tenant_id, String, api_name: :tenantId

# @!attribute timestamp
#
# @return [Float]
Expand All @@ -53,7 +59,7 @@ class EmailListResponse < ArkEmail::Internal::Type::BaseModel
# @return [String, nil]
optional :tag, String

# @!method initialize(id:, from:, status:, subject:, timestamp:, timestamp_iso:, to:, tag: nil)
# @!method initialize(id:, from:, status:, subject:, tenant_id:, timestamp:, timestamp_iso:, to:, tag: nil)
# Some parameter documentations has been truncated, see
# {ArkEmail::Models::EmailListResponse} for more details.
#
Expand All @@ -65,6 +71,8 @@ class EmailListResponse < ArkEmail::Internal::Type::BaseModel
#
# @param subject [String]
#
# @param tenant_id [String] The tenant ID this email belongs to
#
# @param timestamp [Float]
#
# @param timestamp_iso [Time]
Expand Down
10 changes: 9 additions & 1 deletion lib/ark_email/models/email_retrieve_deliveries_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,13 @@ class Data < ArkEmail::Internal::Type::BaseModel
# @return [Symbol, ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Status]
required :status, enum: -> { ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Status }

# @!method initialize(id:, can_retry_manually:, deliveries:, retry_state:, status:)
# @!attribute tenant_id
# The tenant ID this email belongs to
#
# @return [String]
required :tenant_id, String, api_name: :tenantId

# @!method initialize(id:, can_retry_manually:, deliveries:, retry_state:, status:, tenant_id:)
# Some parameter documentations has been truncated, see
# {ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data} for more details.
#
Expand All @@ -84,6 +90,8 @@ class Data < ArkEmail::Internal::Type::BaseModel
# @param retry_state [ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::RetryState, nil] Information about the current retry state of a message that is queued for delive
#
# @param status [Symbol, ArkEmail::Models::EmailRetrieveDeliveriesResponse::Data::Status] Current message status (lowercase). Possible values:
#
# @param tenant_id [String] The tenant ID this email belongs to

class Delivery < ArkEmail::Internal::Type::BaseModel
# @!attribute id
Expand Down
10 changes: 9 additions & 1 deletion lib/ark_email/models/email_retrieve_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,12 @@ class Data < ArkEmail::Internal::Type::BaseModel
# @return [String]
required :subject, String

# @!attribute tenant_id
# The tenant ID this email belongs to
#
# @return [String]
required :tenant_id, String, api_name: :tenantId

# @!attribute timestamp
# Unix timestamp when the email was sent
#
Expand Down Expand Up @@ -150,7 +156,7 @@ class Data < ArkEmail::Internal::Type::BaseModel
# @return [String, nil]
optional :tag, String

# @!method initialize(id:, from:, scope:, status:, subject:, timestamp:, timestamp_iso:, to:, activity: nil, attachments: nil, deliveries: nil, headers: nil, html_body: nil, message_id: nil, plain_body: nil, raw_message: nil, spam: nil, spam_score: nil, tag: nil)
# @!method initialize(id:, from:, scope:, status:, subject:, tenant_id:, timestamp:, timestamp_iso:, to:, activity: nil, attachments: nil, deliveries: nil, headers: nil, html_body: nil, message_id: nil, plain_body: nil, raw_message: nil, spam: nil, spam_score: nil, tag: nil)
# Some parameter documentations has been truncated, see
# {ArkEmail::Models::EmailRetrieveResponse::Data} for more details.
#
Expand All @@ -164,6 +170,8 @@ class Data < ArkEmail::Internal::Type::BaseModel
#
# @param subject [String] Email subject line
#
# @param tenant_id [String] The tenant ID this email belongs to
#
# @param timestamp [Float] Unix timestamp when the email was sent
#
# @param timestamp_iso [Time] ISO 8601 formatted timestamp
Expand Down
10 changes: 9 additions & 1 deletion lib/ark_email/models/email_retry_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,18 @@ class Data < ArkEmail::Internal::Type::BaseModel
# @return [String]
required :message, String

# @!method initialize(id:, message:)
# @!attribute tenant_id
# The tenant ID this email belongs to
#
# @return [String]
required :tenant_id, String, api_name: :tenantId

# @!method initialize(id:, message:, tenant_id:)
# @param id [String] Email identifier (token)
#
# @param message [String]
#
# @param tenant_id [String] The tenant ID this email belongs to
end
end
end
Expand Down
19 changes: 18 additions & 1 deletion lib/ark_email/models/email_send_batch_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,33 @@ class EmailSendBatchParams < ArkEmail::Internal::Type::BaseModel
# @return [String]
required :from, String

# @!attribute tenant_id
# The tenant ID to send this batch from. Determines which tenant's configuration
# (domains, webhooks, tracking) is used.
#
# - If your API key is scoped to a specific tenant, this must match that tenant or
# be omitted.
# - If your API key is org-level, specify the tenant to send from.
# - If omitted, the organization's default tenant is used.
#
# @return [String, nil]
optional :tenant_id, String, api_name: :tenantId, nil?: true

# @!attribute idempotency_key
#
# @return [String, nil]
optional :idempotency_key, String

# @!method initialize(emails:, from:, idempotency_key: nil, request_options: {})
# @!method initialize(emails:, from:, tenant_id: nil, idempotency_key: nil, request_options: {})
# Some parameter documentations has been truncated, see
# {ArkEmail::Models::EmailSendBatchParams} for more details.
#
# @param emails [Array<ArkEmail::Models::EmailSendBatchParams::Email>]
#
# @param from [String] Sender email for all messages
#
# @param tenant_id [String, nil] The tenant ID to send this batch from. Determines which tenant's
#
# @param idempotency_key [String]
#
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
Expand Down
10 changes: 9 additions & 1 deletion lib/ark_email/models/email_send_batch_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,12 @@ class Data < ArkEmail::Internal::Type::BaseModel
required :messages,
-> { ArkEmail::Internal::Type::HashOf[ArkEmail::Models::EmailSendBatchResponse::Data::Message] }

# @!attribute tenant_id
# The tenant ID this batch was sent from
#
# @return [String]
required :tenant_id, String, api_name: :tenantId

# @!attribute total
# Total emails in the batch
#
Expand All @@ -58,7 +64,7 @@ class Data < ArkEmail::Internal::Type::BaseModel
# @return [Boolean, nil]
optional :sandbox, ArkEmail::Internal::Type::Boolean

# @!method initialize(accepted:, failed:, messages:, total:, sandbox: nil)
# @!method initialize(accepted:, failed:, messages:, tenant_id:, total:, sandbox: nil)
# Some parameter documentations has been truncated, see
# {ArkEmail::Models::EmailSendBatchResponse::Data} for more details.
#
Expand All @@ -68,6 +74,8 @@ class Data < ArkEmail::Internal::Type::BaseModel
#
# @param messages [Hash{Symbol=>ArkEmail::Models::EmailSendBatchResponse::Data::Message}] Map of recipient email to message info
#
# @param tenant_id [String] The tenant ID this batch was sent from
#
# @param total [Integer] Total emails in the batch
#
# @param sandbox [Boolean] Whether this batch was sent in sandbox mode.
Expand Down
16 changes: 15 additions & 1 deletion lib/ark_email/models/email_send_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,18 @@ class EmailSendParams < ArkEmail::Internal::Type::BaseModel
# @return [String, nil]
optional :tag, String, nil?: true

# @!attribute tenant_id
# The tenant ID to send this email from. Determines which tenant's configuration
# (domains, webhooks, tracking) is used.
#
# - If your API key is scoped to a specific tenant, this must match that tenant or
# be omitted.
# - If your API key is org-level, specify the tenant to send from.
# - If omitted, the organization's default tenant is used.
#
# @return [String, nil]
optional :tenant_id, String, api_name: :tenantId, nil?: true

# @!attribute text
# Plain text body (accepts null, auto-generated from HTML if not provided).
# Maximum 5MB (5,242,880 characters).
Expand All @@ -117,7 +129,7 @@ class EmailSendParams < ArkEmail::Internal::Type::BaseModel
# @return [String, nil]
optional :idempotency_key, String

# @!method initialize(from:, subject:, to:, attachments: nil, bcc: nil, cc: nil, headers: nil, html: nil, metadata: nil, reply_to: nil, tag: nil, text: nil, idempotency_key: nil, request_options: {})
# @!method initialize(from:, subject:, to:, attachments: nil, bcc: nil, cc: nil, headers: nil, html: nil, metadata: nil, reply_to: nil, tag: nil, tenant_id: nil, text: nil, idempotency_key: nil, request_options: {})
# Some parameter documentations has been truncated, see
# {ArkEmail::Models::EmailSendParams} for more details.
#
Expand All @@ -143,6 +155,8 @@ class EmailSendParams < ArkEmail::Internal::Type::BaseModel
#
# @param tag [String, nil] Tag for categorization and filtering (accepts null)
#
# @param tenant_id [String, nil] The tenant ID to send this email from. Determines which tenant's
#
# @param text [String, nil] Plain text body (accepts null, auto-generated from HTML if not provided).
#
# @param idempotency_key [String]
Expand Down
16 changes: 15 additions & 1 deletion lib/ark_email/models/email_send_raw_params.rb
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,19 @@ class EmailSendRawParams < ArkEmail::Internal::Type::BaseModel
# @return [Boolean, nil]
optional :bounce, ArkEmail::Internal::Type::Boolean, nil?: true

# @!method initialize(from:, raw_message:, to:, bounce: nil, request_options: {})
# @!attribute tenant_id
# The tenant ID to send this email from. Determines which tenant's configuration
# (domains, webhooks, tracking) is used.
#
# - If your API key is scoped to a specific tenant, this must match that tenant or
# be omitted.
# - If your API key is org-level, specify the tenant to send from.
# - If omitted, the organization's default tenant is used.
#
# @return [String, nil]
optional :tenant_id, String, api_name: :tenantId, nil?: true

# @!method initialize(from:, raw_message:, to:, bounce: nil, tenant_id: nil, request_options: {})
# Some parameter documentations has been truncated, see
# {ArkEmail::Models::EmailSendRawParams} for more details.
#
Expand All @@ -55,6 +67,8 @@ class EmailSendRawParams < ArkEmail::Internal::Type::BaseModel
#
# @param bounce [Boolean, nil] Whether this is a bounce message (accepts null)
#
# @param tenant_id [String, nil] The tenant ID to send this email from. Determines which tenant's
#
# @param request_options [ArkEmail::RequestOptions, Hash{Symbol=>Object}]
end
end
Expand Down
10 changes: 9 additions & 1 deletion lib/ark_email/models/email_send_raw_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ class Data < ArkEmail::Internal::Type::BaseModel
# @return [Symbol, ArkEmail::Models::EmailSendRawResponse::Data::Status]
required :status, enum: -> { ArkEmail::Models::EmailSendRawResponse::Data::Status }

# @!attribute tenant_id
# The tenant ID this email was sent from
#
# @return [String]
required :tenant_id, String, api_name: :tenantId

# @!attribute to
# List of recipient addresses
#
Expand All @@ -57,14 +63,16 @@ class Data < ArkEmail::Internal::Type::BaseModel
# @return [Boolean, nil]
optional :sandbox, ArkEmail::Internal::Type::Boolean

# @!method initialize(id:, status:, to:, message_id: nil, sandbox: nil)
# @!method initialize(id:, status:, tenant_id:, to:, message_id: nil, sandbox: nil)
# Some parameter documentations has been truncated, see
# {ArkEmail::Models::EmailSendRawResponse::Data} for more details.
#
# @param id [String] Unique message identifier (token)
#
# @param status [Symbol, ArkEmail::Models::EmailSendRawResponse::Data::Status] Current delivery status
#
# @param tenant_id [String] The tenant ID this email was sent from
#
# @param to [Array<String>] List of recipient addresses
#
# @param message_id [String] SMTP Message-ID header value
Expand Down
10 changes: 9 additions & 1 deletion lib/ark_email/models/email_send_response.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ class Data < ArkEmail::Internal::Type::BaseModel
# @return [Symbol, ArkEmail::Models::EmailSendResponse::Data::Status]
required :status, enum: -> { ArkEmail::Models::EmailSendResponse::Data::Status }

# @!attribute tenant_id
# The tenant ID this email was sent from
#
# @return [String]
required :tenant_id, String, api_name: :tenantId

# @!attribute to
# List of recipient addresses
#
Expand All @@ -57,14 +63,16 @@ class Data < ArkEmail::Internal::Type::BaseModel
# @return [Boolean, nil]
optional :sandbox, ArkEmail::Internal::Type::Boolean

# @!method initialize(id:, status:, to:, message_id: nil, sandbox: nil)
# @!method initialize(id:, status:, tenant_id:, to:, message_id: nil, sandbox: nil)
# Some parameter documentations has been truncated, see
# {ArkEmail::Models::EmailSendResponse::Data} for more details.
#
# @param id [String] Unique message identifier (token)
#
# @param status [Symbol, ArkEmail::Models::EmailSendResponse::Data::Status] Current delivery status
#
# @param tenant_id [String] The tenant ID this email was sent from
#
# @param to [Array<String>] List of recipient addresses
#
# @param message_id [String] SMTP Message-ID header value
Expand Down
Loading