Optimizely Compliance API

The Compliance API from Optimizely — 7 operation(s) for compliance.

Business capability
Privacy & Data Protection Management BC-130.50

Operations 7

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /compliance/gdpr/delete Request GDPR deletion of a customer's data · GDPR delete request #
Ask an LLM
“How do I honour a GDPR right-to-erasure request for a customer in Optimizely?”
“Can I submit a GDPR delete request through the API instead of by hand?”
Tell an agent destructive · confirm first
Send a GDPR delete request for this customer.
File a GDPR erasure request to remove the customer's data.
POST /compliance/ccpa/delete Request CCPA deletion of a customer's data · CCPA delete request #
Ask an LLM
“What call deletes a California customer's data under CCPA?”
“Is there a separate endpoint for CCPA deletion requests?”
Tell an agent destructive · confirm first
Send a CCPA delete request for this customer.
Submit a CCPA request to erase the California customer's data.
POST /compliance/ccpa/optout Opt a customer out of data sale under CCPA · CCPA opt-out request #
Ask an LLM
“How do I record a customer's CCPA opt-out request?”
“Can I opt a customer out under CCPA without deleting their data?”
Tell an agent
Send a CCPA opt-out request for this customer.
Register this customer's CCPA opt-out.
POST /compliance/lgpd/delete Request LGPD deletion of a customer's data · LGPD delete request #
Ask an LLM
“How do I delete a Brazilian customer's data under LGPD?”
“Which endpoint handles LGPD compliance delete requests?”
Tell an agent destructive · confirm first
Send an LGPD delete request for this customer.
File an LGPD erasure request for the customer's data.
GET /compliance/gdpr/status/{requestId} Check a GDPR delete request's status · GDPR request status #
Ask an LLM
“Has my earlier GDPR delete request been completed yet?”
“Where do I check progress on a GDPR erasure by request ID?”
Tell an agent
Check the status of GDPR request {requestId}.
Tell me whether GDPR deletion {requestId} is done.
GET /compliance/ccpa/status/{requestId} Check a CCPA delete or opt-out request's status · CCPA request status #
Ask an LLM
“Is my CCPA delete or opt-out request still pending?”
“Can I look up the outcome of a CCPA request by its ID?”
Tell an agent
Check the status of CCPA request {requestId}.
Tell me where CCPA opt-out or deletion {requestId} stands.
GET /compliance/lgpd/status/{requestId} Check an LGPD delete request's status · LGPD request status #
Ask an LLM
“Has my LGPD delete request finished processing?”
“Where can I track an LGPD erasure request by ID?”
Tell an agent
Check the status of LGPD request {requestId}.
Tell me whether LGPD deletion {requestId} is complete.

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/optimizely:optimizely-compliance-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

optimizely-compliance-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Advanced Compliance API
  description: Advanced
  version: v3
servers:
- url: https://api.us1.odp.optimizely.com/v3
  description: United States
- url: https://api.eu1.odp.optimizely.com/v3
  description: Europe
- url: https://api.au1.odp.optimizely.com/v3
  description: Asia-Pacific
