For clean Markdown of any page, append .md to the page URL. For a complete documentation index, see https://api-doc-new.gideononline.com/gideon-api-1-0/diseases/llms.txt. For full documentation content, see https://api-doc-new.gideononline.com/gideon-api-1-0/diseases/llms-full.txt.

# /diseases/events

GET https://api.gideononline.com/diseases/events

Returns **outbreak-style event rows across all diseases** for a calendar **`year`**: outbreaks, sporadic reports, travel-linked rows, and related **`type`** combinations—**not** limited to classical “outbreak” records only.

#### **Required query parameters**

| Name | Description |
| --- | --- |
| `year` | Calendar year to match. A row is included when **`year`** falls within its derived reporting span **or** when **`publication_year`** equals **`year`**. Omitting **`year`** returns **404** with `{ "error": { "message": "year is required." } }`. Non-numeric values return **404** (`Invalid year.`). |

#### **Optional query parameters**

| Name | Description |
| --- | --- |
| `return` | `simple` (default), `detailed`, `minimal`, or `compact`. **`detailed`** adds notes, vehicle, setting, population, pathogen, clinical, and resolved **`references`**, and uses **`limit`** / **`offset`** pagination with **`total`** in the envelope. **`minimal`** and **`compact`** return reduced field sets (no derived **`is_*`** type flags on **`minimal`**). |
| `limit` / `offset` | Pagination for **`return=detailed`** only. |

Aggregate placeholder country **`G100`** is **excluded** from results.

Each **`simple`** / **`detailed`** row includes update timestamps, **`hash_id`**, **`id`** (`o_` prefix), year fields (**`outbreak_first_reported`** / **`outbreak_last_reported`** alongside legacy **`outbreak_start`** / **`outbreak_end`**), **`publication_year`**, counts (**`cases`**, **`deaths`**, **`animal_cases`**, **`animal_deaths`**), geography (**`region`**, **`country_code`**, **`country`**, **`state`**, **`city`**, **`latitude`**, **`longitude`**), **`disease_code`**, **`disease`**, boolean flags **`is_animal`** / **`is_human`**, and derived booleans **`is_travelcase`**, **`is_outbreak`**, **`is_sporadic`** parsed from **`type`**.

- **`outbreak_start`** _(deprecated)_ – Same value as **`outbreak_first_reported`**.
- **`outbreak_end`** _(deprecated)_ – Prefer **`outbreak_last_reported`**.

The response is **`{ "data": [ … ] }`** (and pagination fields when **`return=detailed`**) with **no** top-level **`timestamp`**.

For the same event feed **scoped to one disease**, use **`GET /diseases/{disease_code}/events`**; for **one country’s** feed, **`GET /countries/{country_code}/events`**.

Reference: https://api-doc-new.gideononline.com/gideon-api-1-0/diseases/diseases-events

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /diseases/events:
    get:
      operationId: diseases-events
      summary: /diseases/events
      description: >-
        Returns **outbreak-style event rows across all diseases** for a calendar
        **`year`**: outbreaks, sporadic reports, travel-linked rows, and related
        **`type`** combinations—**not** limited to classical “outbreak” records
        only.


        #### **Required query parameters**


        | Name | Description |

        | --- | --- |

        | `year` | Calendar year to match. A row is included when **`year`**
        falls within its derived reporting span **or** when
        **`publication_year`** equals **`year`**. Omitting **`year`** returns
        **404** with `{ "error": { "message": "year is required." } }`.
        Non-numeric values return **404** (`Invalid year.`). |


        #### **Optional query parameters**


        | Name | Description |

        | --- | --- |

        | `return` | `simple` (default), `detailed`, `minimal`, or `compact`.
        **`detailed`** adds notes, vehicle, setting, population, pathogen,
        clinical, and resolved **`references`**, and uses **`limit`** /
        **`offset`** pagination with **`total`** in the envelope. **`minimal`**
        and **`compact`** return reduced field sets (no derived **`is_*`** type
        flags on **`minimal`**). |

        | `limit` / `offset` | Pagination for **`return=detailed`** only. |


        Aggregate placeholder country **`G100`** is **excluded** from results.


        Each **`simple`** / **`detailed`** row includes update timestamps,
        **`hash_id`**, **`id`** (`o_` prefix), year fields
        (**`outbreak_first_reported`** / **`outbreak_last_reported`** alongside
        legacy **`outbreak_start`** / **`outbreak_end`**),
        **`publication_year`**, counts (**`cases`**, **`deaths`**,
        **`animal_cases`**, **`animal_deaths`**), geography (**`region`**,
        **`country_code`**, **`country`**, **`state`**, **`city`**,
        **`latitude`**, **`longitude`**), **`disease_code`**, **`disease`**,
        boolean flags **`is_animal`** / **`is_human`**, and derived booleans
        **`is_travelcase`**, **`is_outbreak`**, **`is_sporadic`** parsed from
        **`type`**.


        - **`outbreak_start`** _(deprecated)_ – Same value as
        **`outbreak_first_reported`**.

        - **`outbreak_end`** _(deprecated)_ – Prefer
        **`outbreak_last_reported`**.


        The response is **`{ "data": [ … ] }`** (and pagination fields when
        **`return=detailed`**) with **no** top-level **`timestamp`**.


        For the same event feed **scoped to one disease**, use **`GET
        /diseases/{disease_code}/events`**; for **one country’s** feed, **`GET
        /countries/{country_code}/events`**.
      tags:
        - subpackage_diseases
      parameters:
        - name: year
          in: query
          description: Required. Calendar year filter.
          required: false
          schema:
            type: integer
        - name: return
          in: query
          description: simple | detailed | minimal | compact
          required: false
          schema:
            type: string
        - name: Authorization
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Diseases_/diseases/events_Response_200'
servers:
  - url: https://api.gideononline.com
  - url: https://api-test.gideononline.com
