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

# List a location's government bodies

> Returns a cursor-paginated list of the government bodies (city councils, planning commissions, …) for one location, ordered by last update (oldest first) so you can sync incrementally. Page forward by passing the previous response's `next_cursor` as `cursor`. Pass `updated_since` to return only bodies changed at or after that time; it composes with the cursor. Returns 404 if the location does not exist or your API key is not entitled to it.



## OpenAPI

````yaml /openapi.json get /v1/locations/{uuid}/government-bodies
openapi: 3.1.0
info:
  title: Hamlet Public API
  version: 0.1.0
  description: >-
    Public API for programmatic access to Hamlet civic intelligence data:
    government meetings, transcripts, and related records from local
    governments.
servers:
  - url: https://api.myhamlet.com
    description: Production
security: []
paths:
  /v1/locations/{uuid}/government-bodies:
    get:
      tags:
        - Government Bodies
      summary: List a location's government bodies
      description: >-
        Returns a cursor-paginated list of the government bodies (city councils,
        planning commissions, …) for one location, ordered by last update
        (oldest first) so you can sync incrementally. Page forward by passing
        the previous response's `next_cursor` as `cursor`. Pass `updated_since`
        to return only bodies changed at or after that time; it composes with
        the cursor. Returns 404 if the location does not exist or your API key
        is not entitled to it.
      parameters:
        - schema:
            type: string
            format: uuid
            description: The location's public uuid.
            example: 5f2b0c3a-1d4e-4a8b-9f6d-2a1c3e4b5d6f
          required: true
          description: The location's public uuid.
          name: uuid
          in: path
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 50
            description: Maximum number of items to return per page.
            example: 50
          required: false
          description: Maximum number of items to return per page.
          name: per_page
          in: query
        - schema:
            type: string
            description: >-
              Opaque pagination cursor from a previous response's `next_cursor`.
              Omit for the first page.
            example: eyJ1IjoiMjAyNi0wNS0wMSAxODoyMjoxMCIsImkiOjQyfQ
          required: false
          description: >-
            Opaque pagination cursor from a previous response's `next_cursor`.
            Omit for the first page.
          name: cursor
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Inclusive lower bound on `updated_at` (ISO-8601 with a UTC `Z` or
              numeric offset, e.g. `2026-05-01T18:22:10Z`). Returns only records
              changed at or after this time, ordered and paged exactly like a
              normal request — pass it alongside `cursor` to sync incrementally.
              A malformed or offset-less timestamp returns `400`.
            example: '2026-05-01T18:22:10Z'
          required: false
          description: >-
            Inclusive lower bound on `updated_at` (ISO-8601 with a UTC `Z` or
            numeric offset, e.g. `2026-05-01T18:22:10Z`). Returns only records
            changed at or after this time, ordered and paged exactly like a
            normal request — pass it alongside `cursor` to sync incrementally. A
            malformed or offset-less timestamp returns `400`.
          name: updated_since
          in: query
      responses:
        '200':
          description: A page of the location's government bodies.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GovernmentBodyList'
        '400':
          description: Invalid uuid, cursor, or query parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: The location does not exist or is not entitled to this API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    GovernmentBodyList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/GovernmentBody'
        next_cursor:
          type:
            - string
            - 'null'
          description: >-
            Pass as `cursor` to fetch the next page; `null` when there are no
            more results.
          example: eyJ1IjoiMjAyNi0wNS0wMSAxODoyMjoxMCIsImkiOjQyfQ
      required:
        - data
        - next_cursor
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: not_found
            message:
              type: string
              example: The requested resource was not found.
          required:
            - code
            - message
      required:
        - error
    GovernmentBody:
      type: object
      properties:
        uuid:
          type: string
          description: Public identifier.
          example: c30d2f7e-9a1b-4c5d-8e6f-0a1b2c3d4e5f
        location_uuid:
          type: string
          description: Parent location's public identifier; matches the path.
          example: 5f2b0c3a-1d4e-4a8b-9f6d-2a1c3e4b5d6f
        type:
          type: string
          description: >-
            Government body type, uppercased. Common values: CITY_COUNCIL,
            PLANNING_COMMISSION, OTHER, BOARD_OF_SUPERVISORS, SCHOOL_BOARD.
          example: CITY_COUNCIL
        name:
          type: string
          description: Human-readable name.
          example: City Council
        created_at:
          type: string
          description: ISO-8601 UTC timestamp.
          example: '2025-01-10T00:00:00.000Z'
        updated_at:
          type: string
          description: ISO-8601 UTC timestamp; drives the sync cursor.
          example: '2026-04-18T12:05:00.000Z'
      required:
        - uuid
        - location_uuid
        - type
        - name
        - created_at
        - updated_at
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````