Profound Projects API
The Projects API from Profound — 10 operation(s) for projects.
The Projects API from Profound — 10 operation(s) for projects.
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/profound-projects-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:
title: External Projects API
version: 6551bd49db665ffb7f80780b3e150b8e8b780cc3
servers:
- url: https://api.tryprofound.com
description: Production Server
tags:
- name: Projects
paths:
/v1/projects:
get:
tags:
- Projects
summary: List Projects
operationId: list_projects_v1_projects_get
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: category_id
in: query
required: true
schema:
type: string
format: uuid
description: Category that owns the project.
title: Category Id
description: Category that owns the project.
- name: status
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: 'Comma-separated project statuses: suggested, tracked, retired.'
title: Status
description: 'Comma-separated project statuses: suggested, tracked, retired.'
- name: limit
in: query
required: false
schema:
type: integer
maximum: 200
minimum: 1
default: 100
title: Limit
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
title: Offset
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ListProjectsResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- Projects
summary: Create Project
operationId: create_project_v1_projects_post
security:
- APIKeyHeader: []
- BearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectRequest'
responses:
'202':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectGenerationResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/projects/generations:
get:
tags:
- Projects
summary: List Project Generations
operationId: list_project_generations_v1_projects_generations_get
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: category_id
in: query
required: true
schema:
type: string
format: uuid
description: Category that owns the project.
title: Category Id
description: Category that owns the project.
- name: status
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
description: 'Comma-separated generation statuses: queued, running, completed, failed.'
title: Status
description: 'Comma-separated generation statuses: queued, running, completed, failed.'
- name: limit
in: query
required: false
schema:
type: integer
maximum: 200
minimum: 1
default: 100
title: Limit
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
title: Offset
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ListProjectGenerationsResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/projects/generations/{run_id}:
get:
tags:
- Projects
summary: Get Project Generation Status
operationId: get_project_generation_status_v1_projects_generations__run_id__get
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: run_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project generation run ID.
title: Run Id
description: Unique project generation run ID.
- name: category_id
in: query
required: true
schema:
type: string
format: uuid
description: Category that owns the project.
title: Category Id
description: Category that owns the project.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectGenerationStatusResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/projects/{project_id}:
get:
tags:
- Projects
summary: Get Project
operationId: get_project_v1_projects__project_id__get
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project ID.
title: Project Id
description: Unique project ID.
- name: category_id
in: query
required: true
schema:
type: string
format: uuid
description: Category that owns the project.
title: Category Id
description: Category that owns the project.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectDetailResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Projects
summary: Delete Project
operationId: delete_project_v1_projects__project_id__delete
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project ID.
title: Project Id
description: Unique project ID.
- name: category_id
in: query
required: true
schema:
type: string
format: uuid
description: Category that owns the project.
title: Category Id
description: Category that owns the project.
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/projects/{project_id}/status:
get:
tags:
- Projects
summary: Get Project Status
operationId: get_project_status_v1_projects__project_id__status_get
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project ID.
title: Project Id
description: Unique project ID.
- name: category_id
in: query
required: true
schema:
type: string
format: uuid
description: Category that owns the project.
title: Category Id
description: Category that owns the project.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectStatusResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/projects/{project_id}/archive:
post:
tags:
- Projects
summary: Archive Project
operationId: archive_project_v1_projects__project_id__archive_post
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project ID.
title: Project Id
description: Unique project ID.
- name: category_id
in: query
required: true
schema:
type: string
format: uuid
description: Category that owns the project.
title: Category Id
description: Category that owns the project.
requestBody:
content:
application/json:
schema:
anyOf:
- $ref: '#/components/schemas/ArchiveProjectRequest'
- type: 'null'
title: Body
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/projects/{project_id}/unarchive:
post:
tags:
- Projects
summary: Unarchive Project
operationId: unarchive_project_v1_projects__project_id__unarchive_post
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project ID.
title: Project Id
description: Unique project ID.
- name: category_id
in: query
required: true
schema:
type: string
format: uuid
description: Category that owns the project.
title: Category Id
description: Category that owns the project.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/projects/{project_id}/tasks:
get:
tags:
- Projects
summary: List Project Tasks
operationId: list_project_tasks_v1_projects__project_id__tasks_get
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project ID.
title: Project Id
description: Unique project ID.
- name: category_id
in: query
required: true
schema:
type: string
format: uuid
description: Category that owns the project.
title: Category Id
description: Category that owns the project.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ListProjectTasksResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
post:
tags:
- Projects
summary: Create Project Task
operationId: create_project_task_v1_projects__project_id__tasks_post
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project ID.
title: Project Id
description: Unique project ID.
- name: category_id
in: query
required: true
schema:
type: string
format: uuid
description: Category that owns the project.
title: Category Id
description: Category that owns the project.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectTaskRequest'
responses:
'201':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectTaskResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/projects/{project_id}/tasks/{task_id}:
get:
tags:
- Projects
summary: Get Project Task
operationId: get_project_task_v1_projects__project_id__tasks__task_id__get
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project ID.
title: Project Id
description: Unique project ID.
- name: task_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project task ID.
title: Task Id
description: Unique project task ID.
- name: category_id
in: query
required: true
schema:
type: string
format: uuid
description: Category that owns the project.
title: Category Id
description: Category that owns the project.
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectTaskDetailResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
patch:
tags:
- Projects
summary: Update Project Task
operationId: update_project_task_v1_projects__project_id__tasks__task_id__patch
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project ID.
title: Project Id
description: Unique project ID.
- name: task_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project task ID.
title: Task Id
description: Unique project task ID.
- name: category_id
in: query
required: true
schema:
type: string
format: uuid
description: Category that owns the project.
title: Category Id
description: Category that owns the project.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateProjectTaskRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectTaskResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
delete:
tags:
- Projects
summary: Delete Project Task
operationId: delete_project_task_v1_projects__project_id__tasks__task_id__delete
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project ID.
title: Project Id
description: Unique project ID.
- name: task_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project task ID.
title: Task Id
description: Unique project task ID.
- name: category_id
in: query
required: true
schema:
type: string
format: uuid
description: Category that owns the project.
title: Category Id
description: Category that owns the project.
responses:
'204':
description: Successful Response
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/v1/projects/{project_id}/tasks/{task_id}/status:
post:
tags:
- Projects
summary: Update Project Task Status
operationId: update_project_task_status_v1_projects__project_id__tasks__task_id__status_post
security:
- APIKeyHeader: []
- BearerAuth: []
parameters:
- name: project_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project ID.
title: Project Id
description: Unique project ID.
- name: task_id
in: path
required: true
schema:
type: string
format: uuid
description: Unique project task ID.
title: Task Id
description: Unique project task ID.
- name: category_id
in: query
required: true
schema:
type: string
format: uuid
description: Category that owns the project.
title: Category Id
description: Category that owns the project.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateProjectTaskStatusRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectTaskStatusResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
ProjectStatusPayload:
properties:
project_id:
type: string
format: uuid
title: Project Id
category_id:
type: string
format: uuid
title: Category Id
status:
type: string
enum:
- suggested
- tracked
- retired
title: Status
live_generation:
anyOf:
- $ref: '#/components/schemas/LiveGeneration'
- type: 'null'
updated_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Updated At
additionalProperties: false
type: object
required:
- project_id
- category_id
- status
title: ProjectStatusPayload
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ProjectDetail:
properties:
project_id:
type: string
format: uuid
title: Project Id
category_id:
type: string
format: uuid
title: Category Id
origin_run_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Origin Run Id
initiated_by_user_id:
anyOf:
- type: string
- type: 'null'
title: Initiated By User Id
title:
type: string
title: Title
summary:
anyOf:
- type: string
- type: 'null'
title: Summary
why:
anyOf:
- type: string
- type: 'null'
title: Why
topics:
items:
type: string
type: array
title: Topics
prompts:
items:
type: string
type: array
title: Prompts
measurement:
anyOf:
- additionalProperties: true
type: object
- type: 'null'
title: Measurement
source_kind:
type: string
enum:
- generate
- adhoc
title: Source Kind
default: adhoc
source_prompt:
anyOf:
- type: string
- type: 'null'
title: Source Prompt
status:
type: string
enum:
- suggested
- tracked
- retired
title: Status
default: tracked
task_count:
type: integer
minimum: 0.0
title: Task Count
default: 0
new_task_count:
type: integer
minimum: 0.0
title: New Task Count
default: 0
retired_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Retired At
retired_reason:
anyOf:
- type: string
- type: 'null'
title: Retired Reason
latest_version_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Latest Version Id
version_count:
type: integer
minimum: 0.0
title: Version Count
default: 0
created_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Created At
updated_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Updated At
live_generation:
anyOf:
- $ref: '#/components/schemas/LiveGeneration'
- type: 'null'
tasks:
items:
$ref: '#/components/schemas/ProjectTask'
type: array
title: Tasks
additionalProperties: false
type: object
required:
- project_id
- category_id
- title
title: ProjectDetail
ProjectStatusResponse:
properties:
data:
$ref: '#/components/schemas/ProjectStatusPayload'
additionalProperties: false
type: object
required:
- data
title: ProjectStatusResponse
CreateProjectTaskRequest:
properties:
title:
type: string
maxLength: 240
minLength: 1
title: Title
summary:
anyOf:
- type: string
maxLength: 2000
minLength: 1
- type: 'null'
title: Summary
brief:
anyOf:
- type: string
maxLength: 8000
minLength: 1
- type: 'null'
title: Brief
type:
anyOf:
- type: string
maxLength: 80
minLength: 1
- type: 'null'
title: Type
topic:
anyOf:
- type: string
maxLength: 120
minLength: 1
- type: 'null'
title: Topic
impact:
anyOf:
- type: integer
maximum: 5.0
minimum: 1.0
- type: 'null'
title: Impact
reference_url:
anyOf:
- type: string
maxLength: 2048
minLength: 1
- type: 'null'
title: Reference Url
reference_label:
anyOf:
- type: string
maxLength: 240
minLength: 1
- type: 'null'
title: Reference Label
position:
anyOf:
- type: integer
- type: 'null'
title: Position
additionalProperties: false
type: object
required:
- title
title: CreateProjectTaskRequest
ProjectTaskDetailResponse:
properties:
data:
$ref: '#/components/schemas/ProjectTaskDetail'
additionalProperties: false
type: object
required:
- data
title: ProjectTaskDetailResponse
ProjectGenerationContext:
properties:
dateRange:
anyOf:
- $ref: '#/components/schemas/ProjectGenerationDateRange'
- type: 'null'
platforms:
items:
$ref: '#/components/schemas/ProjectGenerationContextItem'
type: array
maxItems: 20
title: Platforms
projectCategories:
items:
type: string
enum:
- creative
- earned
- publish
- refresh
- social
type: array
maxItems: 5
title: Projectcategories
regions:
items:
$ref: '#/components/schemas/ProjectGenerationContextItem'
type: array
maxItems: 50
title: Regions
tags:
items:
$ref: '#/components/schemas/ProjectGenerationContextItem'
type: array
maxItems: 100
title: Tags
additionalProperties: false
type: object
title: ProjectGenerationContext
ProjectGenerationContextItem:
properties:
id:
type: string
maxLength: 200
minLength: 1
title: Id
name:
type: string
maxLength: 200
minLength: 1
title: Name
slug:
anyOf:
- type: string
maxLength: 200
- type: 'null'
title: Slug
additionalProperties: false
type: object
required:
- id
- name
title: ProjectGenerationContextItem
ListProjectsResponse:
properties:
data:
items:
$ref: '#/components/schemas/ProjectListItem'
type: array
title: Data
pagination:
$ref: '#/components/schemas/Pagination'
additionalProperties: false
type: object
required:
- data
title: ListProjectsResponse
ArchiveProjectRequest:
properties:
reason:
anyOf:
- type: string
maxLength: 500
minLength: 1
- type: 'null'
title: Reason
additionalProperties: false
type: object
title: ArchiveProjectRequest
ProjectGenerationStatus:
properties:
run_id:
type: string
format: uuid
title: Run Id
category_id:
type: string
format: uuid
title: Category Id
mode:
type: string
enum:
- generate
- adhoc
title: Mode
focus_prompt:
anyOf:
- type: string
- type: 'null'
title: Focus Prompt
status:
type: string
enum:
- queued
- running
- completed
- failed
title: Status
started_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Started At
finished_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Finished At
error:
anyOf:
- type: string
- type: 'null'
title: Error
additionalProperties: false
type: object
required:
- run_id
- category_id
- mode
- status
title: ProjectGenerationStatus
ProjectTaskResponse:
properties:
data:
$ref: '#/components/schemas/ProjectTask'
additionalProperties: false
type: object
required:
- data
title: ProjectTaskResponse
CreateProjectRequest:
properties:
category_id:
type: string
format: uuid
title: Category Id
title:
anyOf:
- type: string
maxLength: 120
minLength: 1
- type: 'null'
title: Title
project_name:
anyOf:
- type: string
maxLength: 120
minLength: 1
- type: 'null'
title: Project Name
focus:
anyOf:
- type: string
maxLength: 2000
minLength: 1
- type: 'null'
title: Focus
topics:
items:
type: string
minLength: 1
type: array
maxItems: 6
title: Topics
attachments:
items:
$ref: '#/components/schemas/ProjectAttachment'
type: array
maxItems: 3
title: Attachments
generation_context:
anyOf:
- $ref: '#/components/schemas/ProjectGenerationContext'
- type: 'null'
additionalProperties: false
type: object
required:
- category_id
title: CreateProjectRequest
ProjectListItem:
properties:
project_id:
type: string
format: uuid
title: Project Id
category_id:
type: string
format: uuid
title: Category Id
status:
type: string
enum:
- suggested
- tracked
- retired
title: Status
default: suggested
title:
type: string
title: Title
summary:
anyOf:
- type: string
- type: 'null'
title: Summary
initiated_by_user_id:
anyOf:
- type: string
- type: 'null'
title: Initiated By User Id
topics:
items:
type: string
type: array
title: Topics
updated_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Updated At
task_types:
items:
type: string
type: array
title: Task Types
task_count:
type: integer
minimum: 0.0
title: Task Count
default: 0
new_task_count:
type: integer
minimum: 0.0
title: New Task Count
default: 0
retired_at:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Retired At
retired_reason:
anyOf:
- type: string
- type: 'null'
title: Retired Reason
live_generation:
anyOf:
- $ref: '#/components/schemas/LiveGeneration'
- type: 'null'
type: object
required:
- project_id
- category_id
- title
title: ProjectListItem
ProjectGenerationResponse:
properties:
data:
$ref: '#/components/schemas/ProjectGeneration'
additionalProperties: false
type: object
required:
- data
title: ProjectGenerationResponse
ProjectAttachment:
prope
# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/profound/refs/heads/main/openapi/profound-projects-api-openapi.yml