Discovery needs no key. Ratings and market analysis are Pro.
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.
openapi: 3.2.0
info:
title: Ampersand public Revision API
version: 1.0.0
servers:
- url: https://api.withampersand.com/v1
security:
- APIKeyHeader: []
- Bearer: []
tags:
- name: Revision
paths:
/projects/{projectIdOrName}/integrations/{integrationId}/revisions:
post:
summary: Ampersand Create a New Revision
operationId: createRevision
description: We recommend using the CLI's deploy command rather than this API endpoint directly, unless you have an advanced use case.
tags:
- Revision
parameters:
- name: projectIdOrName
in: path
required: true
description: The Ampersand project ID or project name.
schema:
type: string
example: my-project
- name: integrationId
in: path
required: true
description: The integration ID.
schema:
type: string
- name: destructive
in: query
required: false
description: Defaults to false. This flag controls whether to perform destructive actions when deploying integrations, like pausing all read actions for an object that was removed in the latest revision.
schema:
type: boolean
requestBody:
content:
application/json:
schema:
type: object
properties:
sourceZipUrl:
type: string
description: URL of where a zip of the source files can be downloaded (e.g. Google Cloud Storage URL).
example: https://storage.googleapis.com/my-bucket/source-files/integration-v1.2.3.zip
sourceYaml:
type: string
description: The source YAML file that defines the revision.
description: The source of the revision to create. One of sourceZipUrl or sourceYaml is required.
required: true
responses:
201:
description: Created
content: {}
400:
description: Bad Request
content:
application/problem+json:
schema:
$ref: ../problem/problem.yaml#/components/schemas/InputValidationProblem
422:
description: Unprocessable Entity
content:
application/problem+json:
schema:
$ref: ../problem/problem.yaml#/components/schemas/InputValidationProblem
default:
description: Error
content:
application/problem+json:
schema:
$ref: ../problem/problem.yaml#/components/schemas/ApiProblem
x-codegen-request-body-name: revision
/projects/{projectIdOrName}/integrations/{integrationId}/revisions/{revisionId}:hydrate:
get:
summary: Ampersand Get a Hydrated Revision
description: Returns the integration revision enriched with live field metadata from the consumer's connected SaaS instance, such as available fields, display names, and type for each object defined in the integration.
operationId: getHydratedRevision
tags:
- Revision
parameters:
- name: projectIdOrName
in: path
required: true
description: The Ampersand project ID or project name.
schema:
type: string
example: my-project
- name: integrationId
in: path
required: true
description: The integration ID.
schema:
type: string
example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
- name: revisionId
in: path
required: true
description: The revision ID. You can find this on the integration object's `latestRevision.id` field.
schema:
type: string
example: f0e1d2c3-b4a5-6789-0abc-def123456789
- name: connectionId
in: query
required: true
description: The ID of the consumer's connection to the SaaS provider. This connection's credentials are used to fetch field metadata from the provider's API.
schema:
type: string
example: 1a2b3c4d-5e6f-7890-abcd-ef0123456789
responses:
200:
description: Hydrated revision.
content:
application/json:
schema:
$ref: '#/components/schemas/HydratedRevision'
default:
description: Error
content:
application/problem+json:
schema:
$ref: ../problem/problem.yaml#/components/schemas/ApiProblem
components:
schemas:
HydratedRevision:
title: Hydrated Revision
required:
- content
- createTime
- id
- specVersion
type: object
properties:
id:
type: string
description: The revision ID.
example: f0e1d2c3-b4a5-6789-0abc-def123456789
specVersion:
type: string
description: The spec version string.
example: 1.0.0
createTime:
type: string
description: The time the revision was created.
format: date-time
content:
$ref: ../manifest/manifest.yaml#/components/schemas/HydratedIntegration
securitySchemes:
APIKeyHeader:
type: apiKey
name: X-Api-Key
in: header
Bearer:
type: http
scheme: bearer
bearerFormat: JWT