Inflection.io Lists and Members API

The Lists and Members API from Inflection.io — 4 operation(s) for lists and members.

OpenAPI Specification

inflectionio-lists-and-members-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Inflection Developer Contact Activity Lists and Members API
  version: '1.0'
  description: A REST API for reading and writing the people in your Inflection workspace — their profiles, product and marketing activity, static lists, and email templates.
servers:
- url: https://api.inflection.io
  description: Production
security:
- bearerAuth: []
tags:
- name: Lists and Members
paths:
  /v1/lists:
    post:
      operationId: createList
      summary: Create a list
      tags:
      - Lists and Members
      description: Takes a `name` (and optional `folder`); a duplicate name returns `400 LIST_ALREADY_EXISTS`.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
                folder:
                  type: string
      responses:
        '200':
          description: List created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '400':
          description: Duplicate name (`LIST_ALREADY_EXISTS`).
  /v1/lists/{id}:
    get:
      operationId: getList
      summary: Get a list
      tags:
      - Lists and Members
      description: Missing list returns `404 NOT_FOUND`.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '404':
          description: List not found.
    patch:
      operationId: updateList
      summary: Update a list
      tags:
      - Lists and Members
      description: 'Returns only `{ "staticListId", "success": true }` — a confirmation flag, not the updated list object. Re-fetch the list if you need its new state.'
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
      responses:
        '200':
          description: Confirmation flag only.
          content:
            application/json:
              schema:
                type: object
                properties:
                  staticListId:
                    type: string
                  success:
                    type: boolean
    delete:
      operationId: deleteList
      summary: Delete a list
      tags:
      - Lists and Members
      description: Soft delete — returns `200` with a result body.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List deleted (soft delete).
  /v1/lists/{id}/members:
    get:
      operationId: getListMembers
      summary: Get list members
      tags:
      - Lists and Members
      description: Member records use **camelCase** field names (`firstName`, `companyName`, `phoneNumber`) — unlike the snake_case that contact lookups return for the same person.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: page_number
        in: query
        schema:
          type: integer
          default: 1
      - name: page_size
        in: query
        schema:
          type: integer
          default: 20
          maximum: 200
      responses:
        '200':
          description: Paged list members.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
    post:
      operationId: addListMembers
      summary: Add list members
      tags:
      - Lists and Members
      description: Add members by contact id. Unknown ids are skipped and reported in `errors` with a still-successful `200` (partial success); the response reports how many were `added`.
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                contactIds:
                  type: array
                  items:
                    type: string
      responses:
        '200':
          description: Members added (partial success reported in `errors`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
  /v1/lists/{id}/members/{contactId}:
    delete:
      operationId: removeListMember
      summary: Remove a list member
      tags:
      - Lists and Members
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: contactId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Member removed.
components:
  schemas:
    Envelope:
      type: object
      properties:
        data:
          description: Payload — object or array, shape depends on the endpoint.
        pagination:
          type: object
          description: Present only on paged list endpoints.
          properties:
            pageNumber:
              type: integer
              example: 1
            pageSize:
              type: integer
              example: 20
            totalElements:
              type: integer
              example: 151
            totalPages:
              type: integer
              example: 8
        errors:
          type: array
          items:
            type: object
            properties:
              errorCode:
                type: string
              message:
                type: string
              detail:
                type: string
        meta:
          type: object
          properties:
            status:
              type: string
              enum:
              - SUCCESS
              - FAILURE
            timestamp:
              type: string
              format: date-time
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Personal Access Token. READ scope for GET, WRITE scope for POST/PATCH/DELETE.