ABMeter User Assignments API

The User Assignments API from ABMeter — 1 operation(s) for user assignments.

Operations 1

POST /user-assignments Get pre-evaluated assignments for a user #

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/abmeter-ai:abmeter-ai-user-assignments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

abmeter-ai-user-assignments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Abmeter Ai User Assignments API
  version: 1.0.0
  contact:
    name: ABMeter Support
    email: info@abmeter.com
  license:
    name: Commercial
    url: https://abmeter.ai/terms
  description: 'Operations tagged User Assignments across 2 of this provider''s published API definitions: spec.yaml, abmeter-ai-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://abmeter.ai/api/v1
  description: ABMeter API
security:
- bearerAuth: []
tags:
- name: User Assignments
paths:
  /user-assignments:
    post:
      summary: Get pre-evaluated assignments for a user
      description: 'Evaluates every parameter the customer owns for the given user and returns the resolved values

        together with the exposure metadata the client needs to report an exposure when (and only when)

        a value is actually read. Experiment resolutions carry an `exposure` object; feature-flag and

        default resolutions carry `exposure: null` and must never be reported as exposures.


        Designed for browser SDKs: assignment rules, salts, and audience predicates never leave the

        server. Responses carry an `ETag`; clients may replay it via `If-None-Match` and receive

        `304 Not Modified` when assignments are unchanged. This is an application-level optimization

        between the endpoint and the SDK, not HTTP caching — POST responses are not HTTP-cacheable.'
      security:
      - bearerAuth: []
      parameters: []
      responses:
        '200':
          description: Pre-evaluated assignments
          content:
            application/json:
              example:
                user:
                  user_id: browser-user-1
                  email: browser-user-1@example.com
                assignments:
                  parameter-button-color:
                    value: green
                    parameter_id: 78
                    space_id: 341
                    exposure:
                      exposable_type: Experiment
                      exposable_id: 48
                      audience_id: 142
              schema:
                type: object
                required:
                - user
                - assignments
                properties:
                  user:
                    type: object
                    properties:
                      user_id:
                        type: string
                      email:
                        type:
                        - string
                        - 'null'
                  assignments:
                    type: object
                    description: Map of parameter slug to its resolved assignment
                    additionalProperties:
                      type: object
                      required:
                      - value
                      - parameter_id
                      - space_id
                      properties:
                        value:
                          description: Resolved value, already typed per parameter_type
                        parameter_id:
                          type: integer
                        space_id:
                          type: integer
                        exposure:
                          type:
                          - object
                          - 'null'
                          description: Present only for experiment resolutions; null for feature-flag and default resolutions
                          properties:
                            exposable_type:
                              type: string
                              enum:
                              - Experiment
                            exposable_id:
                              type: integer
                            audience_id:
                              type: integer
        '400':
          description: Missing user_id
          content:
            application/json:
              example:
                error: Bad request - user_id is required
                status: 400
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - user_id
              properties:
                user_id:
                  type: string
                  description: User identifier (opaque; anonymous SDK-generated track ids are user ids too)
                email:
                  type:
                  - string
                  - 'null'
                  description: Optional email, used only by email-predicate audiences
              example:
                user_id: user_123456
                email: user@example.com
          text/plain:
            schema:
              type: object
              required:
              - user_id
              properties:
                user_id:
                  type: string
                  description: User identifier (opaque; anonymous SDK-generated track ids are user ids too)
                email:
                  type:
                  - string
                  - 'null'
                  description: Optional email, used only by email-predicate audiences
              example:
                user_id: user_123456
                email: user@example.com
      tags:
      - User Assignments
      operationId: postUserAssignments
      x-operation-id-source: derived
    servers:
    - url: https://abmeter.ai/api/v1
      description: ABMeter API
components:
  schemas:
    Error:
      type: object
      description: 'Standard error response format for all API endpoints


        **Important:** The response is ALWAYS an object/hash, never null or any other type.

        The `details` field, when present, is ALWAYS an object/hash (e.g., `{}` not `null` or `[]`).

        The `details` field may be omitted when there are no additional details to provide.'
      properties:
        error:
          type: string
          description: Human-readable error message
        code:
          type: string
          description: Machine-readable error code (optional)
        details:
          type: object
          description: 'Additional error details. When present, ALWAYS an object/hash.

            May contain field-specific errors or other structured information.

            Examples: `{"name": ["can''t be blank"]}` for validation errors, `{"message": "Invalid state"}` for other errors'
          additionalProperties: true
      required:
      - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key from the ABMeter dashboard. Pass it in the Authorization header with 'Bearer' prefix.
x-refined-from:
- spec.yaml
- abmeter-ai-openapi.yml