knievel

Knievel - the Ruby gem for the knievel

No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

This SDK is automatically generated by the OpenAPI Generator project:

  • API version: 0.1.0
  • Package version: 0.1.1
  • Generator version: 7.23.0-SNAPSHOT
  • Build package: org.openapitools.codegen.languages.RubyClientCodegen

Installation

Build a gem

To build the Ruby code into a gem:

gem build knievel.gemspec

Then either install the gem locally:

gem install ./knievel-0.1.1.gem

(for development, run gem install --dev ./knievel-0.1.1.gem to install the development dependencies)

or publish the gem to a gem hosting service, e.g. RubyGems.

Finally add this to the Gemfile:

gem 'knievel', '~> 0.1.1'

Install from Git

If the Ruby gem is hosted at a git repository: https://github.com/GIT_USER_ID/GIT_REPO_ID, then add the following in the Gemfile:

gem 'knievel', :git => 'https://github.com/GIT_USER_ID/GIT_REPO_ID.git'

Include the Ruby code directly

Include the Ruby code directly using -I as follows:

ruby -Ilib script.rb

Getting Started

Please follow the installation procedure and then run the following code:

# Load the gem
require 'knievel'

# Setup authorization
Knievel.configure do |config|
  # Configure Bearer authorization: BearerAuth
  config.access_token = 'YOUR_BEARER_TOKEN'
  # Configure a proc to get access tokens in lieu of the static access_token configuration
  config.access_token_getter = -> { 'YOUR TOKEN GETTER PROC' } 
  # Configure faraday connection
  config.configure_faraday_connection { |connection| 'YOUR CONNECTION CONFIG PROC' }
end

api_instance = Knievel::DefaultApi.new
project_id = 'project_id_example' # String | 
batch_upsert_ads_request = Knievel::BatchUpsertAdsRequest.new({items: [Knievel::BatchUpsertAdRow.new({external_id: 'external_id_example', flight_id: 3.56, creative_id: 3.56})]}) # BatchUpsertAdsRequest | 

begin
  result = api_instance.batch_upsert_ads(project_id, batch_upsert_ads_request)
  p result
rescue Knievel::ApiError => e
  puts "Exception when calling DefaultApi->batch_upsert_ads: #{e}"
end

Documentation for API Endpoints

All URIs are relative to http://localhost

