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

# List campaigns

Results are newest first. Omit `limit` to request 25 records or set it up to 100. Filter by `status` or `createdVia` to narrow the page.

Pass `nextCursor` unchanged to retrieve the next page. See [Pagination](/guides/pagination) for the traversal pattern.


## OpenAPI

````yaml /openapi.json post /v1/campaigns/list
openapi: 3.1.0
info:
  title: DataLane API
  description: Public DataLane enrichment API.
  version: 1.0.0
servers:
  - url: https://api.datalane.com
security:
  - apiKey: []
tags:
  - name: Campaigns
  - name: Organization
paths:
  /v1/campaigns/list:
    post:
      tags:
        - Campaigns
      summary: List campaigns
      operationId: postV1CampaignsList
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                filters:
                  type: object
                  properties:
                    createdVia:
                      type: string
                      enum:
                        - api
                        - ui
                        - data_cube
                    status:
                      type: string
                      enum:
                        - draft
                        - enriching
                        - enriched
                        - expired
                        - tam_only
                  additionalProperties: false
                cursor:
                  description: Opaque cursor from a previous response's `nextCursor`.
                  type: string
                  minLength: 1
                limit:
                  examples:
                    - 25
                  description: Page size. Defaults to 25.
                  type: integer
                  minimum: 1
                  maximum: 100
              additionalProperties: false
          application/x-www-form-urlencoded:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                filters:
                  type: object
                  properties:
                    createdVia:
                      type: string
                      enum:
                        - api
                        - ui
                        - data_cube
                    status:
                      type: string
                      enum:
                        - draft
                        - enriching
                        - enriched
                        - expired
                        - tam_only
                  additionalProperties: false
                cursor:
                  description: Opaque cursor from a previous response's `nextCursor`.
                  type: string
                  minLength: 1
                limit:
                  examples:
                    - 25
                  description: Page size. Defaults to 25.
                  type: integer
                  minimum: 1
                  maximum: 100
              additionalProperties: false
          multipart/form-data:
            schema:
              $schema: https://json-schema.org/draft/2020-12/schema
              type: object
              properties:
                filters:
                  type: object
                  properties:
                    createdVia:
                      type: string
                      enum:
                        - api
                        - ui
                        - data_cube
                    status:
                      type: string
                      enum:
                        - draft
                        - enriching
                        - enriched
                        - expired
                        - tam_only
                  additionalProperties: false
                cursor:
                  description: Opaque cursor from a previous response's `nextCursor`.
                  type: string
                  minLength: 1
                limit:
                  examples:
                    - 25
                  description: Page size. Defaults to 25.
                  type: integer
                  minimum: 1
                  maximum: 100
              additionalProperties: false
      responses:
        '200':
          description: Response for status 200
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      campaigns:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              pattern: >-
                                ^camp_[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21}$
                            status:
                              type: string
                              enum:
                                - draft
                                - enriching
                                - enriched
                                - expired
                                - tam_only
                              description: >-
                                Lifecycle state. `tam_only` marks app-created
                                campaigns that are readable but not enrichable
                                via the API.
                            createdVia:
                              type: string
                              enum:
                                - api
                                - ui
                                - data_cube
                              examples:
                                - api
                              description: >-
                                Whether an API key, a DataLane UI user, or a
                                Data Cube created the campaign.
                            name:
                              type: string
                              examples:
                                - July target accounts
                            excludeEnrichedWithinDays:
                              anyOf:
                                - type: integer
                                  minimum: 0
                                  maximum: 9007199254740991
                                - type: 'null'
                              examples:
                                - 30
                                - null
                              description: >-
                                Recency exclusion applied when enrichment
                                launches: accounts enriched within this many
                                days are skipped. Null when disabled. Set at
                                creation, changeable via update while `draft`.
                            createdAt:
                              type: string
                              format: date-time
                              pattern: >-
                                ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
                              examples:
                                - '2026-07-21T14:00:00.000Z'
                          required:
                            - id
                            - status
                            - createdVia
                            - name
                            - excludeEnrichedWithinDays
                            - createdAt
                          additionalProperties: false
                      nextCursor:
                        anyOf:
                          - type: string
                          - type: 'null'
                        description: >-
                          Cursor for the next page. Null when there are no more
                          results.
                    required:
                      - campaigns
                      - nextCursor
                    additionalProperties: false
                  error:
                    type: 'null'
                required:
                  - data
                  - error
                additionalProperties: false
                examples:
                  - data:
                      campaigns:
                        - id: camp_123456789ABCDEFGHJKLM
                          status: draft
                          createdVia: api
                          name: July target accounts
                          excludeEnrichedWithinDays: 30
                          createdAt: '2026-07-21T14:00:00.000Z'
                      nextCursor: null
                    error: null
        '400':
          description: Response for status 400
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  data:
                    type: 'null'
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - invalid_request
                      message:
                        type: string
                      details:
                        type: object
                        properties:
                          issues:
                            minItems: 1
                            type: array
                            items:
                              type: string
                        required:
                          - issues
                        additionalProperties: false
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - data
                  - error
                additionalProperties: false
        '401':
          description: Response for status 401
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                anyOf:
                  - type: object
                    properties:
                      data:
                        type: 'null'
                      error:
                        type: object
                        properties:
                          code:
                            type: string
                            enum:
                              - invalid_api_key
                          message:
                            type: string
                        required:
                          - code
                          - message
                        additionalProperties: false
                    required:
                      - data
                      - error
                    additionalProperties: false
                  - type: object
                    properties:
                      data:
                        type: 'null'
                      error:
                        type: object
                        properties:
                          code:
                            type: string
                            enum:
                              - revoked_api_key
                          message:
                            type: string
                        required:
                          - code
                          - message
                        additionalProperties: false
                    required:
                      - data
                      - error
                    additionalProperties: false
        '500':
          description: Response for status 500
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  data:
                    type: 'null'
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        enum:
                          - internal_error
                      message:
                        type: string
                        enum:
                          - Internal error.
                    required:
                      - code
                      - message
                    additionalProperties: false
                required:
                  - data
                  - error
                additionalProperties: false
components:
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      bearerFormat: DataLane API key

````