Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
0de9c2f
codegen metadata
stainless-app[bot] Feb 18, 2026
4c61ed9
codegen metadata
stainless-app[bot] Feb 18, 2026
74ca24e
codegen metadata
stainless-app[bot] Feb 18, 2026
abbcb7a
codegen metadata
stainless-app[bot] Feb 18, 2026
85949df
codegen metadata
stainless-app[bot] Feb 18, 2026
5abe087
codegen metadata
stainless-app[bot] Feb 18, 2026
42e0821
codegen metadata
stainless-app[bot] Feb 18, 2026
f569036
codegen metadata
stainless-app[bot] Feb 18, 2026
7bdc10d
codegen metadata
stainless-app[bot] Feb 19, 2026
b0deb72
codegen metadata
stainless-app[bot] Feb 19, 2026
f4ca61f
codegen metadata
stainless-app[bot] Feb 19, 2026
9aca378
codegen metadata
stainless-app[bot] Feb 19, 2026
aea5ddb
codegen metadata
stainless-app[bot] Feb 19, 2026
df22450
codegen metadata
stainless-app[bot] Feb 19, 2026
0327200
codegen metadata
stainless-app[bot] Feb 19, 2026
a43c625
codegen metadata
stainless-app[bot] Feb 19, 2026
0a2561b
codegen metadata
stainless-app[bot] Feb 19, 2026
2fa3b8d
codegen metadata
stainless-app[bot] Feb 19, 2026
493aeb8
codegen metadata
stainless-app[bot] Feb 19, 2026
62a9b6d
codegen metadata
stainless-app[bot] Feb 19, 2026
2ff2763
codegen metadata
stainless-app[bot] Feb 19, 2026
1566d17
codegen metadata
stainless-app[bot] Feb 19, 2026
e59d10c
codegen metadata
stainless-app[bot] Feb 19, 2026
4de00a2
codegen metadata
stainless-app[bot] Feb 19, 2026
36b482a
codegen metadata
stainless-app[bot] Feb 19, 2026
e4587d9
codegen metadata
stainless-app[bot] Feb 19, 2026
e9521a0
codegen metadata
stainless-app[bot] Feb 19, 2026
4a99ead
codegen metadata
stainless-app[bot] Feb 20, 2026
08f9ca1
codegen metadata
stainless-app[bot] Feb 20, 2026
4c5a7ff
codegen metadata
stainless-app[bot] Feb 20, 2026
54e221a
codegen metadata
stainless-app[bot] Feb 20, 2026
1dafec1
codegen metadata
stainless-app[bot] Feb 20, 2026
32adb14
codegen metadata
stainless-app[bot] Feb 20, 2026
c5f19bd
codegen metadata
stainless-app[bot] Feb 20, 2026
3707a5d
codegen metadata
stainless-app[bot] Feb 20, 2026
8737c8b
codegen metadata
stainless-app[bot] Feb 20, 2026
92d3a64
codegen metadata
stainless-app[bot] Feb 20, 2026
b451b12
codegen metadata
stainless-app[bot] Feb 20, 2026
c2fbdbf
codegen metadata
stainless-app[bot] Feb 20, 2026
c757ab7
codegen metadata
stainless-app[bot] Feb 20, 2026
01a1560
chore(internal): remove mock server code
stainless-app[bot] Feb 20, 2026
477f6d8
chore: update mock server docs
stainless-app[bot] Feb 20, 2026
f650fa3
codegen metadata
stainless-app[bot] Feb 20, 2026
ff0fc0f
codegen metadata
stainless-app[bot] Feb 20, 2026
e4618a6
codegen metadata
stainless-app[bot] Feb 20, 2026
9c99029
codegen metadata
stainless-app[bot] Feb 20, 2026
1c81e74
codegen metadata
stainless-app[bot] Feb 20, 2026
eb94031
codegen metadata
stainless-app[bot] Feb 20, 2026
c4859fe
codegen metadata
stainless-app[bot] Feb 20, 2026
fe793aa
codegen metadata
stainless-app[bot] Feb 21, 2026
d5e90ed
codegen metadata
stainless-app[bot] Feb 21, 2026
f5bbe3a
codegen metadata
stainless-app[bot] Feb 21, 2026
45ea84c
codegen metadata
stainless-app[bot] Feb 21, 2026
053a5ad
codegen metadata
stainless-app[bot] Feb 21, 2026
73d9130
codegen metadata
stainless-app[bot] Feb 21, 2026
ed3be36
codegen metadata
stainless-app[bot] Feb 21, 2026
e939ad4
codegen metadata
stainless-app[bot] Feb 21, 2026
fcfc640
codegen metadata
stainless-app[bot] Feb 21, 2026
45894f6
codegen metadata
stainless-app[bot] Feb 21, 2026
e480048
codegen metadata
stainless-app[bot] Feb 21, 2026
9a8315b
codegen metadata
stainless-app[bot] Feb 21, 2026
0440446
codegen metadata
stainless-app[bot] Feb 21, 2026
8b1eb1f
codegen metadata
stainless-app[bot] Feb 21, 2026
442e9ba
codegen metadata
stainless-app[bot] Feb 21, 2026
aed3e6c
codegen metadata
stainless-app[bot] Feb 21, 2026
1f68683
codegen metadata
stainless-app[bot] Feb 21, 2026
57f12d7
codegen metadata
stainless-app[bot] Feb 21, 2026
1687749
codegen metadata
stainless-app[bot] Feb 21, 2026
18f6368
codegen metadata
stainless-app[bot] Feb 21, 2026
b2c0fd6
codegen metadata
stainless-app[bot] Feb 22, 2026
1ce26f9
codegen metadata
stainless-app[bot] Feb 22, 2026
94cb593
codegen metadata
stainless-app[bot] Feb 22, 2026
ad1844b
codegen metadata
stainless-app[bot] Feb 22, 2026
b65efb6
codegen metadata
stainless-app[bot] Feb 22, 2026
ebb1dd3
codegen metadata
stainless-app[bot] Feb 22, 2026
e900f54
codegen metadata
stainless-app[bot] Feb 22, 2026
450f5ac
codegen metadata
stainless-app[bot] Feb 22, 2026
86314b4
codegen metadata
stainless-app[bot] Feb 22, 2026
a01e4cc
codegen metadata
stainless-app[bot] Feb 22, 2026
7f0eb8b
codegen metadata
stainless-app[bot] Feb 22, 2026
afcfdc9
codegen metadata
stainless-app[bot] Feb 22, 2026
29ae196
codegen metadata
stainless-app[bot] Feb 22, 2026
bd9d92a
codegen metadata
stainless-app[bot] Feb 22, 2026
ac3986c
codegen metadata
stainless-app[bot] Feb 22, 2026
17c5532
codegen metadata
stainless-app[bot] Feb 22, 2026
7e7d8b4
codegen metadata
stainless-app[bot] Feb 22, 2026
38a6b74
codegen metadata
stainless-app[bot] Feb 23, 2026
2918501
chore: configure new SDK language
stainless-app[bot] Feb 23, 2026
0251700
codegen metadata
stainless-app[bot] Feb 23, 2026
ac82383
codegen metadata
stainless-app[bot] Feb 23, 2026
4e9437e
codegen metadata
stainless-app[bot] Feb 23, 2026
1883322
codegen metadata
stainless-app[bot] Feb 23, 2026
e191b71
codegen metadata
stainless-app[bot] Feb 23, 2026
58238a4
codegen metadata
stainless-app[bot] Feb 23, 2026
eae0e56
codegen metadata
stainless-app[bot] Feb 23, 2026
5150b18
codegen metadata
stainless-app[bot] Feb 23, 2026
012ec61
codegen metadata
stainless-app[bot] Feb 23, 2026
fe116d3
codegen metadata
stainless-app[bot] Feb 23, 2026
9290447
codegen metadata
stainless-app[bot] Feb 23, 2026
5cf3928
codegen metadata
stainless-app[bot] Feb 23, 2026
b4238af
codegen metadata
stainless-app[bot] Feb 23, 2026
006bcd0
codegen metadata
stainless-app[bot] Feb 24, 2026
618aafb
codegen metadata
stainless-app[bot] Feb 24, 2026
bfeb043
codegen metadata
stainless-app[bot] Feb 24, 2026
ebc5a99
codegen metadata
stainless-app[bot] Feb 24, 2026
e3f3ae7
release: 0.3.1
stainless-app[bot] Feb 24, 2026
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.3.0"
".": "0.3.1"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 44
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sent%2Fsent-dm-433bfd8c688a6b6d2d4f964bb59121d692798f4e2bb6cb47f6110c4f0e1f638d.yml
openapi_spec_hash: 5378295d401c8c1152c1946cc7dbd69f
config_hash: 43a0daa5b05d44a1620e3da0ea6f4fdc
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sent%2Fsent-dm-b9aa36b06cd84a78b33b8e5bb723b0d395e31be20ecbb12847009168222db5ae.yml
openapi_spec_hash: 5d5c842901df91f69170c30f68ab0d92
config_hash: d475a61f5b59375bf562f85f19b80409
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
# Changelog

