Constant Contact · Capability

AppConnect V3 — Technology Partners

AppConnect V3 — Technology Partners. 8 operations. Lead operation: GET Partner Client Accounts. Self-contained Naftiko capability covering one Constant Contact business surface.

Run with Naftiko Constant ContactTechnology Partners

What You Can Do

GET
Getpartnersiteowners — GET Partner Client Accounts
/v1/partner/accounts
POST
Provision — POST (create) a Partner Client Account
/v1/partner/accounts
POST
Partneraccountoperationspostsync — POST Send an API request on Behalf of a Client Account
/v1/partner/accounts/{encoded-account-id}/account-operations/sync
POST
Partnerunsubscribecontacts — POST Unsubscribe Contacts
/v1/partner/accounts/{encoded-account-id}/contacts/unsubscribe
GET
Getplan — GET Billing Plan Details for a Client Account
/v1/partner/accounts/{encoded-account-id}/plan
PUT
Setplan — PUT (update) Billing Plan Details for a Client Account
/v1/partner/accounts/{encoded-account-id}/plan
PUT
Cancelaccount — PUT Cancel the Billing Plan for a Client Account
/v1/partner/accounts/{encoded-account-id}/status/cancel
POST
Createssouser — POST a User Under a Partner's SSO-Enabled Client Account
/v1/partner/accounts/{encoded-account-id}/users/sso

MCP Tools

get-partner-client-accounts

GET Partner Client Accounts

read-only idempotent
post-create-partner-client-account

POST (create) a Partner Client Account

post-send-api-request-behalf

POST Send an API request on Behalf of a Client Account

post-unsubscribe-contacts

POST Unsubscribe Contacts

get-billing-plan-details-client

GET Billing Plan Details for a Client Account

read-only idempotent
put-update-billing-plan-details

PUT (update) Billing Plan Details for a Client Account

idempotent
put-cancel-billing-plan-client

PUT Cancel the Billing Plan for a Client Account

idempotent
post-user-under-partner-s-sso

POST a User Under a Partner's SSO-Enabled Client Account

Capability Spec

