NationGraph Signals API
The Signals API from NationGraph — 11 operation(s) for signals.
The Signals API from NationGraph — 11 operation(s) for signals.
openapi: 3.1.0
info:
title: Nationgraph Accounts Signals API
version: 0.2.36
tags:
- name: Signals
paths:
/api/v3/signals/search:
post:
tags:
- Signals
summary: Search Signals
operationId: search_signals_api_v3_signals_search_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SignalFilters'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- HTTPBearer: []
/api/v3/signals/{signal_id}:
get:
tags:
- Signals
summary: Get Signal
operationId: get_signal_api_v3_signals__signal_id__get
security:
- HTTPBearer: []
parameters:
- name: signal_id
in: path
required: true
schema:
type: string
title: Signal Id
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v3/signals/{signal_id}/sources:
get:
tags:
- Signals
summary: Get Signal Data Sources
operationId: get_signal_data_sources_api_v3_signals__signal_id__sources_get
security:
- HTTPBearer: []
parameters:
- name: signal_id
in: path
required: true
schema:
type: string
title: Signal Id
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v3/signals/{signal_id}/users:
post:
tags:
- Signals
summary: Add User To Signal
operationId: add_user_to_signal_api_v3_signals__signal_id__users_post
security:
- HTTPBearer: []
parameters:
- name: signal_id
in: path
required: true
schema:
type: string
title: Signal Id
requestBody:
required: true
content:
application/json:
schema:
type: string
title: User Id
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v3/signals/{signal_id}/actions:
post:
tags:
- Signals
summary: Create Signal User Action
operationId: create_signal_user_action_api_v3_signals__signal_id__actions_post
security:
- HTTPBearer: []
parameters:
- name: signal_id
in: path
required: true
schema:
type: string
title: Signal Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Body_create_signal_user_action_api_v3_signals__signal_id__actions_post'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v3/signals/actions:
post:
tags:
- Signals
summary: Batch Create Signal User Actions
operationId: batch_create_signal_user_actions_api_v3_signals_actions_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Body_batch_create_signal_user_actions_api_v3_signals_actions_post'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- HTTPBearer: []
/api/v3/signals/{signal_id}/status:
patch:
tags:
- Signals
summary: Update Signal User Status
operationId: update_signal_user_status_api_v3_signals__signal_id__status_patch
security:
- HTTPBearer: []
parameters:
- name: signal_id
in: path
required: true
schema:
type: string
title: Signal Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SignalStatusEnum'
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v3/signals/status:
patch:
tags:
- Signals
summary: Batch Update Signal User Status
operationId: batch_update_signal_user_status_api_v3_signals_status_patch
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Body_batch_update_signal_user_status_api_v3_signals_status_patch'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- HTTPBearer: []
/api/v3/signals/dismiss:
post:
tags:
- Signals
summary: Dismiss Signals
operationId: dismiss_signals_api_v3_signals_dismiss_post
security:
- HTTPBearer: []
parameters:
- name: created_after
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Created After
- name: created_before
in: query
required: false
schema:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Created Before
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
title: Offset
- name: limit
in: query
required: false
schema:
anyOf:
- type: integer
maximum: 200
minimum: 1
- type: 'null'
title: Limit
- name: statuses
in: query
required: false
schema:
type: array
items:
$ref: '#/components/schemas/SignalStatusEnum'
title: Statuses
- name: signal_ids
in: query
required: false
schema:
type: array
items:
type: string
format: uuid
title: Signal Ids
- name: signal_setting_ids
in: query
required: false
schema:
type: array
items:
type: string
format: uuid
title: Signal Setting Ids
- name: list_ids
in: query
required: false
schema:
type: array
items:
type: string
format: uuid
title: List Ids
- name: data_sources
in: query
required: false
schema:
type: array
items:
$ref: '#/components/schemas/SignalSourceType'
title: Data Sources
- name: institution_types
in: query
required: false
schema:
type: array
items:
$ref: '#/components/schemas/InstitutionEnum'
title: Institution Types
- name: states
in: query
required: false
schema:
type: array
items:
type: string
title: States
- name: saved
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
title: Saved
- name: sort_by
in: query
required: false
schema:
$ref: '#/components/schemas/SignalSortEnum'
default: created_at_desc
- name: institution_sort
in: query
required: false
schema:
anyOf:
- $ref: '#/components/schemas/InstitutionSortEnum'
- type: 'null'
title: Institution Sort
- name: user_id
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: User Id
- name: query
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Query
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v3/signals/{signal_id}/share:
get:
tags:
- Signals
summary: Create Signal Share Link
description: Generate a shareable token for a signal
operationId: create_signal_share_link_api_v3_signals__signal_id__share_get
security:
- HTTPBearer: []
parameters:
- name: signal_id
in: path
required: true
schema:
type: string
title: Signal Id
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v3/signals/share/{signal_token}:
get:
tags:
- Signals
summary: Get Shared Signal
description: Public endpoint to access a shared signal (no authentication required)
operationId: get_shared_signal_api_v3_signals_share__signal_token__get
parameters:
- name: signal_token
in: path
required: true
schema:
type: string
title: Signal Token
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
SignalSortEnum:
type: string
enum:
- created_at_desc
- created_at_asc
title: SignalSortEnum
InstitutionEnum:
type: string
enum:
- k12_districts
- cities
- counties
- higher_education
- federal_agencies
- federal_departments
- individual_units
- k12_schools
- police_agencies
- usfa_registry
- state_agencies
- states
title: InstitutionEnum
Body_create_signal_user_action_api_v3_signals__signal_id__actions_post:
properties:
action:
$ref: '#/components/schemas/SignalUserActionEnum'
metadata:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Metadata
type: object
required:
- action
title: Body_create_signal_user_action_api_v3_signals__signal_id__actions_post
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
SignalUserActionEnum:
type: string
enum:
- saved
- dismissed
- generated_outreach
- clicked
- viewed_source
- generated_email
- viewed
- find_contacts
- removed_from_list
- viewed_contacts
- shared_by_link
- pushed_to_crm
title: SignalUserActionEnum
InstitutionSortEnum:
type: string
enum:
- most_signals
- most_recent
- oldest
- most_contacts
- account_type
title: InstitutionSortEnum
description: 'Sort order for institutions in paginated response.
Note: This sorting is applied per-page after signal-level pagination.
The same institution may appear on multiple pages if its signals span pages.'
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
SignalStatusEnum:
type: string
enum:
- active
- dismissed
- pending
- acknowledged
title: SignalStatusEnum
SignalSourceType:
type: string
enum:
- purchase_order
- meeting_minutes
- annual_budgets
- procurement_guidelines
- youtube
- rfp
- grants
- press_releases
title: SignalSourceType
SignalFilters:
properties:
created_after:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Created After
created_before:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Created Before
offset:
type: integer
minimum: 0.0
title: Offset
default: 0
limit:
anyOf:
- type: integer
maximum: 200.0
minimum: 1.0
- type: 'null'
title: Limit
default: 20
statuses:
anyOf:
- items:
$ref: '#/components/schemas/SignalStatusEnum'
type: array
- type: 'null'
title: Statuses
signal_ids:
anyOf:
- items:
type: string
format: uuid
type: array
- type: 'null'
title: Signal Ids
signal_setting_ids:
anyOf:
- items:
type: string
format: uuid
type: array
- type: 'null'
title: Signal Setting Ids
list_ids:
anyOf:
- items:
type: string
format: uuid
type: array
- type: 'null'
title: List Ids
data_sources:
anyOf:
- items:
$ref: '#/components/schemas/SignalSourceType'
type: array
- type: 'null'
title: Data Sources
institution_types:
anyOf:
- items:
$ref: '#/components/schemas/InstitutionEnum'
type: array
- type: 'null'
title: Institution Types
keywords:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Keywords
states:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: States
saved:
anyOf:
- type: boolean
- type: 'null'
title: Saved
exclude_territory_ids:
anyOf:
- items:
type: string
format: uuid
type: array
- type: 'null'
title: Exclude Territory Ids
exclude_institution_ids:
anyOf:
- items:
type: string
type: array
- type: 'null'
title: Exclude Institution Ids
sort_by:
$ref: '#/components/schemas/SignalSortEnum'
default: created_at_desc
institution_sort:
anyOf:
- $ref: '#/components/schemas/InstitutionSortEnum'
- type: 'null'
user_id:
anyOf:
- type: string
- type: 'null'
title: User Id
query:
anyOf:
- type: string
- type: 'null'
title: Query
type: object
title: SignalFilters
Body_batch_create_signal_user_actions_api_v3_signals_actions_post:
properties:
signal_ids:
items:
type: string
type: array
title: Signal Ids
action:
$ref: '#/components/schemas/SignalUserActionEnum'
metadata:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Metadata
type: object
required:
- signal_ids
- action
title: Body_batch_create_signal_user_actions_api_v3_signals_actions_post
Body_batch_update_signal_user_status_api_v3_signals_status_patch:
properties:
signal_ids:
items:
type: string
type: array
title: Signal Ids
status:
$ref: '#/components/schemas/SignalStatusEnum'
type: object
required:
- signal_ids
- status
title: Body_batch_update_signal_user_status_api_v3_signals_status_patch
securitySchemes:
HTTPBearer:
type: http
scheme: bearer