## 0.3.1 (2026-02-24)

Full Changelog: [v0.3.0...v0.3.1](https://github.com/sentdm/sent-dm-ruby/compare/v0.3.0...v0.3.1)

### Chores

* configure new SDK language ([2918501](https://github.com/sentdm/sent-dm-ruby/commit/2918501a012ce30151845a0e1da920d6b071ab54))
* **internal:** remove mock server code ([01a1560](https://github.com/sentdm/sent-dm-ruby/commit/01a1560c3ade7cc3c97c4934e69620ad5087c9a7))
* update mock server docs ([477f6d8](https://github.com/sentdm/sent-dm-ruby/commit/477f6d8c6008438f3ad0ea1dda4070a2a82d1eec))

## 0.3.0 (2026-02-18)

Full Changelog: [v0.2.0...v0.3.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.2.0...v0.3.0)
Expand Down
6 changes: 0 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,6 @@ $ bundle exec rake

## Running tests

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
```

```bash
$ bundle exec rake test
```
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:
sentdm (0.3.0)
sentdm (0.3.1)
cgi
connection_pool

Expand Down
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@ The Sent Dm Ruby library provides convenient access to the Sent Dm REST API from

It is generated with [Stainless](https://www.stainless.com/).

## MCP Server

Use the Sent Dm MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.

[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=%40sentdm%2Fsentdm-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBzZW50ZG0vc2VudGRtLW1jcCJdLCJlbnYiOnsiU0VOVF9ETV9BUElfS0VZIjoiTXkgQVBJIEtleSJ9fQ)
[![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40sentdm%2Fsentdm-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40sentdm%2Fsentdm-mcp%22%5D%2C%22env%22%3A%7B%22SENT_DM_API_KEY%22%3A%22My%20API%20Key%22%7D%7D)

> Note: You may need to set environment variables in your MCP client.

## Documentation

Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/sentdm).
Expand All @@ -17,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
<!-- x-release-please-start-version -->

```ruby
gem "sentdm", "~> 0.3.0"
gem "sentdm", "~> 0.3.1"
```

<!-- x-release-please-end -->
Expand Down
2 changes: 1 addition & 1 deletion lib/sentdm/version.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# frozen_string_literal: true

module Sentdm
VERSION = "0.3.0"
VERSION = "0.3.1"
end
41 changes: 0 additions & 41 deletions scripts/mock

This file was deleted.

46 changes: 0 additions & 46 deletions scripts/test
Original file line number Diff line number Diff line change
Expand Up @@ -4,53 +4,7 @@ set -e

cd -- "$(dirname -- "$0")/.."

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m' # No Color

function prism_is_running() {
curl --silent "http://localhost:4010" >/dev/null 2>&1
}

kill_server_on_port() {
pids=$(lsof -t -i tcp:"$1" || echo "")
if [ "$pids" != "" ]; then
kill "$pids"
echo "Stopped $pids."
fi
}

function is_overriding_api_base_url() {
[ -n "$TEST_API_BASE_URL" ]
}

if ! is_overriding_api_base_url && ! prism_is_running ; then
# When we exit this script, make sure to kill the background mock server process
trap 'kill_server_on_port 4010' EXIT

# Start the dev server
./scripts/mock --daemon
fi

if is_overriding_api_base_url ; then
echo -e "${GREEN}✔ Running tests against ${TEST_API_BASE_URL}${NC}"
echo
elif ! prism_is_running ; then
echo -e "${RED}ERROR:${NC} The test suite will not run without a mock Prism server"
echo -e "running against your OpenAPI spec."
echo
echo -e "To run the server, pass in the path or url of your OpenAPI"
echo -e "spec to the prism command:"
echo
echo -e " \$ ${YELLOW}npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock path/to/your.openapi.yml${NC}"
echo

exit 1
else
echo -e "${GREEN}✔ Mock prism server is running with your OpenAPI spec${NC}"
echo
fi

echo "==> Running tests"
bundle exec rake test "$@"
8 changes: 4 additions & 4 deletions test/sentdm/resources/brands/campaigns_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

class Sentdm::Test::Resources::Brands::CampaignsTest < Sentdm::Test::ResourceTest
def test_create_required_params
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response =
@sent_dm.brands.campaigns.create(
Expand Down Expand Up @@ -40,7 +40,7 @@ def test_create_required_params
end

def test_update_required_params
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response =
@sent_dm.brands.campaigns.update(
Expand Down Expand Up @@ -77,7 +77,7 @@ def test_update_required_params
end

def test_list
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.brands.campaigns.list("a1b2c3d4-e5f6-7890-abcd-ef1234567890")

Expand All @@ -96,7 +96,7 @@ def test_list
end

def test_delete_required_params
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response =
@sent_dm.brands.campaigns.delete(
Expand Down
8 changes: 4 additions & 4 deletions test/sentdm/resources/brands_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

class Sentdm::Test::Resources::BrandsTest < Sentdm::Test::ResourceTest
def test_create_required_params
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response =
@sent_dm.brands.create(
Expand All @@ -26,7 +26,7 @@ def test_create_required_params
end

def test_update_required_params
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response =
@sent_dm.brands.update(
Expand All @@ -49,7 +49,7 @@ def test_update_required_params
end

def test_list
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.brands.list

Expand All @@ -68,7 +68,7 @@ def test_list
end

def test_delete_required_params
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.brands.delete("a1b2c3d4-e5f6-7890-abcd-ef1234567890", body: {})

Expand Down
10 changes: 5 additions & 5 deletions test/sentdm/resources/contacts_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

class Sentdm::Test::Resources::ContactsTest < Sentdm::Test::ResourceTest
def test_create
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.contacts.create

Expand All @@ -23,7 +23,7 @@ def test_create
end

def test_retrieve
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.contacts.retrieve("6ba7b810-9dad-11d1-80b4-00c04fd430c8")

Expand All @@ -42,7 +42,7 @@ def test_retrieve
end

def test_update
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.contacts.update("6ba7b810-9dad-11d1-80b4-00c04fd430c8")

Expand All @@ -61,7 +61,7 @@ def test_update
end

def test_list_required_params
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.contacts.list(page: 0, page_size: 0)

Expand All @@ -80,7 +80,7 @@ def test_list_required_params
end

def test_delete_required_params
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.contacts.delete("6ba7b810-9dad-11d1-80b4-00c04fd430c8", body: {})

Expand Down
2 changes: 1 addition & 1 deletion test/sentdm/resources/lookup_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

class Sentdm::Test::Resources::LookupTest < Sentdm::Test::ResourceTest
def test_retrieve_phone_info
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.lookup.retrieve_phone_info("phoneNumber")

Expand Down
2 changes: 1 addition & 1 deletion test/sentdm/resources/me_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

class Sentdm::Test::Resources::MeTest < Sentdm::Test::ResourceTest
def test_retrieve
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.me.retrieve

Expand Down
6 changes: 3 additions & 3 deletions test/sentdm/resources/messages_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

class Sentdm::Test::Resources::MessagesTest < Sentdm::Test::ResourceTest
def test_retrieve_activities
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.messages.retrieve_activities("8ba7b830-9dad-11d1-80b4-00c04fd430c8")

Expand All @@ -23,7 +23,7 @@ def test_retrieve_activities
end

def test_retrieve_status
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.messages.retrieve_status("8ba7b830-9dad-11d1-80b4-00c04fd430c8")

Expand All @@ -42,7 +42,7 @@ def test_retrieve_status
end

def test_send_
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.messages.send_

Expand Down
12 changes: 6 additions & 6 deletions test/sentdm/resources/profiles_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

class Sentdm::Test::Resources::ProfilesTest < Sentdm::Test::ResourceTest
def test_create
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.profiles.create

Expand All @@ -23,7 +23,7 @@ def test_create
end

def test_retrieve
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.profiles.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")

Expand All @@ -42,7 +42,7 @@ def test_retrieve
end

def test_update
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.profiles.update("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")

Expand All @@ -61,7 +61,7 @@ def test_update
end

def test_list
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.profiles.list

Expand All @@ -80,7 +80,7 @@ def test_list
end

def test_delete
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response = @sent_dm.profiles.delete("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")

Expand All @@ -90,7 +90,7 @@ def test_delete
end

def test_complete_required_params
skip("Prism tests are disabled")
skip("Mock server tests are disabled")

response =
@sent_dm.profiles.complete(
Expand Down
Loading