{"audit":{"version":"1.5","generated_at":"2026-09-28T04:45:00.257904+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/api.sendsetsapi.com","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"api.sendsetsapi.com","name":"SendSets Outbound Agent","url":"https://api.sendsetsapi.com/.well-known/agent-card.json"}},"identity":{"provider":{"organization":"SendSets","url":"https://sendsetsapi.com"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":"1.0","supports_streaming":false,"supports_push_notifications":false},"operational":{"live_state":"auth_required","live_responds":false,"last_status_code":200,"last_elapsed_ms":157,"last_error":null},"track_record":{"first_seen":"2026-09-28T02:55:28.447203+00:00","last_checked":"2026-09-28T02:55:28.447203+00:00","last_seen_ok":"2026-09-28T02:55:28.447203+00:00","checks_total":1,"checks_ok":1,"uptime_pct":100.0,"uptime_window_days":30,"uptime_probes":1,"archived":false,"archived_reason":null},"conformance":{"score":56,"grade":"D","summary":"D-grade: significant issues, auth-gated, partially broken, or stale.","criteria":[{"key":"valid_card","label":"Valid AgentCard","points":10,"max_points":10,"status":"pass","detail":"Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification)."},{"key":"live_responds","label":"Live JSON-RPC","points":15,"max_points":25,"status":"partial","detail":"Endpoint requires auth, real agent but not anonymously callable."},{"key":"protocol_version","label":"Protocol version","points":10,"max_points":10,"status":"pass","detail":"Declares A2A 1.0 with supportedInterfaces[] (current v1 card shape)."},{"key":"signature","label":"JWS signature","points":0,"max_points":10,"status":"info","detail":"Card is unsigned (most published agents are)."},{"key":"uptime","label":"Uptime track record","points":0,"max_points":15,"status":"info","detail":"Only 1 probe so far, need ≥5 for an uptime grade."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 6 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: SendSets (https://sendsetsapi.com). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit."},{"key":"freshness","label":"Freshness + modern flags","points":4,"max_points":5,"status":"pass","detail":"seen in upstream source within 0d"},{"key":"security","label":"Security declaration","points":2,"max_points":5,"status":"partial","detail":"Declares 1 security scheme(s) but none use PKCE or mTLS."}]},"card_read":{"findings":[],"clean":true,"source_url":"https://api.sendsetsapi.com/.well-known/agent-card.json"},"skills":[{"id":"create-outbound-campaign","name":"Create outbound campaign","description":"Create a draft cold email campaign, write its sequence steps and choose the mailboxes it sends from. The campaign is created as a draft and never started by this skill. Tools: create_campaign_draft, add_campaign_step, update_campaign_step, list_campaign_steps, set_campaign_senders.","tags":["cold-email","outbound","campaigns","sequences"],"examples":["{\"tool\":\"create_campaign_draft\",\"arguments\":{\"name\":\"SaaS founders Q4\"}}","{\"tool\":\"list_campaign_steps\",\"arguments\":{\"campaign_id\":\"<campaign id>\"}}"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"manage-outbound-campaign","name":"Manage outbound campaign","description":"List, inspect, update, start, stop and delete campaigns, and hold or resume one lead inside a campaign. Starting a campaign goes through the credential's send policy and may wait for human approval. Tools: list_campaigns, get_campaign, update_campaign, start_campaign, stop_campaign, delete_campaign, delete_campaign_step, list_campaign_senders, set_lead_hold.","tags":["campaigns","outbound","launch"],"examples":["{\"tool\":\"list_campaigns\",\"arguments\":{}}","{\"tool\":\"start_campaign\",\"arguments\":{\"campaign_id\":\"<campaign id>\"}}"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"add-prospects","name":"Add prospects","description":"Add and update contacts, tag them, build segments from conditions, and attach segments to a campaign so their contacts become its leads. Tools: add_contact, search_contacts, get_contact, update_contact_fields, bulk_edit_contacts, add_tag, remove_tag, list_segment_fields, preview_segment, create_segment, update_segment, set_segment_members, list_segments, get_segment, set_campaign_segments, add_segment_to_campaign, list_campaign_segments.","tags":["prospects","leads","contacts","segments"],"examples":["{\"tool\":\"add_contact\",\"arguments\":{\"email\":\"jane@example.com\",\"first_name\":\"Jane\"}}","{\"tool\":\"add_segment_to_campaign\",\"arguments\":{\"campaign_id\":\"<campaign id>\",\"segment_id\":\"<segment id>\"}}"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"manage-sending-accounts","name":"Manage sending accounts","description":"Inspect and configure the mailboxes already connected to the workspace: settings, warmup, tracking domain, warmup pool standing, and disconnecting. Connecting a new mailbox needs its credentials and is done in the dashboard or CLI. Tools: list_mailboxes, get_mailbox, update_mailbox, set_mailbox_warmup, set_mailbox_tracking_domain, get_warmup_ban_status, disconnect_mailbox.","tags":["mailboxes","sending-accounts","warmup","deliverability"],"examples":["{\"tool\":\"list_mailboxes\",\"arguments\":{}}","{\"tool\":\"set_mailbox_warmup\",\"arguments\":{\"email_account_id\":\"<mailbox id>\",\"action\":\"start\"}}"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"send-email","name":"Send email","description":"Send a new email or a reply into an inbox thread from a connected mailbox, draft a reply without sending, and list or cancel queued sends. Every send is checked against the credential's send policy, suppression and mailbox health, and may wait for human approval. Tools: compose_email, send_reply, draft_reply, list_scheduled_sends, cancel_scheduled_send.","tags":["email","sending","replies"],"examples":["{\"tool\":\"compose_email\",\"arguments\":{\"to\":\"jane@example.com\",\"subject\":\"Quick question\",\"body\":\"Hi Jane, ...\"}}"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]},{"id":"get-campaign-results","name":"Get campaign results","description":"Read campaign and workspace performance: sends, opens, clicks, replies and rates per step, the campaign activity log, lead status, inbox threads and the emails sent to a contact. Tools: get_campaign_stats, get_campaign_logs, list_campaign_leads, get_dashboard_analytics, list_threads, get_thread, get_contact_sent_emails.","tags":["analytics","campaigns","results","replies"],"examples":["{\"tool\":\"get_campaign_stats\",\"arguments\":{\"campaign_id\":\"<campaign id>\"}}"],"inputModes":["application/json"],"outputModes":["application/json","text/plain"]}],"provenance":[{"source":"registry","first_seen":"2026-09-28T02:55:28.447203+00:00"}],"recent_probes":[{"fetched_at":"2026-09-28T02:55:28.447203+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":157,"live_responds":false}],"catalog_attestation":null,"operator_revenue_evidence":{"evidence_class":"operator_submitted","authenticity":{"rung":"no_operator_evidence","rank":0,"why":"No verifiable operator evidence has been submitted for this agent.","thresholds":{"min_independent_payers":3,"min_verified_usd":25.0},"engine_table":"agent_authenticity","merge_rule":"max(existing_rank, rank)"},"metric_metadata":{"provenance":"operator_submitted_evidence","confidence":"attested","coverage":{"numerator":0},"as_of":"2026-09-28T04:45:00.263792+00:00","definition":"Revenue proofs submitted by the verified owner and re-checked by Agenstry against the settlement chain or the operator's own Stripe account. Only independently confirmed proofs are counted."},"counts":{"retained":0,"verified":0,"unverifiable":0},"verified":{"gross_usd":0.0,"transactions":0,"independent_payers":0},"detail_url":"https://agenstry.com/api/agents/api.sendsetsapi.com/evidence","dispute_url":"https://agenstry.com/agents/api.sendsetsapi.com/dispute"},"verification_history":[],"signatures":[{"protected":"eyJhbGciOiJFUzI1NiIsImprdSI6Imh0dHBzOi8vYWdlbnN0cnkuY29tLy53ZWxsLWtub3duL2p3a3MuanNvbiIsImtpZCI6ImFnZW50ZmluZGVyLWVzMjU2LTEiLCJ0eXAiOiJKT1NFIn0","signature":"Ml6GfQtHM9Jv6CC3nx0VjxByyo0ABcb2o2Z8C9xPCuAziX_eJuuQLCkryNDFl2Ctd2T-u2NqpbWwhAjRaJqpWA"}]}