> ## Documentation Index
> Fetch the complete documentation index at: https://docs.northaxiumdata.ca/llms.txt
> Use this file to discover all available pages before exploring further.

# Communications

> Retrieve communication reports filed by registered lobbyists.

Access records of monthly communication reports describing interactions between designated public office holders and registered lobbyists.

### Query Parameters

<ParamField query="client" type="string">
  Partial match on client organization name. Example: `Shopify`.
</ParamField>

<ParamField query="dpoh" type="string">
  Partial match on the designated public office holder name. Example: `Mark Carney`.
</ParamField>

<ParamField query="institution" type="string">
  Partial match on the department or institution contacted. Example: `Finance Canada`.
</ParamField>

<ParamField query="lobbyist" type="string">
  Partial match on the lobbyist name. Example: `Jane Smith`.
</ParamField>

<ParamField query="subject" type="string">
  Partial match on the subject labels or subject text. Example: `Taxation`.
</ParamField>

<ParamField query="date_from" type="string">
  ISO 8601 start date. Example: `2023-01-01`.
</ParamField>

<ParamField query="date_to" type="string">
  ISO 8601 end date. Example: `2023-12-31`.
</ParamField>

<ParamField query="limit" type="integer">
  Results per page. Default: `50`. Max: `500`. Example: `25`.
</ParamField>

<ParamField query="offset" type="integer">
  Result offset for pagination. Default: `0`. Example: `50`.
</ParamField>

<Note>
  `page` and `per_page` are accepted as input aliases. `per_page` maps to `limit`, and `page` is converted internally into the corresponding `offset`.
</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.northaxiumdata.ca/api/v1/lobbying/communications?institution=Finance&limit=5&offset=5" \
    -H "X-API-Key: <your-api-key>"
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.northaxiumdata.ca/api/v1/lobbying/communications"
  headers = {"X-API-Key": "<your-api-key>"}
  params = {
      "institution": "Finance",
      "limit": 5,
      "offset": 5
  }

  response = requests.get(url, headers=headers, params=params)
  print(response.json())
  ```

  ```javascript Node.js theme={null}
  const fetch = require('node-fetch');

  const url = new URL('https://api.northaxiumdata.ca/api/v1/lobbying/communications');
  url.search = new URLSearchParams({
    institution: 'Finance',
    limit: '5',
    offset: '5'
  });

  fetch(url, {
    headers: {
      'X-API-Key': '<your-api-key>'
    }
  })
    .then(res => res.json())
    .then(json => console.log(json));
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "data": [
      {
        "com_id": "COM-992381",
        "date": "2023-10-15",
        "lobbyist_name": "Jane Smith",
        "client": "Green Energy Solutions Ltd.",
        "dpoh_name": "Mark Carney",
        "dpoh_title": "Minister of Finance",
        "institution": "Department of Finance Canada",
        "subjects": "Taxation and Finance, Environment"
      }
    ],
    "meta": {
      "total": 355000,
      "limit": 5,
      "offset": 5
    }
  }
  ```

  ```json 400 theme={null}
  {
    "error": {
      "code": "BAD_REQUEST",
      "message": "Invalid parameter value."
    }
  }
  ```

  ```json 401 theme={null}
  {
    "error": {
      "code": "UNAUTHORIZED",
      "message": "Missing API key. Pass your key in the X-API-Key header."
    }
  }
  ```

  ```json 404 theme={null}
  {
    "error": {
      "code": "NOT_FOUND",
      "message": "The requested resource was not found."
    }
  }
  ```

  ```json 429 theme={null}
  {
    "error": {
      "code": "RATE_LIMITED",
      "message": "Monthly request limit exceeded."
    }
  }
  ```
</ResponseExample>
