Prewave Infotags API

Allows you to retrieve information about infotags and groups.

Operations 2

GET /public/v1/infotags Get public feed infotags #
GET /public/v1/infotags/groups Get infotag groups for the current user #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/prewave-infotags-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

prewave-infotags-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Public Prewave Infotags API
  description: Documentation of the Public Prewave API.
  version: '1.0'
servers:
- url: https://api.prewave.com
  description: Production Environment
security:
- Token authentication: []
tags:
- name: Infotags
  description: Allows you to retrieve information about infotags and groups.
paths:
  /public/v1/infotags:
    get:
      tags:
      - Infotags
      summary: Get public feed infotags
      description: 'Retrieve reference infotags used to interpret alert and feed data.


        Returns public infotags for the following types: `alert_status`, `event_type`, `risk_level`, `industry`,

        and `location`. Each entry includes the infotag ID, type, optional short code (`svalue`), and display name.


        **Use cases**:

        - Resolve infotag IDs and codes when consuming alert feeds

        - Populate filter dropdowns for event types, risk levels, and locations

        - Map short codes to human-readable labels


        **Required permission:** `access_public_infotags`


        **Performance impact:** Low'
      operationId: infotags
      responses:
        '200':
          description: List of public feed infotags.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicSimplifiedInfotagDTO'
              examples:
                Feed infotags:
                  summary: Event types, risk levels, locations, and related reference values
                  description: Feed infotags
                  value: '[{"id":101,"type":"event_type","svalue":"carbon","value":"Carbon emissions"},{"id":102,"type":"event_type","svalue":"credit_risk","value":"Credit risk"},{"id":103,"type":"event_type","svalue":"fire","value":"Fire"},{"id":201,"type":"risk_level","svalue":"low","value":"Low"},{"id":202,"type":"risk_level","svalue":"mid","value":"Mid"},{"id":203,"type":"risk_level","svalue":"high","value":"High"},{"id":301,"type":"location","svalue":null,"value":"Vienna"},{"id":302,"type":"location","svalue":null,"value":"Stuttgart"},{"id":401,"type":"industry","svalue":"I_AUTOMOTIVE","value":"Automotive"},{"id":501,"type":"alert_status","svalue":"confirmed","value":"Confirmed"}]'
                No infotags:
                  summary: No public feed infotags are configured
                  description: No infotags
                  value: []
        '403':
          description: '403 Forbidden - Authentication or authorization failure. This status code is returned when: (1) the request lacks valid authentication credentials (missing or invalid X-Auth-Token header), or (2) the authenticated user does not have the required permission to access this resource.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedErrorDTO'
              examples:
                Access denied example:
                  summary: User lacks necessary permissions or authentication
                  value: "{\n        \"loggedIn\": true,\n        \"code\": \"access_denied\",\n        \"message\": \"Access denied: you don't have necessary permissions to access this resource\",\n        \"solution\": \"Contact support for appropriate permissions\"\n    }"
        '500':
          description: 500 Internal Server Error - An unexpected error occurred on the server. The request may or may not have been processed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
              examples:
                Error - Server Error:
                  summary: Unexpected server error
                  value: "{\n        \"code\": \"internal_error\",\n        \"message\": \"An unexpected error occurred\",\n        \"solution\": \"Please try again later or contact support\"\n    }"
        '429':
          description: '429 Too Many Requests - API rate limit exceeded. The request has been rejected because the rate limit for this endpoint has been exceeded. Default rate limits: GET requests - 100 per 10 seconds, 500 per minute; POST/PUT/PATCH/DELETE requests - 20 per 10 seconds, 100 per minute. For increased access, please contact customer success.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiRateLimitResponse'
              examples:
                Rate limit exceeded example:
                  summary: API rate limit exceeded
                  value: "{\n        \"error\": \"API rate limit exceeded\",\n        \"message\": \"You have reached the maximum allowed requests. Please try again later or upgrade your plan for increased access\",\n        \"requestLimit\": 100,\n        \"requestCount\": 100,\n        \"limits\": [\n            {\n                \"requestLimit\": 100,\n                \"timeInSeconds\": 10\n            },\n            {\n                \"requestLimit\": 500,\n                \"timeInSeconds\": 60\n            }\n        ],\n        \"currentTime\": \"2026-01-15T10:30:00\",\n        \"nextResetAt\": \"2026-01-15T10:30:10\"\n    }"
  /public/v1/infotags/groups:
    get:
      tags:
      - Infotags
      summary: Get infotag groups for the current user
      description: 'Retrieve infotag groups available to the authenticated user.


        Infotag groups cluster related event types—for example Environmental or Social—and are used when

        working with scores, alerts, and feed filters.


        **Use cases**:

        - List groups the current user can access

        - Resolve group IDs when filtering alerts or scores by category


        **Required permission:** `access_public_infotags`


        **Performance impact:** Low'
      operationId: infotagGroups
      responses:
        '200':
          description: List of infotag groups for the current user.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PublicInfotagGroup'
              examples:
                Infotag groups:
                  summary: Groups such as Environmental and Social
                  description: Infotag groups
                  value: '[{"id":1,"name":"Environmental","sname":"E"},{"id":2,"name":"Social","sname":"S"},{"id":3,"name":"Financial Stress","sname":"Financial"},{"id":4,"name":"Legal Stress","sname":"Legal"}]'
                No groups:
                  summary: User has no infotag groups assigned
                  description: No groups
                  value: []
        '403':
          description: '403 Forbidden - Authentication or authorization failure. This status code is returned when: (1) the request lacks valid authentication credentials (missing or invalid X-Auth-Token header), or (2) the authenticated user does not have the required permission to access this resource.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedErrorDTO'
              examples:
                Access denied example:
                  summary: User lacks necessary permissions or authentication
                  value: "{\n        \"loggedIn\": true,\n        \"code\": \"access_denied\",\n        \"message\": \"Access denied: you don't have necessary permissions to access this resource\",\n        \"solution\": \"Contact support for appropriate permissions\"\n    }"
        '500':
          description: 500 Internal Server Error - An unexpected error occurred on the server. The request may or may not have been processed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDTO'
              examples:
                Error - Server Error:
                  summary: Unexpected server error
                  value: "{\n        \"code\": \"internal_error\",\n        \"message\": \"An unexpected error occurred\",\n        \"solution\": \"Please try again later or contact support\"\n    }"
        '429':
          description: '429 Too Many Requests - API rate limit exceeded. The request has been rejected because the rate limit for this endpoint has been exceeded. Default rate limits: GET requests - 100 per 10 seconds, 500 per minute; POST/PUT/PATCH/DELETE requests - 20 per 10 seconds, 100 per minute. For increased access, please contact customer success.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiRateLimitResponse'
              examples:
                Rate limit exceeded example:
                  summary: API rate limit exceeded
                  value: "{\n        \"error\": \"API rate limit exceeded\",\n        \"message\": \"You have reached the maximum allowed requests. Please try again later or upgrade your plan for increased access\",\n        \"requestLimit\": 100,\n        \"requestCount\": 100,\n        \"limits\": [\n            {\n                \"requestLimit\": 100,\n                \"timeInSeconds\": 10\n            },\n            {\n                \"requestLimit\": 500,\n                \"timeInSeconds\": 60\n            }\n        ],\n        \"currentTime\": \"2026-01-15T10:30:00\",\n        \"nextResetAt\": \"2026-01-15T10:30:10\"\n    }"
