FlashData Overview API
The Overview API from FlashData — 1 operation(s) for overview.
The Overview API from FlashData — 1 operation(s) for overview.
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/flashdata-dev:flashdata-dev-overview-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: FlashData Customer Overview API
version: 0.2.0-draft
summary: FlashData control-plane API contract
description: Google search, YouTube data and media downloads, with endpoints for jobs, accounts, API keys and billing. See /docs for request examples and setup guides.
contact:
name: FlashData Engineering
servers:
- url: https://api.flashdata.dev/v2
description: Management API
tags:
- name: Overview
paths:
/overview:
get:
operationId: getConsoleOverview
tags:
- Overview
summary: Read the account dashboard aggregate
security:
- cookieSession: []
responses:
'200':
description: Account-scoped overview
headers:
Cache-Control:
$ref: '#/components/headers/CacheControlNoStore'
X-Request-Id:
$ref: '#/components/headers/RequestId'
content:
application/json:
schema:
$ref: '#/components/schemas/ConsoleOverview'
'401':
$ref: '#/components/responses/NoStoreUnauthorized'
'500':
$ref: '#/components/responses/NoStoreInternalError'
'503':
$ref: '#/components/responses/NoStoreServiceUnavailable'
components:
schemas:
Account:
type: object
description: Deleted accounts are only returned through authorized Admin projections; their identity fields are redacted.
additionalProperties: false
required:
- id
- name
- email
- status
- emailVerified
- legalAcceptanceRequired
- role
- timezone
- createdAt
- updatedAt
properties:
id:
type: string
pattern: ^acct_
name:
type: string
email:
type:
- string
- 'null'
format: email
status:
type: string
enum:
- pending_verification
- active
- suspended
- deleting
- deleted
emailVerified:
type: boolean
legalAcceptanceRequired:
type: boolean
role:
type: string
enum:
- user
- admin
timezone:
type: string
minLength: 1
maxLength: 80
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
Plan:
type: object
additionalProperties: false
required:
- id
- slug
- name
- description
- includedCredits
- limits
- prices
- features
- usagePrices
properties:
id:
type: string
pattern: ^plan_
slug:
type: string
name:
type: string
description:
type: string
includedCredits:
type: number
minimum: 0
multipleOf: 0.001
description: Credits included in each paid subscription cycle; zero for Pay As You Go.
limits:
$ref: '#/components/schemas/PlanLimits'
prices:
type: array
items:
$ref: '#/components/schemas/PlanPrice'
features:
type: array
items:
type: string
usagePrices:
$ref: '#/components/schemas/PlanUsagePrices'
ConsoleOverview:
type: object
additionalProperties: false
required:
- account
- onboarding
- subscription
- balance
- publicStatus
- degradedSections
- generatedAt
properties:
account:
$ref: '#/components/schemas/Account'
onboarding:
$ref: '#/components/schemas/OnboardingProgress'
subscription:
oneOf:
- $ref: '#/components/schemas/Subscription'
- type: 'null'
balance:
oneOf:
- $ref: '#/components/schemas/CreditBalance'
- type: 'null'
publicStatus:
oneOf:
- $ref: '#/components/schemas/PublicStatus'
- type: 'null'
degradedSections:
type: array
uniqueItems: true
items:
type: string
enum:
- subscription
- balance
- public_status
description: A listed section uses its unavailable representation; null and empty values must not be interpreted as zero or healthy.
generatedAt:
type: string
format: date-time
PublicStatusComponent:
type: object
additionalProperties: false
required:
- id
- name
- status
properties:
id:
type: string
name:
type: string
status:
type: string
enum:
- operational
- degraded
- outage
FieldError:
type: object
additionalProperties: false
required:
- field
- code
- message
properties:
field:
type: string
code:
type: string
message:
type: string
Subscription:
type: object
description: Effective entitlement projection. `status=payg` and `id=null` means no billing subscription record exists.
additionalProperties: false
required:
- status
- plan
- cancelAtPeriodEnd
- usageRates
properties:
id:
type:
- string
- 'null'
pattern: ^sub_
status:
type: string
enum:
- payg
- trialing
- active
- past_due
- grace
- cancelled
plan:
$ref: '#/components/schemas/Plan'
usageRates:
type: object
description: Account-specific configured credit rates. Query rates come from the account entitlement, not the public plan catalog. One TB is 1,000,000,000,000 bytes; download charges are settled against actual bytes and rounded per result.
additionalProperties: false
required:
- customized
- queries
- downloadCreditsPerTb
properties:
customized:
type: boolean
description: True when an administrator configured rates for this account.
queries:
type: array
items:
type: object
additionalProperties: false
required:
- source
- name
- creditsPerRequest
properties:
source:
type: string
name:
type: string
creditsPerRequest:
type: number
minimum: 0
downloadCreditsPerTb:
type: number
minimum: 0
currentPeriodStart:
type:
- string
- 'null'
format: date-time
currentPeriodEnd:
type:
- string
- 'null'
format: date-time
cancelAtPeriodEnd:
type: boolean
graceEndsAt:
type:
- string
- 'null'
format: date-time
PlanUsagePrices:
type: object
additionalProperties: false
required:
- googlePer1kCents
- youtubePer1kCents
- downloadPerTbCents
properties:
googlePer1kCents:
type: integer
minimum: 0
description: Google request price per 1,000 successful requests, in USD cents.
youtubePer1kCents:
type: integer
minimum: 0
description: Standard YouTube request price per 1,000 successful requests, in USD cents.
downloadPerTbCents:
type: integer
minimum: 0
description: Download price per decimal TB (1,000,000,000,000 bytes), in USD cents.
PlanLimits:
type: object
additionalProperties: false
required:
- concurrency
- maxBatchSize
- maxPendingJobs
properties:
concurrency:
type: integer
minimum: 1
maxBatchSize:
type: integer
minimum: 1
maxPendingJobs:
type: integer
minimum: 1
PlanPrice:
type: object
additionalProperties: false
required:
- id
- currency
- unitAmount
- credits
- type
- interval
properties:
id:
type: string
pattern: ^prc_
currency:
type: string
const: USD
unitAmount:
type: integer
minimum: 0
description: USD cents
credits:
type: number
minimum: 0
multipleOf: 0.001
description: Credits granted by a successful one-time top-up; zero for recurring prices.
type:
type: string
enum:
- recurring
- one_time
interval:
type:
- string
- 'null'
enum:
- month
- year
- null
Problem:
type: object
additionalProperties: false
required:
- type
- title
- status
- code
- requestId
properties:
type:
type: string
format: uri-reference
title:
type: string
status:
type: integer
minimum: 400
maximum: 599
code:
type: string
pattern: ^[a-z0-9_]+$
detail:
type: string
requestId:
type: string
pattern: ^req_
fieldErrors:
type: array
items:
$ref: '#/components/schemas/FieldError'
OnboardingProgress:
type: object
additionalProperties: false
required:
- currentStep
- apiKeyStepStatus
- firstRequestStatus
- version
- updatedAt
properties:
currentStep:
type: string
enum:
- welcome
- api_key
- first_request
- completed
useCase:
type:
- string
- 'null'
enum:
- google_search
- youtube_data
- download
- null
apiKeyStepStatus:
type: string
enum:
- pending
- created
- skipped
firstRequestStatus:
type: string
enum:
- pending
- succeeded
- skipped
firstApiKeyId:
type:
- string
- 'null'
pattern: ^key_
firstRequestId:
type:
- string
- 'null'
pattern: ^req_
completedAt:
type:
- string
- 'null'
format: date-time
version:
type: integer
minimum: 0
updatedAt:
type: string
format: date-time
CreditBalance:
type: object
additionalProperties: false
required:
- balanceCredits
- reservedCredits
- availableCredits
- lifetimeGrantedCredits
- lifetimeUsedCredits
- lifetimeRefundedCredits
- lifetimePaymentReversedCredits
- updatedAt
properties:
balanceCredits:
type: number
multipleOf: 0.001
description: Signed settled balance after grants, usage, refunds and provider reversals.
reservedCredits:
type: number
minimum: 0
multipleOf: 0.001
availableCredits:
type: number
minimum: 0
multipleOf: 0.001
description: max(balanceCredits, 0).
lifetimeGrantedCredits:
type: number
minimum: 0
multipleOf: 0.001
lifetimeUsedCredits:
type: number
minimum: 0
multipleOf: 0.001
lifetimeRefundedCredits:
type: number
minimum: 0
multipleOf: 0.001
description: Credits returned to the account after failed usage.
lifetimePaymentReversedCredits:
type: number
minimum: 0
multipleOf: 0.001
description: Absolute Credits removed after verified provider refunds or chargebacks.
updatedAt:
type: string
format: date-time
PublicStatus:
type: object
additionalProperties: false
required:
- status
- updatedAt
- components
properties:
status:
type: string
enum:
- healthy
- degraded
- outage
updatedAt:
type: string
format: date-time
components:
type: array
items:
$ref: '#/components/schemas/PublicStatusComponent'
headers:
RequestId:
description: Stable request correlation ID
schema:
type: string
pattern: ^req_
CacheControlNoStore:
description: Prevents storage of sensitive or state-changing responses by browsers and intermediaries
schema:
type: string
const: no-store
responses:
NoStoreInternalError:
description: An unexpected internal error occurred
headers:
Cache-Control:
$ref: '#/components/headers/CacheControlNoStore'
X-Request-Id:
$ref: '#/components/headers/RequestId'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
NoStoreServiceUnavailable:
description: A required dependency or onboarding record is temporarily unavailable
headers:
Cache-Control:
$ref: '#/components/headers/CacheControlNoStore'
X-Request-Id:
$ref: '#/components/headers/RequestId'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
NoStoreUnauthorized:
description: Authentication required or invalid
headers:
Cache-Control:
$ref: '#/components/headers/CacheControlNoStore'
X-Request-Id:
$ref: '#/components/headers/RequestId'
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
securitySchemes:
dataApiKey:
type: apiKey
in: header
name: X-API-Key
description: FlashData API key. Job access is restricted to the key's source scopes.
agentRegistrationProof:
type: http
scheme: bearer
description: Persist a cryptographically random 32-byte base64url proof and exact request BEFORE sending; recover only with the same proof and body. Not an OAuth token.
cookieSession:
type: apiKey
in: cookie
name: __Host-fd_session
description: Opaque Web session. The browser cannot read this cookie.
agentSetupCredential:
type: http
scheme: bearer
description: Temporary setup credential for status and claim creation only. Not a data API key.
csrfToken:
type: apiKey
in: header
name: X-CSRF-Token
agentIdentityKey:
type: http
scheme: bearer
description: Ordinary FlashData API key in Authorization Bearer, only on agent identity. Data queries use X-API-Key instead.
agentHandoffProof:
type: http
scheme: bearer
description: Proof used to recover the owner key and acknowledge installation. Never sent to a data query.