Outbrain Users API

User represents a single person's access to Outbrain services and to the site my.outbrain.com. A User is permitted to one or more Marketer accounts, each marketer with a role that specifies the user permissions.

Operations 5

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

GET /marketers/{marketerId}/users List users with access to a marketer · Getting all users permitted to a marketer #
Ask an LLM
“Who has access to my marketer account and what role does each person have?”
“Which users still have a pending invitation to a marketer?”
Tell an agent
List all users permitted on marketer {marketerId}.
Show the roles and statuses of users on marketer {marketerId}.
PUT /marketers/{marketerId}/users Enable, disable or change a user's role · Update marketer's users #
Ask an LLM
“How do I disable a user on a marketer without removing them?”
“Can I change someone's role on a marketer account?”
Tell an agent
Disable the user jane@example.com on marketer {marketerId}.
Change a user's role to account manager on marketer {marketerId}.
DELETE /marketers/{marketerId}/users Revoke a user's access to a marketer · Remove a user from a marketer #
Ask an LLM
“How do I remove someone's access to a marketer account entirely?”
“Can I revoke a user's permission by email address?”
Tell an agent destructive · confirm first
Remove user {email} from marketer {marketerId}.
Revoke marketer {marketerId} access for {email}.
POST /invitations/multiple Invite new users to a marketer · Providing access for new users to a marketer #
Ask an LLM
“How do I invite several new colleagues to a marketer account at once?”
“Can I give new users access by sending invitations?”
Tell an agent
Invite these three email addresses to my marketer account.
Send access invitations to the new team members I list.
PUT /invitations Revoke pending user invitations · Delete pending invitations #
Ask an LLM
“How do I cancel an invitation that hasn't been accepted yet?”
“Can I withdraw pending invitations by setting them to revoked?”
Tell an agent destructive · confirm first
Revoke the pending invitation I sent to the contractor.
Set all outstanding invitations for my marketer to REVOKED.

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/outbrain:outbrain-users-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

outbrain-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Outbrain Amplify Users API
  version: '0.1'
  description: This API describes the interfaces for interacting with the Outbrain Amplify product.
  contact:
    name: Outbrain Developer Center
    url: https://developer.outbrain.com
servers:
- url: https://api.outbrain.com/amplify/v0.1
  description: Production Server
security:
- OBTokenAuth: []
tags:
- name: Users
  description: 'User represents a single person''s access to Outbrain services and to the site my.outbrain.com.

    A User is permitted to one or more Marketer accounts, each marketer with a role that specifies the user permissions.'
