Feedback1 Banners Public API
The banners-public API from Feedback1 — 3 operation(s) for banners-public.
The banners-public API from Feedback1 — 3 operation(s) for banners-public.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/feedback1-ai:feedback1-ai-banners-public-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Feedback1 Public Banners Public API
description: '## Feedback1 Public API
REST API for programmatic access to Feedback1 data.
### Authentication
All endpoints require a Bearer token (API key) in the `Authorization` header:
```
Authorization: Bearer your_api_key_here
```
You can create API keys in the Feedback1 dashboard under Settings > API Keys.
### Rate Limits
- 200 requests per minute per API key
- Rate limit headers are included in responses
### Base URL
```
https://app.feedback1.ai/api/v1
```'
version: 1.0.0
servers:
- url: /api/v1
tags:
- name: banners-public
paths:
/public/banners/embed/{banner_embed_id}:
get:
tags:
- banners-public
summary: Get Active Banners By Embed Id
description: 'Fetch banners for an external embed using the stable BannerPlace.id.
Registered before ``/{product_pub_id}/{place_identifier}`` so ``embed`` is
not interpreted as a product public id.'
operationId: get_active_banners_by_embed_id_public_banners_embed__banner_embed_id__get
parameters:
- name: banner_embed_id
in: path
required: true
schema:
type: string
title: Banner Embed Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PublicBannersResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/public/banners/{product_pub_id}/{place_identifier}:
get:
tags:
- banners-public
summary: Get Active Banners For Place
description: 'Get active banners for a specific place identifier
This endpoint is called by the banner widget SDK to fetch banners
that should be displayed for a given place.'
operationId: get_active_banners_for_place_public_banners__product_pub_id___place_identifier__get
parameters:
- name: product_pub_id
in: path
required: true
schema:
type: string
title: Product Pub Id
- name: place_identifier
in: path
required: true
schema:
type: string
title: Place Identifier
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PublicBannersResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/public/banners/{banner_id}/dismiss:
post:
tags:
- banners-public
summary: Dismiss Banner
description: 'Dismiss a banner (for anonymous users via session_id)
This endpoint is called by the banner widget when a user dismisses a banner.'
operationId: dismiss_banner_public_banners__banner_id__dismiss_post
parameters:
- name: banner_id
in: path
required: true
schema:
type: string
title: Banner Id
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
PublicBannerResponse:
properties:
id:
type: string
title: Id
title:
type: string
title: Title
message:
anyOf:
- type: string
- type: 'null'
title: Message
type:
$ref: '#/components/schemas/BannerType'
priority:
type: integer
title: Priority
link_url:
anyOf:
- type: string
- type: 'null'
title: Link Url
link_text:
anyOf:
- type: string
- type: 'null'
title: Link Text
position:
$ref: '#/components/schemas/BannerPosition'
center_content:
type: boolean
title: Center Content
default: false
type: object
required:
- id
- title
- message
- type
- priority
- link_url
- link_text
- position
title: PublicBannerResponse
description: Public banner response for widget
BannerPosition:
type: string
enum:
- top
- bottom
title: BannerPosition
description: Banner position enum
BannerType:
type: string
enum:
- info
- warning
- success
- error
title: BannerType
description: Banner type enum
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
PublicBannersResponse:
properties:
banners:
items:
$ref: '#/components/schemas/PublicBannerResponse'
type: array
title: Banners
default: []
type: object
title: PublicBannersResponse
description: Public banners response for widget
securitySchemes:
HTTPBearer:
type: http
scheme: bearer