openapi: 3.2.0 info: description: 'This page documents how to use the Optimizely FX API. With this API you can view and manage Feature Flags and all of their related entities including Variables, Variations, Rules, and Reports. The base URL is https://api.optimizely.com/flags/v1. Append any paths listed in these docs onto that url in order to make requests to the API.' title: Optimizely Feature Experimentation Changes API version: 0.3.7 x-logo: url: https://app.optimizely.com/static/img/rebrand/logo.svg servers: - url: https://api.optimizely.com/flags/v1/ security: - apiKey: [] - OAuth2: - read - write tags: - name: Changes paths: /projects/{project_id}/flags/{flag_id}/entities: get: description: 'Get entities associated for a specific Flag in a Project You can use query parameters to filter/sort the response. ' operationId: entities parameters: - $ref: '#/components/parameters/projectId' - $ref: '#/components/parameters/flagId' responses: '200': $ref: '#/components/responses/ChangeHistorySuccessResponse' '400': $ref: '#/components/responses/BadRequestResponse' '401': $ref: '#/components/responses/UnauthorizedResponse' '403': $ref: '#/components/responses/ForbiddenResponse' summary: Get Change History tags: - Changes components: parameters: projectId: description: The project identifier example: 12345 in: path name: project_id required: true schema: type: integer flagId: description: The Flag identifier example: 12345 in: path name: flag_id required: true schema: type: integer responses: ChangeHistorySuccessResponse: content: application/json: schema: $ref: '#/components/schemas/ChangeHistory' description: 'Successful retrieval of query params for change history. The response includes RESTful JSON (https://restfuljson.org/) styled links. If a link is not present in the response, it indicates a user is not authorized to access the related resource. ' UnauthorizedResponse: content: application/problem+json: schema: $ref: '#/components/schemas/ProblemDetail' description: Invalid credentials BadRequestResponse: content: application/problem+json: example: detail: Another entity already exists with this same key status: 400 title: Key example_entity already exists" uuid: 42c4c855-42f2-4c9a-8544-37b3dff706d2 schema: $ref: '#/components/schemas/ProblemDetail' description: Malformed requests and invalid parameter names and types ForbiddenResponse: content: application/problem+json: example: detail: Permission denied status: 403 title: Forbidden schema: $ref: '#/components/schemas/ProblemDetail' description: Do not have permission to perform the operation schemas: ProblemDetail: additionalProperties: true description: https://tools.ietf.org/html/rfc7807#section-3.1 properties: detail: description: A human-readable explanation specific to this occurrence of the problem. type: string status: description: The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. type: integer title: description: A short, human-readable summary of the problem type. type: string type: description: A URI reference [RFC3986] that identifies the problem type. Contains 'about:blank' if unspecified. type: string uuid: description: Error reference for customer support type: string required: - detail - status - title - type type: object ChangeHistory: items: properties: entity_ids: description: Array of entity IDs items: anyOf: - type: integer - type: string type: array entity_type: description: Flag Key readOnly: true type: string type: object type: array securitySchemes: BearerAuth: description: To get a personal token, see https://docs.developers.optimizely.com/web/docs/personal-token scheme: bearer type: http OAuth2: description: Write applications that authenticate with the REST API via OAuth 2.0. flows: authorizationCode: authorizationUrl: https://app.optimizely.com/oauth2/authorize scopes: all: Grants all access tokenUrl: https://app.optimizely.com/oauth2/token type: oauth2 apiKey: scheme: bearer type: http