OpenAI Codex CLI
Codex CLI is OpenAI’s terminal-based coding agent. Connect Nitrosend via MCP for full access to all 20 tools, or use the REST API with a helper script.
Option 1: MCP Server (Recommended)
Codex CLI supports MCP natively via a config file.
1. Get your API key
Go to Settings > API Keys in the Nitrosend dashboard and copy your key.
2. Add Nitrosend to your Codex config
Add to ~/.codex/config.toml (global) or .codex/config.toml (project):
[mcp_servers.nitrosend]
url = "https://api.nitrosend.com/mcp"
bearer_token_env_var = "NITROSEND_API_KEY"
3. Set your API key
export NITROSEND_API_KEY=nskey_live_your_key_here
4. Use with Codex
codex "Check my Nitrosend account status"
codex "Create a welcome email flow for new subscribers"
codex "Send our newsletter to the active subscribers list"
Codex CLI uses your API key for authentication. Get yours from Settings > API Keys in the Nitrosend dashboard.
Option 2: REST API with helper script
How it works
Codex CLI executes shell commands and reads files. By giving it a helper script and API documentation, Codex can call the Nitrosend REST API using curl to manage campaigns, contacts, templates, and more.
Setup
1. Get your API key
Go to Settings > API Keys in the Nitrosend dashboard and copy your key.
2. Set the environment variable
Add your API key to your shell profile (~/.zshrc, ~/.bashrc, etc.):
export NITROSEND_API_KEY="nskey_live_your_key_here"
Reload your shell:
3. Create a helper script
Save this as nitrosend.sh in your project or home directory:
#!/bin/bash
# Nitrosend API helper for Codex CLI
# Usage: ./nitrosend.sh <method> <endpoint> [json_body]
METHOD="${1:-GET}"
ENDPOINT="$2"
BODY="$3"
BASE_URL="https://api.nitrosend.com/v1/my"
if [ -z "$NITROSEND_API_KEY" ]; then
echo "Error: NITROSEND_API_KEY not set"
exit 1
fi
CURL_ARGS=(
-s
-X "$METHOD"
-H "Authorization: Bearer $NITROSEND_API_KEY"
-H "Content-Type: application/json"
)
if [ -n "$BODY" ]; then
CURL_ARGS+=(-d "$BODY")
fi
curl "${CURL_ARGS[@]}" "${BASE_URL}${ENDPOINT}" | python3 -m json.tool
Make it executable:
4. Add a Codex instructions file
Create a codex.md (or add to your existing one) so Codex knows how to use Nitrosend:
## Nitrosend API Access
You can manage email marketing via the Nitrosend REST API.
Helper script: `./nitrosend.sh <METHOD> <endpoint> [json_body]`
Common operations:
- Check account: `./nitrosend.sh GET /account`
- List campaigns: `./nitrosend.sh GET /campaigns`
- List contacts: `./nitrosend.sh GET /contacts`
- Send email: `./nitrosend.sh POST /messages '{"channel":"email","to":"user@example.com","subject":"Hello","body":"Hi there"}'`
- Create campaign: `./nitrosend.sh POST /campaigns '{"name":"My Campaign","channel_type":"email"}'`
- List templates: `./nitrosend.sh GET /templates`
API base: https://api.nitrosend.com/v1/my
Auth: Bearer token via $NITROSEND_API_KEY environment variable
5. Use with Codex
Start Codex CLI and ask it to manage your email marketing:
codex "Check my Nitrosend account status and list my recent campaigns"
codex "Send a test email to george@nitrosend.com with the subject 'Hello from Codex'"
codex "Import these contacts: jane@example.com (Jane Doe), bob@example.com (Bob Smith)"
Direct curl usage
You can also use the API directly without the helper script:
# Check account status
curl -s https://api.nitrosend.com/v1/my/account \
-H "Authorization: Bearer $NITROSEND_API_KEY" | python3 -m json.tool
# Send a transactional email
curl -s -X POST https://api.nitrosend.com/v1/my/messages \
-H "Authorization: Bearer $NITROSEND_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"channel": "email",
"to": "user@example.com",
"subject": "Hello",
"body": "<h1>Welcome!</h1>"
}' | python3 -m json.tool
API reference
| Action | Command |
|---|
| Account status | ./nitrosend.sh GET /account |
| List campaigns | ./nitrosend.sh GET /campaigns |
| Create campaign | ./nitrosend.sh POST /campaigns '{"name":"...","channel_type":"email"}' |
| List contacts | ./nitrosend.sh GET /contacts |
| Send email | ./nitrosend.sh POST /messages '{"channel":"email","to":"...","subject":"...","body":"..."}' |
| List templates | ./nitrosend.sh GET /templates |
| List segments | ./nitrosend.sh GET /segments |
See the full API Reference for all available endpoints.
Codex CLI runs in your terminal with access to your environment variables. Make sure NITROSEND_API_KEY is set in your shell before starting Codex.