v3-technology-partners.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: AppConnect V3 — Technology Partners
  description: 'AppConnect V3 — Technology Partners. 8 operations. Lead operation: GET Partner Client Accounts. Self-contained
    Naftiko capability covering one Constant Contact business surface.'
  tags:
  - Constant Contact
  - Technology Partners
  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-technology-partners
    baseUri: https://api.cc.email/v3
    description: AppConnect V3 — Technology Partners business capability. Self-contained, no shared references.
    resources:
    - name: partner-accounts
      path: /partner/accounts
      operations:
      - name: getpartnersiteowners
        method: GET
        description: GET Partner Client Accounts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: offset
          in: query
          type: string
          description: Depending on the `limit` you specify, the system determines the `offset` parameter to use (number of
            records to skip) and includes it in the link used to get th
        - name: limit
          in: query
          type: string
          description: The number of client accounts to return on each page of results. The default value is `50`. Entering
            a `limit` value less than the minimum (`10`) or greater tha
        - name: account_type
          in: query
          type: string
          description: 'Filters client account results by account type: `all` (default), `managed`, or `unmanaged`. Excluding
            the `account_type` query parameter returns all client acco'
      - name: provision
        method: POST
        description: POST (create) a Partner Client Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: provision
          in: body
          type: string
          description: Create a new Constant Contact client account under your partner account. All required properties must
            be included in the JSON payload request.
          required: true
    - name: partner-accounts-encoded_account_id-account_operations-sync
      path: /partner/accounts/{encoded_account_id}/account_operations/sync
      operations:
      - name: partneraccountoperationspostsync
        method: POST
        description: POST Send an API request on Behalf of a Client Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: encoded_account_id
          in: path
          type: string
          description: An encoded account id for a managed account in your partnership.
          required: true
        - name: body
          in: body
          type: string
          description: A JSON request body that contains the structure of the HTTP request you are instructing Constant Contact
            to send on behalf of specific managed account in your p
    - name: partner-accounts-encoded_account_id-contacts-unsubscribe
      path: /partner/accounts/{encoded_account_id}/contacts/unsubscribe
      operations:
      - name: partnerunsubscribecontacts
        method: POST
        description: POST Unsubscribe Contacts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: encoded_account_id
          in: path
          type: string
          description: The encoded account ID that uniquely identifies the partner's client account.
          required: true
        - name: body
          in: body
          type: object
          description: The JSON payload.
          required: true
    - name: partner-accounts-encoded_account_id-plan
      path: /partner/accounts/{encoded_account_id}/plan
      operations:
      - name: getplan
        method: GET
        description: GET Billing Plan Details for a Client Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: encoded_account_id
          in: path
          type: string
          description: Specify the client's unique `encoded_account_id`.
          required: true
      - name: setplan
        method: PUT
        description: PUT (update) Billing Plan Details for a Client Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: encoded_account_id
          in: path
          type: string
          description: Specify the client's unique `encoded_account_id`.
          required: true
        - name: body
          in: body
          type: string
          description: '`plan_type`: Updates the billing plan assigned to a client account to a different `plan_type`.   '
    - name: partner-accounts-encoded_account_id-status-cancel
      path: /partner/accounts/{encoded_account_id}/status/cancel
      operations:
      - name: cancelaccount
        method: PUT
        description: PUT Cancel the Billing Plan for a Client Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: encoded_account_id
          in: path
          type: string
          description: The system generated ID that uniquely identifies the client account.
          required: true
        - name: body
          in: body
          type: string
          description: By default, the current date and time is automatically used as the cancellation date. However, you
            can specify a future date and time to cancel the account (`ef
    - name: partner-accounts-encoded_account_id-users-sso
      path: /partner/accounts/{encoded_account_id}/users/sso
      operations:
      - name: createssouser
        method: POST
        description: POST a User Under a Partner's SSO-Enabled Client Account
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: encoded_account_id
          in: path
          type: string
          description: The encoded account ID that identifies the partner's client account to which to add the new user.
          required: true
        - name: SSO User
          in: body
          type: string
          description: The JSON payload used to create a new user under the specified partner's client account. All request
            body properties are required (`first_name`, `last_name`, `r
          required: true
  exposes:
  - type: rest
    namespace: v3-technology-partners-rest
    port: 8080
    description: REST adapter for AppConnect V3 — Technology Partners. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/partner/accounts
      name: partner-accounts
      description: REST surface for partner-accounts.
      operations:
      - method: GET
        name: getpartnersiteowners
        description: GET Partner Client Accounts
        call: v3-technology-partners.getpartnersiteowners
        with:
          offset: rest.offset
          limit: rest.limit
          account_type: rest.account_type
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: provision
        description: POST (create) a Partner Client Account
        call: v3-technology-partners.provision
        with:
          provision: rest.provision
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/partner/accounts/{encoded-account-id}/account-operations/sync
      name: partner-accounts-encoded-account-id-account-operations-sync
      description: REST surface for partner-accounts-encoded_account_id-account_operations-sync.
      operations:
      - method: POST
        name: partneraccountoperationspostsync
        description: POST Send an API request on Behalf of a Client Account
        call: v3-technology-partners.partneraccountoperationspostsync
        with:
          encoded_account_id: rest.encoded_account_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/partner/accounts/{encoded-account-id}/contacts/unsubscribe
      name: partner-accounts-encoded-account-id-contacts-unsubscribe
      description: REST surface for partner-accounts-encoded_account_id-contacts-unsubscribe.
      operations:
      - method: POST
        name: partnerunsubscribecontacts
        description: POST Unsubscribe Contacts
        call: v3-technology-partners.partnerunsubscribecontacts
        with:
          encoded_account_id: rest.encoded_account_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/partner/accounts/{encoded-account-id}/plan
      name: partner-accounts-encoded-account-id-plan
      description: REST surface for partner-accounts-encoded_account_id-plan.
      operations:
      - method: GET
        name: getplan
        description: GET Billing Plan Details for a Client Account
        call: v3-technology-partners.getplan
        with:
          encoded_account_id: rest.encoded_account_id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: setplan
        description: PUT (update) Billing Plan Details for a Client Account
        call: v3-technology-partners.setplan
        with:
          encoded_account_id: rest.encoded_account_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/partner/accounts/{encoded-account-id}/status/cancel
      name: partner-accounts-encoded-account-id-status-cancel
      description: REST surface for partner-accounts-encoded_account_id-status-cancel.
      operations:
      - method: PUT
        name: cancelaccount
        description: PUT Cancel the Billing Plan for a Client Account
        call: v3-technology-partners.cancelaccount
        with:
          encoded_account_id: rest.encoded_account_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/partner/accounts/{encoded-account-id}/users/sso
      name: partner-accounts-encoded-account-id-users-sso
      description: REST surface for partner-accounts-encoded_account_id-users-sso.
      operations:
      - method: POST
        name: createssouser
        description: POST a User Under a Partner's SSO-Enabled Client Account
        call: v3-technology-partners.createssouser
        with:
          encoded_account_id: rest.encoded_account_id
          SSO User: rest.SSO User
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: v3-technology-partners-mcp
    port: 9090
    transport: http
    description: MCP adapter for AppConnect V3 — Technology Partners. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-partner-client-accounts
      description: GET Partner Client Accounts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v3-technology-partners.getpartnersiteowners
      with:
        offset: tools.offset
        limit: tools.limit
        account_type: tools.account_type
      outputParameters:
      - type: object
        mapping: $.
    - name: post-create-partner-client-account
      description: POST (create) a Partner Client Account
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v3-technology-partners.provision
      with:
        provision: tools.provision
      outputParameters:
      - type: object
        mapping: $.
    - name: post-send-api-request-behalf
      description: POST Send an API request on Behalf of a Client Account
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v3-technology-partners.partneraccountoperationspostsync
      with:
        encoded_account_id: tools.encoded_account_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: post-unsubscribe-contacts
      description: POST Unsubscribe Contacts
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v3-technology-partners.partnerunsubscribecontacts
      with:
        encoded_account_id: tools.encoded_account_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-billing-plan-details-client
      description: GET Billing Plan Details for a Client Account
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: v3-technology-partners.getplan
      with:
        encoded_account_id: tools.encoded_account_id
      outputParameters:
      - type: object
        mapping: $.
    - name: put-update-billing-plan-details
      description: PUT (update) Billing Plan Details for a Client Account
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: v3-technology-partners.setplan
      with:
        encoded_account_id: tools.encoded_account_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: put-cancel-billing-plan-client
      description: PUT Cancel the Billing Plan for a Client Account
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: v3-technology-partners.cancelaccount
      with:
        encoded_account_id: tools.encoded_account_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: post-user-under-partner-s-sso
      description: POST a User Under a Partner's SSO-Enabled Client Account
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: v3-technology-partners.createssouser
      with:
        encoded_account_id: tools.encoded_account_id
        SSO User: tools.SSO User
      outputParameters:
      - type: object
        mapping: $.