> ## Documentation Index
> Fetch the complete documentation index at: https://docs.edges.run/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Sales Navigator Metrics Async

> Get Sales Navigator search metrics asynchronously. Results are delivered via callback.

<Tip>
  To run LinkedIn actions, you must first create an identity and connect a LinkedIn
  account, either using our [Chrome
  Extension](https://chromewebstore.google.com/detail/edges-labs/bippgnolleoecnhaninlfmdapbakklpf),
  [username/password login](/v1/api/linkedin/authentication), or [Managed
  Accounts](/v1/identities/sync-vs-managed) for a hassle-free setup.
</Tip>

<Info>
  The response contains a `total_leads` property indicating the total number of results for the search query.

  * If `total_leads` equals `0`, the search does not return any results
  * Use this property to verify if a search query returns data before running a full search
</Info>

<Note>
  **Callback Delivery**: Both `async` and `schedule` modes deliver results via the callback URL provided in your request.

  **Consistent Format**: All execution modes use the same action logic, so inputs and results are identical regardless of mode.

  **Error Handling**: Errors follow the [standard API error format](/v1/faq-troubleshooting#troubleshooting-errors).
</Note>

Using `async` and `schedule` modes, you have to implement some kind of callback management. Be sure to check the [Managing Callbacks](/v1/runs/callbacks) guide to better understand how it works and what your can do.


## OpenAPI

````yaml v1/api/actions.json post /actions/salesnavigator-search-metrics/run/async
openapi: 3.1.0
info:
  title: ED Automation External API
  description: This is the External API documentation for ED Automation
  version: dev
servers:
  - url: https://api.edges.run/v1
security:
  - XApiKeyAuth: []
paths:
  /actions/salesnavigator-search-metrics/run/async:
    post:
      tags:
        - actions / salesnavigator
      summary: Run salesnavigator-search-metrics action asynchronously
      operationId: salesnavigatorSearchMetricsAsync
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                parameters:
                  type: object
                  properties:
                    geo:
                      type: string
                      title: Geography
                      default: ''
                      description: >-
                        Filter employees by geography. Sales Navigator/LinkedIn
                        numbers describing the location you want to search
                        people in. For example 'Paris, Ile-de-France' is
                        101240143, 'Greater Lyon Area' is 90009674 and 'France'
                        is 105015875. To cumulate several location, you must
                        seprate each location with a comma.
                      x-display-widget: textbox
                    geography_excluded:
                      type: array
                      items:
                        type: number
                      title: Geography Excluded
                      default: []
                      description: Filter by locations (e.g. United States).
                      x-display-widget: textbox
                    function:
                      type: string
                      title: Function
                      default: ''
                      description: >-
                        Filter employees by function using Sales Navigator
                        numbers that describe the department you want to search
                        people in. For example, 'Sales' is represented by 25,
                        and 'Business Development' by 4. To select multiple
                        functions, separate each number with a comma without
                        spaces.
                      x-display-widget: textbox
                    function_excluded:
                      type: array
                      items:
                        type: number
                        enum:
                          - 1
                          - 2
                          - 3
                          - 4
                          - 5
                          - 6
                          - 7
                          - 8
                          - 9
                          - 10
                          - 11
                          - 12
                          - 13
                          - 14
                          - 15
                          - 16
                          - 17
                          - 18
                          - 19
                          - 20
                          - 21
                          - 22
                          - 23
                          - 24
                          - 25
                          - 26
                      title: Function Excluded
                      default: []
                      description: >-
                        Filter employees by function using Sales Navigator
                        numbers that describe the department you want to search
                        people in. For example, 'Sales' is represented by 25,
                        and 'Business Development' by 4. To select multiple
                        functions, separate each number with a comma without
                        spaces.
                      x-display-widget: textbox
                    seniority:
                      type: array
                      items:
                        type: string
                        enum:
                          - owner
                          - partner
                          - cxo
                          - vp
                          - director
                          - manager
                          - senior
                          - entry_manager
                          - entry
                          - training
                      title: Seniority Level
                      default: []
                      description: Filter employees by their seniority level.
                      x-display-widget: select
                    seniority_level_excluded:
                      type: array
                      items:
                        type: string
                        enum:
                          - owner
                          - partner
                          - cxo
                          - vp
                          - director
                          - manager
                          - senior
                          - entry_manager
                          - entry
                          - training
                      title: Seniority Level Excluded
                      default: []
                      description: Filter employees by their seniority level.
                      x-display-widget: select
                    employees_title:
                      type: string
                      title: Employees Title
                      default: ''
                      description: Add a title to the employees search.
                      x-display-widget: textbox
                    current_job_title_excluded:
                      type: array
                      items:
                        type: string
                      title: Job Title Excluded
                      default: []
                      description: Filter employees by title.
                      x-display-widget: textbox
                    exclude_saved_leads:
                      type: boolean
                      title: Exclude saved leads
                      default: false
                      description: Remove saved leads from search.
                      x-display-widget: checkbox
                    exclude_crm_contacts:
                      type: boolean
                      title: Exclude CRM Contacts
                      default: false
                      description: Remove CRM contacts from search.
                      x-display-widget: checkbox
                    exclude_viewed_leads:
                      type: boolean
                      title: Exclude Viewed Leads.
                      default: false
                      description: Remove viewed Leads from search.
                      x-display-widget: checkbox
                    keywords:
                      type: string
                      title: Employees Keywords
                      default: ''
                      description: Add keywords to the employees search.
                      x-display-widget: textbox
                  additionalProperties: false
                  default: {}
                name:
                  type: string
                  description: Optional user-defined label for the run.
                  maxLength: 255
                  nullable: true
                identity_ids:
                  type: array
                  description: >-
                    An array of Identity UUIDs linked to identities (e.g.
                    LinkedIn) used to execute the Action. You must provide at
                    least one valid UID with access to the integration. Do not
                    use account_uid values — only user_uid is supported.
                  items:
                    type: string
                    format: uuid
                  nullable: true
                  example:
                    - 44444444-4444-4444-4444-444444444444
                identity_mode:
                  type: string
                  enum:
                    - direct
                    - auto
                    - managed
                  default: direct
                  nullable: true
                  description: >-
                    If "auto", the Action will use any identities from the
                    current workspace (unless you have provided a list of
                    identity_ids). "managed" will use the Edges pool of
                    identities for an extra credit cost
                inputs:
                  type: array
                  items:
                    $ref: '#/components/schemas/SalesnavigatorSearchMetricsInput'
                  minItems: 1
                  maxItems: 100000
                callback:
                  type: object
                  properties:
                    url:
                      type: string
                      description: >-
                        URL to send the results to. The Action will send a POST
                        request with the results to this URL. The request will
                        include a JSON body with the results of the Action.
                      nullable: true
                      pattern: ^(https?:\/\/[^\s]+)$
                      example: https://example.com/callback
                    headers:
                      type: object
                      description: Headers to include in the callback request.
                      additionalProperties:
                        type: string
                    'on':
                      type: string
                      description: >-
                        Define when you want to receive callbacks. "all" will
                        send callbacks to stream outputs, "final" will send a
                        single callback when all inputs are processed or an
                        error occured on the run.
                      enum:
                        - all
                        - final
                      default: all
                  required:
                    - url
              additionalProperties: false
              required:
                - inputs
      responses:
        '200':
          $ref: '#/components/responses/ActionAsyncResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '424':
          $ref: '#/components/responses/FailedDependency'
        '500':
          $ref: '#/components/responses/InternalServerError'
      callbacks:
        onSave:
          '{$request.body#/callback/url}':
            post:
              responses:
                '200':
                  description: Callback successfully processed
              parameters:
                - name: X-Callback-Ref
                  in: header
                  required: true
                  schema:
                    type: string
                    format: uuid
                  description: >-
                    Stable identifier for the callback event. Remains the same
                    across retries.
                - name: X-Run-Callback
                  in: header
                  required: true
                  schema:
                    type: string
                    format: uuid
                  description: Unique identifier for each delivery attempt of the webhook.
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      type: object
                      properties:
                        callback_ref_uid:
                          type: string
                          format: uuid
                          description: >-
                            Stable callback identifier (remains identical across
                            retries). Used by clients for deduplication.
                        run:
                          type: object
                          properties:
                            run_uid:
                              type: string
                              format: uuid
                              description: Unique identifier of the run.
                            batch_uid:
                              type: string
                              format: uuid
                              description: >-
                                Unique identifier of the batch associated with
                                this run (internal use).
                            status:
                              type: string
                              enum:
                                - CREATED
                                - INVALID
                                - QUEUED
                                - SCHEDULED
                                - BLOCKED
                                - STOPPED
                                - RUNNING
                                - FAILED
                                - PARTIAL_SUCCEEDED
                                - SUCCEEDED
                              description: >-
                                Status of the run at the time this callback was
                                generated. This value does not change on retries
                                and may differ from the run’s current status.
                            scheduled_run_uid:
                              type: string
                              format: uuid
                              description: >-
                                Unique identifier of the scheduled run, if
                                applicable.
                          required:
                            - run_uid
                            - batch_uid
                            - status
                        input:
                          $ref: >-
                            #/components/schemas/SalesnavigatorSearchMetricsInput
                        error:
                          $ref: '#/components/schemas/APIError'
                        results_count:
                          type: integer
                          description: Number of results included in this callback.
                        results:
                          type: array
                          items:
                            $ref: >-
                              #/components/schemas/SalesnavigatorSearchMetricsOutput
                          description: Results of the current callback
                      required:
                        - callback_ref_uid
                        - run
              method: post
              type: path
            path: '{$request.body#/callback/url}'
components:
  schemas:
    SalesnavigatorSearchMetricsInput:
      type: object
      properties:
        custom_data:
          type: object
          additionalProperties: true
          description: Custom data (ex-metadata)
      anyOf:
        - type: object
          required:
            - sales_navigator_company_id
          properties:
            sales_navigator_company_id:
              pattern: /^\d+$/
              type: string
              x-primary: true
              x-required-variations:
                - sales_navigator_profile_search_url
        - type: object
          required:
            - sales_navigator_profile_search_url
          properties:
            sales_navigator_profile_search_url:
              pattern: >-
                /^https:\/\/(?:(www|[a-z]{2})\.)?linkedin\.com\/sales\/search\/people.+/
              type: string
              format: uri
              description: >-
                A Sales Navigator Company Search URL should start with
                'https://www.linkedin.com/sales/search/people'
              x-help: >-
                A Sales Navigator Company Search URL should start with
                'https://www.linkedin.com/sales/search/people'
      additionalProperties: false
    APIError:
      title: APIError
      description: >-
        Represents an error returned by the API. This schema defines the
        standard structure of error messages to ensure consistent error handling
        across the application.
      type: object
      properties:
        error_label:
          type: string
          nullable: true
        error_scope:
          type: string
          enum:
            - input
            - integ
            - param
            - config
          nullable: true
        error_ref:
          type: string
          examples:
            - ERR-12345
          nullable: true
        message:
          type: string
        status_code:
          type: integer
          nullable: true
        params:
          type: object
          patternProperties:
            ^[^_].*:
              anyOf:
                - type: string
                - type: number
                - type: boolean
                - type: 'null'
                - type: array
                  items:
                    type: string
          additionalProperties: false
          nullable: true
        data:
          type: object
          nullable: true
          additionalProperties: true
          description: Additional data about the error
      additionalProperties: false
    SalesnavigatorSearchMetricsOutput:
      type: object
      properties:
        sales_navigator_company_url:
          type: string
          format: uri
        company_name:
          type: string
        sales_navigator_company_id:
          type: integer
        linkedin_company_url:
          type: string
          format: uri
        total_leads:
          type: integer
        new_leads:
          type: string
        leads_posted_recently:
          type: string
        leads_mentioned_in_news:
          type: string
        leads_with_common_experience:
          type: string
        leads_following_your_company:
          type: string
        leads_past_colleague:
          type: string
        leads_teamlink_your_executives:
          type: string
        leads_viewed_profile_recently:
          type: string
    BadRequest:
      title: APIError
      description: >-
        Represents an error returned by the API. This schema defines the
        standard structure of error messages to ensure consistent error handling
        across the application.
      type: object
      properties:
        error_label:
          type: string
          nullable: true
        error_scope:
          type: string
          enum:
            - input
            - integ
            - param
            - config
          nullable: true
        error_ref:
          type: string
          nullable: true
          example: ERR-12345
        message:
          type: string
        status_code:
          type: integer
          nullable: true
        params:
          type: object
          additionalProperties:
            anyOf:
              - type: string
              - type: number
              - type: boolean
              - type: 'null'
              - type: array
                items:
                  type: string
          nullable: true
        data:
          type: object
          nullable: true
          additionalProperties: true
          description: Additional data about the error
      additionalProperties: false
    FailedDependency:
      title: APIError
      description: >-
        Represents an error returned by the API. This schema defines the
        standard structure of error messages to ensure consistent error handling
        across the application.
      type: object
      properties:
        error_label:
          type: string
          nullable: true
        error_scope:
          type: string
          enum:
            - input
            - integ
            - param
            - config
          nullable: true
        error_ref:
          type: string
          nullable: true
          example: ERR-12345
        message:
          type: string
        status_code:
          type: integer
          nullable: true
        params:
          type: object
          additionalProperties:
            anyOf:
              - type: string
              - type: number
              - type: boolean
              - type: 'null'
              - type: array
                items:
                  type: string
          nullable: true
        data:
          type: object
          nullable: true
          additionalProperties: true
          description: Additional data about the error
      additionalProperties: false
    InternalServerError:
      title: APIError
      description: >-
        Represents an error returned by the API. This schema defines the
        standard structure of error messages to ensure consistent error handling
        across the application.
      type: object
      properties:
        error_label:
          type: string
          nullable: true
        error_scope:
          type: string
          enum:
            - input
            - integ
            - param
            - config
          nullable: true
        error_ref:
          type: string
          nullable: true
          example: ERR-12345
        message:
          type: string
        status_code:
          type: integer
          nullable: true
        params:
          type: object
          additionalProperties:
            anyOf:
              - type: string
              - type: number
              - type: boolean
              - type: 'null'
              - type: array
                items:
                  type: string
          nullable: true
        data:
          type: object
          nullable: true
          additionalProperties: true
          description: Additional data about the error
      additionalProperties: false
  responses:
    ActionAsyncResponse:
      description: Default Response
      content:
        application/json:
          schema:
            type: object
            properties:
              run_id:
                type: integer
                description: The ID of the run.
              run_uid:
                type: string
                description: The UID of the run.
              workspace_uid:
                type: string
                description: The UID of the workspace.
              user_uid:
                type: string
                description: The UID of the user.
              action_name:
                type: string
                description: The name of the action.
              status:
                type: string
                enum:
                  - pending
                  - running
                  - completed
                  - failed
                description: The status of the run.
              postponed_until:
                type: string
                format: date-time
                nullable: true
                description: >-
                  If the run is postponed, this field indicates when it will be
                  retried.
              created_at:
                type: string
                format: date-time
                description: The date and time when the run was created.
              updated_at:
                type: string
                format: date-time
                nullable: true
                description: The date and time when the run was last updated.
              name:
                type: string
                description: Optional user-defined label for the flow run.
                maxLength: 255
                nullable: true
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/BadRequest'
    FailedDependency:
      description: Failed Dependency
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/FailedDependency'
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalServerError'
  securitySchemes:
    XApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````