Typeface Audiences API

The Audiences API from Typeface — 3 operation(s) for audiences.

Operations 5

GET /workspace-resolver-service/accounts/{accountId}/libraries/sub-types/AUDIENCE_LIBRARY List Audience Catlogs #
GET /profile-service/accounts/{accountId}/audience-catalogs/{audienceCatalogId}/audience-segments List Audiences #
POST /profile-service/accounts/{accountId}/audience-catalogs/{audienceCatalogId}/audience-segments Create Audience #
PUT /profile-service/accounts/{accountId}/audience-catalogs/{audienceCatalogId}/audience-segments/{audienceId} Manage Audience #
DELETE /profile-service/accounts/{accountId}/audience-catalogs/{audienceCatalogId}/audience-segments/{audienceId} Delete Audience #

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/typeface-audiences-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

typeface-audiences-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Typeface Audiences API
  version: v0
servers:
- url: https://api-us.typeface.ai
  description: Generated server url
security:
- BearerAuth: []
tags:
- name: Audiences
paths:
  /workspace-resolver-service/accounts/{accountId}/libraries/sub-types/AUDIENCE_LIBRARY:
    get:
      description: This API endpoint lists all available Audiences in the given team.
      tags:
      - Audiences
      operationId: queryAudienceCatalogsInAccount
      parameters:
      - name: accountId
        in: path
        required: true
        description: Unique identifier for the specific team
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetLibrariesResponseBody'
      summary: List Audience Catlogs
  /profile-service/accounts/{accountId}/audience-catalogs/{audienceCatalogId}/audience-segments:
    get:
      description: Lists the available audience segments in given audience catalog
      tags:
      - Audiences
      operationId: queryAudiencesInAccount
      parameters:
      - name: accountId
        in: path
        required: true
        description: Unique identifier for the specific team
        schema:
          type: string
      - name: audienceCatalogId
        in: path
        required: true
        description: Unique identifier for the audience library
        schema:
          type: integer
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QueryAudienceResponseBody'
      summary: List Audiences
    post:
      description: 'Create a new audience segment within the given catalog


        **Sample request body**

        ```json

        {

        "workspaceId": 43672,

        "name": "Adults in Chicago",

        "properties": {

        "name": "Adults in Chicago",

        "ageRangeMin": 45,

        "ageRangeMax": 65,

        "gender": "Neutral",

        "preferences": [

        "loves technology", "big on startups"

        ],

        "spendingBehavior": [

        "Luxury",

        "Experimental"

        ]

        }

        }

        ```'
      tags:
      - Audiences
      operationId: createAudienceInAccount
      parameters:
      - name: accountId
        in: path
        required: true
        description: Unique identifier for the specific team
        schema:
          type: string
      - name: audienceCatalogId
        in: path
        required: true
        description: Unique identifier for the audience library
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAudienceRequestBody'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAudienceResponseBody'
      summary: Create Audience
  /profile-service/accounts/{accountId}/audience-catalogs/{audienceCatalogId}/audience-segments/{audienceId}:
    put:
      description: 'Manage the Audience within catalog.


        **Sample request body**

        ```json

        {

        "workspaceId": 43672,

        "name": "Adults in Chicago",

        "properties": {

        "name": "Adults in Chicago",

        "ageRangeMin": 45,

        "ageRangeMax": 60,

        "gender": "Male",

        "preferences": [

        "loves technology", "sports enthusiast"

        ],

        "spendingBehavior": [

        "Luxury",

        "Impulsive"

        ]

        }

        }

        ```'
      tags:
      - Audiences
      operationId: manageAudienceInAccount
      parameters:
      - name: accountId
        in: path
        required: true
        description: Unique identifier for the specific team
        schema:
          type: string
      - name: audienceCatalogId
        in: path
        required: true
        description: Unique identifier for the audience library
        schema:
          type: integer
      - name: audienceId
        in: path
        required: true
        description: Unique identifier for the audience
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAudienceRequestBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAudienceResponseBody'
      summary: Manage Audience
    delete:
      description: Deletes the given audience segment from audience catalog
      tags:
      - Audiences
      operationId: deleteAudienceInAccount
      parameters:
      - name: accountId
        in: path
        required: true
        description: Unique identifier for the specific team
        schema:
          type: string
      - name: audienceCatalogId
        in: path
        required: true
        description: Unique identifier for the audience library
        schema:
          type: integer
      - name: audienceId
        in: path
        required: true
        description: Unique identifier for the audience
        schema:
          type: integer
      responses:
        '204':
          description: No Content
      summary: Delete Audience
