Skip to main content

API Key Management

Optimize Deprecation

Uniform Optimize has been deprecated and replaced by Context, a more powerful and flexible personalization solution. Optimize is not being discontinued at this time, but it will not receive updates or new features.

We do not recommend starting a new project with Optimize. If you have an existing project that uses Optimize, you can upgrade your project to Context at no cost using our upgrade guide. If you have any issues with this process you can contact our team.

To retrieve the intent manifest from Uniform Optimize, you must generate an API key. To add a new key, log into Uniform Optimize as an administrator of your team.

  1. After logging in, click on team settings:

projects list

  1. Click on the API Keys tab

  2. Click the (+) button to add a new API key

  3. Enter a name for the key and choose the project(s) and permissions that the key should have access to:

    add api key

    tip

    For an API key that can read the published intent manifest, such as a Next/Nuxt app, check off the Uniform Optimize -> Intent Manifest -> Read permission. For an API key that can read the draft manifest (i.e. for a CMS integration or app preview), check off the Uniform Optimize -> Read Drafts permission.

  4. Click Create. For most uses of an API key you will need the key and the project ID you want to access. Both can be easily copied on this screen.

    generated API key

    caution

    The API key can only be shown once. Ensure you copy it by clicking on it and store it somewhere safe before you close the form. Should you forget the key, delete it and create a new one.

What's next?

After you have an API key, you can start using it in your project. There are several ways you can fetch manifest data:

  • Uniform CLI (npm install -g @uniform/cli)
    uniform optimize manifest download --api-key=<your-api-key> --project <project-id>
  • curl:
    curl -H"x-api-key: <your-api-key-here>" https://uniform.app/api/v1/manifest?projectId=<your-project-id-here>
  • Other HTTP clients, such as Postman

You should receive JSON that represents the intents and signals:

published JSON data example