components:
  schemas:
    ApiRateLimitResponse:
      type: object
      properties:
        error:
          type: string
          description: Error type identifier
          example: RateLimitExceeded
        message:
          type: string
          description: Human-readable error message explaining the rate limit violation
          example: API rate limit exceeded. Please reduce your request rate.
        requestLimit:
          type: integer
          description: Maximum number of requests allowed in the current time window
          format: int32
          example: 100
        requestCount:
          type: integer
          description: Number of requests made in the current time window
          format: int32
          example: 101
        limits:
          type: array
          description: All rate limits that apply to this endpoint, showing different time windows
          items:
            $ref: '#/components/schemas/ApiRateLimitTimeRequestLimit'
          example: null
        currentTime:
          type: string
          description: Current server time in ISO 8601 format
          format: date-time
          example: '2026-01-19T10:30:00'
        nextResetAt:
          type: string
          description: Time when the rate limit will reset in ISO 8601 format
          format: date-time
          example: '2026-01-19T10:30:10'
      description: Response returned when API rate limit is exceeded (HTTP 429)
      example: null
    ApiRateLimitTimeRequestLimit:
      type: object
      properties:
        requestLimit:
          type: integer
          description: Maximum number of requests allowed in this time window
          format: int32
          example: 100
        timeInSeconds:
          type: integer
          description: Time window duration in seconds
          format: int32
          example: 10
      description: Rate limit configuration for a specific time window
      example: null
    PublicInfotagGroup:
      required:
      - id
      - name
      - sname
      type: object
      properties:
        id:
          type: integer
          description: Id of the infotag group
          format: int32
          example: null
        name:
          type: string
          description: Name of the infotag group
          example: null
        sname:
          type: string
          description: Short name/code of the infotag group
          example: null
      example: null
    AccessDeniedErrorDTO:
      required:
      - code
      - loggedIn
      - message
      type: object
      properties:
        loggedIn:
          type: boolean
          example: null
        permission:
          type:
          - string
          - 'null'
          example: null
        code:
          type: string
          description: Error code
          example: null
        message:
          type: string
          description: Error message
          example: null
        solution:
          type:
          - string
          - 'null'
          description: Possible solution to the error
          example: null
      example: null
    PublicSimplifiedInfotagDTO:
      required:
      - id
      - type
      - value
      type: object
      properties:
        id:
          type: integer
          description: Id of the infotag
          format: int32
          example: null
        type:
          type: string
          description: Type of the infotag
          example: null
        svalue:
          type:
          - string
          - 'null'
          description: Short name/code of the infotag
          example: null
        value:
          type: string
          description: Name of the infotag
          example: null
      example: null
    ErrorDTO:
      required:
      - code
      - message
      type: object
      properties:
        code:
          type: string
          description: Error code
          example: null
        message:
          type: string
          description: Error message
          example: null
        solution:
          type:
          - string
          - 'null'
          description: Possible solution to the error
          example: null
      description: Error response
      example: null
  securitySchemes:
    Token_authentication:
      type: apiKey
      description: Generate an API token at https://www.prewave.com/management/api and paste it in here.
      name: X-Auth-Token
      in: header