Listrak SegmentationField API

The SegmentationField API from Listrak — 2 operation(s) for segmentationfield.

Operations 6

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 /v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField List profile fields in a field group · Get all Profile Fields #
Ask an LLM
“What profile fields are in a profile field group?”
“Can I see every profile field under a group on my list?”
Tell an agent
List profile fields in group {segmentationFieldGroupId} on list {listId}.
Show all fields in profile field group {segmentationFieldGroupId} for list {listId}.
POST /v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField Create a profile field · Create a Profile Field #
Ask an LLM
“How do I add a new custom profile field to a field group?”
“What data type and max length do I set for a new profile field?”
Tell an agent
Create field {segmentationFieldName} ({dataType}, length {maxLength}, position {position}) in group {segmentationFieldGroupId}, list {listId}.
Add a new {dataType} field {segmentationFieldName} to profile group {segmentationFieldGroupId}, list {listId}, length {maxLength}, at position {position}.
GET /v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId} Get a profile field · Get a Profile Field #
Ask an LLM
“How do I look up one profile field on an email list?”
“What data type and length does a given profile field have?”
Tell an agent
Get profile field {segmentationFieldId} in group {segmentationFieldGroupId} on list {listId}.
Show the data type of field {segmentationFieldId} (group {segmentationFieldGroupId}, list {listId}).
PUT /v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId} Update a profile field definition · Update a Profile Field #
Ask an LLM
“Can I rename or reposition an existing profile field?”
“How do I change a profile field's max length?”
Tell an agent
Set field {segmentationFieldId} (group {segmentationFieldGroupId}, list {listId}) to {segmentationFieldName}, {dataType}, len {maxLength}, position {position}.
Change existing field {segmentationFieldId} max length to {maxLength} (group {segmentationFieldGroupId}, list {listId}).
DELETE /v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId} Delete a profile field · Delete a Profile Field #
Ask an LLM
“How do I remove a profile field definition entirely?”
“Can I delete a custom profile field from a group?”
Tell an agent destructive · confirm first
Delete profile field {segmentationFieldId} from group {segmentationFieldGroupId} on list {listId}.
Remove the field {segmentationFieldId} itself from profile group {segmentationFieldGroupId}, list {listId}.
DELETE /v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}/Values Clear a profile field's values for all contacts · Clear Profile Field Values #
Ask an LLM
“How do I wipe the stored values of a profile field for every subscriber but keep the field?”
“Can I poll the progress of clearing profile field values?”
Tell an agent destructive · confirm first
Clear all contact values of profile field {segmentationFieldId} in group {segmentationFieldGroupId} on list {listId}.
Blank out field {segmentationFieldId} for every subscribed contact (group {segmentationFieldGroupId}, list {listId}).

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/listrak:listrak-segmentationfield-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

listrak-segmentationfield-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: v1
  title: Listrak Email REST Segmentation Field API
  description: '# Introduction

    Welcome to the Listrak Email REST API!'
  x-logo:
    url: /Email/Resources/Images/Logo.png
servers:
- url: https://api.listrak.com/email
tags:
- name: SegmentationField
  description: A Profile Field is used to store data about a contact so that it can be filtered in the future.
