openapi: 3.0.1 info: title: Ampersand public API Key Provider API version: 1.0.0 servers: - url: https://api.withampersand.com/v1 security: - APIKeyHeader: [] - Bearer: [] tags: - name: Provider paths: /providers: get: summary: Ampersand List Providers description: 'Returns all supported SaaS providers and their capabilities. The response is a JSON object keyed by provider name (e.g. `salesforce`, `hubspot`). Each value describes the provider''s authentication type, supported operations, modules, and configuration options. No authentication is required. ' operationId: listProviders tags: - Provider security: [] responses: 200: description: 'All available providers and their capabilities. ' content: application/json: schema: $ref: ../catalog/catalog.yaml#/components/schemas/CatalogType example: salesforce: name: salesforce displayName: Salesforce authType: oauth2 baseURL: https://{{.workspace}}.my.salesforce.com defaultModule: crm support: read: true write: true delete: true subscribe: true proxy: true bulkWrite: insert: true update: true upsert: true delete: true search: operators: equals: true providerOpts: {} hubspot: name: hubspot displayName: HubSpot authType: oauth2 baseURL: https://api.hubapi.com defaultModule: '' support: read: true write: true delete: true subscribe: true proxy: true bulkWrite: insert: false update: false upsert: false delete: false search: operators: equals: true providerOpts: {} default: description: Error content: application/problem+json: schema: $ref: ../problem/problem.yaml#/components/schemas/ApiProblem /providers/{provider}: get: summary: Ampersand Get Provider description: 'Returns information about a single provider. No authentication is required. ' operationId: getProvider tags: - Provider security: [] parameters: - name: provider in: path required: true description: The provider name (e.g. `salesforce`, `hubspot`). example: hubspot schema: type: string responses: 200: description: The requested provider. content: application/json: schema: $ref: ../catalog/catalog.yaml#/components/schemas/ProviderInfo default: description: Error content: application/problem+json: schema: $ref: ../problem/problem.yaml#/components/schemas/ApiProblem components: securitySchemes: APIKeyHeader: type: apiKey name: X-Api-Key in: header Bearer: type: http scheme: bearer bearerFormat: JWT