Contacts
Unreject a lead
Reverses a rejection: clears rejected_at, rejected_by_user_id and the stored reason, and puts the contact back in its agent's pipeline (agent_status new), where it is scored again against the current ICP. This does not approve the lead: ready_for_campaign stays false until the agent accepts it, or until you update it with ready_for_campaign set to true. Campaign steps that were stopped are not restarted. Needs the contacts:write scope.
https://app.replysparrow.com/api/v1/contacts/{id}/unrejectAuthorizations
Path Parameters
Contact id
Response
application/jsonThe contact with all rejection fields cleared
Workspace the contact belongs to
First name
Last name
Full name (built from first_name and last_name when not sent)
LinkedIn headline
LinkedIn About section
Current job title
Seniority level
Months in the current role
LinkedIn profile URL
LinkedIn member id (URN)
Profile picture URL
LinkedIn connection degree with your seat (1, 2 or 3)
Location of the contact
City
Country
IANA time zone
Current company name
Linked company record
Employee count of the current company
Industry of the current company
Headquarters of the current company
LinkedIn company page URL
Company logo URL
What the company does
Personal or company website
Dates of the current position
Primary email address
Result of the last email check: valid, invalid, risky, catch_all or unknown
When the email was last verified
1 when the email domain accepts every address
Primary phone number
Buying-signal score from the contact's signals (0-100)
ICP fit score (0-100), set once the contact is scored
ICP verdict, e.g. fit or not_fit
Why the contact does or does not fit the ICP
How sure the ICP verdict is: high, medium or low
Combined lead score (0-100): fit, signals, recency and relevance
When the contact was last scored
Where the contact came from, e.g. api, csv, agent
Lead source agent that sourced the contact
Where the contact is in its agent's pipeline: new, qualified, enrolled, skipped (rejected), ...
Why the contact was rejected or skipped
1 when someone added the contact by hand
Workspace member who owns the contact
Internal notes
When the LinkedIn invitation was sent
When the LinkedIn connection was accepted
Last LinkedIn message sent
Last InMail sent
Last reply on LinkedIn
Last reply by email
How the last reply was classified, e.g. interested, not_interested, out_of_office
When the profile was last enriched
Creation timestamp
Public LinkedIn identifier taken from linkedin_url, e.g. johndoe
Skills from the LinkedIn profile
An email to the contact bounced, or its address was found invalid
The contact unsubscribed from your emails
The person is on your blocklist
The contact's company is on your blocklist
The contact has an email that was found or verified
The contact has a phone number
An email lookup is running for the contact
A phone lookup is running for the contact
The contact's agent accepted it, so its campaign can reach out
The contact is or was enrolled in a campaign
Where the contact stands overall
Available options: newin_campaignfinishedrepliedrejected
When this contact was rejected (null when it is not rejected)
User who rejected this contact
Stable rejection reason code
Available options: company_competitorcompany_wrong_industry_or_typecompany_wrong_sizecompany_wrong_locationcontact_wrong_title_or_functioncontact_wrong_senioritycontact_known_or_duplicatedata_incorrect_or_outdatedsignal_not_relevantothernull
Free-text reason when other was submitted with text
Intent or activity description: the title of the contact's most recent signal
Intent type of the most recent signal, e.g. job_change, funding or custom
Keyword of the most recent signal (its metadata.keyword), e.g. demo_booked
The contact's progress in each campaign and channel
The contact's signals, newest first (up to 50)
Workspace custom field values, by field key
The lead source agent the contact belongs to, as Get a source agent returns it
Lists the contact belongs to
curl --request POST \ --url https://app.replysparrow.com/api/v1/contacts/string/unreject \ --header 'Authorization: Bearer <token>'{ "id": "8f1c2c3e-5b7a-4a51-9d0e-2b6f8f6d9c11", "workspace_id": "ws_123", "first_name": "Ada", "last_name": "Lovelace", "full_name": "Ada Lovelace", "headline": "CTO at Analytical Engines", "summary": null, "title": "CTO", "seniority": null, "tenure_months": null, "linkedin_url": "https://www.linkedin.com/in/ada-lovelace", "sales_nav_url": null, "linkedin_member_urn": null, "profile_image_url": null, "degree": null, "location": "London, UK", "city": null, "country": null, "time_zone": null, "company": "Analytical Engines", "company_id": null, "company_size": 120, "company_industry": "Software Development", "company_location": null, "company_linkedin_url": null, "company_logo_url": null, "company_description": null, "website": null, "position_dates": "2023 - Present", "email": "ada@example.com", "email_status": "valid", "email_verified_at": null, "email_domain_catchall": null, "phone": "+441234567890", "intent_score": 25, "fit_score": 88, "fit_verdict": "fit", "fit_reason": null, "fit_confidence": null, "lead_score": 82, "scored_at": null, "lead_source": "api", "agent_id": null, "agent_status": "new", "skip_reason": null, "hand_picked": 0, "owner_id": null, "notes": null, "connection_requested_at": null, "connected_at": null, "message_sent_at": null, "inmail_sent_at": null, "last_replied_at": null, "email_replied_at": null, "reply_kind": null, "enriched_at": null, "created_at": "2026-10-01 09:12:44", "linkedin_identifier": "ada-lovelace", "skills": [ "Mathematics", "Engineering" ], "bounced": false, "unsubscribed": false, "blocked": false, "company_blocked": false, "email_enriched": true, "phone_enriched": true, "enriching_email": false, "enriching_phone": false, "ready_for_campaign": false, "has_started_campaign": true, "state": "in_campaign", "rejected_at": null, "rejected_by_user_id": null, "rejection_reason": null, "rejection_reason_text": null, "intent": "Became CTO at Analytical Engines", "intent_type": "job_change", "intent_keyword": null, "campaign_status": [ { "campaign_id": "a3f1c2d4-0000-4000-8000-000000000001", "campaign_name": "Q4 founders", "track": "linkedin", "state": "in_progress", "current_step": 2, "next_step_at": "2026-10-26 09:00:00" } ], "signals": [ { "id": "c7e0e0a2-2f4b-4c1e-9d55-0b9a4e3f1a10", "contact_id": "8f1c2c3e-5b7a-4a51-9d0e-2b6f8f6d9c11", "type": "job_change", "title": "Became CTO at Analytical Engines", "description": null, "score": 25, "source": "linkedin", "source_url": null, "occurred_at": "2026-09-28T00:00:00.000Z", "metadata": {}, "created_at": "2026-09-28T08:00:00.000Z" } ], "custom_fields": { "favorite_tool": "Notion" }, "agent": { "id": "5b0f3c2e-8a8e-4bd1-9a51-6f1f3c0f2a10", "name": "VP Sales in US SaaS", "target_job_titles": [ "VP Sales", "Head of Sales" ], "target_industries": [ "Software Development" ], "target_company_sizes": [ "51-200", "201-500" ], "target_locations": [ "United States" ], "target_company_types": [], "ignored_companies": [ "Globex" ], "mandatory_keywords": [], "exclude_service_providers": true, "skip_icp_filter": false, "signals": [ { "id": "8e2d…", "type": "competitor_engagement", "values": [ "https://www.linkedin.com/company/globex/" ], "enabled": true } ], "paused": false, "status": "active", "min_lead_score": 70, "list_id": "c1a4…", "last_run": null, "last_error": null, "created_at": "2026-10-24T09:12:44.000Z", "updated_at": "2026-10-24T09:12:44.000Z" }, "lists": [ { "id": "list_1", "name": "Q4 targets", "campaigns": [ { "id": "5b0c6c1e-8a43-4f7e-9d7d-1f8a2b3c4d5e", "name": "Q4 founders", "active": false, "channel": "linkedin", "status": "draft", "goal": "conversations", "tone": "professional", "language": null, "booking_url": null, "exclude_first_degree": true, "split_messages": false, "skip_invitation_after_days": 7, "linkedin_account_id": "acc_123", "email_account_id": null, "linkedin_account_ids": [ "acc_123" ], "email_account_ids": [], "list_id": "9f8e7d6c-0000-4000-8000-000000000001", "list_ids": [ "9f8e7d6c-0000-4000-8000-000000000002" ], "workflow_id": "wf_123", "steps": [ { "id": "st_1", "track": "linkedin", "order": 1, "type": "connect", "delay_days": null, "message": null, "connect_note": null, "email_subject": null, "email_body": null, "ai": true }, { "id": "st_2", "track": "linkedin", "order": 2, "type": "delay", "delay_days": 1, "message": null, "connect_note": null, "email_subject": null, "email_body": null, "ai": false }, { "id": "st_3", "track": "linkedin", "order": 3, "type": "message", "delay_days": null, "message": "Hi {{first_name}}, thanks for connecting!", "connect_note": null, "email_subject": null, "email_body": null, "ai": false } ], "created_at": "2026-10-24T09:12:44.000Z", "updated_at": "2026-10-24T09:12:44.000Z" } ] } ]}