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

# Create inbound email address

> Create an email address for briefs or reports. The address is a readable prefix from the account or advertiser name, an unguessable suffix, and the dedicated inbound domain. An advertiser, when given, must belong to this account. An address says where an email belongs, not who sent it. Admin-only. Returns `FEATURE_NOT_ENABLED` where this environment does not receive inbound email.



## OpenAPI

````yaml /v2/buyer-api-v2.yaml post /inbound-email-addresses
openapi: 3.0.0
info:
  title: Scope3 Buyer API
  version: 2.0.0
  description: |-
    REST API for advertisers to manage advertisers, campaigns, and reporting.

    ## Authentication

    All endpoints require a Bearer token in the Authorization header:
    ```
    Authorization: Bearer your-api-key
    ```

    ## Base URL

    `https://api.apostra.com/api/v2/buyer`

    ## For AI Agents

    AI agents can use the MCP endpoint at `/mcp/v2/buyer` with three tools:
    - `initialize`: Start an MCP session
    - `api_call`: Make REST API calls
    - `ask_about_capability`: Learn about API features
servers:
  - url: https://api.apostra.com/api/v2/buyer
    description: Production server
security: []
tags:
  - name: Signup
    description: Request reviewed access to Interchange
  - name: Account
    description: Account management, service tokens, and preferences
  - name: Asks
    description: >-
      What you are waiting on Scope3 for — support, product, and supply asks in
      one list
  - name: Advertisers
    description: Manage advertisers
  - name: Product Discovery
    description: Discover and select products
  - name: Campaigns
    description: Manage advertising campaigns
  - name: Creatives
    description: Build, manage, and sync campaign creatives via AdCP Creative Protocol
  - name: Reporting
    description: Access performance metrics
  - name: Event Sources
    description: >-
      Manage event source configurations and log conversion/marketing events for
      attribution
  - name: Property Lists
    description: Validate property lists against AAO registry
  - name: Sales Agents
    description: View and connect sales agents
  - name: Measurement
    description: Measurement sources, records, context, and freshness
  - name: Syndication
    description: Syndicate resources to ADCP agents
  - name: Tasks
    description: Track async operation status
  - name: Buyer Billing
    description: >-
      Consolidated invoicing for buyers — invoices and pending invoice items
      issued by Scope3 across the buyer customer.
  - name: MCP
    description: Model Context Protocol endpoints for AI agents
paths:
  /inbound-email-addresses:
    servers:
      - url: https://api.apostra.com/api/v2
        description: Production server
    post:
      tags:
        - Account
      summary: Create inbound email address
      description: >-
        Create an email address for briefs or reports. The address is a readable
        prefix from the account or advertiser name, an unguessable suffix, and
        the dedicated inbound domain. An advertiser, when given, must belong to
        this account. An address says where an email belongs, not who sent it.
        Admin-only. Returns `FEATURE_NOT_ENABLED` where this environment does
        not receive inbound email.
      operationId: createInboundEmailAddress
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInboundEmailAddressBody'
      responses:
        '201':
          description: Create inbound email address
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InboundEmailAddress'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: >-
            Admin role required, or inbound email is not available in this
            environment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The advertiser does not belong to this account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    CreateInboundEmailAddressBody:
      type: object
      properties:
        purpose:
          type: string
          enum:
            - briefs
            - reports
          description: >-
            What the address is for. `briefs` receives briefs and requests;
            `reports` receives reports. The purpose is part of the readable
            address prefix and selects the handler.
          example: reports
        advertiserId:
          description: >-
            Optional advertiser the address belongs to. It must be one of your
            account’s advertisers; its name becomes the readable prefix.
          anyOf:
            - type: integer
              minimum: 0
              exclusiveMinimum: true
              maximum: 9007199254740991
            - type: string
              pattern: ^[1-9]\d*$
      required:
        - purpose
      additionalProperties: false
    InboundEmailAddress:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          description: Stable address ID. It stays the same when the address is rotated.
        address:
          type: string
          format: email
          pattern: >-
            ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
          description: >-
            The email address to send to: a readable prefix, an unguessable
            suffix and the dedicated inbound domain.
          example: coke-reports-k7m2qz4xhd9a@in.staging.apostra.com
        purpose:
          type: string
          enum:
            - briefs
            - reports
          description: >-
            What the address is for. `briefs` receives briefs and requests;
            `reports` receives reports. The purpose is part of the readable
            address prefix and selects the handler.
          example: reports
        handler:
          type: string
          enum:
            - session_intake
          description: >-
            Where received mail is delivered. `session_intake` records each
            message privately in the account’s shared Session.
        customerId:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          maximum: 9007199254740991
          description: Customer account that owns this address
        advertiserId:
          nullable: true
          description: >-
            The advertiser this address belongs to, or null for an account-wide
            address
          type: integer
          minimum: 0
          exclusiveMinimum: true
          maximum: 9007199254740991
        revision:
          type: integer
          minimum: 0
          exclusiveMinimum: true
          maximum: 9007199254740991
          description: Increases by one each time the address is rotated
        status:
          type: string
          enum:
            - active
            - revoked
          description: >-
            `active` addresses receive mail. Mail to a `revoked` or rotated-away
            address is refused.
        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))$
          description: When this revision of the address was created
        revokedAt:
          nullable: true
          description: When the address stopped receiving, or null while active
          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))$
      required:
        - id
        - address
        - purpose
        - handler
        - customerId
        - advertiserId
        - revision
        - status
        - createdAt
        - revokedAt
      additionalProperties: false
    ErrorResponse:
      type: object
      properties:
        data:
          type: string
          nullable: true
          enum:
            - null
        error:
          $ref: '#/components/schemas/ApiError'
      required:
        - data
        - error
      additionalProperties: false
      description: Standard error response
    ApiError:
      type: object
      properties:
        code:
          type: string
          description: Machine-readable error code
        message:
          type: string
          description: Human-readable error message
        field:
          description: Field path associated with the error
          type: string
        details:
          description: Additional error context
          type: object
          additionalProperties: {}
      required:
        - code
        - message
      additionalProperties: false
      description: Structured error object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key or access token

````

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