{
  "service": "currents_api",
  "displayName": "Currents API",
  "categories": [
    "Data",
    "Social"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "CURRENTS_API_KEY",
      "description": "Currents API key sent with the Authorization header. Log in to view or generate it from the Currents dashboard: https://currentsapi.services/en/login/."
    }
  ],
  "homepageUrl": "https://currentsapi.services",
  "actions": [
    {
      "id": "currents_api.get_latest_news",
      "service": "currents_api",
      "name": "get_latest_news",
      "description": "Retrieve the latest Currents news feed with optional language and region filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "language": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated language codes used to filter the latest news feed."
          },
          "country": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated region codes used to filter the latest news feed."
          },
          "category": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated category values used to filter the latest news feed."
          },
          "type": {
            "type": "string",
            "minLength": 1,
            "description": "Article type filter forwarded to Currents."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated domains to include in the latest news feed."
          },
          "domain_not": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated domains to exclude from the latest news feed."
          },
          "page_number": {
            "type": "integer",
            "minimum": 1,
            "description": "One-based page number to request from Currents."
          },
          "page_size": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of news articles to request from Currents."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving the latest Currents news feed."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "Top-level request status returned by Currents."
          },
          "news": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A single news article returned by Currents."
            },
            "description": "News articles returned by Currents for this request."
          },
          "page_number": {
            "type": "integer",
            "description": "Current page number returned by Currents."
          },
          "nextPage": {
            "type": "string",
            "minLength": 1,
            "description": "Cursor token returned by Currents for fetching the next search page."
          }
        },
        "additionalProperties": true,
        "required": [
          "status",
          "news"
        ],
        "description": "Currents news collection response."
      }
    },
    {
      "id": "currents_api.list_available_categories",
      "service": "currents_api",
      "name": "list_available_categories",
      "description": "List the news categories currently supported by Currents.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required for listing Currents categories."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "Top-level request status returned by Currents."
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "Category value returned by Currents."
            },
            "description": "Categories currently supported by Currents."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "description": "Human-readable description returned by Currents for this taxonomy payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "status",
          "categories"
        ],
        "description": "Currents available categories response."
      }
    },
    {
      "id": "currents_api.list_available_languages",
      "service": "currents_api",
      "name": "list_available_languages",
      "description": "List the language codes currently supported by Currents.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required for listing Currents languages."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "Top-level request status returned by Currents."
          },
          "languages": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "One Currents language code."
            },
            "description": "Language display names mapped to Currents language codes."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "description": "Human-readable description returned by Currents for this taxonomy payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "status",
          "languages"
        ],
        "description": "Currents available languages response."
      }
    },
    {
      "id": "currents_api.list_available_regions",
      "service": "currents_api",
      "name": "list_available_regions",
      "description": "List the region codes currently supported by Currents.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required for listing Currents regions."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "Top-level request status returned by Currents."
          },
          "regions": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "description": "One Currents region code."
            },
            "description": "Region display names mapped to Currents region codes."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "description": "Human-readable description returned by Currents for this taxonomy payload."
          }
        },
        "additionalProperties": false,
        "required": [
          "status",
          "regions"
        ],
        "description": "Currents available regions response."
      }
    },
    {
      "id": "currents_api.search_news",
      "service": "currents_api",
      "name": "search_news",
      "description": "Search Currents news articles with keyword, taxonomy, and time-range filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "keywords": {
            "type": "string",
            "minLength": 1,
            "description": "Keyword query forwarded to Currents search."
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated language codes used to filter search."
          },
          "country": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated region codes used to filter search."
          },
          "category": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated category values used to filter search."
          },
          "start_date": {
            "type": "string",
            "description": "UTC timestamp filter in ISO 8601 format, such as 2026-04-29T00:00:00Z.",
            "format": "date-time"
          },
          "end_date": {
            "type": "string",
            "description": "UTC timestamp filter in ISO 8601 format, such as 2026-04-29T00:00:00Z.",
            "format": "date-time"
          },
          "type": {
            "type": "string",
            "minLength": 1,
            "description": "Article type filter forwarded to Currents search."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated domains to include in the search results."
          },
          "domain_not": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated domains to exclude from the search results."
          },
          "author": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated author names used to filter search."
          },
          "page_number": {
            "type": "integer",
            "minimum": 1,
            "description": "One-based page number to request from Currents."
          },
          "page_size": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of news articles to request from Currents search."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Cursor token returned by Currents for deep pagination."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for searching Currents news articles."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "Top-level request status returned by Currents."
          },
          "news": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A single news article returned by Currents."
            },
            "description": "News articles returned by Currents for this request."
          },
          "page_number": {
            "type": "integer",
            "description": "Current page number returned by Currents."
          },
          "nextPage": {
            "type": "string",
            "minLength": 1,
            "description": "Cursor token returned by Currents for fetching the next search page."
          }
        },
        "additionalProperties": true,
        "required": [
          "status",
          "news"
        ],
        "description": "Currents news collection response."
      }
    }
  ]
}
