openapi: 3.2.0 info: title: Opoint stored search API version: 1.0.0 description: 'Operations tagged stored search across 2 of this provider''s published API definitions: opoint-openapi-original.yml, opoint-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.opoint.com tags: - name: stored search paths: /storedsearch/: get: operationId: storedsearch_list description: Returns a list of the user's stored searches. summary: List stored searches parameters: - in: query name: limit schema: type: integer default: 500 description: Maximum number of items to return - in: query name: offset schema: type: integer default: 0 description: Number of items to skip tags: - stored search security: - JWT: [] - ephmeralId: [] - staticToken: [] - cookieAuth: [] responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/StoredSearch' description: '' post: operationId: storedsearch_create description: Create a new stored search for the authenticated user. summary: Create stored search tags: - stored search requestBody: content: application/json: schema: $ref: '#/components/schemas/StoredSearchDetail' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/StoredSearchDetail' multipart/form-data: schema: $ref: '#/components/schemas/StoredSearchDetail' required: true security: - JWT: [] - ephmeralId: [] - staticToken: [] - cookieAuth: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/StoredSearchDetail' description: '' servers: - url: https://api.opoint.com /storedsearch/{id}/: get: operationId: storedsearch_retrieve description: Returns full details for a single stored search including access groups. summary: Retrieve stored search parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this alert. required: true tags: - stored search security: - JWT: [] - ephmeralId: [] - staticToken: [] - cookieAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/StoredSearchDetail' description: '' put: operationId: storedsearch_update description: Fully update an existing stored search. summary: Update stored search parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this alert. required: true tags: - stored search requestBody: content: application/json: schema: $ref: '#/components/schemas/StoredSearchDetail' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/StoredSearchDetail' multipart/form-data: schema: $ref: '#/components/schemas/StoredSearchDetail' required: true security: - JWT: [] - ephmeralId: [] - staticToken: [] - cookieAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/StoredSearchDetail' description: '' patch: operationId: storedsearch_partial_update description: Partially update an existing stored search. summary: Partially update stored search parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this alert. required: true tags: - stored search requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedStoredSearchPatch' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedStoredSearchPatch' multipart/form-data: schema: $ref: '#/components/schemas/PatchedStoredSearchPatch' security: - JWT: [] - ephmeralId: [] - staticToken: [] - cookieAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/StoredSearchPatch' description: '' delete: operationId: storedsearch_destroy description: Delete an existing stored search. summary: Delete stored search parameters: - in: path name: id schema: type: integer description: A unique integer value identifying this alert. required: true tags: - stored search security: - JWT: [] - ephmeralId: [] - staticToken: [] - cookieAuth: [] responses: '204': description: No response body servers: - url: https://api.opoint.com /storedsearch/create_many/: post: operationId: storedsearch_create_many_create description: Create multiple stored searches in a single request. summary: Create multiple stored searches tags: - stored search requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/StoredSearchDetail' application/x-www-form-urlencoded: schema: type: array items: $ref: '#/components/schemas/StoredSearchDetail' multipart/form-data: schema: type: array items: $ref: '#/components/schemas/StoredSearchDetail' required: true security: - JWT: [] - ephmeralId: [] - staticToken: [] - cookieAuth: [] responses: '201': content: application/json: schema: type: array items: $ref: '#/components/schemas/StoredSearchDetail' description: '' servers: - url: https://api.opoint.com /storedsearch/feed/: get: operationId: storedsearch_feed_retrieve description: Retrieve articles from stored search baskets within a time window. Supports JSON and XML response formats. summary: Stored search feed parameters: - in: query name: equalgroup schema: type: boolean default: false description: Include equal group IDs - in: query name: format schema: type: string enum: - json - xml default: json description: Response format - in: query name: from schema: type: integer description: Start of the time window (Unix timestamp) required: true - in: query name: id schema: type: string description: Comma-separated list of stored search IDs to include. If omitted, all active stored searches are used. - in: query name: interval schema: type: integer default: 900 description: Time interval in seconds (30-1800). Set to 0 when using explicit 'to'. - in: query name: matches schema: type: boolean default: false description: Include highlighted match data - in: query name: num_art schema: type: integer default: 25000 description: Maximum number of articles to return - in: query name: readership schema: type: boolean default: false description: Include readership data - in: query name: textrazor schema: type: integer description: TextRazor enrichment level - in: query name: to schema: type: integer description: End of the time window (Unix timestamp). If omitted, calculated from 'from' + interval. - in: query name: topics schema: type: boolean default: false description: Include topic/subject data tags: - stored search security: - JWT: [] - ephmeralId: [] - staticToken: [] - cookieAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SearchResultSchema' application/xml: schema: $ref: '#/components/schemas/SearchResultSchema' description: '' '400': description: Invalid parameter or interval out of range '429': description: to_time is in the future servers: - url: https://api.opoint.com components: schemas: EntitiesSchema: type: object properties: location: type: array items: $ref: '#/components/schemas/EntitySchema' organization: type: array items: $ref: '#/components/schemas/EntitySchema' person: type: array items: $ref: '#/components/schemas/EntitySchema' SentimentEnum: enum: - Positive - Negative - Neutral type: string description: '* `Positive` - Positive * `Negative` - Negative * `Neutral` - Neutral' MatchSchema: type: object properties: type: type: string text: type: string description: Text that was matched. If wildcards are used this contains the actual word or phrase matched. color: type: integer play_offset: type: integer description: Offset of match in video or radio clip, in seconds. required: - color - text - type TopicsAndEntitiesSchema: type: object properties: topics: type: array items: $ref: '#/components/schemas/IptcTopicSchema' entities: $ref: '#/components/schemas/EntitiesSchema' sentiment: allOf: - $ref: '#/components/schemas/SentimentEnum' description: 'Overall sentiment of the article. * `Positive` - Positive * `Negative` - Negative * `Neutral` - Neutral' sentiment_score: type: number format: double description: Aggregated sentiment score from -1.0 to 1.0. SummarySchema: type: object properties: text: type: string matches: type: boolean description: Whether search matches are highlighted in this field. compare: type: integer description: Edit distance between compare_text parameter and the combined summary and body text. truncated: type: boolean required: - text FirstSourceSchema: type: object properties: id: type: integer name: type: string sitename: type: string url: type: string siteurl: type: string required: - id - name - sitename - siteurl - url QuoteSchema: type: object properties: matches: type: boolean text: type: string required: - text SiteReadershipSchema: type: object properties: P: type: number format: double value: type: integer Rfc822TimeSchema: type: object properties: text: type: string description: RFC 822 formatted time. required: - text ListStateSchema: type: object properties: id_list: type: integer state: type: integer state_name: type: string required: - id_list - state SortGroupSchema: type: object properties: group: type: integer description: Group id. 0 for articles not matching any group. weight: type: integer count: type: integer description: Number of articles in group. name: type: string required: - group TextFieldSchema: type: object properties: text: type: string matches: type: boolean description: Whether search matches are highlighted in this field. required: - text PdfFileSchema: type: object properties: all: type: string args: type: string pdf_parts: type: array items: $ref: '#/components/schemas/PdfPartSchema' required: - all - args - pdf_parts SearchResultSchema: type: object description: 'Top-level search result wrapper. The searchresult field contains either a successful SearchResponse or a SearchError.' properties: searchresult: allOf: - $ref: '#/components/schemas/SearchResponseSchema' description: The search result. Contains either a successful response with documents, or an error. required: - searchresult UserCommentSchema: type: object properties: id_user: type: integer username: type: string first_name: type: string last_name: type: string signature: type: string email: type: string id_group: type: integer description: Comment group the comment belongs to. id_site: type: integer id_article: type: integer timestamp: type: integer description: When the comment was made. comment: type: string required: - comment - email - first_name - id_article - id_group - id_site - id_user - last_name - signature - timestamp - username DebugLineSchema: type: object properties: state: type: integer description: 1 if the line had an error, 0 otherwise. query: type: string description: What the query was interpreted as, if the line had errors corrected. required: - state BodySchema: type: object properties: text: type: string matches: type: boolean description: Whether search matches are highlighted in this field. readmore: type: boolean truncated: type: boolean required: - text StoredSearch: type: object properties: id: type: integer readOnly: true search: type: string last_new_article: type: integer readOnly: true max_age: type: integer default: 345600 get_old_articles: type: boolean default: false use_syndicates: type: boolean required: - id - last_new_article - search AlmostIdenticalSchema: type: object properties: id_site: type: integer id_article: type: integer sim: type: integer description: Similarity score. Higher is more similar. required: - id_article - id_site - sim TranslatedHeaderSchema: type: object properties: text: type: string matches: type: boolean description: Whether search matches are highlighted in this field. language: type: string required: - text PatchedStoredSearchPatch: type: object properties: id: type: integer readOnly: true search: type: string last_new_article: type: integer readOnly: true access_group: $ref: '#/components/schemas/AccessGroupSchema' max_age: type: integer default: 345600 get_old_articles: type: boolean default: false use_syndicates: type: boolean LocalTimeSchema: type: object properties: text: type: string description: ISO 8601 formatted time. GMT: type: integer required: - GMT - text ObservationSchema: type: object description: Single link observation. properties: level: type: string images: type: object additionalProperties: {} ShortFieldSchema: type: object properties: text: type: string matches: type: boolean description: Whether search matches are highlighted in this field. length: type: integer removed: type: integer required: - text ArticleReadershipSchema: type: object properties: value: type: integer description: Estimated number of readers of the article so far. DeltaPValue: type: integer description: Predicted additional readers in the next hour. ExpectedPValue: type: integer description: Predicted number of people that will eventually read the article. StdExpectedPValue: type: integer description: Standard deviation of ExpectedPValue. P: type: number format: double description: Estimated fraction of the site's readers having read the article so far. DeltaP: type: number format: double ExpectedP: type: number format: double StdExpectedP: type: number format: double AccessGroupSchema: type: object properties: access_groups: type: array items: $ref: '#/components/schemas/AccessInfoSchema' sites: type: array items: $ref: '#/components/schemas/AccessInfoSchema' sources: type: array items: $ref: '#/components/schemas/AccessInfoSchema' required: - access_groups - sites - sources DocumentSchema: type: object description: A single article/document in the search response. properties: id_site: type: integer description: Id of the site the article was published on. id_article: type: integer description: Site-specific article id, unique within each site. position: type: integer description: Index of the document in the result list (one-based). unix_timestamp: type: integer description: Unix timestamp of when the article was published. stimestamp: type: integer description: Internal timestamp. stimestamp_index: type: integer description: Internal timestamp. header: $ref: '#/components/schemas/HeaderSchema' summary: $ref: '#/components/schemas/SummarySchema' body: $ref: '#/components/schemas/BodySchema' author: type: string word_count: type: integer short_header: $ref: '#/components/schemas/ShortFieldSchema' short_summary: $ref: '#/components/schemas/ShortFieldSchema' short_body: $ref: '#/components/schemas/ShortFieldSchema' translated_header: $ref: '#/components/schemas/TranslatedHeaderSchema' manual_summary: $ref: '#/components/schemas/TranslatedHeaderSchema' extract: type: boolean matches: type: array items: $ref: '#/components/schemas/MatchSchema' quotes: $ref: '#/components/schemas/QuotesSchema' first_source: $ref: '#/components/schemas/FirstSourceSchema' sources: $ref: '#/components/schemas/SourcesSchema' topics: type: array items: $ref: '#/components/schemas/TopicSchema' topics_and_entities: $ref: '#/components/schemas/TopicsAndEntitiesSchema' language: $ref: '#/components/schemas/LanguageSchema' countryname: type: string countrycode: type: string local_time: $ref: '#/components/schemas/LocalTimeSchema' local_rcf822_time: $ref: '#/components/schemas/Rfc822TimeSchema' orig_url: type: string description: URL where the article was found. url_common: type: string description: Domain name of the site where the article was found. url: type: string description: Link to tool displaying the crawled article. articleimages: $ref: '#/components/schemas/ArticleImagesSchema' caption: $ref: '#/components/schemas/TextFieldSchema' screenshots: type: array items: $ref: '#/components/schemas/ScreenshotSchema' articlemedia: type: array items: $ref: '#/components/schemas/ArticleMediaSchema' playlength: type: integer description: Length of timemap, if present, in seconds. mediafile: type: integer pdf_file: $ref: '#/components/schemas/PdfFileSchema' mediatype: $ref: '#/components/schemas/MediaTypeSchema' similarweb: $ref: '#/components/schemas/SimilarwebSchema' site_rank: $ref: '#/components/schemas/SiteRankSchema' meta_data: type: object additionalProperties: {} description: Various metadata about the article, like social media engagement. identical_documents: $ref: '#/components/schemas/IdenticalDocumentsSchema' almost_identical: $ref: '#/components/schemas/AlmostIdenticalSchema' equalgroup: type: integer sort_group_ref: type: integer list_states: type: array items: $ref: '#/components/schemas/ListStateSchema' tags: type: array items: $ref: '#/components/schemas/TagSchema' linkobs: $ref: '#/components/schemas/LinkobsSchema' internal_search_reply: $ref: '#/components/schemas/InternalSearchReplySchema' usercomments: $ref: '#/components/schemas/UserCommentsSchema' hidden: type: boolean existinbasket: type: string compare: type: integer content_protected: type: integer distribute_conditions: type: string circulation: type: integer adprice: type: integer reach: type: integer stored_search_id: type: integer profile_id: type: integer profile_name: type: string required: - id_article - id_site - position - stimestamp - stimestamp_index - unix_timestamp SimilarwebSchema: type: object properties: domain: type: string mvisit: type: integer description: Monthly visits. unique_mobile_visits: type: integer unique_desktop_visits: type: integer page_per_visit: type: number format: double bounce_rate: type: number format: double time_on_site: type: number format: double description: Average time on site per visit, in seconds. category: type: string category_rank: type: integer sanitize: type: number format: double readership: $ref: '#/components/schemas/SiteReadershipSchema' article_readership: $ref: '#/components/schemas/ArticleReadershipSchema' InternalSearchReplySchema: type: object properties: id_site: type: integer id_article: type: integer text: type: string required: - id_article - id_site - text SiteRankSchema: type: object properties: rank_global: type: integer rank_country: type: integer MatchTableRowSchema: type: object properties: match_item: $ref: '#/components/schemas/MatchItemSchema' MediaTypeSchema: type: object properties: timemap: type: boolean duration: type: integer description: Length of timemap in seconds. clip: type: boolean hastext: type: boolean haslogo: type: boolean paywall: type: boolean description: Whether article was fetched from behind a paywall. fulltext: type: boolean text: type: string required: - clip - fulltext - haslogo - hastext - paywall - text - timemap MatchItemSchema: type: object properties: rowspan: type: integer colspan: type: integer type: type: string color: type: integer active: type: boolean length: type: integer removed: type: integer text: type: string LinkobSourceSchema: type: object properties: id: type: integer depth: type: integer name: type: string obs: $ref: '#/components/schemas/ObservationSchema' MatchTableSchema: type: object properties: rows: type: integer cols: type: integer row: $ref: '#/components/schemas/MatchTableRowSchema' IdenticalDocumentsSchema: type: object properties: cnt: type: integer document: type: array items: type: object additionalProperties: {} required: - cnt EntitySchema: type: object properties: entity: type: string wikidata_id: type: string crunchbase: type: string permid: type: string lei: type: string figi: type: string sentiment: type: string required: - entity LinkobsSchema: type: object properties: cnt: type: integer source: $ref: '#/components/schemas/LinkobSourceSchema' required: - cnt SourceSchema: type: object properties: id: type: integer name: type: string sitename: type: string url: type: string siteurl: type: string linktype_max: type: integer linktype_now: type: integer required: - id - name - sitename - siteurl - url LanguageSchema: type: object properties: encoding: type: string text: type: string required: - encoding - text StoredSearchDetail: type: object properties: id: type: integer readOnly: true search: type: string last_new_article: type: integer readOnly: true access_group: $ref: '#/components/schemas/AccessGroupSchema' max_age: type: integer default: 345600 get_old_articles: type: boolean default: false use_syndicates: type: boolean required: - id - last_new_article - search DebugSchema: type: object properties: count: type: integer lines: type: array items: $ref: '#/components/schemas/DebugLineSchema' SearchMatchSchema: type: object properties: type: type: string color: type: integer text: type: string AccessInfoSchema: type: object properties: name: type: string enabled: type: boolean value: type: integer required: - enabled - name - value SearchResponseSchema: type: object description: Successful search response from searchd. properties: documents: type: integer description: Number of documents in the result. document: type: array items: $ref: '#/components/schemas/DocumentSchema' description: Articles matching the search. debug: $ref: '#/components/schemas/DebugSchema' first_timestamp: type: integer description: Unix timestamp of the newest matching document in the response. last_timestamp: type: integer description: Unix timestamp of the oldest matching document in the response. context: type: string description: Pagination cursor. Pass to the context parameter to fetch the next page. Empty string means no more results. search_start: type: integer description: Unix timestamp a new search can start from to get newer content. Can be passed as the oldest parameter. range_count: type: integer description: Estimate of total matching documents in the range. range_start: type: integer range_end: type: integer description: 0 means the end of the range is now. count: type: integer cacheage: type: integer cputime: type: integer host: type: string description: Server having processed the request. compiledate: type: string branch: type: string notimeout: type: boolean wikinames: type: object additionalProperties: {} description: Mapping of entity ids to entity names. wikidescriptions: type: object additionalProperties: {} description: Mapping of entity ids to entity descriptions. search_matches: type: array items: $ref: '#/components/schemas/SearchMatchSchema' matches_table: $ref: '#/components/schemas/MatchTableSchema' watch_id: type: integer description: Id of watch process. sort_groups: $ref: '#/components/schemas/SortGroupSchema' covered: type: integer next_from: type: integer required: - document - documents - first_timestamp - last_timestamp ArticleMediaSchema: type: object properties: url: type: string localurl: type: string thumbnail: type: string text: type: string IptcTopicSchema: type: object properties: label: type: string description: IPTC Media Topic name, hierarchically structured with > separators. mediatopic_id: type: string description: IPTC Media Code. score: type: number format: double description: Confidence score for the topic. required: - label - mediatopic_id - score ScreenshotSchema: type: object properties: id_type: type: integer width: type: integer height: type: integer text: type: string description: URL of the screenshot. required: - height - id_type - text - width TopicSchema: type: object properties: id: type: integer description: Subject id. text: type: string description: Subject name. linktype_max: type: integer linktype_now: type: integer metacat: type: integer description: Meta category, an integer representing the type of the subject. metacat_level: type: integer description: Meta category abstraction level, ordered from 0 and up. required: - id - text PdfPartSchema: type: object properties: pages: type: integer args: type: string text: type: string required: - args - pages - text TagSchema: type: object properties: id: type: integer is_owner: type: integer sent: type: integer set: type: integer equal_sent: type: integer required: - equal_sent - id - is_owner - sent - set HeaderSchema: type: object properties: text: type: string matches: type: boolean description: Whether search matches are highlighted in this field. compare: type: integer description: Edit distance between compare_header parameter and the header text. required: - text ArticleImagesSchema: type: object properties: count: type: integer articleimage: type: array items: $ref: '#/components/schemas/ArticleImageSchema' required: - articleimage - count UserCommentsSchema: type: object properties: count: type: integer usercomment: type: array items: $ref: '#/components/schemas/UserCommentSchema' required: - count ArticleImageSchema: type: object properties: url: type: string caption: $ref: '#/components/schemas/TextFieldSchema' QuotesSchema: type: object properties: quote: $ref: '#/components/schemas/QuoteSchema' SourcesSchema: type: object properties: source: $ref: '#/components/schemas/SourceSchema' StoredSearchPatch: type: object properties: id: type: integer readOnly: true search: type: string last_new_article: type: integer readOnly: true access_group: $ref: '#/components/schemas/AccessGroupSchema' max_age: type: integer default: 345600 get_old_articles: type: boolean default: false use_syndicates: type: boolean required: - id - last_new_article securitySchemes: JWT: type: apiKey in: header name: Authorization description: Token-based authentication with required prefix "JWT" cookieAuth: type: apiKey in: cookie name: PHPSESSID ephmeralId: type: apiKey in: header name: Authorization description: Token-based authentication with required prefix "Ephemeral" staticToken: type: apiKey in: header name: Authorization description: Token-based authentication with required prefix "Token" x-refined-from: - opoint-openapi-original.yml - opoint-openapi.yml