> ## Documentation Index
> Fetch the complete documentation index at: https://aisa.one/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> - Base URLs: models `https://api.aisa.one/v1` (Gemini GenerateContent: `https://api.aisa.one/v1beta`); data APIs `https://api.aisa.one/apis/v1`. The `servers` of each operation in https://aisa.one/openapi.yaml is authoritative.
> - Auth: `Authorization: Bearer $AISA_API_KEY`. Never print, log, or commit the key.
> - MCP (preferred for agents): `https://mcp.aisa.one/mcp`, signed in with OAuth, so there is no key to paste.
> - Agent Skill: `npx skills add AIsa-team/agent-skills --skill aisa`. Fallback with the AIsa CLI: `aisa skills install aisa`.
> - Spending: docs, https://aisa.one/models, https://aisa.one/api, `/v1/models`, and MCP `search`, `list_categories`, `get_details`, `batch_quote`, and the `account` operation are free. Quote the exact calls before running them (MCP `batch_quote`, CLI `aisa quote --json`). If the quote reports `auto_execute_eligible: true`, run it unless the user set a tighter limit or asked only for a quote. Otherwise, tell the user in one message the planned calls, the quoted price, and a total USD budget for the task, then wait for approval. Direct HTTP calls follow the stricter rule at https://aisa.one/docs/get-started/cli.md#direct-http-fallback. Do not make paid calls to test availability. Full rule: https://aisa.one/llms.txt

# List custom audiences

> Ad Audiences. Read only. Lists the custom audiences in an ad account so you can reuse them for targeting. Supports Meta, Google, TikTok, Pinterest, LinkedIn, X, and Reddit. On Reddit, `size` is the lower bound of Reddit's matched-users range, and `status` is `too_small` while the list has matched fewer than 1,000 people.

<!-- aisa-pricing:start -->
A request reference price is not currently available; use a request quote where supported. Account-specific pricing and final settlement may differ.
<!-- aisa-pricing:end -->

## Request contract

* **Method and path:** GET /apis/v1/ads/audiences
* **Availability:** enabled
* **Request URL template:** `https://api.aisa.one/apis/v1/ads/audiences`
* **connectionId:** query; required
* **adAccountId:** query; required
* **platform:** query; optional
* **type:** query; optional
* **Runtime facts:** fe60122939c67dc98a3a6ac6b97bd5c326b526105150c8959304dd2160d4dd09

