Rust API client for mailodds
MailOdds provides email validation services to help maintain clean email lists and improve deliverability. The API performs multiple validation checks including format verification, domain validation, MX record checking, and disposable email detection.
Authentication
All API requests require authentication using a Bearer token. Include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
API keys can be created in the MailOdds dashboard.
Rate Limits
Rate limits vary by plan:
- Free: 10 requests/minute
- Starter: 60 requests/minute
- Pro: 300 requests/minute
- Business: 1000 requests/minute
- Enterprise: Custom limits
Response Format
All responses include:
schema_version: API schema version (currently "1.0")request_id: Unique request identifier for debugging
Error responses include:
error: Machine-readable error codemessage: Human-readable error description
For more information, please visit https://mailodds.com/contact
Overview
This API client was generated by the OpenAPI Generator project. By using the openapi-spec from a remote server, you can easily generate an API client.
- API version: 1.0.0
- Package version: 1.0.0
- Generator version: 7.19.0
- Build package:
org.openapitools.codegen.languages.RustClientCodegen
Installation
Put the package under your project folder in a directory named mailodds and add the following to Cargo.toml under [dependencies]:
mailodds = { path = "./mailodds" }
Documentation for API Endpoints
All URIs are relative to https://api.mailodds.com/v1
| Class | Method | HTTP request | Description |
|---|---|---|---|
| BulkValidationApi | cancel_job | POST /v1/jobs/{job_id}/cancel | Cancel a job |
| BulkValidationApi | create_job | POST /v1/jobs | Create bulk validation job (JSON) |
| BulkValidationApi | create_job_from_s3 | POST /v1/jobs/upload/s3 | Create job from S3 upload |
| BulkValidationApi | create_job_upload | POST /v1/jobs/upload | Create bulk validation job (file upload) |
| BulkValidationApi | delete_job | DELETE /v1/jobs/{job_id} | Delete a job |
| BulkValidationApi | get_job | GET /v1/jobs/{job_id} | Get job status |
| BulkValidationApi | get_job_results | GET /v1/jobs/{job_id}/results | Get job results |
| BulkValidationApi | get_presigned_upload | POST /v1/jobs/upload/presigned | Get S3 presigned upload URL |
| BulkValidationApi | list_jobs | GET /v1/jobs | List validation jobs |
| EmailValidationApi | validate_batch | POST /v1/validate/batch | Validate multiple emails (sync) |
| EmailValidationApi | validate_email | POST /v1/validate | Validate single email |
| SuppressionListsApi | add_suppression | POST /v1/suppression | Add suppression entries |
| SuppressionListsApi | check_suppression | POST /v1/suppression/check | Check suppression status |
| SuppressionListsApi | get_suppression_stats | GET /v1/suppression/stats | Get suppression statistics |
| SuppressionListsApi | list_suppression | GET /v1/suppression | List suppression entries |
| SuppressionListsApi | remove_suppression | DELETE /v1/suppression | Remove suppression entries |
| SystemApi | get_telemetry_summary | GET /v1/telemetry/summary | Get validation telemetry |
| SystemApi | health_check | GET /health | Health check |
| ValidationPoliciesApi | add_policy_rule | POST /v1/policies/{policy_id}/rules | Add rule to policy |
| ValidationPoliciesApi | create_policy | POST /v1/policies | Create policy |
| ValidationPoliciesApi | create_policy_from_preset | POST /v1/policies/from-preset | Create policy from preset |
| ValidationPoliciesApi | delete_policy | DELETE /v1/policies/{policy_id} | Delete policy |
| ValidationPoliciesApi | delete_policy_rule | DELETE /v1/policies/{policy_id}/rules/{rule_id} | Delete rule |
| ValidationPoliciesApi | get_policy | GET /v1/policies/{policy_id} | Get policy |
| ValidationPoliciesApi | get_policy_presets | GET /v1/policies/presets | Get policy presets |
| ValidationPoliciesApi | list_policies | GET /v1/policies | List policies |
| ValidationPoliciesApi | test_policy | POST /v1/policies/test | Test policy evaluation |
| ValidationPoliciesApi | update_policy | PUT /v1/policies/{policy_id} | Update policy |
Documentation For Models
- AddPolicyRule201Response
- AddSuppressionRequest
- AddSuppressionRequestEntriesInner
- AddSuppressionResponse
- CheckSuppressionRequest
- CreateJobFromS3Request
- CreateJobRequest
- CreatePolicyFromPresetRequest
- CreatePolicyRequest
- DeleteJob200Response
- DeletePolicy200Response
- DeletePolicyRule200Response
- ErrorResponse
- GetPresignedUploadRequest
- HealthCheck200Response
- Job
- JobListResponse
- JobResponse
- JobSummary
- Pagination
- Policy
- PolicyListResponse
- PolicyListResponseLimits
- PolicyPresetsResponse
- PolicyPresetsResponsePresetsInner
- PolicyResponse
- PolicyRule
- PolicyRuleAction
- PolicyTestResponse
- PresignedUploadResponse
- PresignedUploadResponseUpload
- RemoveSuppression200Response
- RemoveSuppressionRequest
- ResultsResponse
- SuppressionCheckResponse
- SuppressionEntry
- SuppressionListResponse
- SuppressionStatsResponse
- SuppressionStatsResponseByType
- TelemetrySummary
- TelemetrySummaryRates
- TelemetrySummaryTopDomainsInner
- TelemetrySummaryTopReasonsInner
- TelemetrySummaryTotals
- TestPolicyRequest
- TestPolicyRequestTestResult
- UpdatePolicyRequest
- ValidateBatch200Response
- ValidateBatch200ResponseSummary
- ValidateBatchRequest
- ValidateRequest
- ValidationResponse
- ValidationResponsePolicyApplied
- ValidationResponseSuppressionMatch
- ValidationResult
To get access to the crate's generated documentation, use:
cargo doc --open