security:
- x-api-key: []
tags:
- name: Compliance
paths:
  /compliance/gdpr/delete:
    post:
      tags:
      - Compliance
      summary: GDPR delete request
      description: Send a GDPR compliance delete request for a customer.
      operationId: gdpr-delete
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IdentifierRequestObject'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceResponseBody'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example: '{"title":"Bad Request","status":400,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"invalids":[{"field":"delimiter","reason":"Unrecognized delimiter, valid options are comma, tab or pipe"}]}}'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                example: '{  "message": "Forbidden"}'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                example: '{"title":"Not Found","status":404,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"message":"Not found description"}}'
  /compliance/ccpa/delete:
    post:
      tags:
      - Compliance
      summary: CCPA delete request
      description: Send a CCPA compliance delete request for a customer.
      operationId: ccpa-delete
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IdentifierRequestObject'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceResponseBody'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example: '{"title":"Bad Request","status":400,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"invalids":[{"field":"delimiter","reason":"Unrecognized delimiter, valid options are comma, tab or pipe"}]}}'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                example: '{  "message": "Forbidden"}'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                example: '{"title":"Not Found","status":404,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"message":"Not found description"}}'
  /compliance/ccpa/optout:
    post:
      tags:
      - Compliance
      summary: CCPA opt-out request
      description: Send a CCPA compliance opt-out request for a customer.
      operationId: ccpa-optout
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IdentifierRequestObject'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceResponseBody'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example: '{"title":"Bad Request","status":400,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"invalids":[{"field":"delimiter","reason":"Unrecognized delimiter, valid options are comma, tab or pipe"}]}}'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                example: '{  "message": "Forbidden"}'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                example: '{"title":"Not Found","status":404,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"message":"Not found description"}}'
  /compliance/lgpd/delete:
    post:
      tags:
      - Compliance
      summary: LGPD delete request
      description: Send an LGPD compliance delete request for a customer.
      operationId: lgpd-delete
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/IdentifierRequestObject'
        required: true
      responses:
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceResponseBody'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example: '{"title":"Bad Request","status":400,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"invalids":[{"field":"delimiter","reason":"Unrecognized delimiter, valid options are comma, tab or pipe"}]}}'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                example: '{  "message": "Forbidden"}'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                example: '{"title":"Not Found","status":404,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"message":"Not found description"}}'
  /compliance/gdpr/status/{requestId}:
    get:
      tags:
      - Compliance
      summary: GDPR request status
      description: Get the status of a previous GDPR compliance delete request (by request ID).
      operationId: gdpr-status
      parameters:
      - name: requestId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
                enum:
                - IN_PROGRESS
                - COMPLETED
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example: '{"title":"Bad Request","status":400,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"invalids":[{"field":"delimiter","reason":"Unrecognized delimiter, valid options are comma, tab or pipe"}]}}'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                example: '{  "message": "Forbidden"}'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                example: '{"title":"Not Found","status":404,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"message":"Not found description"}}'
  /compliance/ccpa/status/{requestId}:
    get:
      tags:
      - Compliance
      summary: CCPA request status
      description: Get the status of a previous CCPA compliance delete or opt-out request (by request ID).
      operationId: ccpa-status
      parameters:
      - name: requestId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
                enum:
                - IN_PROGRESS
                - COMPLETED
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example: '{"title":"Bad Request","status":400,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"invalids":[{"field":"delimiter","reason":"Unrecognized delimiter, valid options are comma, tab or pipe"}]}}'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                example: '{  "message": "Forbidden"}'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                example: '{"title":"Not Found","status":404,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"message":"Not found description"}}'
  /compliance/lgpd/status/{requestId}:
    get:
      tags:
      - Compliance
      summary: LGPD request status
      description: Get the status of a previous LGPD compliance delete request (by request ID).
      operationId: lgpd-status
      parameters:
      - name: requestId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
                enum:
                - IN_PROGRESS
                - COMPLETED
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                example: '{"title":"Bad Request","status":400,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"invalids":[{"field":"delimiter","reason":"Unrecognized delimiter, valid options are comma, tab or pipe"}]}}'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                example: '{  "message": "Forbidden"}'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                example: '{"title":"Not Found","status":404,"timestamp":"2018-09-10T21:07:10-05:00","detail":{"message":"Not found description"}}'
components:
  schemas:
    ComplianceResponseBody:
      type: object
      properties:
        request_ids:
          type: array
          items:
            type: string
    IdentifierRequestObject:
      required:
      - identifier_field_name
      - identifier_value
      - requester
      type: object
      properties:
        requester:
          type: string
          description: The email address of the requester for audit purposes.
          example: brand@example.com
        identifier_value:
          type: string
          description: The value of the identifier to delete or opt out.
          example: johndoe@example.com
        identifier_field_name:
          type: string
          description: The type of identifier that you are deleting or opting out.
          example: email
  securitySchemes:
    x-api-key:
      type: apiKey
      name: x-api-key
      in: header
x-readme:
  explorer-enabled: true
  proxy-enabled: true