Y42

Y42 Spaces API

Programmatically list, create, retrieve, and delete spaces (Y42 environments) within an organization, manage credentials, and configure the underlying data warehouse connection (BigQuery, Snowflake, GCS, S3) via the Git backend endpoints.

OpenAPI Specification

y42-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Y42 Public API
  description: >-
    The Y42 public REST API for the Y42 managed DataOps platform. It lets you
    programmatically manage spaces (Y42 environments) and their data-warehouse
    credentials, trigger and retrieve orchestration runs by command or by asset,
    retrieve the dbt manifest for a space, and read the latest job information.
    Paths below reflect endpoints documented in the Y42 public API reference
    (https://y42-public-api.readme.io/). Request and response schemas are not
    fully published in the public reference and are therefore omitted here rather
    than fabricated; consult the live reference for body shapes.
  termsOfService: https://www.y42.com/legal/terms-of-service
  contact:
    name: Y42 Support
    url: https://www.y42.com
  version: '4'
servers:
  - url: https://api.y42.dev
    description: Y42 public API
security:
  - bearerAuth: []
paths:
  /api/1/github-backend/{org_slug}/:
    get:
      operationId: listSpaces
      tags:
        - Spaces
      summary: List spaces
      description: Returns a list of all accessible spaces in an organization (company).
      parameters:
        - $ref: '#/components/parameters/OrgSlug'
      responses:
        '200':
          description: A list of accessible spaces.
  /api/1/github-backend/{org_slug}/space:
    post:
      operationId: createSpace
      tags:
        - Spaces
      summary: Create a space
      description: Creates a new space (environment) within the organization.
      parameters:
        - $ref: '#/components/parameters/OrgSlug'
      responses:
        '200':
          description: The created space.
  /api/1/github-backend/{org_slug}/space/{slug}:
    get:
      operationId: getSpace
      tags:
        - Spaces
      summary: Retrieve a space
      description: Retrieves details for a single space by slug.
      parameters:
        - $ref: '#/components/parameters/OrgSlug'
        - $ref: '#/components/parameters/Slug'
      responses:
        '200':
          description: The requested space.
    delete:
      operationId: deleteSpace
      tags:
        - Spaces
      summary: Delete a space
      description: Removes a space by slug.
      parameters:
        - $ref: '#/components/parameters/OrgSlug'
        - $ref: '#/components/parameters/Slug'
      responses:
        '200':
          description: The space was deleted.
  /api/1/github-backend/{org_slug}/space/{slug}/credentials:
    patch:
      operationId: updateSpaceCredentials
      tags:
        - Spaces
      summary: Update space credentials
      description: >-
        Updates the data-warehouse credentials/connection (e.g. BigQuery,
        Snowflake, GCS, S3) associated with a space.
      parameters:
        - $ref: '#/components/parameters/OrgSlug'
        - $ref: '#/components/parameters/Slug'
      responses:
        '200':
          description: The updated credentials.
  /api/1/credential/{org_slug}/{space_slug}/connections:
    post:
      operationId: createConnection
      tags:
        - Spaces
      summary: Create a connection
      description: Creates an integration/source connection credential for a space.
      parameters:
        - $ref: '#/components/parameters/OrgSlug'
        - $ref: '#/components/parameters/SpaceSlug'
      responses:
        '200':
          description: The created connection.
  /api/4/orchestrations/{org_slug}/{space_slug}:
    post:
      operationId: triggerOrchestration
      tags:
        - Orchestration
      summary: Trigger an orchestration run
      description: >-
        Triggers an orchestration run for a space, by command or by asset,
        starting execution of the space's data pipeline.
      parameters:
        - $ref: '#/components/parameters/OrgSlug'
        - $ref: '#/components/parameters/SpaceSlug'
      responses:
        '200':
          description: The triggered orchestration run.
  /api/4/orchestrations/{org_slug}/{space_slug}/run:
    get:
      operationId: getOrchestrationRun
      tags:
        - Runs
      summary: Get an orchestration run
      description: Retrieves information about a single orchestration run by id or conditions.
      parameters:
        - $ref: '#/components/parameters/OrgSlug'
        - $ref: '#/components/parameters/SpaceSlug'
      responses:
        '200':
          description: The requested orchestration run.
  /api/4/orchestrations/{org_slug}/{space_slug}/runs:
    get:
      operationId: listOrchestrationRuns
      tags:
        - Runs
      summary: List orchestration runs
      description: Retrieves a list of orchestration runs for a space, filterable by conditions.
      parameters:
        - $ref: '#/components/parameters/OrgSlug'
        - $ref: '#/components/parameters/SpaceSlug'
      responses:
        '200':
          description: A list of orchestration runs.
  /api/1/job-info-service/{org_slug}/{space_slug}/latest-jobs:
    get:
      operationId: getLatestJobs
      tags:
        - Runs
      summary: Get latest jobs
      description: Returns the latest job information for a space.
      parameters:
        - $ref: '#/components/parameters/OrgSlug'
        - $ref: '#/components/parameters/SpaceSlug'
      responses:
        '200':
          description: The latest jobs for the space.
  /api/1/dbt/{org_slug}/{space_slug}/manifest:
    get:
      operationId: getManifest
      tags:
        - Manifest
      summary: Get dbt manifest
      description: >-
        Retrieves the dbt manifest content for a space, exposing the assets,
        models, sources, and lineage of the project.
      parameters:
        - $ref: '#/components/parameters/OrgSlug'
        - $ref: '#/components/parameters/SpaceSlug'
      responses:
        '200':
          description: The dbt manifest for the space.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Y42 API keys are created in the organization settings inside the Y42 app
        and passed as a Bearer token in the Authorization header.
  parameters:
    OrgSlug:
      name: org_slug
      in: path
      required: true
      description: The slug of the organization (company).
      schema:
        type: string
    SpaceSlug:
      name: space_slug
      in: path
      required: true
      description: The slug of the space (environment).
      schema:
        type: string
    Slug:
      name: slug
      in: path
      required: true
      description: The slug of the space.
      schema:
        type: string