openapi: 3.1.0 info: title: Census Activations REST API description: | The Census Activations REST API (formerly the Census Management API, now branded as Fivetran Activations) provides programmatic access to manage workspaces, sources, destinations, models, syncs, sync runs, and segments. The API is split into Workspace APIs (authenticated via workspace access tokens) and Organization APIs (authenticated via personal access tokens). This best-effort OpenAPI is derived from the public documentation at https://fivetran.com/docs/activations/rest-api/api-reference/introduction. version: "1.0.0" contact: name: Census (Fivetran) url: https://www.getcensus.com/ servers: - url: https://app.getcensus.com/api/v1 description: US Census API endpoint - url: https://app-eu.getcensus.com/api/v1 description: EU Census API endpoint security: - bearerAuth: [] tags: - name: Sources description: Source connections to data warehouses - name: Destinations description: Destination connections to operational systems - name: Models description: Modeled queries that drive activations - name: Syncs description: Sync configurations - name: SyncRuns description: Sync executions - name: Segments description: Audience segments - name: Workspaces description: Organization-level workspace management paths: /sources: get: tags: [Sources] summary: List sources operationId: listSources parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' responses: '200': description: Paginated source list content: application/json: schema: $ref: '#/components/schemas/PaginatedList' post: tags: [Sources] summary: Create a source operationId: createSource requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Source' responses: '201': description: Source created /sources/{id}: get: tags: [Sources] summary: Get a source operationId: getSource parameters: - $ref: '#/components/parameters/Id' responses: '200': description: Source content: application/json: schema: $ref: '#/components/schemas/Source' patch: tags: [Sources] summary: Update a source operationId: updateSource parameters: - $ref: '#/components/parameters/Id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Source' responses: '200': description: Source updated delete: tags: [Sources] summary: Delete a source operationId: deleteSource parameters: - $ref: '#/components/parameters/Id' responses: '204': description: Deleted /destinations: get: tags: [Destinations] summary: List destinations operationId: listDestinations parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' responses: '200': description: Paginated destination list post: tags: [Destinations] summary: Create a destination operationId: createDestination requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Destination' responses: '201': description: Destination created /destinations/{id}: get: tags: [Destinations] summary: Get a destination operationId: getDestination parameters: - $ref: '#/components/parameters/Id' responses: '200': description: Destination patch: tags: [Destinations] summary: Update a destination operationId: updateDestination parameters: - $ref: '#/components/parameters/Id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Destination' responses: '200': description: Updated delete: tags: [Destinations] summary: Delete a destination operationId: deleteDestination parameters: - $ref: '#/components/parameters/Id' responses: '204': description: Deleted /models: get: tags: [Models] summary: List models operationId: listModels parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' responses: '200': description: Paginated model list post: tags: [Models] summary: Create a model operationId: createModel requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Model' responses: '201': description: Model created /models/{id}: get: tags: [Models] summary: Get a model operationId: getModel parameters: - $ref: '#/components/parameters/Id' responses: '200': description: Model patch: tags: [Models] summary: Update a model operationId: updateModel parameters: - $ref: '#/components/parameters/Id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Model' responses: '200': description: Updated delete: tags: [Models] summary: Delete a model operationId: deleteModel parameters: - $ref: '#/components/parameters/Id' responses: '204': description: Deleted /syncs: get: tags: [Syncs] summary: List syncs operationId: listSyncs parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' responses: '200': description: Paginated sync list post: tags: [Syncs] summary: Create a sync operationId: createSync requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Sync' responses: '201': description: Sync created /syncs/{id}: get: tags: [Syncs] summary: Get a sync operationId: getSync parameters: - $ref: '#/components/parameters/Id' responses: '200': description: Sync patch: tags: [Syncs] summary: Update a sync operationId: updateSync parameters: - $ref: '#/components/parameters/Id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Sync' responses: '200': description: Updated delete: tags: [Syncs] summary: Delete a sync operationId: deleteSync parameters: - $ref: '#/components/parameters/Id' responses: '204': description: Deleted /syncs/{id}/trigger: post: tags: [Syncs] summary: Trigger a sync run operationId: triggerSync parameters: - $ref: '#/components/parameters/Id' requestBody: content: application/json: schema: type: object properties: force_full_sync: type: boolean responses: '202': description: Sync run triggered /sync_runs: get: tags: [SyncRuns] summary: List sync runs operationId: listSyncRuns parameters: - in: query name: sync_id schema: type: integer - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' responses: '200': description: Sync run list /sync_runs/{id}: get: tags: [SyncRuns] summary: Get a sync run operationId: getSyncRun parameters: - $ref: '#/components/parameters/Id' responses: '200': description: Sync run /segments: get: tags: [Segments] summary: List audience segments operationId: listSegments responses: '200': description: Segment list post: tags: [Segments] summary: Create a segment operationId: createSegment requestBody: required: true content: application/json: schema: type: object responses: '201': description: Segment created /workspaces: get: tags: [Workspaces] summary: List workspaces in the organization operationId: listWorkspaces responses: '200': description: Workspace list post: tags: [Workspaces] summary: Create a workspace operationId: createWorkspace requestBody: required: true content: application/json: schema: type: object properties: name: type: string notification_emails: type: array items: type: string responses: '201': description: Workspace created components: parameters: Id: in: path name: id required: true schema: type: integer Page: in: query name: page schema: type: integer minimum: 1 PerPage: in: query name: per_page schema: type: integer minimum: 1 maximum: 100 securitySchemes: bearerAuth: type: http scheme: bearer description: Workspace access token or organization personal access token schemas: PaginatedList: type: object properties: status: type: string data: type: array items: type: object pagination: type: object properties: total_records: type: integer per_page: type: integer next_page: type: integer nullable: true previous_page: type: integer nullable: true Source: type: object properties: id: type: integer name: type: string type: type: string description: Data warehouse type (snowflake, bigquery, databricks, redshift, postgres) credentials: type: object created_at: type: string format: date-time Destination: type: object properties: id: type: integer name: type: string type: type: string description: Destination connector type (salesforce, hubspot, etc.) credentials: type: object created_at: type: string format: date-time Model: type: object properties: id: type: integer name: type: string description: type: string query: type: string source_id: type: integer created_at: type: string format: date-time Sync: type: object properties: id: type: integer label: type: string operation: type: string enum: [upsert, update, insert, mirror, delete] source_attributes: type: object destination_attributes: type: object schedule: type: object properties: frequency: type: string enum: [never, continuous, quarter_hourly, hourly, daily, weekly, expression] day: type: string hour: type: integer minute: type: integer paused: type: boolean created_at: type: string format: date-time