Class Method HTTP request Description
Knievel::DefaultApi batch_upsert_ads POST /v1/projects/project_id/ads:batchUpsert
Knievel::DefaultApi batch_upsert_advertisers POST /v1/projects/project_id/advertisers:batchUpsert POST /v1/projects/:project_id/advertisers:batchUpsert — bulk by externalId. Single Postgres transaction; per API.md \"Write contract\" any per-row failure rolls back the whole batch with details[] listing every offending row. On success: 200 with the upserted rows in input order.
Knievel::DefaultApi batch_upsert_campaigns POST /v1/projects/project_id/campaigns:batchUpsert
Knievel::DefaultApi batch_upsert_flights POST /v1/projects/project_id/flights:batchUpsert
Knievel::DefaultApi batch_upsert_sites POST /v1/projects/project_id/sites:batchUpsert
Knievel::DefaultApi batch_upsert_zones POST /v1/projects/project_id/zones:batchUpsert
Knievel::DefaultApi create_ad POST /v1/projects/project_id/ads
Knievel::DefaultApi create_ad_library_item POST /v1/orgs/org_id/ad-library/items
Knievel::DefaultApi create_advertiser POST /v1/projects/project_id/advertisers
Knievel::DefaultApi create_campaign POST /v1/projects/project_id/campaigns
Knievel::DefaultApi create_creative POST /v1/projects/project_id/creatives
Knievel::DefaultApi create_creative_template POST /v1/projects/project_id/creative-templates
Knievel::DefaultApi create_flight POST /v1/projects/project_id/flights
Knievel::DefaultApi create_project POST /v1/orgs/org_id/projects Create a project under an org. Honors Idempotency-Key (24 h replay window per API.md \"Idempotency\"); 409 idempotency_conflict if the same key is reused with a different body. Returns 409 external_id_conflict if the externalId is already taken in this org.
Knievel::DefaultApi create_site POST /v1/projects/project_id/sites
Knievel::DefaultApi create_token POST /v1/orgs/org_id/tokens Mint an opaque token. Returns the plaintext secret exactly once. Min role: org-admin.
Knievel::DefaultApi create_zone POST /v1/projects/project_id/zones
Knievel::DefaultApi decisions POST /v1/projects/project_id/decisions
Knievel::DefaultApi decisions_explain POST /v1/projects/project_id/decisions:explain
Knievel::DefaultApi get_ad GET /v1/projects/project_id/ads/id
Knievel::DefaultApi get_ad_library_item GET /v1/orgs/org_id/ad-library/items/item_id
Knievel::DefaultApi get_ad_type GET /v1/projects/project_id/ad-types/id
Knievel::DefaultApi get_advertiser GET /v1/projects/project_id/advertisers/id
Knievel::DefaultApi get_campaign GET /v1/projects/project_id/campaigns/id
Knievel::DefaultApi get_channel GET /v1/projects/project_id/channels/id
Knievel::DefaultApi get_creative GET /v1/projects/project_id/creatives/id
Knievel::DefaultApi get_creative_template GET /v1/projects/project_id/creative-templates/id
Knievel::DefaultApi get_flight GET /v1/projects/project_id/flights/id
Knievel::DefaultApi get_priority GET /v1/projects/project_id/priorities/id
Knievel::DefaultApi get_project GET /v1/orgs/org_id/projects/project_id Read a single project by id (path).
Knievel::DefaultApi get_site GET /v1/projects/project_id/sites/id
Knievel::DefaultApi get_zone GET /v1/projects/project_id/zones/id
Knievel::DefaultApi healthz GET /healthz Liveness — k8s liveness probe key.
Knievel::DefaultApi list_ad_library_items GET /v1/orgs/org_id/ad-library/items
Knievel::DefaultApi list_ad_types GET /v1/projects/project_id/ad-types
Knievel::DefaultApi list_ads GET /v1/projects/project_id/ads
Knievel::DefaultApi list_advertisers GET /v1/projects/project_id/advertisers
Knievel::DefaultApi list_campaigns GET /v1/projects/project_id/campaigns
Knievel::DefaultApi list_channels GET /v1/projects/project_id/channels
Knievel::DefaultApi list_creative_templates GET /v1/projects/project_id/creative-templates
Knievel::DefaultApi list_creatives GET /v1/projects/project_id/creatives
Knievel::DefaultApi list_flights GET /v1/projects/project_id/flights
Knievel::DefaultApi list_priorities GET /v1/projects/project_id/priorities
Knievel::DefaultApi list_sites GET /v1/projects/project_id/sites
Knievel::DefaultApi list_tokens GET /v1/orgs/org_id/tokens List tokens (metadata only; secrets never leave the mint response). Min role: org-admin.
Knievel::DefaultApi list_zones GET /v1/projects/project_id/zones
Knievel::DefaultApi readyz GET /readyz Readiness — only 200 when knievel can serve. Per REQUIREMENTS.md § 10.6, the full check has four criteria; today only the DB-reachability one is real.
Knievel::DefaultApi revoke_token DELETE /v1/orgs/org_id/tokens/token_id Revoke a token (soft delete via revoked_at). The auth path filters revoked rows at the next request. Min role: org-admin.
Knievel::DefaultApi update_ad PATCH /v1/projects/project_id/ads/id
Knievel::DefaultApi update_ad_library_item PATCH /v1/orgs/org_id/ad-library/items/item_id
Knievel::DefaultApi update_advertiser PATCH /v1/projects/project_id/advertisers/id
Knievel::DefaultApi update_campaign PATCH /v1/projects/project_id/campaigns/id
Knievel::DefaultApi update_creative_template PATCH /v1/projects/project_id/creative-templates/id PATCH bumps version whenever the schema field is provided (per API.md § 3.6 — schema changes are versioned but do not retroactively re-validate existing creatives).
Knievel::DefaultApi update_flight PATCH /v1/projects/project_id/flights/id
Knievel::DefaultApi update_site PATCH /v1/projects/project_id/sites/id
Knievel::DefaultApi update_zone PATCH /v1/projects/project_id/zones/id
Knievel::DefaultApi upload_creative_image POST /v1/projects/project_id/creatives/id/image Multipart image upload (Phase 3.32). Validates the body against the image_upload core (size + magic bytes + MIME allow-list), writes through the configured ImageStore, and updates the creative row's image_url in the same transaction. Min role: editor (matches createCreative).
Knievel::DefaultApi upsert_site_by_url POST /v1/projects/project_id/sites:upsertByUrl Natural-key upsert. Returns the existing row (200) when a site with the same URL exists; otherwise creates (201). Per API.md § 3.7: :upsertByUrl is the canonical entry point for URL-driven flows.
Knievel::DefaultApi version GET /version Build metadata + effective auth policy.

Documentation for Models

Documentation for Authorization

Authentication schemes defined for the API:

BearerAuth

  • Type: Bearer authentication