paths:
  /v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField:
    get:
      tags:
      - SegmentationField
      summary: Get all Profile Fields
      description: Returns the collection of profile fields that exist for the specified profile field group.
      operationId: SegmentationField_GetSegmentationFieldCollection
      parameters:
      - name: listId
        in: path
        description: Identifier used to locate the list.
        required: true
        schema:
          type: integer
          format: int32
      - name: segmentationFieldGroupId
        in: path
        description: Identifier used to locate the profile field group.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection_SegmentationField'
              example:
                status: 200
                data:
                - segmentationFieldId: 0
                  segmentationFieldName: null
                  segmentationFieldGroupId: 0
                  dataType: null
                  maxLength: 0
                  position: 0
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 400
                error: ERROR_INVALID_PARAMETER
                message: An invalid value was supplied for {Parameter}.
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 404
                error: ERROR_UNABLE_TO_LOCATE_RESOURCE
                message: Unable to locate a resource associated with the listId and segmentationFieldGroupId supplied.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 401
                error: ERROR_UNAUTHORIZED
                message: Authorization was denied for this request.
      security:
      - OAuth 2:
        - List
        - Segmentation
      x-code-samples:
      - lang: C#
        source: 'var client = new HttpClient();


          client.BaseAddress = new Uri("https://api.listrak.com/email/");

          client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);


          var response = await client.GetAsync("v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField");

          '
      - lang: PHP
        source: "$client = new \\GuzzleHttp\\Client([\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\n\n$res = $client->request('GET', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField',  [\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\n]);\n"
    post:
      tags:
      - SegmentationField
      summary: Create a Profile Field
      description: Creates a new profile field for the specified profile field group.
      operationId: SegmentationField_PostSegmentationFieldResource
      parameters:
      - name: listId
        in: path
        description: Identifier used to locate the list.
        required: true
        schema:
          type: integer
          format: int32
      - name: segmentationFieldGroupId
        in: path
        description: Identifier used to locate the profile field group.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 400
                error: ERROR_INVALID_PARAMETER
                message: An invalid value was supplied for {Parameter}.
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
              example:
                status: 201
                resourceId: '{ResourceId}'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 401
                error: ERROR_UNAUTHORIZED
                message: Authorization was denied for this request.
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 404
                error: ERROR_UNABLE_TO_LOCATE_RESOURCE
                message: Unable to locate a resource associated with the listId and segmentationFieldGroupId supplied.
      security:
      - OAuth 2:
        - List
        - Segmentation
      x-code-samples:
      - lang: C#
        source: "var client = new HttpClient();\n\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\n\nvar response = await client.PostAsJsonAsync(\"v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField\", new\n{\n   SegmentationFieldName = null,\n   DataType = null,\n   MaxLength = 0,\n   Position = 0\n});\n"
      - lang: PHP
        source: "$client = new \\GuzzleHttp\\Client([\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\n\n$res = $client->request('POST', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField',  [\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\n\t'json' => $jsonBody\n]);\n"
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SegmentationField'
        description: Representation of the profile field to create.
        required: true
  /v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}:
    get:
      tags:
      - SegmentationField
      summary: Get a Profile Field
      description: Returns the specified profile field.
      operationId: SegmentationField_GetSegmentationFieldResource
      parameters:
      - name: listId
        in: path
        description: Identifier used to locate the list.
        required: true
        schema:
          type: integer
          format: int32
      - name: segmentationFieldGroupId
        in: path
        description: Identifier used to locate the profile field group.
        required: true
        schema:
          type: integer
          format: int32
      - name: segmentationFieldId
        in: path
        description: Identifier used to locate the profile field.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Resource_SegmentationField'
              example:
                status: 200
                data:
                  segmentationFieldId: 0
                  segmentationFieldName: null
                  segmentationFieldGroupId: 0
                  dataType: null
                  maxLength: 0
                  position: 0
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 400
                error: ERROR_INVALID_PARAMETER
                message: An invalid value was supplied for {Parameter}.
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 404
                error: ERROR_UNABLE_TO_LOCATE_RESOURCE
                message: Unable to locate a resource associated with the listId, segmentationFieldGroupId, and segmentationFieldId supplied.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 401
                error: ERROR_UNAUTHORIZED
                message: Authorization was denied for this request.
      security:
      - OAuth 2:
        - List
        - Segmentation
      x-code-samples:
      - lang: C#
        source: 'var client = new HttpClient();


          client.BaseAddress = new Uri("https://api.listrak.com/email/");

          client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);


          var response = await client.GetAsync("v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}");

          '
      - lang: PHP
        source: "$client = new \\GuzzleHttp\\Client([\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\n\n$res = $client->request('GET', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}',  [\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\n]);\n"
    put:
      tags:
      - SegmentationField
      summary: Update a Profile Field
      description: Updates the specified profile field.
      operationId: SegmentationField_PutSegmentationFieldResource
      parameters:
      - name: listId
        in: path
        description: Identifier used to locate the list.
        required: true
        schema:
          type: integer
          format: int32
      - name: segmentationFieldGroupId
        in: path
        description: Identifier used to locate the profile field group.
        required: true
        schema:
          type: integer
          format: int32
      - name: segmentationFieldId
        in: path
        description: Identifier used to locate the profile field.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceUpdated'
              example:
                status: 200
                resourceId: '{ResourceId}'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 400
                error: ERROR_INVALID_PARAMETER
                message: An invalid value was supplied for {Parameter}.
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 404
                error: ERROR_UNABLE_TO_LOCATE_RESOURCE
                message: Unable to locate a resource associated with the listId, segmentationFieldGroupId, and segmentationFieldId supplied.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 401
                error: ERROR_UNAUTHORIZED
                message: Authorization was denied for this request.
      security:
      - OAuth 2:
        - List
        - Segmentation
      x-code-samples:
      - lang: C#
        source: "var client = new HttpClient();\n\nclient.BaseAddress = new Uri(\"https://api.listrak.com/email/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\n\nvar response = await client.PutAsJsonAsync(\"v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}\", new\n{\n   SegmentationFieldName = null,\n   DataType = null,\n   MaxLength = 0,\n   Position = 0\n});\n"
      - lang: PHP
        source: "$client = new \\GuzzleHttp\\Client([\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\n\n$res = $client->request('PUT', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}',  [\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken],\n\t'json' => $jsonBody\n]);\n"
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SegmentationField'
        description: Representation of the updated profile field.
        required: true
    delete:
      tags:
      - SegmentationField
      summary: Delete a Profile Field
      description: Deletes the specified profile field.
      operationId: SegmentationField_DeleteSegmentationFieldResource
      parameters:
      - name: listId
        in: path
        description: Identifier used to locate the list.
        required: true
        schema:
          type: integer
          format: int32
      - name: segmentationFieldGroupId
        in: path
        description: Identifier used to locate the profile field group.
        required: true
        schema:
          type: integer
          format: int32
      - name: segmentationFieldId
        in: path
        description: Identifier used to locate the profile field.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceDeleted'
              example:
                status: 200
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 400
                error: ERROR_INVALID_PARAMETER
                message: An invalid value was supplied for {Parameter}.
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 404
                error: ERROR_UNABLE_TO_LOCATE_RESOURCE
                message: Unable to locate a resource associated with the listId, segmentationFieldGroupId, and segmentationFieldId supplied.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 401
                error: ERROR_UNAUTHORIZED
                message: Authorization was denied for this request.
      security:
      - OAuth 2:
        - List
        - Segmentation
      x-code-samples:
      - lang: C#
        source: 'var client = new HttpClient();


          client.BaseAddress = new Uri("https://api.listrak.com/email/");

          client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);


          var response = await client.DeleteAsync("v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}");

          '
      - lang: PHP
        source: "$client = new \\GuzzleHttp\\Client([\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\n\n$res = $client->request('DELETE', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}',  [\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\n]);\n"
  /v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}/Values:
    delete:
      tags:
      - SegmentationField
      summary: Clear Profile Field Values
      description: Asynchronously clears all values for the specified profile field for all subscribed contacts. This operation is accepted for background processing and returns an import file identifier that can be used to poll the status of the operation.
      operationId: SegmentationField_DeleteSegmentationFieldValuesResource
      parameters:
      - name: listId
        in: path
        description: Identifier used to locate the list.
        required: true
        schema:
          type: integer
          format: int32
      - name: segmentationFieldGroupId
        in: path
        description: Identifier used to locate the profile field group.
        required: true
        schema:
          type: integer
          format: int32
      - name: segmentationFieldId
        in: path
        description: Identifier used to locate the profile field.
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
        '202':
          description: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceCreated'
              example:
                status: 201
                resourceId: '{ResourceId}'
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 400
                error: ERROR_INVALID_PARAMETER
                message: An invalid value was supplied for {Parameter}.
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 404
                error: ERROR_UNABLE_TO_LOCATE_RESOURCE
                message: Unable to locate a resource associated with the listId, segmentationFieldGroupId, and segmentationFieldId supplied.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                status: 401
                error: ERROR_UNAUTHORIZED
                message: Authorization was denied for this request.
      security:
      - OAuth 2:
        - List
        - Segmentation
      x-code-samples:
      - lang: C#
        source: 'var client = new HttpClient();


          client.BaseAddress = new Uri("https://api.listrak.com/email/");

          client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);


          var response = await client.DeleteAsync("v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}/Values");

          '
      - lang: PHP
        source: "$client = new \\GuzzleHttp\\Client([\n\t'base_uri' => 'https://api.listrak.com/email/'\n]);\n\n$res = $client->request('DELETE', 'v1/List/{listId}/SegmentationFieldGroup/{segmentationFieldGroupId}/SegmentationField/{segmentationFieldId}/Values',  [\n\t'headers' => ['Authorization' => 'Bearer ' . $accessToken]\n]);\n"