components:
  schemas:
    AudienceSegmentProperties:
      type: object
      properties:
        name:
          type: string
        ageRangeMin:
          type: integer
          format: int32
          minimum: 0
        ageRangeMax:
          type: integer
          format: int32
          minimum: 0
        gender:
          type: string
          enum:
          - Male
          - Female
          - Neutral
        preferences:
          type: array
          items:
            type: string
        spendingBehavior:
          type: array
          items:
            type: string
            enum:
            - Budget-Conscious
            - Value-Oriented
            - Aspirational
            - Luxury
            - Experimental
            - Impulsive
    CreateAudienceResponseBody:
      required:
      - audienceSegment
      type: object
      properties:
        audienceSegment:
          $ref: '#/components/schemas/AudienceSegment'
    CreateAudienceRequestBody:
      type: object
      properties:
        sourcePath:
          type: string
        ingestionSource:
          type: string
        properties:
          $ref: '#/components/schemas/AudienceSegmentProperties'
        name:
          type: string
        renditionId:
          $ref: '#/components/schemas/EntityId'
        entitySubType:
          type: string
          enum:
          - DEFAULT
          - GENERATED_IMAGE_PARENT
          - DOCUMENT_INTERMEDIATE
          - DOCUMENT_LAYOUT_HTML
    LibraryDetails:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/WorkspaceId'
        ownerId:
          type: string
        name:
          type: string
        image:
          $ref: '#/components/schemas/Image'
        createdAt:
          type: string
          format: date-time
        modifiedAt:
          type: string
          format: date-time
        discarded:
          type: boolean
        properties:
          $ref: '#/components/schemas/LibraryProperties'
        workspaceSubType:
          type: string
          enum:
          - ALCHEMIST
          - WEAVER
          - BATCH_OUTPUT
          - DEFAULT
          - BRAND_KIT_LIBRARY
          - DECORATION_LIBRARY
          - AUDIENCE_LIBRARY
          - LOGO_LIBRARY
    UpdateAudienceResponseBody:
      type: object
      properties:
        audienceSegment:
          $ref: '#/components/schemas/AudienceSegment'
    AudienceSegment:
      type: object
      properties:
        workspaceId:
          $ref: '#/components/schemas/WorkspaceId'
        id:
          $ref: '#/components/schemas/EntityId'
        name:
          type: string
        sourcePath:
          type: string
        ingestionSource:
          type: string
        properties:
          $ref: '#/components/schemas/AudienceSegmentProperties'
        createdAt:
          type: string
          format: date-time
        modifiedAt:
          type: string
          format: date-time
        createdBy:
          type: string
        modifiedBy:
          type: string
        renditionId:
          $ref: '#/components/schemas/EntityId'
        ref:
          type: string
        entitySubType:
          type: string
          enum:
          - DEFAULT
          - GENERATED_IMAGE_PARENT
          - DOCUMENT_INTERMEDIATE
          - DOCUMENT_LAYOUT_HTML
    QueryAudienceResponseBody:
      type: object
      properties:
        audienceSegments:
          type: array
          items:
            $ref: '#/components/schemas/AudienceSegment'
    GetLibrariesResponseBody:
      type: object
      properties:
        libraries:
          type: array
          items:
            $ref: '#/components/schemas/LibraryDetails'
    LibraryProperties:
      type: object
      properties:
        hideBrandKit:
          type: boolean
        defaultTextStyleId:
          type: integer
          format: int64
        defaultImageStyleId:
          type: integer
          format: int64
        defaultColorPaletteId:
          type: integer
          format: int64
        defaultLanguage:
          type: string
    Image:
      type: object
      properties:
        workspaceId:
          $ref: '#/components/schemas/WorkspaceId'
        id:
          $ref: '#/components/schemas/EntityId'
        name:
          type: string
        sourcePath:
          type: string
        ingestionSource:
          type: string
        properties:
          $ref: '#/components/schemas/ImageProperties'
        createdAt:
          type: string
          format: date-time
        modifiedAt:
          type: string
          format: date-time
        renditionId:
          $ref: '#/components/schemas/EntityId'
        createdBy:
          type: string
        modifiedBy:
          type: string
    UpdateAudienceRequestBody:
      type: object
      properties:
        sourcePath:
          type: string
        ingestionSource:
          type: string
        properties:
          $ref: '#/components/schemas/AudienceSegmentProperties'
        name:
          type: string
        renditionId:
          $ref: '#/components/schemas/EntityId'
        entitySubType:
          type: string
          enum:
          - DEFAULT
          - GENERATED_IMAGE_PARENT
          - DOCUMENT_INTERMEDIATE
          - DOCUMENT_LAYOUT_HTML
    EntityId:
      type: object
      properties:
        id:
          type: integer
          format: int64
    WorkspaceId:
      type: object
      properties:
        id:
          type: integer
          format: int64
    ImageProperties:
      type: object
      properties:
        blobId:
          $ref: '#/components/schemas/BlobId'
    BlobId:
      type: object
      properties:
        id:
          type: integer
          format: int64
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-readme:
  explorer-enabled: true
  proxy-enabled: true