Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
version: 1.0-beta
title: Sample Marketplace Partner API Contract Samples API
description: '# Summary
Sample providers that wish to be added to the Forsta Sample Marketplace must implement
an API following the specifications outlined in this document after obtaining an authentication key from Forsta.'
tags:
- name: Samples
description: The Sample resources are used to create or alter sample purchases. The Forsta Sample Marketplace expects responses to these calls within 10 seconds before terminating the request.
paths:
/samples/{sample_id}:
get:
parameters:
- name: sample_id
in: path
required: true
schema:
type: string
example: 18ebed02-6e91-4504-af97-a83c103dca41
description: The UUID (an immutable ID tied to a specific resource) tied to a specific example.
tags:
- Samples
summary: Get sample data
security:
- OAuth2: []
operationId: demo.get_sample
responses:
'200':
description: Sample retrieved
content:
application/json:
schema:
$ref: '#/components/schemas/SampleOutput'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'500':
$ref: '#/components/responses/500'
patch:
parameters:
- name: sample_id
in: path
required: true
example: 18ebed02-6e91-4504-af97-a83c103dca41
description: The UUID (an immutable ID tied to a specific resource) used to identify a particular sample.
schema:
type: string
operationId: demo.patch_sample
requestBody:
content:
application/json:
schema:
allOf:
- type: object
properties:
name:
type: string
example: CSAT Survey
description: A name used to identfiy the survey.
live_url:
type: string
example: https://release.decipherinc.com/survey/demo/dashboard
description: The full URL to the live survey to receive participants. Required if setting sample to the live state.
format: URI
status:
type: string
example: live
description: The status of this sample
enum:
- pending
- live
- paused
- closed
- deleted
tags:
- Samples
summary: Update sample
security:
- OAuth2: []
responses:
'200':
description: Sample patched
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/SampleOutput'
'401':
$ref: '#/components/responses/401'
'404':
$ref: '#/components/responses/404'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
/samples:
post:
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Sample'
tags:
- Samples
summary: Create Sample
security:
- OAuth2: []
operationId: demo.post_sample
responses:
'201':
description: Sample created
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/SampleOutput'
'401':
$ref: '#/components/responses/401'
'422':
$ref: '#/components/responses/422'
'500':
$ref: '#/components/responses/500'
components:
schemas:
dma:
type: object
description: What is your DMA?
title: DMA
properties:
question_id:
type: string
enum:
- dma
answers:
type: array
items:
type: string
enum:
- New York
- Los Angeles
- Chicago
- Philadelphia
- Dallas-Fort Worth
- Washington, D.C. (Hagerstown)
- Houston
- San Francisco-Oakland-San Jose
- Boston (Manchester)
- Atlanta
- Tampa-St. Petersburg (Sarasota)
- Phoenix (Prescott)
- Seattle-Tacoma
- Detroit
- Minneapolis-St. Paul
- Miami-Fort Lauderdale
- Denver
- Orlando-Daytona Beach-Melbourne
- Cleveland-Akron (Canton)
- Sacramento-Stockton-Modesto
- St. Louis
- Portland, OR
- Charlotte
- Pittsburgh
- Raleigh-Durham (Fayetteville)
- Baltimore
- Nashville
- Indianapolis
- San Diego
- Salt Lake City
- San Antonio
- Kansas City
- Hartford & New Haven
- Columbus, OH
- Cincinnati
- Milwaukee
- West Palm Beach-Fort Pierce
- Greenville-Spartanburg-Asheville-Anderson
- Las Vegas
- Austin
- Harrisburg-Lancaster-Lebanon-York
- Jacksonville
- Birmingham (Anniston and Tuscaloosa)
- Norfolk-Portsmouth-Newport News
- Oklahoma City
- Greensboro-High Point-Winston-Salem
- Albuquerque-Santa Fe
- Louisville
- Grand Rapids-Kalamazoo-Battle Creek
- New Orleans
- Memphis
- Buffalo
- Providence-New Bedford
- Fresno-Visalia
- Fort Myers-Naples
- Richmond-Petersburg
- Little Rock-Pine Bluff
- Mobile-Pensacola (Navarre)
- Albany-Schenectady-Troy
- Knoxville
- Tulsa
- Wilkes Barre-Scranton-Hazleton
- Lexington
- Dayton
- Flint-Saginaw-Bay City
- Honolulu
- Green Bay-Appleton
- Roanoke-Lynchburg
- Omaha
- Charleston-Huntington
- Toledo
- Springfield, MO
- Tucson (Sierra Vista)
- Columbia, SC
- Des Moines-Ames
- Wichita-Hutchinson Plus
- Spokane
- Harlingen-Weslaco-Brownsville-McAllen
- Huntsville-Decatur (Florence)
- Rochester, NY
- Syracuse
- Champaign & Springfield-Decatur
- Chattanooga
- Portland-Auburn
- El Paso (Las Cruces)
- Madison
- Cedar Rapids-Waterloo-Iowa City & Dubuque
- Paducah-Cape Girardeau-Harrisburg
- Waco-Temple-Bryan
- Shreveport-Texarkana
- Colorado Springs-Pueblo
- Jackson, MS
- Savannah
- Charleston, SC
- Myrtle Beach-Florence
- Burlington-Plattsburgh
- Baton Rouge
- Davenport-Rock Island-Moline
- South Bend-Elkhart
- Boise
- Fort Smith-Fayetteville-Springdale-Rogers
- Tri-Cities, TN-VA
- Evansville
- Fort Wayne
- Augusta-Aiken
- Johnstown-Altoona-State College
- Greenville-New Bern-Washington
- Springfield-Holyoke
- Reno
- Lansing
- Lincoln & Hastings-Kearney
- Tallahassee-Thomasville
- Peoria-Bloomington
- Tyler-Longview (Lufkin & Nacogdoches)
- Sioux Falls (Mitchell)
- Montgomery-Selma
- Fargo
- Macon
- Yakima-Pasco-Richland-Kennewick
- Traverse City-Cadillac
- Lafayette, LA
- Bakersfield
- Eugene
- Santa Barbara-Santa Maria-San Luis Obispo
- Youngstown
- Monterey-Salinas
- Columbus, GA
- Corpus Christi
- Wilmington
- La Crosse-Eau Claire
- Amarillo
- Chico-Redding
- Columbus-Tupelo-West Point-Houston
- Wausau-Rhinelander
- Medford-Klamath Falls
- Columbia-Jefferson City
- Monroe-El Dorado
- Salisbury
- Rockford
- Beaumont-Port Arthur
- Topeka
- Odessa-Midland
- Lubbock
- Duluth-Superior
- Palm Springs
- Minot-Bismarck-Dickinson (Williston)
- Anchorage
- Wichita Falls & Lawton
- Sioux City
- Panama City
- Erie
- Albany, GA
- Joplin-Pittsburg
- Rochester-Mason City-Austin
- Bangor
- Biloxi-Gulfport
- Gainesville
- Terre Haute
- Sherman-Ada
- Binghamton
- Idaho Falls-Pocatello (Jackson)
- Wheeling-Steubenville
- Bluefield-Beckley-Oak Hill
- Missoula
- Abilene-Sweetwater
- Yuma-El Centro
- Billings
- Hattiesburg-Laurel
- Utica
- Clarksburg-Weston
- Rapid City
- Lake Charles
- Dothan
- Quincy-Hannibal-Keokuk
- Harrisonburg
- Elmira (Corning)
- Jackson, TN
- Watertown
- Alexandria, LA
- Jonesboro
- Bowling Green
- Marquette
- Charlottesville
- Laredo
- Butte-Bozeman
- Bend, OR
- Grand Junction-Montrose
- Lafayette, IN
- Twin Falls
- Lima
- Meridian
- Great Falls
- Greenwood-Greenville
- Parkersburg
- Eureka
- San Angelo
- Cheyenne-Scottsbluff
- Casper-Riverton
- Mankato
- Ottumwa-Kirksville
- St. Joseph
- Fairbanks
- Victoria
- Zanesville
- Helena
- Presque Isle
- Juneau
- Alpena
- North Platte
- Glendive
hhi-5:
type: object
description: Qual è l'attuale reddito annuale del suo nucleo familiare al netto delle tasse?
title: Income
properties:
question_id:
type: string
enum:
- hhi
answers:
type: array
items:
type: string
enum:
- Meno di 5.000 €
- Da 5.000 € a 9.999 €
- Da 10.000 € a 14.999 €
- Da 15.000 € a 17.499 €
- Da 17.500 € a 19.999 €
- Da 20.000 € a 22.499 €
- Da 22.500 € a 24.999 €
- Da 25.000 € a 27.999 €
- Da 27.500 € a 29.999 €
- Da 30.000 € a 32.499 €
- Da 32.500 € a 34.999 €
- Da 35.000 € a 37.499 €
- Da 37.500 € a 39.999 €
- Da 40.000 € a 42.499 €
- Da 42.500 € a 44.999 €
- Da 45.000 € a 47.999 €
- Da 47.500 € a 49.999 €
- Da 50.000 € a 54.999 €
- Da 55.000 € a 59.999 €
- Da 60.000 € a 64.999 €
- Da 65.000 € a 69.999 €
- Da 70.000 € a 74.999 €
- Da 75.000 € a 99.999 €
- 100.000 € o più
- Preferisco non rispondere
employment-2:
type: object
description: ¿Cuál es su situación laboral actual?
title: Employment
properties:
question_id:
type: string
enum:
- employment
answers:
type: array
items:
type: string
enum:
- Empleado/a a tiempo completo
- Empleado/a a tiempo parcial
- Trabajador/a por cuenta propia a tiempo completo
- Trabajador/a por cuenta propia a tiempo parcial
- Militar activo
- Militar inactivo/Veterano
- Temporalmente desempleado/a
- Amo/a de casa a tiempo completo
- Jubilado/a
- Estudiante
- Discapacitado
- Prefiero no contestar
pets:
type: object
description: Which of the following pets are present in your household?
title: Pets
properties:
question_id:
type: string
enum:
- pets
answers:
type: array
items:
type: string
enum:
- Cat(s)
- Dog(s)
- Bird(s)
- Fish
- Amphibians (frogs, toads, etc.)
- Small animals or rodents (hamsters, mice, rabbits, ferrets, etc.)
- Reptiles (turtles, snakes, lizards, etc.)
- Horse(s)
- I do not have any pets
- Other
hhi_combined:
type: object
description: How much total combined annual income do all members of your household earn before taxes?
title: Household Income Combined
properties:
question_id:
type: string
enum:
- hhi_combined
answers:
type: array
items:
type: string
enum:
- Less than C$15,000
- C$15,000 to C$19,999
- C$20,000 to C$24,999
- C$25,000 to C$29,999
- C$30,000 to C$34,999
- C$35,000 to C$39,999
- C$40,000 to C$44,999
- C$45,000 to C$49,999
- C$50,000 to C$59,999
- C$60,000 to C$74,999
- C$75,000 to C$84,999
- C$85,000 to C$99,999
- C$100,000 to C$124,999
- C$125,000 to C$149,999
- C$150,000 to C$174,999
- C$175,000 to C$199,999
- C$200,000 and above
- Prefer not to answer
region:
type: object
description: What is your region?
title: Region
properties:
question_id:
type: string
enum:
- region
answers:
type: array
items:
type: string
enum:
- Midwest
- Northeast
- South
- West
hh_responsibility:
type: object
description: In your household, which of the following things are you responsible or partially responsible for making decisions about?
title: Household Responsibility
properties:
question_id:
type: string
enum:
- hh_responsibility
answers:
type: array
items:
type: string
enum:
- Internet
- Television
- Banking
- Grocery Shopping
- Automobile
- Mortgage
- Finance
- Clothing
- None of the above
education-3:
type: object
description: What is the highest level of education you have completed?
title: Education
properties:
question_id:
type: string
enum:
- education
answers:
type: array
items:
type: string
enum:
- Below O-level/GCSE
- O-levels/GCSEs
- O-levels/GCSEs equivalent
- A-levels
- A-levels equivalent
- Undergraduate degree (less than 2 years)
- Undergraduate degree (3 years)
- Undergraduate degree (4 or more years)
- 'Post graduate: other (not PhD or MA)'
- 'Post graduate: MA'
- 'Post graduate: PhD'
- None of the above/Prefer not to say
province:
type: object
description: In which province or territory of Canada do you live?
title: Province
properties:
question_id:
type: string
enum:
- province
answers:
type: array
items:
type: string
enum:
- Alberta
- British Columbia
- Manitoba
- New Brunswick
- Newfoundland and Labrador
- Northwest Territories
- Nova Scotia
- Nunavut
- Ontario
- Prince Edward Island
- Quebec
- Saskatchewan
- Yukon
region-4:
type: object
description: In quale area geografica vivi?
title: Region
properties:
question_id:
type: string
enum:
- region
answers:
type: array
items:
type: string
enum:
- Centro
- Isole
- Nord-Est
- Nord-Ovest
- Sud
en_GB_Qualifications:
type: array
description: Demographic criteria required for panelists.
items:
anyOf:
- $ref: '#/components/schemas/age_and_gender_of_child'
- $ref: '#/components/schemas/age-2'
- $ref: '#/components/schemas/b2b_decision_maker'
- $ref: '#/components/schemas/company_department'
- $ref: '#/components/schemas/company_revenue'
- $ref: '#/components/schemas/county'
- $ref: '#/components/schemas/education-3'
- $ref: '#/components/schemas/employment'
- $ref: '#/components/schemas/gender'
- $ref: '#/components/schemas/hhi_combined-2'
- $ref: '#/components/schemas/hhi-2'
- $ref: '#/components/schemas/industry_personal'
- $ref: '#/components/schemas/industry'
- $ref: '#/components/schemas/job_title'
- $ref: '#/components/schemas/mobile'
- $ref: '#/components/schemas/no_of_employees'
- $ref: '#/components/schemas/parental_status_standard'
- $ref: '#/components/schemas/region-2'
- $ref: '#/components/schemas/tablet'
hispanic:
type: object
description: Are you of Hispanic, Latino, or Spanish origin?
title: Hispanic
properties:
question_id:
type: string
enum:
- hispanic
answers:
type: array
items:
type: string
enum:
- No, not of Hispanic, Latino, or Spanish origin
- Yes, Mexican, Mexican American, Chicano
- Yes, Cuban
- Yes, Argentina
- Yes, Colombia
- Yes, Ecuador
- Yes, El Salvadore
- Yes, Guatemala
- Yes, Nicaragua
- Yes, Panama
- Yes, Peru
- Yes, Spain
- Yes, Venezuela
- Yes, another Hispanic, Latino, or Spanish Country
- Prefer not to answer
- Yes, Puerto Rican
SampleOutput:
allOf:
- $ref: '#/components/schemas/Sample'
- type: object
properties:
id:
type: string
example: 18ebed02-6e91-4504-af97-a83c103dca41
description: The UUID (an immutable ID tied to a specific resource) tied to a specific example.
status:
type: string
example: live
description: The status of this sample
enum:
- pending
- live
- paused
- closed
- deleted
region-3:
type: object
description: Dans quelle subdivision territoriale habitez-vous?
title: Region
properties:
question_id:
type: string
enum:
- region
answers:
type: array
items:
type: string
enum:
- Bassin Parisien
- Centre-Est
- Est
- Extra-Regio
- Méditerranée
- Nord
- Ouest
- Région Parisienne
- Régions d'outre-Mer et départements d'outre-mer
- Sud-Ouest
primary_decision_maker:
type: object
description: In your household, are you the person who makes most of the daily purchasing decisions?
title: Primary Decision Maker
properties:
question_id:
type: string
enum:
- primary_decision_maker
answers:
type: array
items:
type: string
enum:
- 'Yes'
- 'No'
- Share decisions equally
education-4:
type: object
description: ¿Cuál es su nivel de educación?
title: Education
properties:
question_id:
type: string
enum:
- education
answers:
type: array
items:
type: string
enum:
- Educación infantil
- Educacion primaria
- Educacion Secundaria Obligatoria
- Bachillerato
- Formación profesional
- Enseñanzas de régimen especial (Idiomas, artísticas y/o deportivas)
- Grado
- Diplomatura, magisterio, Arquitecto Técnico o Ingeniero Técnico
- Licenciatura, Arquitectura o Ingeniero superior
- Master
- Doctorado
- Ninguna de las anteriores
child_ages:
type: object
description: 'Please indicate the age and gender of your child or children:'
title: Age and Gender of Child
properties:
question_id:
type: string
enum:
- child_ages
answers:
type: array
items:
type: string
enum:
- None of the above
- Boy under age 1
- Girl under age 1
- Boy age 1
- Girl age 1
- Boy age 2
- Girl age 2
- Boy age 3
- Girl age 3
- Boy age 4
- Girl age 4
- Boy age 5
- Girl age 5
- Boy age 6
- Girl age 6
- Boy age 7
- Girl age 7
- Boy age 8
- Girl age 8
- Boy age 9
- Girl age 9
- Boy age 10
- Girl age 10
- Boy age 11
- Girl age 11
- Boy age 12
- Girl age 12
- Male teen age 13
- Female teen age 13
- Male teen age 14
- Female teen age 14
- Male teen age 15
- Female teen age 15
- Male teen age 16
- Female teen age 16
- Male teen age 17
- Female teen age 17
hhi-3:
type: object
description: Indique cuáles son los ingresos brutos anuales de su unidad familiar.
title: Income
properties:
question_id:
type: string
enum:
- hhi
answers:
type: array
items:
type: string
enum:
- Menos de 5 000 €
- Entre 5 000 € y 9 999 €
- Entre 10 000 € y 14 999 €
- Entre 15 000 € y 17 499 €
- Entre 17 500 € y 19 999 €
- Entre 20 000 € y 22 499 €
- Entre 22 500 € y 24 999 €
- Entre 25 000 € y 27 999 €
- Entre 27 500 € y 29 999 €
- Entre 30 000 € y 32 499 €
- Entre 32 500 € y 34 999 €
- Entre 35 000 € y 37 499 €
- Entre 37 500 € y 39 999 €
- Entre 40 000 € y 42 499 €
- Entre 42 500 € y 44 999 €
- Entre 45 000 € y 47 999 €
- Entre 47 500 € y 49 999 €
- Entre 50 000 € y 54 999 €
- Entre 55 000 € y 59 999 €
- Entre 60 000 € y 64 999 €
- Entre 65 000 € y 69 999 €
- Entre 70 000 € y 74 999 €
- Entre 75 000 € y 99 999 €
- 100 000 € o más
- Prefiero no responder
region-2:
type: object
description: In which region do you live?
title: Region
properties:
question_id:
type: string
enum:
- region
answers:
type: array
items:
type: string
enum:
- East Midlands (England)
- East Of England
- London
- North East (England)
- North West (England)
- Northern Ireland
- Scotland
- South East (England)
- South West (England)
- Wales
- West Midlands (England)
- Yorkshire And The Humber
income:
type: object
description: What is your current annual household income before taxes?
title: Income
properties:
question_id:
type: string
enum:
- income
answers:
type: array
items:
type: string
enum:
- Less than $14,999
- $15,000 to $19,999
- $20,000 to $24,999
- $25,000 to $29,999
- $30,000 to $34,999
- $35,000 to $39,999
- $40,000 to $44,999
- $45,000 to $49,999
- $50,000 to $54,999
- $55,000 to $59,999
- $60,000 to $64,999
- $65,000 to $69,999
- $70,000 to $74,999
- $75,000 to $79,999
- $80,000 to $84,999
- $85,000 to $89,999
- $90,000 to $94,999
- $95,000 to $99,999
- $100,000 to $124,999
- $125,000 to $149,999
- $150,000 to $174,999
- $175,000 to $199,999
- $200,000 to $249,999
- $250,000 and above
- Prefer not to answer
employment-3:
type: object
description: Quelle-est votre situation professionnelle actuelle?
title: Employment
properties:
question_id:
type: string
enum:
- employment
answers:
type: array
items:
type: string
enum:
- Employé(e) à temps plein
- Employé(e) à temps partiel
- Travailleur(euse) indépendant(e) à temps plein
- Travailleur(euse) indépendant(e) à temps partiel
- Militaire actif(ve)
- Militaire retraité(e)/Vétéran
- Temporairement sans emploi
- Personne au foyer à temps complet
- Retraité(e)
- Etudiant(e)
- Handicapé(e)
- Je ne souhaite pas répondre
age-2:
type: object
description: What is your age?
title: Age
properties:
question_id:
type: string
enum:
- age
answers:
type: array
items:
type: string
enum:
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
hhi:
type: object
description: What is your current annual household income after taxes?
title: Income
properties:
question_id:
type: string
enum:
- hhi
answers:
type: array
items:
type: string
enum:
- Less than $14,999
- $15,000 to $19,999
- $20,000 to $22,499
- $22,500 to $24,999
- $25,000 to $27,499
- $27,500 to $29,999
- $30,000 to $32,499
- $32,500 to $34,999
- $35,000 to $37,499
- $37,500 to $39,999
- $40,000 to $42,499
- $42,500 to $44,999
- $45,000 to $47,499
- $47,500 to $49,999
- $50,000 to $52,499
- $52,500 to $54,999
- $55,000 to $59,999
- $60,000 to $69,999
- $70,000 to $79,999
- $80,000 to $89,999
- $90,000 to $99,999
- $100,000 to $124,999
- $125,000 to $149,999
- $150,000 and above
- Prefer not to answer
fr_FR_Qualifications:
type: array
description: Demographic criteria required for panelists.
items:
anyOf:
- $ref: '#/components/schemas/age-4'
- $ref: '#/components/schemas/education-5'
- $ref: '#/components/schemas/employment-3'
- $ref: '#/components/schemas/gender-3'
- $ref: '#/components/schemas/hhi_combined-4'
- $ref: '#/components/schemas/hhi-4'
- $ref: '#/components/schemas/mobile'
- $ref: '#/components/schemas/region-3'
- $ref: '#/components/schemas/tablet'
tablet:
type: object
description: Are you using a tablet?
title: Tablet
properties:
question_id:
type: string
enum:
- tablet
answers:
type: array
items:
type: string
enum:
- 'Yes'
- 'No'
age-3:
type: object
description: Por favor, indique su edad
title: Age
properties:
question_id:
type: string
enum:
- age
answers:
type: array
items:
type: string
enum:
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
-
# --- truncated at 32 KB (90 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/forsta/refs/heads/main/openapi/forsta-samples-api-openapi.yml