# Stardex Help Docs > AI native ATS & CRM for search firms - [Using Stardex CRM for Business Development](https://docs.stardex.com/help-center/using-stardex-crm-for-business-development.md): Learn how to use Stardex as a CRM to manage your firm's business development pipeline — from tracking deals and client companies to adding contacts and converting won deals into active searches. - [Ringover Integration](https://docs.stardex.com/help-center/ringover-integration.md): Connect Ringover to Stardex for click-to-call, SMS, and automatic call transcript logging on candidate and contact profiles. - [Introduction](https://docs.stardex.com/api-reference/introduction-v1.md): Get started with the Stardex API - [Generate an activity & stage-change report](https://docs.stardex.com/api-reference/activity-reports/generate-an-activity-&-stage-change-report.md): Aggregates recruiter activity, candidate sourcing, pipeline stage changes, campaign enrollments, and tasks for the requested date window. Group by recruiter, job, or company. Mirrors the in-app "Generate report" surface and is the recommended way to produce daily / weekly / monthly performance repor… - [List calendar meetings](https://docs.stardex.com/api-reference/calendar-meetings/list-calendar-meetings.md): Retrieve a paginated list of calendar meetings tracked by the notetaker. - [Get calendar meeting by ID](https://docs.stardex.com/api-reference/calendar-meetings/get-calendar-meeting-by-id.md): Retrieve detailed information about a specific calendar meeting including all associated recordings and their processing status. - [Update candidate stage](https://docs.stardex.com/api-reference/candidates/update-candidate-stage.md): Moves a candidate to a different pipeline stage within a job. - [List rejection reasons](https://docs.stardex.com/api-reference/candidates/list-rejection-reasons.md): Retrieve active rejection reasons configured for the requesting team. Use a returned `id` as `rejection_reason_id` when moving a candidate to a rejection stage with `POST /v1/candidates/update-stage`. - [Get candidate by ID](https://docs.stardex.com/api-reference/candidates/get-candidate-by-id.md): Retrieve detailed information about a single candidate including their full pipeline stage history (all stages they have been through with dates). - [Remove candidate from job](https://docs.stardex.com/api-reference/candidates/remove-candidate-from-job.md): Remove a candidate from a job pipeline (soft archive). - [List client contact statuses](https://docs.stardex.com/api-reference/client-contacts/list-client-contact-statuses.md): Returns all client contact statuses for the organization, ordered by stage_order. No pagination — the full list is always returned. - [Create client contact](https://docs.stardex.com/api-reference/client-contacts/create-client-contact.md): Promote an existing person into a client contact by linking them to a client company. The associated company is automatically flagged as a client. - [Update client contact status](https://docs.stardex.com/api-reference/client-contacts/update-client-contact-status.md): Update a client contact's status. Pass a valid status UUID to change the status, or null to clear it. - [List company client statuses](https://docs.stardex.com/api-reference/companies/list-company-client-statuses.md): Returns all company client statuses for the organization, ordered by stage_order. No pagination — the full list is always returned. - [Search companies](https://docs.stardex.com/api-reference/companies/search-companies.md): Advanced company search with filtering, sorting, and custom attribute filters. - [Create or update company](https://docs.stardex.com/api-reference/companies/create-or-update-company.md): Create a new company record or update an existing one. Matching is done by LinkedIn URL, domain, or name. At least one of name, domain, or linkedin_url must be provided. - [Get company by ID](https://docs.stardex.com/api-reference/companies/get-company-by-id.md): Retrieve detailed information about a specific company including client status, owners, enriched data, and custom field values. Custom fields are included by default; pass `include=` (empty) for base fields only. - [Update company](https://docs.stardex.com/api-reference/companies/update-company.md): Update an existing company's information including name, domain, description, custom field values, and do-not-contact status. Only provided fields are updated; omitted fields remain unchanged. - [List company document types](https://docs.stardex.com/api-reference/companies/list-company-document-types.md): Returns every active company document type for the organization, ordered by name. No pagination — the full list is always returned. - [Get company documents](https://docs.stardex.com/api-reference/companies/get-company-documents.md): Retrieve a paginated list of documents attached to a company, including pitch decks, client information, fee agreements, and legal documents. Stored files receive short-lived signed download URLs; re-fetch when a URL expires. Pass include_text=true to receive extracted plain-text content when it is… - [Upload company document](https://docs.stardex.com/api-reference/companies/upload-company-document.md): Upload a document for a company. Supports two modes: - [List company activity types](https://docs.stardex.com/api-reference/company-activities/list-company-activity-types.md): Returns every activity type registered for the requesting team — built-in types (e.g. `secondary_note`, `call_note`, `meeting_note`, `email`) and any custom types defined under Settings → Activity Types. No pagination — the full list is returned in a single response. - [List company activities](https://docs.stardex.com/api-reference/company-activities/list-company-activities.md): Returns a paginated list of activities (notes) attached to a company. Filtered by `organization_company_id` (required). Optionally filter by `activity_types` / `excluded_activity_types` (comma-separated keys from GET /v1/company-activities/types). Sorted by `created_at` descending. - [Create company activity (note)](https://docs.stardex.com/api-reference/company-activities/create-company-activity-note.md): Log a new activity (note, call note, meeting note, email, etc.) on a company record. The activity_type must be a key registered for the team — discover valid keys with `GET /v1/company-activities/types`. - [Get company activity by ID](https://docs.stardex.com/api-reference/company-activities/get-company-activity-by-id.md): Retrieve a single company activity by its UUID. Returns content in both HTML and plain-text formats plus the creator team member. - [Update company activity (note) by ID](https://docs.stardex.com/api-reference/company-activities/update-company-activity-note-by-id.md): Update the content of an existing company activity. Set `content_type` to `"text"` for plain text (auto-converted to HTML) or `"html"` for raw HTML input. - [List AI-extracted insights for a company](https://docs.stardex.com/api-reference/company-insights/list-ai-extracted-insights-for-a-company.md): Returns AI-extracted, dismissable facts about a company that were derived from candidate notes and meeting transcripts. - [Edit content or dismiss/restore an insight](https://docs.stardex.com/api-reference/company-insights/edit-content-or-dismissrestore-an-insight.md): Update the fact text (sets `is_user_edited=true`) and/or set its status to `dismissed` (hides from search context and the UI) or `active`. - [Dismiss multiple insights at once](https://docs.stardex.com/api-reference/company-insights/dismiss-multiple-insights-at-once.md): Marks all provided insight IDs as `dismissed`. Already-dismissed ones are ignored. - [Manually extract insights from an activity](https://docs.stardex.com/api-reference/company-insights/manually-extract-insights-from-an-activity.md): Runs the AI extraction pipeline on a specific activity (e.g. a secondary note or meeting transcript). Useful for re-running extraction or bypassing the cron. - [Get person custom field definitions](https://docs.stardex.com/api-reference/custom-fields/get-person-custom-field-definitions.md): Retrieve custom attribute definitions for persons, including available tag options for select-type fields. - [Get company custom field definitions](https://docs.stardex.com/api-reference/custom-fields/get-company-custom-field-definitions.md): Retrieve custom attribute definitions for companies, including available tag options. - [Get job custom field definitions](https://docs.stardex.com/api-reference/custom-fields/get-job-custom-field-definitions.md): Retrieve custom attribute definitions for jobs, including available tag options. - [Get deal custom field definitions](https://docs.stardex.com/api-reference/custom-fields/get-deal-custom-field-definitions.md): Retrieve custom attribute definitions for deals, including available tag options. - [List deal activities](https://docs.stardex.com/api-reference/deal-activities/list-deal-activities.md): Returns a paginated list of activities (notes) attached to a deal. Filtered by `deal_id` (required). Optionally filter by `activity_types` / `excluded_activity_types` (comma-separated keys). Sorted by `created_at` descending. - [Create deal activity (note)](https://docs.stardex.com/api-reference/deal-activities/create-deal-activity-note.md): Log a new activity (note, call note, meeting note, email, etc.) on a deal record. Standard activity_type keys: `secondary_note`, `call_note`, `meeting_note`, `email`, `linkedin_message`, `text_message`. Free-form strings are accepted — there is no team-level type registry for deals. - [Get deal activity by ID](https://docs.stardex.com/api-reference/deal-activities/get-deal-activity-by-id.md): Retrieve a single deal activity by its UUID. Returns content in both HTML and plain-text formats plus the creator team member. - [Update deal activity (note) by ID](https://docs.stardex.com/api-reference/deal-activities/update-deal-activity-note-by-id.md): Update the content of an existing deal activity. Set `content_type` to `"text"` for plain text (auto-converted to HTML) or `"html"` for raw HTML input. - [List deal statuses](https://docs.stardex.com/api-reference/deals/list-deal-statuses.md): Returns all deal statuses for the organization, ordered by stage_order. No pagination — the full list is always returned. - [Search deals](https://docs.stardex.com/api-reference/deals/search-deals.md): Search and filter deals with pagination and sorting using the deals_list_query RPC. - [Get deal by ID](https://docs.stardex.com/api-reference/deals/get-deal-by-id.md): Retrieve a single deal by UUID, including won/lost reasons and notes, with optional custom field values. - [Archive deal](https://docs.stardex.com/api-reference/deals/archive-deal.md): Archive a deal by marking it as deleted. The record is retained and can be found with the `show_archived` search filter, fetched by ID, or unarchived with `PATCH /v1/deals/{id}` (`is_archived: false`). - [Update deal](https://docs.stardex.com/api-reference/deals/update-deal.md): Update an existing deal, including won/lost reason IDs and notes. Only provided fields are modified; omitted fields remain unchanged. - [Create deal](https://docs.stardex.com/api-reference/deals/create-deal.md): Create a new deal record. Provide `client_linkedin_url` to automatically look up or create the client company when `client_id` is not known. - [List job activities](https://docs.stardex.com/api-reference/job-activities/list-job-activities.md): Returns a paginated list of activities (notes) attached to a job. Filtered by `job_id` (required). Optionally filter by `activity_types` / `excluded_activity_types` (comma-separated keys). Sorted by `created_at` descending. - [Create job activity (note)](https://docs.stardex.com/api-reference/job-activities/create-job-activity-note.md): Log a new activity (note, call note, meeting note, email, etc.) on a job record. Standard activity_type keys: `secondary_note`, `call_note`, `meeting_note`, `email`, `linkedin_message`, `text_message`. Free-form strings are accepted — there is no team-level type registry for jobs. - [Get job activity by ID](https://docs.stardex.com/api-reference/job-activities/get-job-activity-by-id.md): Retrieve a single job activity by its UUID. Returns content in both HTML and plain-text formats plus the creator team member. - [Update job activity (note) by ID](https://docs.stardex.com/api-reference/job-activities/update-job-activity-note-by-id.md): Update the content of an existing job activity. Set `content_type` to `"text"` for plain text (auto-converted to HTML) or `"html"` for raw HTML input. - [List jobs (deprecated)](https://docs.stardex.com/api-reference/jobs/list-jobs-deprecated.md): **Deprecated** — Use `POST /v1/jobs/search` instead for full filtering, sorting, and vector search. - [Create job](https://docs.stardex.com/api-reference/jobs/create-job.md): Create a new job with company association, pipeline template, and team member assignments. The company will be matched or created automatically based on the identifiers provided. Optionally link existing deals by passing deal_ids — each deal must belong to the same team (resolve IDs via POST /v1/dea… - [Search jobs](https://docs.stardex.com/api-reference/jobs/search-jobs.md): Advanced job search with filtering, sorting, and vector search. Supports all filter types: keywords, location, job status, companies, team members/roles, custom attributes (select, numeric, date, team member), and semantic vector search. - [Get job by ID](https://docs.stardex.com/api-reference/jobs/get-job-by-id.md): Retrieve detailed information about a specific job including pipeline stages, team members with roles, candidate count, custom field values, linked client contacts, linked CRM deals, and fee & placement data (retainer structure, billing events, and total placement fee from the "Fees and Placements"… - [Update job](https://docs.stardex.com/api-reference/jobs/update-job.md): Update fields on an existing job (title, job_description, status, location, salary range, salary details, billing contact name/email, fee, dates, archive state, linked deals, linked client contacts, custom fields). Use GET /v1/jobs/statuses for valid status IDs, GET /v1/custom-fields/jobs for custom… - [List job candidates](https://docs.stardex.com/api-reference/jobs/list-job-candidates.md): Retrieve a paginated list of ALL candidates in a specific job — no filtering. - [List job document types](https://docs.stardex.com/api-reference/jobs/list-job-document-types.md): Returns every active job document type for the organization, ordered by name. No pagination — the full list is always returned. - [Get job documents](https://docs.stardex.com/api-reference/jobs/get-job-documents.md): Retrieve a paginated list of documents attached to a job, including job descriptions, contracts, offer letters, and legal documents. Stored files receive short-lived signed download URLs; re-fetch when a URL expires. Pass include_text=true to receive extracted plain-text content when it is available… - [Upload job document](https://docs.stardex.com/api-reference/jobs/upload-job-document.md): Upload a document for a job. Supports two modes: - [Add job target companies](https://docs.stardex.com/api-reference/jobs/add-job-target-companies.md): Add companies to a job target company list in bulk. Resolve company IDs with POST /v1/companies/search first. Invalid company IDs fail individually and do not block other valid IDs in the same request. - [Remove job target companies](https://docs.stardex.com/api-reference/jobs/remove-job-target-companies.md): Remove companies from a job target company list in bulk. Resolve company IDs with POST /v1/companies/search first. Invalid company IDs fail individually and do not block other valid IDs in the same request. - [List job team member roles](https://docs.stardex.com/api-reference/jobs/list-job-team-member-roles.md): Retrieve all job team member roles for the current team. Use the returned `id` values when filtering by `team_member_role_ids` in `POST /v1/jobs/search` or `POST /v1/persons/search`. - [List job statuses](https://docs.stardex.com/api-reference/jobs/list-job-statuses.md): Retrieve all job statuses for the team. Use the returned `id` values when filtering by `job_status_ids_included` in POST /v1/jobs/search or assigning `job_status_id` in PATCH /v1/jobs/{id}. - [Search lists](https://docs.stardex.com/api-reference/lists/search-lists.md): Search and filter saved lists with pagination and sorting. - [Get list by ID](https://docs.stardex.com/api-reference/lists/get-list-by-id.md): Retrieve a single list by UUID with its paginated items. - [Create list](https://docs.stardex.com/api-reference/lists/create-list.md): Create a new saved list. Lists can hold either persons or companies, determined by `list_type`. Optionally link to a job, person, or company. - [Add list items](https://docs.stardex.com/api-reference/lists/add-list-items.md): Add persons or companies to a saved list in bulk. Invalid IDs fail individually and do not block other IDs in the same request. Soft-deleted memberships are restored instead of duplicated. - [Remove list items](https://docs.stardex.com/api-reference/lists/remove-list-items.md): Soft-remove persons or companies from a saved list in bulk. Invalid IDs fail individually and do not block other IDs in the same request. - [List meeting recordings](https://docs.stardex.com/api-reference/meeting-recordings/list-meeting-recordings.md): Retrieve a paginated list of meeting recordings with optional filters. - [Get meeting recording by ID](https://docs.stardex.com/api-reference/meeting-recordings/get-meeting-recording-by-id.md): Retrieve detailed information about a specific meeting recording including the associated calendar meeting details and full transcript text. - [List person activity types](https://docs.stardex.com/api-reference/person-activities/list-person-activity-types.md): Returns every activity type registered for the requesting team, including built-in types (e.g. `secondary_note`, `email`, `meeting_note`) and any custom types defined under Settings → Activity Types. No pagination — the full list is returned in a single response. - [Create person activity](https://docs.stardex.com/api-reference/person-activities/create-person-activity.md): Create a new activity (note, meeting, email, etc.) and attach it to a person record. The person can be identified by `person_id`, `email`, `linkedin_url`, or `full_name` — at least one is required. - [Get person activity by ID](https://docs.stardex.com/api-reference/person-activities/get-person-activity-by-id.md): Retrieve a single physical person activity by its UUID. Returns content in both HTML and plain text formats. Synthetic timeline activities, including `pipeline_status` entries, are not stored in `person_activities` and cannot be fetched from this endpoint. - [Delete person activity by ID](https://docs.stardex.com/api-reference/person-activities/delete-person-activity-by-id.md): Remove a person activity from the person timeline. Deleted activities cannot be retrieved or updated. - [Update person activity by ID](https://docs.stardex.com/api-reference/person-activities/update-person-activity-by-id.md): Update an existing person activity. You can change the content, the activity type, or both. - [List persons (deprecated)](https://docs.stardex.com/api-reference/persons/list-persons-deprecated.md): **Deprecated** — Use `POST /v1/persons/search` instead for full filtering, sorting, and include control. - [Create person](https://docs.stardex.com/api-reference/persons/create-person.md): Create a new person record with contact details and optional job association. Returns the created person with IDs for further operations. - [Advanced person search](https://docs.stardex.com/api-reference/persons/advanced-person-search.md): The primary tool for finding and filtering persons across the entire database. All filters are optional and combinable. Use this instead of list-persons for any filtered query. - [Get person by ID](https://docs.stardex.com/api-reference/persons/get-person-by-id.md): Retrieve detailed information about a specific person by their UUID. - [Update person](https://docs.stardex.com/api-reference/persons/update-person.md): Update an existing person's information including contact details, job title, company, do-not-contact status, and custom field values. Only provided fields are updated; omitted fields remain unchanged. - [Create person compensation](https://docs.stardex.com/api-reference/persons/create-person-compensation.md): Create a compensation history record for a person. Use this for current, desired, or minimum compensation details. If `job_id` is provided, the person must already be a candidate on that job. - [Delete person compensation](https://docs.stardex.com/api-reference/persons/delete-person-compensation.md): Delete one compensation history record from a person. - [Update person compensation](https://docs.stardex.com/api-reference/persons/update-person-compensation.md): Update one compensation history record for a person. Only provided fields are changed; pass null for nullable fields to clear them. - [Get unified person activities](https://docs.stardex.com/api-reference/persons/get-unified-person-activities.md): Retrieve a unified, paginated timeline of all activities for a person. Aggregates notes, emails, tasks, calendar events, sequence enrollments, pipeline stage changes, and assessments. Supports filtering by activity type, team member, job, date range (created_at_gte / created_at_lte), and text search… - [Get person documents](https://docs.stardex.com/api-reference/persons/get-person-documents.md): Retrieve a paginated list of documents (resumes, cover letters, transcripts, work samples, assessments, etc.) for a person. Each document includes a short-lived signed download URL that expires in minutes — re-fetch if the link expires. Pass include_text=true to also receive extracted plain-text con… - [Upload person document](https://docs.stardex.com/api-reference/persons/upload-person-document.md): Upload a document (resume, cover letter, etc.) for a person. Supports two modes: - [List person document types](https://docs.stardex.com/api-reference/persons/list-person-document-types.md): Returns every active person document type for the organization, ordered by name. No pagination — the full list is always returned. - [Search scorecard templates](https://docs.stardex.com/api-reference/scorecards/search-scorecard-templates.md): Search and filter scorecard templates (the assessment rubrics used to score candidates) with pagination and sorting. - [Get scorecard template by ID](https://docs.stardex.com/api-reference/scorecards/get-scorecard-template-by-id.md): Retrieve a single scorecard template by its UUID, including all criteria (active + archived). - [Archive scorecard template](https://docs.stardex.com/api-reference/scorecards/archive-scorecard-template.md): Archives the scorecard template (soft delete) so it is hidden from selection. Past scorecards that reference this template remain readable. - [Update scorecard template](https://docs.stardex.com/api-reference/scorecards/update-scorecard-template.md): Update an existing scorecard template. Only provided fields are modified. - [Create scorecard template](https://docs.stardex.com/api-reference/scorecards/create-scorecard-template.md): Create a new scorecard template (assessment rubric) with optional criteria. - [Search scorecards](https://docs.stardex.com/api-reference/scorecards/search-scorecards.md): Search and filter scorecards (candidate evaluations) with pagination and sorting. - [Get scorecard by ID](https://docs.stardex.com/api-reference/scorecards/get-scorecard-by-id.md): Retrieve a single scorecard by its UUID, including criterion ratings (sorted by criterion position), embedded template, job, and creator. - [Delete scorecard](https://docs.stardex.com/api-reference/scorecards/delete-scorecard.md): Permanently deletes a scorecard and its criterion ratings. - [Update scorecard](https://docs.stardex.com/api-reference/scorecards/update-scorecard.md): Update an existing scorecard. Only provided fields are modified. - [Create scorecard](https://docs.stardex.com/api-reference/scorecards/create-scorecard.md): Create a new scorecard (candidate evaluation) for a person. - [Search tasks](https://docs.stardex.com/api-reference/tasks/search-tasks.md): Search and filter tasks with pagination and sorting. - [Get task by ID](https://docs.stardex.com/api-reference/tasks/get-task-by-id.md): Retrieve a single task by its UUID, including owner information. - [Delete task](https://docs.stardex.com/api-reference/tasks/delete-task.md): Permanently delete a task by its UUID. Deleting a task that blocks a sequence enrollment automatically advances that enrollment, equivalent to continuing the blocked sequence stage. - [Update task](https://docs.stardex.com/api-reference/tasks/update-task.md): Update an existing task. Only provided fields are modified; omitted fields remain unchanged. - [Create task](https://docs.stardex.com/api-reference/tasks/create-task.md): Create a new task with required content and type. Optionally associate with a person, deal, client, or job. When `owner_ids` is omitted or empty, the authenticated team member is assigned; API-key requests without a team member create an ownerless task. - [List team members](https://docs.stardex.com/api-reference/team-members/list-team-members.md): Retrieve a paginated list of team members (recruiters and staff). Supports filtering by active status, first name, last name, and email address. - [Get team member by ID](https://docs.stardex.com/api-reference/team-members/get-team-member-by-id.md): Retrieve a single team member by UUID. Useful for resolving team member IDs from webhook payloads (e.g. `sourced_by_team_member`, `last_stage_updated_by`, `owner_id`). - [Get webhook management portal URL](https://docs.stardex.com/api-reference/webhooks/get-webhook-management-portal-url.md): Returns a Svix App Portal magic link URL for the current team. Embed in an iframe or open directly for endpoint management, delivery logs, and replay. - [Introduction](https://docs.stardex.com/api-reference/introduction.md): Get started with the Stardex API - [Get person details](https://docs.stardex.com/api-reference/endpoint/get-persons.md): Returns person details by LinkedIn URL or ID - [Create a new person](https://docs.stardex.com/api-reference/endpoint/post-persons.md): Creates a new person record with comprehensive profile information. - Creates associated work experience if company and job title provided - Links person to job/candidate if job details provided - Links person as client contact if client details provided - Handles multiple co… - [Search for persons](https://docs.stardex.com/api-reference/endpoint/search-persons.md): Search for persons using various criteria: - Email/Phone search: Exact match, returns all matching persons - Name search: Partial match (case-insensitive), returns up to 20 results - At least one search parameter (email, phone, or name) must be provided - Results include basic person… - [Update person details](https://docs.stardex.com/api-reference/endpoint/update-persons.md): Updates a person's information including contact details and professional information. - Contact details (emails/phones) are upserted - existing records are updated, new ones are added - Professional details are updated if provided - All fields are optional - only provided fields w… - [Add a person activity](https://docs.stardex.com/api-reference/endpoint/add-person-activities.md): Creates a new activity for a person - [Get a person activity](https://docs.stardex.com/api-reference/endpoint/get-person-activity.md): Retrieves a person activity by ID with its content in both HTML and raw text formats - [Update a person activity](https://docs.stardex.com/api-reference/endpoint/update-person-activities.md): Updates the content of an existing person activity. Supports both plain text and HTML content formats. - For plain text, the content will be wrapped in a paragraph structure - For HTML, the content will be parsed and converted to the appropriate format while preserving formatting… ## OpenAPI Specs - [openapi-v1](/api-reference/openapi-v1.json) - [openapi-zapier](/api-reference/openapi-zapier.json) - [openapi](/api-reference/openapi.json) ## Optional - [Home page](https://www.stardex.com) - [Blog](https://www.stardex.com/blog)