Unblocked Answers API
Ask Unblocked questions and retrieve answers asynchronously. Submit a question using the PUT endpoint and poll for the response using the GET endpoint.
Ask Unblocked questions and retrieve answers asynchronously. Submit a question using the PUT endpoint and poll for the response using the GET endpoint.
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/unblocked-answers-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
contact:
email: help@getunblocked.com
name: Unblocked
description: "The Unblocked Public API offers seamless collection for managing custom data sources through a structured set of endpoints.\nIt allows users to create collections and organize and upload documents.\n\n# Base URL\nThe base URL for all requests is:\n\n```jsx\nhttps://getunblocked.com/api/v1\n```\n\n# Authentication\nAuthentication requires an API key, obtainable from the web dashboard,\nwhich must be included in the `Authorization` request header for all endpoints.\n\n```bash\ncurl -X GET https://getunblocked.com/api/v1/collections \\\n -H \"Authorization: Bearer YOUR_API_KEY\"\n```\n\n# Rate Limits & Quotas\n\n**Resource Limits:**\n- Collections: Maximum 25 per team\n- Request Size: Maximum 10MB per request\n- Pagination: 1-200 items per page (default: 25)\n\n**Answers API:**\n- Daily Limit: 1000 questions per day per organization\n- Quota Reset: Midnight PST\n- Exceeding the limit returns a 429 Too Many Requests error\n\n**Field Constraints:**\n- Collection name: 1-32 characters\n- Collection description: 1-4096 characters\n"
title: Unblocked Public API Reference Answers API
version: v1
x-logo:
url: https://avatars.githubusercontent.com/u/91906527?s=300
altText: Unblocked
servers:
- url: https://getunblocked.com/api/v1
security:
- ApiKeyBearerAuth: []
tags:
- description: 'Ask Unblocked questions and retrieve answers asynchronously. Submit a question using the PUT endpoint and poll for the response using the GET endpoint.
'
name: Answers
paths:
/answers:
get:
description: '
List all questions and answers for your organization, ordered by creation time (newest first).
**Authentication behavior:**
- **Personal Access Token (PAT) keys**: Only questions asked by that specific user are returned (user-level isolation)
- **Organization-wide API keys**: All questions in the organization are returned
'
operationId: listAnswers
parameters:
- description: 'Limit used to constrain results of list operations. When not specified a default limit of 25 is used.
A maximum limit is applied to the results, so the server may respond with fewer results than requested; clients must not use this as a signal that this is the final page of results.
'
in: query
name: limit
required: false
schema:
format: int32
maximum: 200
minimum: 1
type: integer
- in: query
name: after
required: false
schema:
$ref: '#/components/schemas/Cursor'
- in: query
name: before
required: false
schema:
$ref: '#/components/schemas/Cursor'
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Answer'
type: array
description: OK
headers:
link:
$ref: '#/components/headers/Link'
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
summary: List Answers
tags:
- Answers
/answers/{questionId}:
delete:
description: 'Permanently delete a question and its associated answer. This operation cannot be undone.
'
operationId: deleteAnswer
parameters:
- in: path
name: questionId
required: true
schema:
$ref: '#/components/schemas/ApiResourceId'
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'404':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
summary: Delete a Question
tags:
- Answers
get:
description: 'Poll a pending question for a response. Use this endpoint to check if your question has been processed and retrieve the answer.
'
operationId: getAnswer
parameters:
- in: path
name: questionId
required: true
schema:
$ref: '#/components/schemas/ApiResourceId'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Answer'
description: OK
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'404':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
summary: Retrieve an Answer
tags:
- Answers
put:
description: 'Submit a question to Unblocked. This endpoint initiates an asynchronous question processing. Use the GET endpoint to poll for the response.
'
operationId: askQuestion
parameters:
- in: path
name: questionId
required: true
schema:
$ref: '#/components/schemas/ApiResourceId'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Question'
required: true
responses:
'204':
description: No Content
'400':
$ref: '#/components/responses/ErrorResponse'
'401':
$ref: '#/components/responses/ErrorResponse'
'403':
$ref: '#/components/responses/ErrorResponse'
'429':
$ref: '#/components/responses/ErrorResponse'
'500':
$ref: '#/components/responses/ErrorResponse'
summary: Ask a Question
tags:
- Answers
components:
schemas:
ApiResourceId:
description: The ID of a resource that can be retrieved from the service.
format: uuid
type: string
Question:
properties:
question:
description: The question to ask
type: string
required:
- question
type: object
Cursor:
description: 'Opaque cursor to be used for paging in a forward or backward direction. Cursors are stateless and so they never expire.
'
maxLength: 10000
minLength: 1
type: string
Reference:
properties:
htmlUrl:
type: string
required:
- htmlUrl
type: object
Answer:
properties:
state:
enum:
- processing
- complete
type: string
questionId:
description: The unique identifier for the question
format: uuid
type: string
question:
description: The original question text that was asked
type: string
answer:
description: The answer to the question in Markdown format
type: string
references:
description: References used in the answer
items:
$ref: '#/components/schemas/Reference'
type: array
required:
- state
type: object
headers:
Link:
description: 'A link header providing navigation links related to the response.
'
example: <https://api.example.com/some/resource>; rel="next"
schema:
type: string
responses:
ErrorResponse:
content:
application/json:
schema:
properties:
status:
description: The HTTP status code
example: 400
type: integer
required:
- status
type: object
description: Error response
securitySchemes:
ApiKeyBearerAuth:
bearerFormat: Unblocked API Key
description: The API key to authenticate requests. Obtainable from the web dashboard.
scheme: bearer
type: http
x-tagGroups:
- name: Resources
tags:
- Collections
- Documents
- Answers