Metricool Agency Customization Kit Api Service API

The Agency Customization Kit Api Service API from Metricool — 6 operation(s) for agency customization kit api service.

Operations 7

GET /v2/agency-CK/details Get an Agency customization Kit #
GET /v2/agency-CK/{agencyId} Get an Agency customization Kit #
PATCH /v2/agency-CK/{agencyId}/properties Edit Agency configuration properties #
GET /v2/agency-CK/{agencyId}/smtp-configuration Get the agency custom SMTP configuration and its last production failure #
PUT /v2/agency-CK/{agencyId}/smtp-configuration Save the agency SMTP configuration. #
POST /v2/agency-CK/{agencyId}/smtp-configuration/test-mail Send a test email with the unsaved SMTP values. #
POST /v2/agency-CK/{agencyId}/test-mail Send a test mail with the mail configuration #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/metricool:metricool-agency-customization-kit-api-service-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

metricool-agency-customization-kit-api-service-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Metricool Agency Customization Kit Api Service API
  description: 'Metricool API


    The base URL for all endpoints is: https://app.metricool.com/api


    All endpoints require authentication.'
  version: 2.0.0
servers:
- url: https://app.metricool.com/api
tags:
- name: Agency Customization Kit Api Service
paths:
  /v2/agency-CK/details:
    get:
      tags:
      - Agency Customization Kit Api Service
      summary: Get an Agency customization Kit
      operationId: getAgencyDetails
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseAgencyDetailsDto'
  /v2/agency-CK/{agencyId}:
    get:
      tags:
      - Agency Customization Kit Api Service
      summary: Get an Agency customization Kit
      operationId: get_1
      parameters:
      - name: agencyId
        in: path
        description: id of an Agency Customization Kit
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseAgencyDto'
  /v2/agency-CK/{agencyId}/properties:
    patch:
      tags:
      - Agency Customization Kit Api Service
      summary: Edit Agency configuration properties
      operationId: update
      parameters:
      - name: agencyId
        in: path
        description: id of an Agency Customization Kit
        required: true
        schema:
          type: integer
          format: int32
      - name: fields
        in: query
        required: true
        schema:
          type: array
          items:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgencyPropertiesForUpdateDto'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseAgencyPropertiesForUpdateDto'
  /v2/agency-CK/{agencyId}/smtp-configuration:
    get:
      tags:
      - Agency Customization Kit Api Service
      summary: Get the agency custom SMTP configuration and its last production failure
      operationId: get_3
      parameters:
      - name: agencyId
        in: path
        description: id of an Agency Customization Kit
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseAgencySmtpConfigurationDto'
        '403':
          description: The user cannot manage the agency configuration
    put:
      tags:
      - Agency Customization Kit Api Service
      summary: Save the agency SMTP configuration.
      operationId: save
      parameters:
      - name: agencyId
        in: path
        description: id of an Agency Customization Kit
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgencySmtpConfigurationUpdateDto'
        required: true
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseAgencySmtpConfigurationDto'
        '400':
          description: Invalid SMTP configuration, or the agency sends through Amazon SES
        '403':
          description: The user cannot manage the agency configuration
  /v2/agency-CK/{agencyId}/smtp-configuration/test-mail:
    post:
      tags:
      - Agency Customization Kit Api Service
      summary: Send a test email with the unsaved SMTP values.
      operationId: test
      parameters:
      - name: agencyId
        in: path
        description: id of an Agency Customization Kit
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgencySmtpTestRequestDto'
        required: true
      responses:
        '200':
          description: Ok, see 'sent' for the result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseAgencySmtpTestResultDto'
        '400':
          description: Invalid SMTP configuration
        '403':
          description: The user cannot manage the agency configuration
        '429':
          description: Too many test emails in progress
  /v2/agency-CK/{agencyId}/test-mail:
    post:
      tags:
      - Agency Customization Kit Api Service
      summary: Send a test mail with the mail configuration
      operationId: sendTestMail
      parameters:
      - name: agencyId
        in: path
        description: id of an Agency Customization Kit
        required: true
        schema:
          type: integer
          format: int32
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgencyTestMailData'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonOkResponseBoolean'
components:
  schemas:
    AgencyDetailsDto:
      type: object
      properties:
        agencyId:
          type: integer
          format: int32
        name:
          type: string
        agencyLogo:
          type: string
        loginLogo:
          type: string
        faviconLogo:
          type: string
        supportChat:
          type: boolean
        helpArticles:
          type: boolean
        canvaIntegration:
          type: boolean
          description: Whether the Canva integration is enabled for this agency's end clients
        driveIntegration:
          type: boolean
          description: Whether the Google Drive integration is enabled for this agency's end clients
        colorPalette:
          $ref: '#/components/schemas/ColorsDto'
        themeColorPalette:
          $ref: '#/components/schemas/ThemeColorsDto'
    AgencyPropertiesForUpdateDto:
      type: object
      properties:
        agencyLogo:
          type: string
        loginLogo:
          type: string
        faviconLogo:
          type: string
        supportChat:
          type: boolean
        helpArticles:
          type: boolean
        colorPalette:
          $ref: '#/components/schemas/ColorsDto'
        reportLogo:
          type: string
        mailMessage:
          type: string
        mailReplyTo:
          type: string
        mailLogo:
          type: string
        themeColorPalette:
          $ref: '#/components/schemas/ThemeColorsDto'
    AgencySmtpSettingsDto:
      required:
      - from
      - host
      - port
      - user
      type: object
      properties:
        host:
          type: string
          description: Outgoing mail server, without protocol
          example: smtp.office365.com
        port:
          type: integer
          description: 'Server port: 25, 465, 587, 2465, 2525 or 2587'
          format: int32
          example: 587
        user:
          type: string
          description: Authentication user
        password:
          type: string
          description: Password or API key in clear text. Empty keeps the stored one
        from:
          type: string
          description: Sender email
          example: info@myagency.com
        fromLabel:
          type: string
          description: Sender name. When empty, the agency name is used
      description: SMTP server values filled in the form. Authentication is always on; ports 465 and 2465 use implicit SSL and any other port mandatory STARTTLS
    AgencyDto:
      type: object
      properties:
        id:
          type: integer
          format: int32
        ownerId:
          type: integer
          format: int32
        domain:
          type: string
        loginUrl:
          type: string
        name:
          type: string
        enabled:
          type: boolean
        properties:
          $ref: '#/components/schemas/AgencyPropertiesDto'
    JsonOkResponseAgencyDto:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          $ref: '#/components/schemas/AgencyDto'
    JsonOkResponseBoolean:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          type: boolean
    JsonOkResponseAgencySmtpTestResultDto:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          $ref: '#/components/schemas/AgencySmtpTestResultDto'
    JsonPaging:
      type: object
      properties:
        next:
          type: string
    JsonOkResponseAgencyPropertiesForUpdateDto:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          $ref: '#/components/schemas/AgencyPropertiesForUpdateDto'
    AgencyPropertiesDto:
      type: object
      properties:
        agencyLogo:
          type: string
        loginLogo:
          type: string
        faviconLogo:
          type: string
        supportChat:
          type: boolean
        helpArticles:
          type: boolean
        canvaIntegration:
          type: boolean
          description: Whether the Canva integration is enabled for this agency's end clients
        driveIntegration:
          type: boolean
          description: Whether the Google Drive integration is enabled for this agency's end clients
        colorPalette:
          $ref: '#/components/schemas/ColorsDto'
        reportLogo:
          type: string
        mailMessage:
          type: string
        mailReplyTo:
          type: string
        mailLogo:
          type: string
        smtpConfiguration:
          $ref: '#/components/schemas/CustomSMTPPropertiesDto'
        sesFrom:
          type: string
        sesFromLabel:
          type: string
        themeColorPalette:
          $ref: '#/components/schemas/ThemeColorsDto'
    ThemeColorsDto:
      type: object
      properties:
        topMenuBackgroundColor:
          type: string
          description: Top menu background color
        topMenuTextColor:
          type: string
          description: Top menu text color
        topMenuSeparatorColor:
          type: string
          description: Top menu separator color
        primaryButtonBackgroundColor:
          type: string
          description: Primary button background color
        primaryButtonBorderColor:
          type: string
          description: Primary button border color
        primaryButtonTextColor:
          type: string
          description: Primary button text color
        secondaryButtonBackgroundColor:
          type: string
          description: Secondary button background color
        secondaryButtonBorderColor:
          type: string
          description: Secondary button border color
        secondaryButtonTextColor:
          type: string
          description: Secondary button text color
        backgroundColor:
          type: string
          description: General background color
      description: 'Optional white-label theme colors. Each field accepts a hex color (#RGB/#RRGGBB, alpha variants #RGBA/#RRGGBBAA included) or the literal ''transparent''. A field left null/blank falls back to the Metricool default when the color has never been customized; in a PATCH that only updates some of the 10 fields, a null/blank field instead keeps whatever was already saved for it - only sending the whole themeColorPalette object as null resets every color back to the default at once.'
    AgencyTestMailData:
      required:
      - to
      type: object
      properties:
        to:
          minLength: 1
          type: string
    AgencySmtpTestRequestDto:
      required:
      - settings
      - to
      type: object
      properties:
        to:
          minLength: 1
          type: string
          description: Recipient of the test email
          example: me@myagency.com
        settings:
          $ref: '#/components/schemas/AgencySmtpSettingsDto'
      description: Test email sent with the unsaved SMTP values
    AgencySmtpStatusDto:
      type: object
      properties:
        errorType:
          type: string
          description: Error type
          enum:
          - HOST_NOT_FOUND
          - CONNECTION
          - ENCRYPTION
          - AUTHENTICATION
          - SENDER_REJECTED
          - OTHER
        detail:
          type: string
          description: Technical message returned by the server, to share with support
        lastFailureAt:
          type: string
          description: Date of the last failure (UTC)
          format: date-time
      description: Last failure of the agency SMTP when sending a real email
    JsonOkResponseAgencyDetailsDto:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          $ref: '#/components/schemas/AgencyDetailsDto'
    AgencySmtpConfigurationDto:
      type: object
      properties:
        enabled:
          type: boolean
          description: Whether emails are sent with the agency SMTP (true) or the Metricool server (false)
        configured:
          type: boolean
          description: Whether a custom SMTP configuration is stored, even if disabled
        host:
          type: string
          description: Outgoing mail server, without protocol
          example: smtp.office365.com
        port:
          type: integer
          description: Server port. 465 and 2465 use implicit SSL, any other port mandatory STARTTLS
          format: int32
          example: 587
        user:
          type: string
          description: Authentication user
        hasPassword:
          type: boolean
          description: Whether a password is stored (shown as a placeholder in the form)
        from:
          type: string
          description: Sender email
          example: info@myagency.com
        fromLabel:
          type: string
          description: Sender name. When empty, the agency name is used
        status:
          $ref: '#/components/schemas/AgencySmtpStatusDto'
      description: Agency custom SMTP configuration. The password is never returned.
    AgencySmtpTestResultDto:
      type: object
      properties:
        sent:
          type: boolean
          description: Whether the SMTP server accepted the email
        errorType:
          type: string
          description: Error type when the email was not sent
          enum:
          - HOST_NOT_FOUND
          - CONNECTION
          - ENCRYPTION
          - AUTHENTICATION
          - SENDER_REJECTED
          - OTHER
        detail:
          type: string
          description: Technical message returned by the server when the email was not sent
      description: Result of the test email
    AgencySmtpConfigurationUpdateDto:
      required:
      - enabled
      type: object
      properties:
        enabled:
          type: boolean
          description: true to send with the agency SMTP (settings required), false to go back to the Metricool server keeping the stored configuration
        settings:
          $ref: '#/components/schemas/AgencySmtpSettingsDto'
        provider:
          type: string
          description: Provider preset chosen in the form, for analytics only
          enum:
          - GOOGLE
          - MICROSOFT
          - AMAZON_SES
          - SENDGRID
          - MAILGUN
          - BREVO
          - OTHER
      description: Agency SMTP configuration to save
    ColorsDto:
      required:
      - blue
      - charcoal
      - cobalt
      - cyan
      - darkYellow
      - green
      - lightYellow
      - pink
      - purple
      - red
      - slate
      - teal
      - yellow
      type: object
      properties:
        blue:
          minLength: 1
          type: string
        teal:
          minLength: 1
          type: string
        pink:
          minLength: 1
          type: string
        yellow:
          minLength: 1
          type: string
        lightYellow:
          minLength: 1
          type: string
        darkYellow:
          minLength: 1
          type: string
        purple:
          minLength: 1
          type: string
        cyan:
          minLength: 1
          type: string
        red:
          minLength: 1
          type: string
        green:
          minLength: 1
          type: string
        slate:
          minLength: 1
          type: string
        charcoal:
          minLength: 1
          type: string
        cobalt:
          minLength: 1
          type: string
      description: Chart colors, always the 13 of them (Metricool defaults where not customized).
    CustomSMTPPropertiesDto:
      type: object
      properties:
        host:
          type: string
        port:
          type: string
        user:
          type: string
        password:
          type: string
        from:
          type: string
        auth:
          type: string
        quitwait:
          type: string
        debug:
          type: string
        from.label:
          type: string
        socketFactory.class:
          type: string
        socketFactory.port:
          type: string
        starttls.enable:
          type: string
        ssl.protocols:
          type: string
        ssl.trust:
          type: string
    JsonOkResponseAgencySmtpConfigurationDto:
      type: object
      properties:
        metadata:
          type: object
        page:
          $ref: '#/components/schemas/JsonPaging'
        data:
          $ref: '#/components/schemas/AgencySmtpConfigurationDto'