Tackle Solutions API

List the co-sell solutions registered with AWS Partner Central for your account. Solution identifiers are referenced by `solutions` on opportunities.

OpenAPI Specification

tackle-solutions-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Tackle Authentication Solutions API
  description: Authenticated programmatic access to Tackle's webhooks, metering, private offers, and more.
  version: 1.0.0
  contact:
    name: Tackle Support
    email: support@tackle.io
    url: https://tackle.io
servers:
- url: https://api.tackle.io
tags:
- name: Solutions
  description: 'List the co-sell solutions registered with AWS Partner Central for

    your account. Solution identifiers are referenced by `solutions` on

    opportunities.'
paths:
  /api/solutions:
    get:
      operationId: listSolutions
      summary: List co-sell solutions
      description: 'Returns the active co-sell solutions registered with AWS Partner Central for the

        authenticated vendor.


        For vendor accounts provisioned for use in a test environment, this endpoint

        returns a fixed three-solution fixture; the `q`, `from`, `pageSize`, and

        `all` query parameters are **ignored** for these vendors and the response

        body is the same fixture set regardless of what the client sends. Production

        vendor accounts receive vendor-specific results that honor every query

        parameter.'
      tags:
      - Solutions
      parameters:
      - name: q
        in: query
        description: A search query to filter the solutions.
        schema:
          type: string
          example: Example
      - name: from
        in: query
        description: The starting index of the solutions to return.
        schema:
          type: integer
          example: 10
      - name: pageSize
        in: query
        description: The number of solutions to return per page (minimum 1, maximum 100, default 10).
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
          example: 10
      - name: all
        in: query
        description: 'Set to `true` to return solutions in any status, including inactive ones.

          Defaults to `false` (only active solutions are returned).'
        schema:
          type: boolean
          example: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSolutionsResponse'
              examples:
                list:
                  summary: List Solutions
                  value:
                    solutions:
                    - id: tackle-solution-2lFAiYiiVZZabcdefgh7dPNWXWm
                      cloudProviderId: S-0050456
                      name: Tackle AI
                      status: Active
                      category: Software Product
                      created: '2024-08-27T13:32:58Z'
                      lastSynced: '2024-08-27T13:32:58Z'
                    - id: tackle-solution-2lFAieUdS1PKs6abcdefghbCktS
                      cloudProviderId: S-0050123
                      name: Tackle Cloud Sync
                      status: Active
                      category: Software Product
                      created: '2024-08-27T13:32:58Z'
                      lastSynced: '2024-08-27T13:32:58Z'
                    total: 5
                    currentPageCount: 2
                    isNextPage: true
                    nextIndex: 2
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    ListSolutionsResponseItem:
      type: object
      properties:
        id:
          type: string
        cloudProviderId:
          type: string
        name:
          type: string
        status:
          type: string
        category:
          type: string
        created:
          type: string
        lastSynced:
          type: string
    ListSolutionsResponse:
      type: object
      properties:
        solutions:
          type: array
          items:
            $ref: '#/components/schemas/ListSolutionsResponseItem'
        total:
          type: integer
          example: 5
        currentPageCount:
          type: integer
          example: 10
        isNextPage:
          type: boolean
          example: false
        nextIndex:
          description: The starting index to use for fetching the next page of solutions. Only present when `isNextPage` is `true`.
          type: integer
  responses:
    InternalServerError:
      description: 'Internal Server Error. An unexpected error occurred while processing the request. Response

        bodies for 5xx errors may be empty.'
    Unauthorized:
      description: 'Unauthorized. The request did not include valid Tackle MTM bearer credentials, or the

        authenticated principal could not be resolved.'
  securitySchemes:
    BearerAuth:
      description: The Tackle API requires a JWT for authentication. You can get this by [getting your API credentials](https://developers.tackle.io/docs/how-to-get-an-m2m-client-id-and-secret) from the Tackle Platform then [retrieving your Access Token](https://developers.tackle.io/docs/getting-an-access-token) using our Authentication endpoint.
      type: http
      scheme: bearer
      bearerFormat: JWT
    BasicAuthCallback:
      description: Use `basic` for [basic HTTP authentication](https://en.wikipedia.org/wiki/Basic_access_authentication); this is only used for `callbacks`
      type: http
      scheme: basic
    HeaderApiKeyAuthCallback:
      description: Use `header_api_key` to specify a custom HTTP request header for authentication. Requests from Tackle will use the specified HTTP header for outbound requests to your Webhook URL; this is only used for `callbacks`'
      type: apiKey
      name: subscription-key
      in: header
    Oauth2AuthCallback:
      description: This auth-type is for `oauth2` client credentials flow. We will use the client_id and client_secret to call the token_url to get an access token; this is only used for `callbacks`'
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /oauth/token
externalDocs:
  description: Tackle Developer Hub and API Documentation
  url: https://developers.tackle.io
x-readme:
  explorer-enabled: false
  proxy-enabled: true
  samples-enabled: true