[Complete OpenAPI definition](https://aisa.one/docs/reference-contracts/aisa-ads.json)

Effective request and pricing declaration (including authentication and referenced schemas):

```json theme={null}
{
  "operationId": "get_aisa_ads_apis_v1_ads_audiences",
  "method": "GET",
  "path": "/apis/v1/ads/audiences",
  "servers": [
    {
      "url": "https://api.aisa.one"
    }
  ],
  "parameters": [
    {
      "description": "The ads connection (adc_...) the request runs on: one of yours, from GET /apis/v1/ads/connections. On a request with a JSON body it may be sent as a top-level body member instead.",
      "in": "query",
      "name": "connectionId",
      "required": true,
      "schema": {
        "pattern": "^adc_[0-9A-Za-z]+$",
        "type": "string"
      }
    },
    {
      "description": "Platform ad account ID",
      "in": "query",
      "name": "adAccountId",
      "required": true,
      "schema": {
        "type": "string"
      }
    },
    {
      "in": "query",
      "name": "platform",
      "required": false,
      "schema": {
        "enum": [
          "facebook",
          "instagram",
          "googleads",
          "tiktok",
          "tiktokads",
          "pinterest",
          "linkedin",
          "linkedinads",
          "twitter",
          "xads",
          "redditads",
          "meta",
          "x"
        ],
        "type": "string"
      }
    },
    {
      "description": "Filter to one audience type. `saved_targeting` returns stored TargetingSpec audiences; the other types return uploaded/derived audiences.",
      "in": "query",
      "name": "type",
      "required": false,
      "schema": {
        "enum": [
          "customer_list",
          "company_list",
          "engagement",
          "meta_engagement",
          "website",
          "website_retargeting",
          "lookalike",
          "saved_targeting"
        ],
        "type": "string"
      }
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "x-aisa-status": "enabled",
  "x-aisa-pricing": {
    "description": "Ads operations are free. Ad spend is billed by the ad platform to the connected ad account, never by AIsa.",
    "kind": "no_customer_charge"
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "scheme": "bearer",
        "type": "http"
      }
    }
  }
}
```

## Cost and request rules

A request reference price is not currently available; use a request quote where supported. Account-specific pricing and final settlement may differ.

Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.


## OpenAPI

````yaml reference-contracts/aisa-ads.json GET /apis/v1/ads/audiences
openapi: 3.1.0
info:
  description: ''
  title: AIsa Ads
  version: '1'
  x-aisa-capabilities:
    idempotency: Idempotency-Key
    max_price: X-AISA-Max-Price-USD
    quote:
      header: X-AISA-Cost-Mode
      value: quote
  x-aisa-configured-paths: []
  x-aisa-document:
    facts_hash: fe60122939c67dc98a3a6ac6b97bd5c326b526105150c8959304dd2160d4dd09
    generator_version: '3'
    protocol_version: '1'
    schema_version: '1'
    composer_version: '27'
    response_pending: []
    document_hash: sha256:ba353f59e89e1ebabe0e301d8ef57d3cbfa6bb406a8c591ee9c3833d64b60520
  x-aisa-plans:
    builder: 1
    display_plan: payg
    payg: 1
    similarweb_payg: 1
    team: 1
    version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
  x-aisa-provider: aisa-ads
  x-aisa-catalogs:
    aisa-ads:
      title: AIsa Ads
      description: ''
      x-aisa-document:
        facts_hash: fe60122939c67dc98a3a6ac6b97bd5c326b526105150c8959304dd2160d4dd09
        generator_version: '3'
        protocol_version: '1'
        schema_version: '1'
      x-aisa-plans:
        builder: 1
        display_plan: payg
        payg: 1
        similarweb_payg: 1
        team: 1
        version: e70a0959cd1b93b84ae16dffd7a538273ddb9c1d46277b82823c37ff1b6bc0fb
      x-aisa-capabilities:
        idempotency: Idempotency-Key
        max_price: X-AISA-Max-Price-USD
        quote:
          header: X-AISA-Cost-Mode
          value: quote
servers:
  - url: https://api.aisa.one
security:
  - bearerAuth: []
paths:
  /apis/v1/ads/audiences:
    get:
      summary: List custom audiences
      description: >-
        Ad Audiences. Read only. Lists the custom audiences in an ad account so
        you can reuse them for targeting. Supports Meta, Google, TikTok,
        Pinterest, LinkedIn, X, and Reddit. On Reddit, `size` is the lower bound
        of Reddit's matched-users range, and `status` is `too_small` while the
        list has matched fewer than 1,000 people.


        <!-- aisa-pricing:start -->

        A request reference price is not currently available; use a request
        quote where supported. Account-specific pricing and final settlement may
        differ.

        <!-- aisa-pricing:end -->
      operationId: get_aisa_ads_apis_v1_ads_audiences
      parameters:
        - description: >-
            The ads connection (adc_...) the request runs on: one of yours, from
            GET /apis/v1/ads/connections. On a request with a JSON body it may
            be sent as a top-level body member instead.
          in: query
          name: connectionId
          required: true
          schema:
            pattern: ^adc_[0-9A-Za-z]+$
            type: string
        - description: Platform ad account ID
          in: query
          name: adAccountId
          required: true
          schema:
            type: string
        - in: query
          name: platform
          required: false
          schema:
            enum:
              - facebook
              - instagram
              - googleads
              - tiktok
              - tiktokads
              - pinterest
              - linkedin
              - linkedinads
              - twitter
              - xads
              - redditads
              - meta
              - x
            type: string
        - description: >-
            Filter to one audience type. `saved_targeting` returns stored
            TargetingSpec audiences; the other types return uploaded/derived
            audiences.
          in: query
          name: type
          required: false
          schema:
            enum:
              - customer_list
              - company_list
              - engagement
              - meta_engagement
              - website
              - website_retargeting
              - lookalike
              - saved_targeting
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  audiences:
                    items:
                      properties:
                        connectionId:
                          description: The ads connection (adc_...) the object belongs to.
                          type:
                            - string
                            - 'null'
                        description:
                          type: string
                        id:
                          description: >-
                            Pass this as audienceId on GET
                            /apis/v1/ads/audiences/{audienceId} and the
                            companies/users upload endpoints.
                          type:
                            - string
                            - 'null'
                        name:
                          type: string
                        platform:
                          type: string
                        platformAudienceId:
                          type: string
                        size:
                          type: integer
                        spec:
                          anyOf:
                            - description: >-
                                Normalized, platform-agnostic ad-targeting spec.
                                Every field is optional; an empty object targets
                                the platform's default broadest audience.
                              properties:
                                ageMax:
                                  description: >-
                                    Maximum age. Same per-platform application
                                    and clamping as ageMin.
                                  maximum: 100
                                  minimum: 13
                                  type: integer
                                ageMin:
                                  description: >-
                                    Minimum age. Applied on Meta, TikTok,
                                    Pinterest, LinkedIn, X and Google
                                    Search/Display (Google excludes the age
                                    ranges outside the request). Rejected with
                                    400 on OpenAI, Reddit and Google Performance
                                    Max / Demand Gen.
                                  maximum: 100
                                  minimum: 13
                                  type: integer
                                audienceExclude:
                                  description: >-
                                    Platform audience IDs to exclude; same ID
                                    formats as audienceInclude. Not supported on
                                    OpenAI (400).
                                  items:
                                    type: string
                                  type: array
                                audienceInclude:
                                  description: >-
                                    Platform audience IDs to include, as
                                    returned by GET /apis/v1/ads/audiences:
                                    Meta: custom audience ids. TikTok: audience
                                    ids. Pinterest: customer list ids. LinkedIn:
                                    segment ids (the platformAudienceId from GET
                                    /apis/v1/ads/audiences).
                                  items:
                                    type: string
                                  type: array
                                behaviors:
                                  description: >-
                                    Behaviour entities from
                                    /apis/v1/ads/targeting/search?dimension=behavior
                                    (Meta, TikTok and LinkedIn). On TikTok they
                                    target people who, in the picked categories:
                                  items:
                                    additionalProperties: true
                                    type: object
                                  type: array
                                cities:
                                  description: >-
                                    City targeting. Optional `radius` +
                                    `distanceUnit` extend beyond the city
                                    limits; both must be set together or both
                                    omitted. `radius` is only honoured on
                                    platforms whose capability map allows city
                                    radius (Meta).
                                  items:
                                    oneOf:
                                      - type: string
                                      - additionalProperties: true
                                        type: object
                                  type: array
                                communities:
                                  description: >-
                                    Reddit only (400 elsewhere). Subreddits to
                                    target, by name, with or without the `r/`
                                    prefix (e.g. `['marketing', 'r/startups']`),
                                    as returned by
                                    /apis/v1/ads/targeting/search?dimension=community.
                                  items:
                                    minLength: 1
                                    type: string
                                  type: array
                                companySizes:
                                  description: >-
                                    LinkedIn B2B only. Single-letter size codes
                                    (A to I), or the full
                                    urn:li:staffCountRange:* URN from
                                    /apis/v1/ads/targeting/search?dimension=companySize.
                                  items:
                                    type: string
                                  type: array
                                conversationKeywords:
                                  description: >-
                                    Reddit only (400 elsewhere). Keywords that
                                    place the ad in Reddit conversations about
                                    them, as returned by
                                    /apis/v1/ads/targeting/search?dimension=conversationKeyword.
                                  items:
                                    minLength: 1
                                    type: string
                                  type: array
                                countries:
                                  description: >-
                                    ISO 3166-1 alpha-2 country codes (e.g.
                                    ['US']).
                                  items:
                                    type: string
                                  type: array
                                countryGroups:
                                  description: >-
                                    Meta only. Continents and trade blocs
                                    (`geo_locations.country_groups`), for
                                    targeting a whole region without listing its
                                    countries. Combines with `countries` rather
                                    than replacing it, and is also accepted
                                    under `excludedLocations`.
                                  items:
                                    enum:
                                      - africa
                                      - asia
                                      - europe
                                      - north_america
                                      - south_america
                                      - oceania
                                      - central_america
                                      - caribbean
                                      - eea
                                      - euro_area
                                      - nafta
                                      - mercosur
                                      - afta
                                      - apec
                                      - gcc
                                      - cisfta
                                      - emerging_markets
                                      - itunes_app_store
                                      - android_free_store
                                      - android_paid_store
                                    type: string
                                  type: array
                                customLocations:
                                  description: >-
                                    Point-radius (lat/lng) targeting (Meta
                                    custom_locations / Google proximity).
                                    Honoured on Meta and Google; ignored on
                                    platforms without radius support.
                                  items:
                                    additionalProperties: true
                                    type: object
                                  type: array
                                excludedCommunities:
                                  description: >-
                                    Reddit only (400 elsewhere). Subreddits to
                                    exclude, named like `communities`.
                                  items:
                                    minLength: 1
                                    type: string
                                  type: array
                                excludedConversationKeywords:
                                  description: >-
                                    Reddit only (400 elsewhere). Conversation
                                    keywords to keep the ad away from.
                                  items:
                                    minLength: 1
                                    type: string
                                  type: array
                                excludedLocations:
                                  additionalProperties: true
                                  description: >-
                                    Geo to exclude from the audience. Mirrors
                                    the inclusion geo shape. Meta
                                    (excluded_geo_locations): excluded cities
                                    can carry a radius catchment, and excluded
                                    custom (lat/lng) pins are supported.
                                  type: object
                                gender:
                                  description: >-
                                    Restrict by gender. 'all' (default) targets
                                    everyone.
                                  enum:
                                    - all
                                    - male
                                    - female
                                  type: string
                                incomeTier:
                                  description: >-
                                    Normalized household-income tier
                                    (ZIP/percentile based). Meta and TikTok
                                    express all four. Google maps only `top_10`
                                    (its INCOME_RANGE_90_UP); other tiers on
                                    Google, and any income tier on LinkedIn / X
                                    / Pinterest, are rejected.
                                  enum:
                                    - top_5
                                    - top_10
                                    - top_10_25
                                    - top_25_50
                                  type: string
                                industries:
                                  description: >-
                                    LinkedIn B2B only. Industry URN id
                                    fragments, or the full urn:li:industry:* URN
                                    from
                                    /apis/v1/ads/targeting/search?dimension=industry.
                                  items:
                                    type: string
                                  type: array
                                interests:
                                  description: >-
                                    Interest entities from
                                    /apis/v1/ads/targeting/search?dimension=interest.
                                    Each carries the platform's opaque id.
                                  items:
                                    additionalProperties: true
                                    type: object
                                  type: array
                                jobFunctions:
                                  description: >-
                                    LinkedIn B2B only. Function URN id
                                    fragments, or the full urn:li:function:* URN
                                    from
                                    /apis/v1/ads/targeting/search?dimension=jobFunction.
                                  items:
                                    type: string
                                  type: array
                                languages:
                                  description: >-
                                    Language codes restricting the audience by
                                    language. Applied on Meta, Google, TikTok,
                                    LinkedIn, X, Pinterest and Reddit; rejected
                                    with 400 on OpenAI. A code the platform
                                    cannot target returns 400 listing the ones
                                    it can.
                                  items:
                                    type: string
                                  type: array
                                metros:
                                  description: >-
                                    DMA / metro-area targeting. `key` is the
                                    platform's metro ID (e.g. Meta `DMA:807`).
                                  items:
                                    additionalProperties: true
                                    type: object
                                  type: array
                                regions:
                                  description: >-
                                    Region/state targeting. `key` is the
                                    platform location ID from
                                    /apis/v1/ads/targeting/search?dimension=geo&geoType=region.
                                    An entry may also be that id as a plain
                                    string (`"20321"` is `{ key: "20321" }`).
                                  items:
                                    oneOf:
                                      - type: string
                                      - additionalProperties: true
                                        type: object
                                  type: array
                                seniorities:
                                  description: >-
                                    LinkedIn B2B only. Seniority URN id
                                    fragments, or the full urn:li:seniority:*
                                    URN from
                                    /apis/v1/ads/targeting/search?dimension=seniority.
                                  items:
                                    type: string
                                  type: array
                                skills:
                                  description: >-
                                    LinkedIn B2B only. Member skills (e.g.
                                    Python, Recruiting): skill URN id fragments,
                                    or the full urn:li:skill:* URN from
                                    /apis/v1/ads/targeting/search?dimension=skill.
                                    Values are ORed; the facet is ANDed with the
                                    other facets.
                                  items:
                                    type: string
                                  type: array
                                userDevice:
                                  description: >-
                                    Meta only. Device models such as iPhone.
                                    Emitted as user_device. May also be supplied
                                    inside targeting.
                                  items:
                                    minLength: 1
                                    type: string
                                  minItems: 1
                                  type: array
                                userOs:
                                  description: >-
                                    Meta only. Operating systems and version
                                    ranges, such as iOS_ver_14.0_and_above or
                                    Android. Emitted as user_os. May also be
                                    supplied inside targeting.
                                  items:
                                    minLength: 1
                                    type: string
                                  minItems: 1
                                  type: array
                                workEmployers:
                                  description: >-
                                    Meta only. Employer entities from
                                    /apis/v1/ads/targeting/search?dimension=workEmployer.
                                  items:
                                    additionalProperties: true
                                    type: object
                                  type: array
                                workIndustries:
                                  description: >-
                                    Meta only. Work-industry entities from
                                    /apis/v1/ads/targeting/search?dimension=workIndustry.
                                    Not interchangeable with the LinkedIn
                                    `industries` URN fragments.
                                  items:
                                    additionalProperties: true
                                    type: object
                                  type: array
                                workPositions:
                                  description: >-
                                    Meta only. Job title entities from
                                    /apis/v1/ads/targeting/search?dimension=workPosition.
                                    Not interchangeable with the LinkedIn
                                    `jobTitles` URN fragments.
                                  items:
                                    additionalProperties: true
                                    type: object
                                  type: array
                                zips:
                                  description: >-
                                    Postal/ZIP targeting. `key` is the
                                    platform's postal location ID (e.g. Meta
                                    `US:94304`). Supported on Meta, Google,
                                    TikTok, Pinterest, X.
                                  items:
                                    additionalProperties: true
                                    type: object
                                  type: array
                              type: object
                            - type: 'null'
                          description: >-
                            Present (and the only meaningful payload) when
                            `type` is `saved_targeting`. Null for
                            uploaded/derived audience types.
                        status:
                          type: string
                        type:
                          description: >-
                            `reddit_engagement`, `third_party` and `in_market`
                            are listed from Reddit (engagement retargeting, and
                            Reddit's own audiences) so they can be targeted.
                          enum:
                            - customer_list
                            - company_list
                            - engagement
                            - meta_engagement
                            - tiktok_engagement
                            - pinterest_engagement
                            - website
                            - website_retargeting
                            - lookalike
                            - saved_targeting
                            - reddit_engagement
                            - third_party
                            - in_market
                          type: string
                      type: object
                    type: array
                type: object
          description: Audiences
        default:
          content:
            application/json:
              schema:
                properties:
                  error:
                    properties:
                      code:
                        type:
                          - string
                          - 'null'
                      details:
                        additionalProperties: {}
                        type:
                          - object
                          - 'null'
                      message:
                        type:
                          - string
                          - 'null'
                      param:
                        type:
                          - string
                          - 'null'
                      retryHint:
                        type:
                          - string
                          - 'null'
                      retryable:
                        type:
                          - boolean
                          - 'null'
                      type:
                        type:
                          - string
                          - 'null'
                    type:
                      - object
                      - 'null'
                type: object
          description: Error. The code field is stable; see the error catalog.
components:
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.