Configure Profile API
The Profile API from Configure — 6 operation(s) for profile.
The Profile API from Configure — 6 operation(s) for profile.
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/configure-dev:configure-dev-profile-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: Configure Dev Profile API
version: 2026-07-12
description: 'Operations tagged Profile across 2 of this provider''s published API definitions: configure-dev-openapi-original.yaml, configure-dev-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.configure.dev
description: Production
- url: https://configure-backend-staging.fly.dev
description: Staging
security:
- ApiKeyAuth: []
tags:
- name: Profile
paths:
/v1/profile:
get:
tags:
- Profile
summary: Read composed profile
description: Reads a composed Configure profile. Use Bearer auth for federated users or sk_ plus X-User-Id for unlinked developer-scoped users.
security:
- ApiKeyAuth: []
BearerAuth: []
- SecretApiKeyAuth: []
ExternalUserId: []
parameters:
- $ref: '#/components/parameters/AgentHeader'
- name: sections
in: query
schema:
type: string
description: Comma-separated subset of identity, preferences, integrations, imports, agents, summary.
responses:
'200':
description: Composed semantic profile.
content:
application/json:
schema:
type: object
additionalProperties: true
'403':
$ref: '#/components/responses/Forbidden'
operationId: getV1Profile
x-operation-id-source: derived
servers:
- url: https://api.configure.dev
description: Production
- url: https://configure-backend-staging.fly.dev
description: Staging
/v1/profile/search:
get:
tags:
- Profile
summary: Search or list attributed profile data
description: Deterministic retrieval over permitted attributed profile data. Omit query or pass "*" to list bounded permitted compact results. Compact results omit raw CFS paths/provenance; full detail is opt-in.
security:
- ApiKeyAuth: []
BearerAuth: []
- SecretApiKeyAuth: []
ExternalUserId: []
parameters:
- $ref: '#/components/parameters/AgentHeader'
- name: query
in: query
schema:
type: string
description: Optional search query. Omit or use "*" to list bounded permitted attributed profile results.
- name: source
in: query
schema:
type: string
description: Optional explicit source handle filter. This is not a path selector.
- name: from
in: query
schema:
type: string
format: date
description: Optional inclusive start date filter for date-attributed results.
- name: to
in: query
schema:
type: string
format: date
description: Optional inclusive end date filter for date-attributed results.
- name: limit
in: query
schema:
type: integer
minimum: 1
maximum: 50
description: Optional maximum result count. The backend enforces a default and hard cap.
- name: detail
in: query
schema:
type: string
enum:
- compact
- full
description: Optional result detail. Defaults to compact. Full includes safe path, markers, provenance, and updated_at metadata.
responses:
'200':
description: Attributed profile search results.
content:
application/json:
schema:
$ref: '#/components/schemas/ProfileSearchResult'
operationId: getV1ProfileSearch
x-operation-id-source: derived
servers:
- url: https://api.configure.dev
description: Production
- url: https://configure-backend-staging.fly.dev
description: Staging
/v1/profile/remember:
post:
tags:
- Profile
summary: Save one fact
description: Requires a secret key. Stores the fact as a typed memory entry under /agents/{resolved-agent}/memories/{YYYY-MM-DD}/{mem_id}.json.
security:
- SecretApiKeyAuth: []
BearerAuth: []
- SecretApiKeyAuth: []
ExternalUserId: []
parameters:
- $ref: '#/components/parameters/AgentHeader'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RememberRequest'
responses:
'200':
description: Fact saved.
content:
application/json:
schema:
type: object
properties:
saved:
type: boolean
app:
type: string
fact:
type: string
memory:
$ref: '#/components/schemas/ProfileSearchHit'
'403':
$ref: '#/components/responses/Forbidden'
operationId: postV1ProfileRemember
x-operation-id-source: derived
servers:
- url: https://api.configure.dev
description: Production
- url: https://configure-backend-staging.fly.dev
description: Staging
/v1/profile/commit:
post:
tags:
- Profile
summary: Commit a bounded turn packet
description: Requires a secret key plus Bearer auth or X-User-Id. Use this for bounded turn evidence after a read-backed turn, not historical bulk import. Explicit memories are optional durable facts/preferences.
security:
- SecretApiKeyAuth: []
BearerAuth: []
- SecretApiKeyAuth: []
ExternalUserId: []
parameters:
- $ref: '#/components/parameters/AgentHeader'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommitRequest'
responses:
'200':
description: Completed commit.
content:
application/json:
schema:
type: object
additionalProperties: true
'202':
description: Async commit accepted.
content:
application/json:
schema:
type: object
properties:
status:
type: string
operationId: postV1ProfileCommit
x-operation-id-source: derived
servers:
- url: https://api.configure.dev
description: Production
- url: https://configure-backend-staging.fly.dev
description: Staging
/v1/profile/documents:
get:
tags:
- Profile
summary: Read generated profile documents
security:
- ApiKeyAuth: []
BearerAuth: []
parameters:
- $ref: '#/components/parameters/AgentHeader'
responses:
'200':
description: Generated profile documents.
content:
application/json:
schema:
type: object
additionalProperties: true
operationId: getV1ProfileDocuments
x-operation-id-source: derived
servers:
- url: https://api.configure.dev
description: Production
- url: https://configure-backend-staging.fly.dev
description: Staging
/v1/profile/documents/generate:
post:
tags:
- Profile
summary: Refresh profile documents (gated)
description: 'Serves cached documents unless profile inputs changed since the last generation, and refreshes at most once per user per day. The response includes `cached: true` when served from cache.'
security:
- ApiKeyAuth: []
BearerAuth: []
parameters:
- $ref: '#/components/parameters/AgentHeader'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
user_id:
type: string
documents:
type: array
items:
type: string
enum:
- user.md
- soul.md
- preferences.md
- context.md
- all
responses:
'200':
description: Generation result.
content:
application/json:
schema:
type: object
additionalProperties: true
operationId: postV1ProfileDocumentsGenerate
x-operation-id-source: derived
servers:
- url: https://api.configure.dev
description: Production
- url: https://configure-backend-staging.fly.dev
description: Staging
components:
parameters:
AgentHeader:
name: X-Agent
in: header
required: false
schema:
$ref: '#/components/schemas/AgentName'
description: Required when the API key's developer account owns more than one active agent.
schemas:
ErrorEnvelope:
type: object
properties:
error:
type: object
properties:
type:
type: string
code:
type: string
message:
type: string
param:
type:
- string
- 'null'
retryable:
type: boolean
request_id:
type: string
ProfileSearchResult:
type: object
required:
- results
- filtered
properties:
results:
type: array
items:
$ref: '#/components/schemas/ProfileSearchHit'
filtered:
type: boolean
hiddenSources:
type: array
items:
type: string
additionalProperties: false
ConversationMessage:
type: object
required:
- role
- content
properties:
role:
type: string
enum:
- user
- assistant
- tool
content:
type: string
minLength: 1
toolName:
type: string
maxLength: 255
ProfileSearchHit:
type: object
required:
- id
- source
anyOf:
- required:
- text
- required:
- snippet
properties:
id:
type: string
title:
type: string
text:
type: string
snippet:
type: string
path:
type: string
description: Present only when detail=full.
source:
type: string
written_by:
type: string
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
description: Present only when detail=full.
event_at:
type: string
markers:
type: array
items:
type: string
description: Present only when detail=full.
provenance:
type: object
additionalProperties: true
description: Safe provenance metadata present only when detail=full.
score:
type: number
type:
type: string
enum:
- memory
- preference
- identity
- document
- connector
- agent_note
additionalProperties: false
CommitRequest:
type: object
anyOf:
- required:
- memories
- required:
- messages
- required:
- toolResults
properties:
user_id:
type: string
minLength: 1
maxLength: 255
memories:
type: array
maxItems: 20
items:
type: string
minLength: 1
maxLength: 1000
messages:
type: array
maxItems: 20
items:
$ref: '#/components/schemas/ConversationMessage'
toolResults:
type: array
maxItems: 20
items:
type: object
required:
- toolName
- content
properties:
toolName:
type: string
minLength: 1
maxLength: 255
content:
oneOf:
- type: string
minLength: 1
- type: object
- type: array
memory_criteria:
type: string
maxLength: 2000
sync:
type: boolean
default: false
RememberRequest:
oneOf:
- type: object
required:
- fact
properties:
user_id:
type: string
minLength: 1
maxLength: 255
fact:
type: string
minLength: 1
maxLength: 10000
- type: object
required:
- key
- value
properties:
user_id:
type: string
minLength: 1
maxLength: 255
key:
type: string
maxLength: 100
value:
type: string
maxLength: 10000
AgentName:
type: string
minLength: 2
maxLength: 63
pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$
example: your-agent
responses:
Forbidden:
description: Forbidden. Common causes include secret_key_required, token_wrong_type, approval_required, or access_denied.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: Configure API key. Use sk_ on servers. pk_ is browser-safe but restricted.
SecretApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: Server-side Configure secret key, prefix sk_.
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Agent-scoped Configure token from hosted Configure.link().
ExternalUserId:
type: apiKey
in: header
name: X-User-Id
description: Stable external user ID for unlinked developer-scoped profiles. Requires sk_.
x-refined-from:
- configure-dev-openapi-original.yaml
- configure-dev-openapi.yml