Constant Contact · Capability

AppConnect V3 — Account Services

AppConnect V3 — Account Services. 8 operations. Lead operation: GET a Collection of Account Email Addresses. Self-contained Naftiko capability covering one Constant Contact business surface.

Run with Naftiko Constant ContactAccount Services

What You Can Do

GET
Retrieveemailaddresses — GET a Collection of Account Email Addresses
/v1/account/emails
POST
Addaccountemailaddress — POST Add an Account Email Address
/v1/account/emails
GET
Getaccountbyid — GET a Summary of Account Details
/v1/account/summary
PUT
Putcustomerbyid — PUT (update) Account Details
/v1/account/summary
GET
Getphysicaladdress — GET the Physical Address for the Account
/v1/account/summary/physical-address
POST
Addphysicaladdress — POST the Physical Address for the Account
/v1/account/summary/physical-address
PUT
Putphysicaladdress — PUT (update) the Physical Address for an Account
/v1/account/summary/physical-address
GET
Getuserprivileges — GET User Privileges
/v1/account/user/privileges

MCP Tools

get-collection-account-email-addresses

GET a Collection of Account Email Addresses

read-only idempotent
post-add-account-email-address

POST Add an Account Email Address

get-summary-account-details

GET a Summary of Account Details

read-only idempotent
put-update-account-details

PUT (update) Account Details

idempotent
get-physical-address-account

GET the Physical Address for the Account

read-only idempotent
post-physical-address-account

POST the Physical Address for the Account

put-update-physical-address-account

PUT (update) the Physical Address for an Account

idempotent
get-user-privileges

GET User Privileges

read-only idempotent

Capability Spec

v3-account-services.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: AppConnect V3 — Account Services
  description: 'AppConnect V3 — Account Services. 8 operations. Lead operation: GET a Collection of Account Email Addresses.
    Self-contained Naftiko capability covering one Constant Contact business surface.'
  tags:
  - Constant Contact
  - Account Services
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    CONSTANT_CONTACT_API_KEY: CONSTANT_CONTACT_API_KEY
capability:
  consumes:
  - type: http
    namespace: v3-account-services
    baseUri: https://api.cc.email/v3
    description: AppConnect V3 — Account Services business capability. Self-contained, no shared references.
    resources:
    - name: account-emails
      path: /account/emails
      operations:
      - name: retrieveemailaddresses
        method: GET
        description: GET a Collection of Account Email Addresses
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: confirm_status
          in: query
          type: string
          description: Use the `confirm_status` query parameter to search for account emails using the email status. Possible
            values are `CONFIRMED` or `UNCONFIRMED`. You can also abb
        - name: role_code
          in: query
          type: string
          description: 'Use the `role_code` query parameter to search for account emails that have a specific role. Each each
            email address in an account can have multiple roles or no '
        - name: email_address
          in: query
          type: string
          description: Use the `email_address` query parameter to search for a specific account email address.
      - name: addaccountemailaddress
        method: POST
        description: POST Add an Account Email Address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: string
          description: A JSON request payload containing the new email address you want to add to the Constant Contact account.
          required: true
    - name: account-summary
      path: /account/summary
      operations:
      - name: getaccountbyid
        method: GET
        description: GET a Summary of Account Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: extra_fields
          in: query
          type: string
          description: Use the `extra_fields` query parameter to include the `physical_address` and/or `company_logo` details
            in the response body. Use a comma separated list to inclu
      - name: putcustomerbyid
        method: PUT
        description: PUT (update) Account Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: string
          description: In the request body, specify changes to account details by including and modifying all or select `CustomerPut`
            properties. Changes to read-only fields (`encoded
          required: true
    - name: account-summary-physical_address
      path: /account/summary/physical_address
      operations:
      - name: getphysicaladdress
        method: GET
        description: GET the Physical Address for the Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: addphysicaladdress
        method: POST
        description: POST the Physical Address for the Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: string
          description: Include all `AccountPhysicalAddress` properties required for the specified `country_code`. If a required
            property is not included or incorrectly formatted, a 40
          required: true
      - name: putphysicaladdress
        method: PUT
        description: PUT (update) the Physical Address for an Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: string
          description: Include all `AccountPhysicalAddress` properties required for the specified `country_code` and then
            update only those properties that you want to change. Excludi
          required: true
    - name: account-user-privileges
      path: /account/user/privileges
      operations:
      - name: getuserprivileges
        method: GET
        description: GET User Privileges
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: v3-account-services-rest
    port: 8080
    description: REST adapter for AppConnect V3 — Account Services. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/account/emails
      name: account-emails
      description: REST surface for account-emails.
      operations:
      - method: GET
        name: retrieveemailaddresses
        description: GET a Collection of Account Email Addresses
        call: v3-account-services.retrieveemailaddresses
        with:
          confirm_status: rest.confirm_status
          role_code: rest.role_code
          email_address: rest.email_address
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: addaccountemailaddress
        description: POST Add an Account Email Address
        call: v3-account-services.addaccountemailaddress
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/account/summary
      name: account-summary
      description: REST surface for account-summary.
      operations:
      - method: GET
        name: getaccountbyid
        description: GET a Summary of Account Details
        call: v3-account-services.getaccountbyid
        with:
          extra_fields: rest.extra_fields
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putcustomerbyid
        description: PUT (update) Account Details
        call: v3-account-services.putcustomerbyid
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/account/summary/physical-address
      name: account-summary-physical-address
      description: REST surface for account-summary-physical_address.
      operations:
      - method: GET
        name: getphysicaladdress
        description: GET the Physical Address for the Account
        call: v3-account-services.getphysicaladdress
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: addphysicaladdress
        description: POST the Physical Address for the Account
        call: v3-account-services.addphysicaladdress
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putphysicaladdress
        description: PUT (update) the Physical Address for an Account
        call: v3-account-services.putphysicaladdress
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/account/user/privileges
      name: account-user-privileges
      description: REST surface for account-user-privileges.
      operations:
      - method: GET
        name: getuserprivileges
        description: GET User Privileges
        call: v3-account-services.getuserprivileges
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: v3-account-services-mcp
    port: 9090
    transport: http
    description: MCP adapter for AppConnect V3 — Account Services. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-collection-account-email-addresses
      description: GET a Collection of Account Email Addresses
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v3-account-services.retrieveemailaddresses
      with:
        confirm_status: tools.confirm_status
        role_code: tools.role_code
        email_address: tools.email_address
      outputParameters:
      - type: object
        mapping: $.
    - name: post-add-account-email-address
      description: POST Add an Account Email Address
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v3-account-services.addaccountemailaddress
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-summary-account-details
      description: GET a Summary of Account Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v3-account-services.getaccountbyid
      with:
        extra_fields: tools.extra_fields
      outputParameters:
      - type: object
        mapping: $.
    - name: put-update-account-details
      description: PUT (update) Account Details
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: v3-account-services.putcustomerbyid
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-physical-address-account
      description: GET the Physical Address for the Account
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v3-account-services.getphysicaladdress
      outputParameters:
      - type: object
        mapping: $.
    - name: post-physical-address-account
      description: POST the Physical Address for the Account
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v3-account-services.addphysicaladdress
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: put-update-physical-address-account
      description: PUT (update) the Physical Address for an Account
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: v3-account-services.putphysicaladdress
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-user-privileges
      description: GET User Privileges
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v3-account-services.getuserprivileges
      outputParameters:
      - type: object
        mapping: $.