Optimizely · Capability

Optimizely Data Platform REST API — Profiles

Optimizely Data Platform REST API — Profiles. 2 operations. Lead operation: Create or update a profile. Self-contained Naftiko capability covering one Optimizely business surface.

Run with Naftiko OptimizelyProfiles

What You Can Do

POST
Upsertprofile — Create or update a profile
/v1/profiles
GET
Getprofile — Get a profile
/v1/profiles/{identifier-field}/{identifier-value}

MCP Tools

create-update-profile

Create or update a profile

get-profile

Get a profile

read-only idempotent

Capability Spec

data-platform-profiles.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Optimizely Data Platform REST API — Profiles
  description: 'Optimizely Data Platform REST API — Profiles. 2 operations. Lead operation: Create or update a profile. Self-contained
    Naftiko capability covering one Optimizely business surface.'
  tags:
  - Optimizely
  - Profiles
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    OPTIMIZELY_API_KEY: OPTIMIZELY_API_KEY
capability:
  consumes:
  - type: http
    namespace: data-platform-profiles
    baseUri: https://api.zaius.com/v3
    description: Optimizely Data Platform REST API — Profiles business capability. Self-contained, no shared references.
    resources:
    - name: profiles
      path: /profiles
      operations:
      - name: upsertprofile
        method: POST
        description: Create or update a profile
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: profiles-identifier_field-identifier_value
      path: /profiles/{identifier_field}/{identifier_value}
      operations:
      - name: getprofile
        method: GET
        description: Get a profile
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: fields
          in: query
          type: string
          description: Comma-separated list of profile fields to return
    authentication:
      type: apikey
      key: x-api-key
      value: '{{env.OPTIMIZELY_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: data-platform-profiles-rest
    port: 8080
    description: REST adapter for Optimizely Data Platform REST API — Profiles. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/profiles
      name: profiles
      description: REST surface for profiles.
      operations:
      - method: POST
        name: upsertprofile
        description: Create or update a profile
        call: data-platform-profiles.upsertprofile
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/profiles/{identifier-field}/{identifier-value}
      name: profiles-identifier-field-identifier-value
      description: REST surface for profiles-identifier_field-identifier_value.
      operations:
      - method: GET
        name: getprofile
        description: Get a profile
        call: data-platform-profiles.getprofile
        with:
          fields: rest.fields
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: data-platform-profiles-mcp
    port: 9090
    transport: http
    description: MCP adapter for Optimizely Data Platform REST API — Profiles. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: create-update-profile
      description: Create or update a profile
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: data-platform-profiles.upsertprofile
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-profile
      description: Get a profile
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: data-platform-profiles.getprofile
      with:
        fields: tools.fields
      outputParameters:
      - type: object
        mapping: $.