Tronald Dump Tags API

Browse the controlled vocabulary of tags attached to quotes.

OpenAPI Specification

tronald-dump-tags-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Tronald Dump Quotes Authors Tags API
  description: Tronald Dump is an open community REST API exposing a historical archive of Donald Trump quotes with sources, authors, tags, and a search interface. Responses follow HAL (Hypertext Application Language) JSON conventions with `_links` and `_embedded` sections for hypermedia navigation. The API supports random quote retrieval, quote lookup by ID, full text search with pagination, tag browsing, author lookup, and source lookup. No authentication is required. The original public service ran at api.tronalddump.io and has gone offline since 2023; this spec is preserved for community SDKs, archival mirrors, and historical reconstruction.
  version: 1.0.0
  contact:
    name: Marcel Wijnker (Original Author)
    url: https://github.com/wickedest
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  x-generated-from: documentation
  x-last-validated: '2026-05-30'
  x-api-status: offline-historical
servers:
- url: https://api.tronalddump.io
  description: Tronald Dump Production (historical, offline since 2023)
tags:
- name: Tags
  description: Browse the controlled vocabulary of tags attached to quotes.
paths:
  /tag:
    get:
      operationId: getAllTags
      summary: Tronald Dump Get All Tags
      description: Returns the controlled vocabulary of all tags that exist across the quote corpus.
      tags:
      - Tags
      responses:
        '200':
          description: Tag list returned successfully.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/TagListResponse'
              examples:
                GetAllTags200Example:
                  summary: Default getAllTags 200 response
                  x-microcks-default: true
                  value:
                    count: 3
                    total: 3
                    _embedded:
                      tags:
                      - value: Wall
                        _links:
                          self:
                            href: /tag/Wall
                      - value: Mexico
                        _links:
                          self:
                            href: /tag/Mexico
                      - value: China
                        _links:
                          self:
                            href: /tag/China
                    _links:
                      self:
                        href: /tag
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                GetAllTags500Example:
                  summary: Default getAllTags 500 response
                  x-microcks-default: true
                  value:
                    status: 500
                    message: Internal server error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /tag/{tag_value}:
    get:
      operationId: getQuotesByTag
      summary: Tronald Dump Get Quotes by Tag
      description: Returns the set of Donald Trump quotes associated with a specific tag value, with HAL pagination metadata.
      tags:
      - Tags
      parameters:
      - name: tag_value
        in: path
        description: The exact tag value to filter quotes by.
        required: true
        schema:
          type: string
        example: Wall
      - name: page
        in: query
        description: Zero-indexed page number for pagination.
        required: false
        schema:
          type: integer
          default: 0
          minimum: 0
        example: 0
      - name: size
        in: query
        description: Number of results returned per page.
        required: false
        schema:
          type: integer
          default: 25
          minimum: 1
          maximum: 100
        example: 25
      responses:
        '200':
          description: Tag matched and quotes returned successfully.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/QuoteSearchResponse'
              examples:
                GetQuotesByTag200Example:
                  summary: Default getQuotesByTag 200 response
                  x-microcks-default: true
                  value:
                    count: 1
                    total: 1
                    _embedded:
                      quotes:
                      - appeared_at: '2016-09-26T00:00:00.000Z'
                        created_at: '2017-02-15T16:13:32.456Z'
                        quote_id: GYDdK40iSrSiyVAm2J_TKQ
                        tags:
                        - Wall
                        value: I will build a great wall.
                        _links:
                          self:
                            href: /quote/GYDdK40iSrSiyVAm2J_TKQ
                    _links:
                      self:
                        href: /tag/Wall
        '404':
          description: Tag not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                GetQuotesByTag404Example:
                  summary: Default getQuotesByTag 404 response
                  x-microcks-default: true
                  value:
                    status: 404
                    message: Tag not found
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                GetQuotesByTag500Example:
                  summary: Default getQuotesByTag 500 response
                  x-microcks-default: true
                  value:
                    status: 500
                    message: Internal server error
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    QuoteSearchResponse:
      type: object
      description: HAL response wrapper for paginated quote search and tag results.
      properties:
        count:
          type: integer
          description: Number of quotes returned on this page.
          example: 2
        total:
          type: integer
          description: Total number of quotes matching the query across all pages.
          example: 2
        _embedded:
          type: object
          properties:
            quotes:
              type: array
              items:
                $ref: '#/components/schemas/Quote'
        _links:
          type: object
          description: HAL pagination links (self, next, prev).
          additionalProperties: true
    Tag:
      type: object
      description: A tag in the controlled vocabulary applied to quotes.
      properties:
        value:
          type: string
          description: The tag value string.
          example: Wall
        _links:
          type: object
          description: HAL hypermedia links related to the tag.
          additionalProperties: true
    Error:
      type: object
      description: Standard error response envelope.
      properties:
        status:
          type: integer
          description: HTTP status code.
          example: 404
        message:
          type: string
          description: Human-readable error message.
          example: Quote not found
    Source:
      type: object
      description: A source document (tweet, transcript, article) underpinning a quote.
      properties:
        source_id:
          type: string
          description: Unique URL-safe identifier for the source.
          example: 2u3o8DcvSluqZ27WtmlGCw
        url:
          type: string
          format: uri
          description: Canonical URL of the source document.
          example: https://twitter.com/realDonaldTrump/status/780494805192454144
        filename:
          type: string
          description: Filename of the archived source on disk.
          example: 780494805192454144.txt
        created_at:
          type: string
          format: date-time
          description: The date and time the source was created.
          example: '2017-02-15T16:13:32.456Z'
        updated_at:
          type: string
          format: date-time
          description: The date and time the source was last updated.
          example: '2017-02-15T16:13:32.456Z'
        _links:
          type: object
          description: HAL hypermedia links related to the source.
          additionalProperties: true
    Author:
      type: object
      description: An author record (e.g. Donald Trump) attached to one or more quotes.
      properties:
        author_id:
          type: string
          description: Unique URL-safe identifier for the author.
          example: 86xX9JdJSlqIo86xJoiqAA
        name:
          type: string
          description: Display name of the author.
          example: Donald Trump
        slug:
          type: string
          description: URL-friendly slug for the author.
          example: donald-trump
        bio:
          type: string
          description: Short biography of the author.
          example: 45th and 47th President of the United States.
        _links:
          type: object
          description: HAL hypermedia links related to the author.
          additionalProperties: true
    Quote:
      type: object
      description: A single Donald Trump quote with HAL hypermedia metadata.
      properties:
        appeared_at:
          type: string
          format: date-time
          description: The date and time the quote first appeared in the source.
          example: '2016-09-26T00:00:00.000Z'
        created_at:
          type: string
          format: date-time
          description: The date and time the quote was created in the system.
          example: '2017-02-15T16:13:32.456Z'
        quote_id:
          type: string
          description: Unique URL-safe identifier for the quote.
          example: GYDdK40iSrSiyVAm2J_TKQ
        tags:
          type: array
          items:
            type: string
          description: Tag values associated with the quote.
          example:
          - Mexico
          - Wall
        updated_at:
          type: string
          format: date-time
          description: The date and time the quote was last updated.
          example: '2017-02-15T16:13:32.456Z'
        value:
          type: string
          description: The actual quote text.
          example: I will build a great wall.
        _links:
          type: object
          description: HAL hypermedia links related to the quote (self, etc.).
          additionalProperties: true
        _embedded:
          type: object
          description: HAL embedded resources for the quote (author, source).
          properties:
            author:
              type: array
              items:
                $ref: '#/components/schemas/Author'
            source:
              type: array
              items:
                $ref: '#/components/schemas/Source'
    TagListResponse:
      type: object
      description: HAL response wrapper for the tag vocabulary listing.
      properties:
        count:
          type: integer
          description: Number of tags returned on this page.
          example: 3
        total:
          type: integer
          description: Total number of tags in the vocabulary.
          example: 3
        _embedded:
          type: object
          properties:
            tags:
              type: array
              items:
                $ref: '#/components/schemas/Tag'
        _links:
          type: object
          description: HAL pagination links.
          additionalProperties: true
externalDocs:
  description: Original Tronald Dump Documentation (historical)
  url: https://www.tronalddump.io/