components:
  schemas:
    DiseasesEventsGetResponsesContentApplicationJsonSchemaDataItems:
      type: object
      properties:
        id:
          type: string
        city:
          type: string
        type:
          type: string
        cases:
          type: integer
        state:
          type: string
        deaths:
          type: integer
        region:
          type: string
        country:
          type: string
        disease:
          type: string
        hash_id:
          type: string
          format: uuid
        is_human:
          type: boolean
        latitude:
          type: string
        is_animal:
          type: boolean
        longitude:
          type: string
        is_outbreak:
          type: boolean
        is_sporadic:
          type: boolean
        update_date:
          type: string
        animal_cases:
          description: Any type
        country_code:
          type: string
        disease_code:
          type: integer
        outbreak_end:
          type: integer
        animal_deaths:
          description: Any type
        is_travelcase:
          type: boolean
        outbreak_start:
          type: integer
        publication_year:
          description: Any type
        update_date_epoch:
          type: integer
        outbreak_last_reported:
          type: integer
        outbreak_first_reported:
          type: integer
      required:
        - id
        - city
        - type
        - cases
        - state
        - deaths
        - region
        - country
        - disease
        - hash_id
        - is_human
        - latitude
        - is_animal
        - longitude
        - is_outbreak
        - is_sporadic
        - update_date
        - country_code
        - disease_code
        - outbreak_end
        - is_travelcase
        - outbreak_start
        - update_date_epoch
        - outbreak_last_reported
        - outbreak_first_reported
      title: DiseasesEventsGetResponsesContentApplicationJsonSchemaDataItems
    Diseases_/diseases/events_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/DiseasesEventsGetResponsesContentApplicationJsonSchemaDataItems
      required:
        - data
      title: Diseases_/diseases/events_Response_200
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization

```

## SDK Code Examples

```python Diseases_/diseases/events_example
import requests

url = "https://api.gideononline.com/diseases/events"

querystring = {"year":"2025","return":"simple"}

headers = {"Authorization": "<apiKey>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript Diseases_/diseases/events_example
const url = 'https://api.gideononline.com/diseases/events?year=2025&return=simple';
const options = {method: 'GET', headers: {Authorization: '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Diseases_/diseases/events_example
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.gideononline.com/diseases/events?year=2025&return=simple"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Diseases_/diseases/events_example
require 'uri'
require 'net/http'

url = URI("https://api.gideononline.com/diseases/events?year=2025&return=simple")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java Diseases_/diseases/events_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.gideononline.com/diseases/events?year=2025&return=simple")
  .header("Authorization", "<apiKey>")
  .asString();
```

```php Diseases_/diseases/events_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.gideononline.com/diseases/events?year=2025&return=simple', [
  'headers' => [
    'Authorization' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Diseases_/diseases/events_example
using RestSharp;

var client = new RestClient("https://api.gideononline.com/diseases/events?year=2025&return=simple");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift Diseases_/diseases/events_example
import Foundation

let headers = ["Authorization": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.gideononline.com/diseases/events?year=2025&return=simple")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```