components:
  schemas:
    ResourceDeleted:
      type: object
      properties:
        status:
          format: int32
          description: HTTP status code.
          type: integer
    ResourceUpdated:
      type: object
      properties:
        status:
          format: int32
          description: HTTP status code.
          type: integer
        resourceId:
          description: An identifier used to locate the updated resource.
          type: string
    Collection_SegmentationField:
      type: object
      properties:
        status:
          format: int32
          description: HTTP status code.
          type: integer
        data:
          description: Collection of return data from the given call.
          type: array
          items:
            $ref: '#/components/schemas/SegmentationField'
    SegmentationField:
      description: A Profile Field resource.
      required:
      - segmentationFieldName
      - dataType
      - maxLength
      - position
      type: object
      properties:
        segmentationFieldId:
          format: int32
          description: Identifier of the profile field.
          type: integer
          readOnly: true
        segmentationFieldName:
          description: Name of the profile field.
          type: string
        segmentationFieldGroupId:
          format: int32
          description: Identifier of the profile field group associated with the profile field.
          type: integer
          readOnly: true
        dataType:
          description: Data type of the profile field. Allowed values are `Text`, `Numeric`, `RadioButton`, `CheckBox`, `CommentArea`, `Date`, and `ContentBlock`.
          type: string
        maxLength:
          format: int32
          description: The maximum character count of the data that can be stored in the profile field.
          type: integer
        position:
          format: int32
          description: The ordinal position of the profile field.
          type: integer
    ResourceCreated:
      type: object
      properties:
        status:
          format: int32
          description: HTTP status code.
          type: integer
        resourceId:
          description: An identifier used to locate a resource.
          type: string
    Error:
      type: object
      properties:
        status:
          format: int32
          description: HTTP status code.
          type: integer
        error:
          description: Error code indicating what error has occured.
          type: string
        message:
          description: Message describing the status and the error that occurred.
          type: string
    Resource_SegmentationField:
      type: object
      properties:
        status:
          format: int32
          description: HTTP status code.
          type: integer
        data:
          $ref: '#/components/schemas/SegmentationField'
          description: Return data.
x-tagGroups:
- name: API Reference
  tags:
  - Campaign
  - Contact
  - ContactSegmentationField
  - Content
  - ContentFolder
  - Conversation
  - ConversationMessage
  - ConversationMessageActivity
  - ConversationMessageLink
  - ConversationMessageLinkClicker
  - ConversationMessageSummary
  - ConversationSummary
  - Event
  - EventGroup
  - Folder
  - IpPool
  - List
  - ListImport
  - ListImportContact
  - ListImportStatus
  - ListImportSummary
  - Message
  - MessageActivity
  - MessageLink
  - MessageLinkClicker
  - MessageStatus
  - MessageSummary
  - SavedAudience
  - SavedMessage
  - SegmentationField
  - SegmentationFieldGroup
  - SplitTest
  - TransactionalMessage
  - TransactionalMessageActivity
  - TransactionalMessageResend