Configure Profile API

The Profile API from Configure — 6 operation(s) for profile.

GitHub OpenAPI

Operations 6

GET /v1/profile Read composed profile #
GET /v1/profile/search Search or list attributed profile data #
POST /v1/profile/remember Save one fact #
POST /v1/profile/commit Commit a bounded turn packet #
GET /v1/profile/documents Read generated profile documents #
POST /v1/profile/documents/generate Refresh profile documents (gated) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/configure-dev:configure-dev-profile-api"
All apis
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.

Get an API 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 Specification

configure-dev-profile-api-openapi.yml Raw ↑
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