# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Optimizely Feature Experimentation Custom Fields API version: 1.0.0 extends: openapi/optimizely-custom-fields-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 5 - target: $.paths['/projects/{project_id}/custom_fields'].get update: x-apievangelist-phrasing: intent: List custom fields in a project effect: read questions: - Which custom fields are defined in my experimentation project? - Can I search custom fields by name and filter by entity type or archived state? instructions: - text: List custom fields in project {project_id}. slots: project_id: path.project_id - text: Search custom fields in project {project_id} for {query}. slots: project_id: path.project_id query: query.query - text: List custom fields of entity type {entity_type} in project {project_id} with archived state {archived}. slots: entity_type: query.entity_type project_id: path.project_id archived: query.archived method: generated generated: '2026-09-26' - target: $.paths['/projects/{project_id}/custom_fields'].post update: x-apievangelist-phrasing: intent: Create a custom field effect: write questions: - How do I add a custom field to flags or experiments in a project? - Can I make a new custom field required? instructions: - text: Create custom field {name} with key {key}, type {field_type}, for {entity_type} in project {project_id}. slots: name: requestBody.name key: requestBody.key field_type: requestBody.field_type entity_type: requestBody.entity_type project_id: path.project_id - text: Add {field_type} custom field {key} named {name} on {entity_type} in project {project_id} with required set to {required}. slots: field_type: requestBody.field_type key: requestBody.key name: requestBody.name entity_type: requestBody.entity_type project_id: path.project_id required: requestBody.required method: generated generated: '2026-09-26' - target: $.paths['/projects/{project_id}/custom_fields/{id}'].patch update: x-apievangelist-phrasing: intent: Update a custom field effect: write questions: - How do I rename an existing custom field? - Can I change whether a custom field is required after creating it? instructions: - text: Rename custom field {id} in project {project_id} to {name}. slots: id: path.id project_id: path.project_id name: requestBody.name - text: Set custom field {id} in project {project_id} required to {required}. slots: id: path.id project_id: path.project_id required: requestBody.required method: generated generated: '2026-09-26' - target: $.paths['/projects/{project_id}/custom_fields/{id}/archived'].post update: x-apievangelist-phrasing: intent: Archive a custom field effect: write questions: - How do I retire a custom field without deleting it? - Does archiving a custom field stop it from being required? instructions: - text: Archive custom field {id} in project {project_id}. slots: project_id: path.project_id id: path.id - text: Retire custom field {id} from project {project_id}. slots: project_id: path.project_id id: path.id method: generated generated: '2026-09-26' - target: $.paths['/projects/{project_id}/custom_fields/{id}/unarchived'].post update: x-apievangelist-phrasing: intent: Restore an archived custom field effect: write questions: - How do I bring back a custom field I archived? - Can an archived custom field be made active again? instructions: - text: Unarchive custom field {id} in project {project_id}. slots: project_id: path.project_id id: path.id - text: Restore archived custom field {id} in project {project_id}. slots: project_id: path.project_id id: path.id method: generated generated: '2026-09-26'