OVERALL CONTROL / 0.6-customer-control
Grades and scoring
Data access
25% of the overall score before applicability adjustment.
Scored answers and evidence
Read interface 7.5/10
Structured API for the declared product scope
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
Resend lists contact records globally. This assessment uses the current /contacts route rather than legacy audience-scoped operations.
Resend current contact list ↗
GET /contacts, pagination and has_more · Checked 2026-10-22
Bulk delivery 8.8/10
Batched or iterable API requests
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
Opt into contact pagination with limit, then follow after/before cursors and has_more. Omitting limit returns all contacts in one response.
Resend current contact list ↗
GET /contacts, pagination and has_more · Checked 2026-10-22
Resend cursor pagination ↗
Contacts pagination opt-in, after/before and has_more · Checked 2026-10-22
Query expressiveness 7.5/10
Fixed object or report retrieval
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
The contact list supports pagination cursors; it is not a general SQL or full-text query interface.
Resend current contact list ↗
GET /contacts, pagination and has_more · Checked 2026-10-22
Access cost barrier -
-
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
Minimum commercial entitlement and exact API charges were not established for the assessed route.
Resend cursor pagination ↗
Contacts pagination opt-in, after/before and has_more · Checked 2026-10-22
Third-party accessibility
20% of the overall score before applicability adjustment.
Scored answers and evidence
Third-party eligibility 10.0/10
Customer authorization without discretionary provider approval
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
Use a bearer API key and an identifying User-Agent. Missing User-Agent can return 403 despite a valid key; select a key with the needed contact permissions.
Resend authentication and required User-Agent ↗
Authentication and User-Agent · Checked 2026-10-22
Downstream permission -
-
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
Processing, AI-use, redistribution and other downstream contractual permissions were not settled by this technical review.
Resend authentication and required User-Agent ↗
Authentication and User-Agent · Checked 2026-10-22
External action
15% of the overall score before applicability adjustment.
Scored answers and evidence
Write interface 7.5/10
Create and update in one business domain
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
Create contacts with names, email, unsubscribe state and supported properties through POST /contacts.
Resend create contact ↗
POST /contacts · Checked 2026-10-22
Custom application path 10.0/10
Customer applications using fixed APIs without provider selection
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
The documented interface can connect customer application code within its authorization and resource scope.
Resend authentication and required User-Agent ↗
Authentication and User-Agent · Checked 2026-10-22
Continuity
15% of the overall score before applicability adjustment.
Scored answers and evidence
Refresh mechanism 5.0/10
Scheduled feeds or recurring extracts
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
Repeat the assessed collection traversal to reconcile current state. Native change delivery and retained replay were not established in this review.
Resend cursor pagination ↗
Contacts pagination opt-in, after/before and has_more · Checked 2026-10-22
Limit visibility 10.0/10
Published numeric quotas and recovery instructions
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
Resend starts at ten requests/second per team, shared across keys. Inspect rate-limit headers and back off on 429.
Resend API rate limits ↗
Team budget, response headers and 429 handling · Checked 2026-10-22
CDC and deletion capture 2.5/10
Full snapshots permit customer reconciliation; native deltas unverified
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
Compare complete scoped snapshots to reconcile missing records; native deletion identities and intermediate changes were not established.
Resend cursor pagination ↗
Contacts pagination opt-in, after/before and has_more · Checked 2026-10-22
Replay and gap recovery 2.5/10
Rebuild from a fresh snapshot; no historical replay established
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
Repeat the declared collection or export route to rebuild current state within its permissions and selection limits. Deleted payloads and intermediate history are unverified.
Resend current contact list ↗
GET /contacts, pagination and has_more · Checked 2026-10-22
Data exit
20% of the overall score before applicability adjustment.
Scored answers and evidence
Export custody 7.5/10
Customer-held structured files or API records
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
The assessed structured payloads can be retained in customer-held files. Broader contractual reuse rights remain unresolved.
Resend current contact list ↗
GET /contacts, pagination and has_more · Checked 2026-10-22
Post-cancellation access Disclosure
-
Disclosure only; does not reduce planned-exit credit.
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
The reviewed technical documentation does not establish retrieval rights after account termination.
Resend authentication and required User-Agent ↗
Authentication and User-Agent · Checked 2026-10-22
Planned migration fidelity 7.5/10
Portable structured records on documented routes; whole-product completeness unverified
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
Retain the assessed structured records before losing access. Attachments, historical versions, permissions and full product configuration need separate extraction.
Resend current contact list ↗
GET /contacts, pagination and has_more · Checked 2026-10-22
Business logic and customization
5% of the overall score before applicability adjustment.
Scored answers and evidence
Logic authoring 2.5/10
External integration code; native business logic portability not established
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
External code can use this interface; native workflow portability was not established (API clients and native definitions are different artifacts).
Resend authentication and required User-Agent ↗
Authentication and User-Agent · Checked 2026-10-22
Rights to custom logic -
-
Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded.
Ownership and reusable export rights for native workflow artifacts need a separate contractual review.
Resend authentication and required User-Agent ↗
Authentication and User-Agent · Checked 2026-10-22
Scores are out of 10. * Incomplete evidence discounts verified capabilities (unknown answers stay unknown). Planned migration drives data exit. Scoring method ↗
CUSTOMER CHOICE
Third-party accessibility
Use a bearer API key and an identifying User-Agent. Missing User-Agent can return 403 despite a valid key; select a key with the needed contact permissions.
Confirm who can connect, who owns the credentials and which uses are permitted. Customer consent and provider approval can be separate requirements; the selected plan and contract still matter.
READ / INTEGRATE
API and export routes
Opt into contact pagination with limit, then follow after/before cursors and has_more. Omitting limit returns all contacts in one response. The contact list supports pagination cursors; it is not a general SQL or full-text query interface.
| Access route | Authentication | Credential owner | Provider approval | Access requirement | Last checked |
|---|---|---|---|---|---|
| global contact list and contact creation through a full-access API key | API key | Customer | No | Customer-supplied credentials | 2026-10-22 |
Availability depends on your product, plan and agreement. See the documentation below for the requirements of each route.
ECONOMIC ACCESS
Cost, authentication and limits
Minimum plan and exact route fees remain unconfirmed.
Check API entitlement, credential ownership and rate limits for the route you intend to use. Include review fees, customer-plan upgrades and ongoing access charges in the total.
ACT FROM OUTSIDE
External action
Create contacts with names, email, unsubscribe state and supported properties through POST /contacts.
Validate the supported operation, acting identity and permission scope (read access does not imply write permission). Ambiguous retries and revoked credentials also affect whether an external workflow can run safely.
KEEP ACCESS USEFUL
Continuity
Repeat the assessed collection traversal to reconcile current state. Native change delivery and retained replay were not established in this review.
CDC, deletions and recovery
| Question | Answer / applicable route | Evidence |
|---|---|---|
| Can ongoing extraction identify updates and deleted records on the declared route? | Full snapshots permit customer reconciliation; native deltas unverifiedResend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. Compare complete scoped snapshots to reconcile missing records; native deletion identities and intermediate changes were not established. | Resend cursor pagination ↗Contacts pagination opt-in, after/before and has_moreChecked 2026-10-22 |
| How can extraction recover after missed events or an interrupted consumer? | Rebuild from a fresh snapshot; no historical replay establishedResend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. Repeat the declared collection or export route to rebuild current state within its permissions and selection limits. Deleted payloads and intermediate history are unverified. | Resend current contact list ↗GET /contacts, pagination and has_moreChecked 2026-10-22 |
Useful ongoing access includes corrections and deletions, not only the first export. A failed request, changed filter or lost resource permission should not be interpreted as a deleted record.
LEAVE WITH YOUR DATA
Data exit and portability
Retain the assessed structured records before losing access. Attachments, historical versions, permissions and full product configuration need separate extraction.
Test the output against the destination’s required fields and history. Check stable identifiers, relationships, attachments and extraction time; a sample file proves only the coverage of that sample.
BUILD / INSPECT / REUSE
Business logic and customization
Customers can write external integration code. Native workflow rights and independent execution remain unresolved (record access does not establish portable application logic).
Custom API access, ownership of workflows and the right to export their definitions are separate questions. A custom-app capability alone does not establish that business rules can move to another system.
AGREEMENTS / API DOCS / PROGRAM REQUIREMENTS
Documented conditions
Answers below come from public provider materials. Every answer retains its source check date, scope (a partner agreement does not describe every customer route). Customer contracts and live behavior still need verification.
| Question | Answer / applicable route | Evidence |
|---|---|---|
| What structured read interface is documented? | Structured API for the declared product scopeResend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. Resend lists contact records globally. This assessment uses the current /contacts route rather than legacy audience-scoped operations. | Resend current contact list ↗GET /contacts, pagination and has_moreChecked 2026-10-22 |
| How can customers retrieve data in bulk? | Batched or iterable API requestsResend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. Opt into contact pagination with limit, then follow after/before cursors and has_more. Omitting limit returns all contacts in one response. | Resend current contact list ↗GET /contacts, pagination and has_moreChecked 2026-10-22 Resend cursor pagination ↗Contacts pagination opt-in, after/before and has_moreChecked 2026-10-22 |
| What queries can a customer issue outside the provider UI? | Fixed object or report retrievalResend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. The contact list supports pagination cursors; it is not a general SQL or full-text query interface. | Resend current contact list ↗GET /contacts, pagination and has_moreChecked 2026-10-22 |
| Who decides whether a chosen third party may connect? | Customer authorization without discretionary provider approvalResend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. Use a bearer API key and an identifying User-Agent. Missing User-Agent can return 403 despite a valid key; select a key with the needed contact permissions. | Resend authentication and required User-Agent ↗Authentication and User-AgentChecked 2026-10-22 |
| What extra commercial condition applies to the routes supplying the assessed read capability, relative to the lowest paid plan? | -Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. Minimum commercial entitlement and exact API charges were not established for the assessed route. | Resend cursor pagination ↗Contacts pagination opt-in, after/before and has_moreChecked 2026-10-22 |
| Which external write operations are documented? | Create and update in one business domainResend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. Create contacts with names, email, unsubscribe state and supported properties through POST /contacts. | Resend create contact ↗POST /contactsChecked 2026-10-22 |
| How can customers connect an application they build or choose? | Customer applications using fixed APIs without provider selectionResend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. The documented interface can connect customer application code within its authorization and resource scope. | Resend authentication and required User-Agent ↗Authentication and User-AgentChecked 2026-10-22 |
| What mechanism supports repeatable extraction of changes? | Scheduled feeds or recurring extractsResend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. Repeat the assessed collection traversal to reconcile current state. Native change delivery and retained replay were not established in this review. | Resend cursor pagination ↗Contacts pagination opt-in, after/before and has_moreChecked 2026-10-22 |
| How are integration limits disclosed? | Published numeric quotas and recovery instructionsResend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. Resend starts at ten requests/second per team, shared across keys. Inspect rate-limit headers and back off on 429. | Resend API rate limits ↗Team budget, response headers and 429 handlingChecked 2026-10-22 |
| Where can a usable data copy be delivered? | Customer-held structured files or API recordsResend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. The assessed structured payloads can be retained in customer-held files. Broader contractual reuse rights remain unresolved. | Resend current contact list ↗GET /contacts, pagination and has_moreChecked 2026-10-22 |
| What retrieval rights are documented at cancellation? | -Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. The reviewed technical documentation does not establish retrieval rights after account termination. | Resend authentication and required User-Agent ↗Authentication and User-AgentChecked 2026-10-22 |
| How can customers define their own business logic? | External integration code; native business logic portability not establishedResend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. External code can use this interface; native workflow portability was not established (API clients and native definitions are different artifacts). | Resend authentication and required User-Agent ↗Authentication and User-AgentChecked 2026-10-22 |
| What rights or portability are documented for custom workflow artifacts? | -Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. Ownership and reusable export rights for native workflow artifacts need a separate contractual review. | Resend authentication and required User-Agent ↗Authentication and User-AgentChecked 2026-10-22 |
| What usable data or native definitions can leave before cancellation? | Portable structured records on documented routes; whole-product completeness unverifiedResend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. Retain the assessed structured records before losing access. Attachments, historical versions, permissions and full product configuration need separate extraction. | Resend current contact list ↗GET /contacts, pagination and has_moreChecked 2026-10-22 |
| What permission is needed for the documented downstream use? | -Resend / global contact list and contact creation through a full-access API key; legacy audience-scoped collections, sent email bodies and full account migration are excluded. Processing, AI-use, redistribution and other downstream contractual permissions were not settled by this technical review. | Resend authentication and required User-Agent ↗Authentication and User-AgentChecked 2026-10-22 |
SOURCES / SCOPE / HISTORY
Sources and open questions
This review is based on the documentation below. Live account behavior and customer-specific agreements haven’t been tested.
Still to confirm
- Minimum commercial entitlement and exact API charges
- Downstream contractual permissions and post-cancellation retrieval rights
- Complete migration of history, files, permissions and native workflow definitions
Documentation
Assessment checked 2026-10-22. Each answer retains its source and applicable route; the check date does not establish live account behavior.