paths:
  /marketers/{marketerId}/users:
    get:
      operationId: getMarketersMarketerIdUsers
      summary: Getting all users permitted to a marketer
      description: 'The response contains an array of a user object that has the following attributes:


        Property

        Type

        Semantic

        Example


        name

        String

        The User''s name

        "full name"


        email

        String

        The User''s email

        "a@b.ocm"


        creationTime

        Time

        The time when the user was assigned to the marketer

        "2013-01-14 07:19:16"


        status

        String

        The User''s status - ACTIVE, PENDING, DISABLED

        "ACTIVE"


        invitationId

        String

        The invitation ID of the user in case the user has a pending invitation


        fullName

        String

        The user''s full name


        role

        User Role

        The user''s role

        "ACCOUNT_MANAGER"'
      tags:
      - Users
      parameters:
      - name: marketerId
        in: path
        required: true
        schema:
          type: string
        description: the Marketer's id
        example: 00f4b02153ee75f3c9dc4fc128ab041962
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
              example:
                users:
                - name: somename1
                  email: user1@domain.com
                  creationTime: '2022-09-20 20:12:23'
                  status: ACTIVE
                  fullName: some name1
                  role: ACCOUNT_MANAGER
                - name: somename2
                  email: user2@domain.com
                  creationTime: '2022-09-20 20:12:23'
                  status: PENDING
                  invitationId: 00f4b02153ee75f3c9dc4fc128ab041962
                  role: ACCOUNT_MANAGER
          headers:
            AMPLIFY-REQUEST-ID:
              description: Request correlation / rate-limit signal
              schema:
                type: string
        '400':
          description: Bad Request - the request could not be understood or was missing required parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - authentication failed or the user lacks permission for the requested operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found - resource was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests - request exceeded rate limits; see the rate-limit-msec-left header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      operationId: updateMarketersMarketerIdUsers
      summary: Update marketer's users
      description: Update marketer's users allows disabling/enabling a user and updating their role
      tags:
      - Users
      parameters:
      - name: marketerId
        in: path
        required: true
        schema:
          type: string
        description: the Marketer's id
        example: 00f4b02153ee75f3c9dc4fc128ab041962
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
            - userEmail: a@mydomain.com
              enabled: true
              role: VIEWER
            - userEmail: b@mydomain.com
              enabled: true
              role: CAMPAIGN_MANAGER
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
              example:
                users:
                - name: somename1
                  email: a@domain.com
                  creationTime: '2022-09-20 20:12:23'
                  status: DISABLED
                  fullName: some name1
                  role: ACCOUNT_MANAGER
                - name: somename2
                  email: b@domain.com
                  creationTime: '2022-09-20 20:12:23'
                  status: ENABLED
                  invitationId: 00f4b02153ee75f3c9dc4fc128ab041962
                  role: VIEWER
          headers:
            AMPLIFY-REQUEST-ID:
              description: Request correlation / rate-limit signal
              schema:
                type: string
        '400':
          description: Bad Request - the request could not be understood or was missing required parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - authentication failed or the user lacks permission for the requested operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found - resource was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests - request exceeded rate limits; see the rate-limit-msec-left header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    delete:
      operationId: deleteMarketersMarketerIdUsers
      summary: Remove a user from a marketer
      description: This endpoint allows revoking a permission for a user to access a marketer.
      tags:
      - Users
      parameters:
      - name: marketerId
        in: path
        required: true
        schema:
          type: string
        description: the Marketer's id
        example: 00f4b02153ee75f3c9dc4fc128ab041962
      - name: email
        in: query
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          headers:
            AMPLIFY-REQUEST-ID:
              description: Request correlation / rate-limit signal
              schema:
                type: string
        '400':
          description: Bad Request - the request could not be understood or was missing required parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - authentication failed or the user lacks permission for the requested operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found - resource was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests - request exceeded rate limits; see the rate-limit-msec-left header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /invitations/multiple:
    post:
      operationId: createInvitationsMultiple
      summary: Providing access for new users to a marketer
      tags:
      - Users
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
            - marketerId: 007514a95316bh6fe7ejc0cad101c23343
              invitedEmail: a@mydomain.com
              role: ADMIN
            - marketerId: 007514a95316bh6fe7ejc0cad101c23343
              invitedEmail: b@mydomain.com
              role: VIEWER
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: string
              example: "[\n    {\n        \"id\": \"007514a95316bh6fe7ejc0cad101c23343\",\n        \"invitingUserEmail\": \"admin@mydomain.com\",\n        \"invitedEmail\": \"a@mydomain.com\",\n        \"marketerId\": \"007514a95316bh6fe7ejc0cad101c23343\",\n        \"status\": \"Pending\",\n        \"creationDate\": \"2022-06-01\",\n        \"marketerName\": \"Some marketer\",\n        \"role\": \"ADMIN\"\n    },\n       \"id\": \"007514a95316bh6fe7ejc0cad101c23343\",\n        \"invitingUserEmail\": \"admin@mydomain.com\",\n        \"invitedEmail\": \"b@mydomain.com\",\n        \"marketerId\": \"007514a95316bh6fe7ejc0cad101c23343\",\n        \"status\": \"Pending\",\n        \"creationDate\": \"2022-06-01\",\n        \"marketerName\": \"Some marketer\",\n        \"role\": \"VIEWER\"\n    }\n]"
          headers:
            AMPLIFY-REQUEST-ID:
              description: Request correlation / rate-limit signal
              schema:
                type: string
        '400':
          description: Bad Request - the request could not be understood or was missing required parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - authentication failed or the user lacks permission for the requested operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found - resource was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests - request exceeded rate limits; see the rate-limit-msec-left header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /invitations:
    put:
      operationId: updateInvitations
      summary: Delete pending invitations
      description: Delete pending invitations should be done by updating the status of the invitations to REVOKED
      tags:
      - Users
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              invitations:
              - id: 007514a95316bh6fe7ejc0cad101c23349
                status: REVOKED
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: string
              example: "{\n    \"updatedInvitations\":\n     [\n        {\n            \"operationStatus\":\n                {\n                \"status\": \"Success\"\n                }\n            \"invitation\":\n                {\n                \"id\": \"007514a95316bh6fe7ejc0cad101c23349\",\n                \"invitingUserEmail\": \"admin@mydomain.com\",\n                \"invitedEmail\": \"a@mydomain.com\",\n                \"marketerId\": \"007514a95316bh6fe7ejc0cad101c23343\",\n                \"status\": \"Revoked\",\n                \"creationDate\": \"2022-06-01\",\n                \"marketerName\": \"Some marketer\",\n                \"role\": \"ADMIN\"\n                },\n        \"id\": \"007514a95316bh6fe7ejc0cad101c23349\"\n        }\n    ]\n}"
          headers:
            AMPLIFY-REQUEST-ID:
              description: Request correlation / rate-limit signal
              schema:
                type: string
        '400':
          description: Bad Request - the request could not be understood or was missing required parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized - authentication failed or the user lacks permission for the requested operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden - access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found - resource was not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Too Many Requests - request exceeded rate limits; see the rate-limit-msec-left header
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      description: Error envelope returned on 400/401/403/404/429 responses.
      properties:
        moreInfo:
          type: string
          description: Short machine-readable hint identifying the failing operation.
        errorMessage:
          type: string
          description: Human-readable error message.
      examples:
      - moreInfo: get-budget
        errorMessage: access denied
  securitySchemes:
    OBTokenAuth:
      type: apiKey
      in: header
      name: OB-TOKEN-V1
      description: Token obtained from GET /login (HTTP Basic) or from https://my.outbrain.com/create-token. Valid for 30 days.
    BasicAuth:
      type: http
      scheme: basic
      description: HTTP Basic credentials used only on GET /login to obtain an OB-TOKEN-V1 token.