> ## Documentation Index
> Fetch the complete documentation index at: https://interfere.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create release

> Registers a release for the surface the build-time key belongs to.



## OpenAPI

````yaml https://api.interfere.com/openapi.json post /v3/releases
openapi: 3.0.4
info:
  title: Interfere API
  termsOfService: https://interfere.com/legal/terms-of-service
  contact:
    email: support@interfere.com
    name: Interfere Support
    url: https://interfere.com/~/*/settings/support
  license:
    name: All Rights Reserved
    url: https://interfere.com/legal/terms-of-service
  description: >-
    Register builds, ingest telemetry, and inspect application issues. Build
    operations authenticate with a secret surface key; SDK ingestion uses a
    publishable surface key. Dashboard operations require a Clerk session, and
    investigation endpoints require workload identity. Authentication
    alternatives are listed on each operation. Retry only when the operation
    contract permits it, preserving the original idempotency key.
  version: 3.0.0
servers:
  - url: https://api.interfere.com
    description: This environment
security: []
tags:
  - name: Releases
    description: Build registration and source-map uploads
  - name: Sessions
    description: Session identity, activity, and events
externalDocs:
  url: https://interfere.com/docs
  description: Interfere Documentation
paths:
  /v3/releases:
    post:
      tags:
        - Releases
      summary: Create release
      description: Registers a release for the surface the build-time key belongs to.
      operationId: createRelease
      requestBody:
        required: true
        content:
          application/json:
            examples:
              github:
                summary: GitHub build without a deployment destination
                value:
                  buildId: 0123456789abcdef0123456789abcdef01234567
                  destination: null
                  source:
                    provider: github
                    branch: main
                    commitMessage: Fix checkout validation
                    commitSha: 0123456789abcdef0123456789abcdef01234567
            schema:
              $ref: '#/components/schemas/CreateReleaseRequest'
      responses:
        '200':
          description: Release recorded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateReleaseResponse'
        '401':
          description: Missing or invalid secret key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKeyAuthProblem'
        '403':
          description: Secret key lacks the required scope or its network is blocked
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKeyScopeProblem'
        '503':
          description: >-
            A dependency failed while recording the release; retry with backoff
            after the Retry-After delay
          headers:
            Retry-After:
              schema:
                description: Seconds to wait before retrying
                type: string
              required: true
              description: Seconds to wait before retrying
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReleaseUnavailableProblem'
      security:
        - apiKey: []
        - apiKeyHeader: []
components:
  schemas:
    CreateReleaseRequest:
      properties:
        buildId:
          type: string
        destination:
          $ref: '#/components/schemas/ReleaseDestination'
        producerVersion:
          type: string
        slug:
          pattern: ^rel_.*$
          type: string
        source:
          $ref: '#/components/schemas/ReleaseSource'
      required:
        - buildId
        - destination
        - source
      description: Request body for creating a release.
      type: object
    CreateReleaseResponse:
      properties:
        build:
          $ref: '#/components/schemas/ReleaseBuildRef'
        destination:
          $ref: '#/components/schemas/ReleaseDestinationRef'
        org:
          $ref: '#/components/schemas/OrgRef'
        source:
          $ref: '#/components/schemas/ReleaseSourceRef'
        surface:
          $ref: '#/components/schemas/SurfaceRef'
      required:
        - build
        - destination
        - org
        - source
        - surface
      description: Response body returned after creating a release.
      type: object
    ApiKeyAuthProblem:
      properties:
        code:
          enum:
            - AUTH_MISSING
            - AUTH_AK_INVALID
          type: string
        message:
          type: string
        service:
          enum:
            - collector
            - gateway
            - operation
            - intelligence
            - frontier-auth
            - frontier-drain
            - frontier-runtime
            - frontier-buildtime
            - api-tinybird
            - api-findings
            - api-updates
          type: string
      required:
        - code
      type: object
    ApiKeyScopeProblem:
      anyOf:
        - properties:
            code:
              enum:
                - AUTH_AK_SCOPE_MISMATCH
              type: string
            message:
              type: string
            service:
              enum:
                - collector
                - gateway
                - operation
                - intelligence
                - frontier-auth
                - frontier-drain
                - frontier-runtime
                - frontier-buildtime
                - api-tinybird
                - api-findings
                - api-updates
              type: string
          required:
            - code
          type: object
        - properties:
            code:
              enum:
                - NETWORK_ACCESS_DENIED
              type: string
            message:
              type: string
            service:
              enum:
                - collector
                - gateway
                - operation
                - intelligence
                - frontier-auth
                - frontier-drain
                - frontier-runtime
                - frontier-buildtime
                - api-tinybird
                - api-findings
                - api-updates
              type: string
          required:
            - code
          type: object
    ReleaseUnavailableProblem:
      anyOf:
        - properties:
            code:
              enum:
                - INGEST_INFRA_UNAVAILABLE
              type: string
            message:
              type: string
            service:
              enum:
                - collector
                - gateway
                - operation
                - intelligence
                - frontier-auth
                - frontier-drain
                - frontier-runtime
                - frontier-buildtime
                - api-tinybird
                - api-findings
                - api-updates
              type: string
          required:
            - code
          type: object
        - properties:
            code:
              enum:
                - NETWORK_ACCESS_UNAVAILABLE
              type: string
            message:
              type: string
            service:
              enum:
                - collector
                - gateway
                - operation
                - intelligence
                - frontier-auth
                - frontier-drain
                - frontier-runtime
                - frontier-buildtime
                - api-tinybird
                - api-findings
                - api-updates
              type: string
          required:
            - code
          type: object
    ReleaseDestination:
      oneOf:
        - $ref: '#/components/schemas/VercelReleaseDestination'
        - $ref: '#/components/schemas/CloudflareReleaseDestination'
        - $ref: '#/components/schemas/CliReleaseDestination'
        - type: string
          nullable: true
          enum:
            - null
      description: ReleaseDestination
    ReleaseSource:
      oneOf:
        - $ref: '#/components/schemas/GithubReleaseSource'
        - $ref: '#/components/schemas/CliReleaseSource'
      discriminator:
        propertyName: provider
        mapping:
          github:
            $ref: '#/components/schemas/GithubReleaseSource'
          cli:
            $ref: '#/components/schemas/CliReleaseSource'
      description: ReleaseSource
    ReleaseBuildRef:
      properties:
        hash:
          type: string
      required:
        - hash
      description: ReleaseBuildRef
      type: object
    ReleaseDestinationRef:
      properties:
        id:
          type: string
        slug:
          pattern: ^rel_.*$
          type: string
        environment:
          type: string
          nullable: true
      required:
        - id
        - slug
        - environment
      description: ReleaseDestinationRef
      type: object
    OrgRef:
      properties:
        id:
          type: string
        slug:
          type: string
      required:
        - id
        - slug
      description: OrgRef
      type: object
    ReleaseSourceRef:
      properties:
        id:
          type: string
      required:
        - id
      description: ReleaseSourceRef
      type: object
    SurfaceRef:
      properties:
        id:
          type: string
        slug:
          type: string
      required:
        - id
        - slug
      description: SurfaceRef
      type: object
    VercelReleaseDestination:
      properties:
        deploymentId:
          type: string
          nullable: true
        deploymentUrl:
          type: string
          nullable: true
        destinationReleaseId:
          type: string
          nullable: true
        environment:
          type: string
          nullable: true
        environmentName:
          type: string
          nullable: true
        environmentTarget:
          type: string
          nullable: true
        provider:
          enum:
            - vercel
          type: string
      required:
        - deploymentId
        - deploymentUrl
        - destinationReleaseId
        - environment
        - environmentName
        - environmentTarget
        - provider
      description: Release destination metadata for a Vercel deployment.
      type: object
    CloudflareReleaseDestination:
      properties:
        accountId:
          type: string
          nullable: true
        deploymentUrl:
          type: string
          nullable: true
        destinationReleaseId:
          type: string
          nullable: true
        environment:
          type: string
          nullable: true
        environmentName:
          type: string
          nullable: true
        environmentTarget:
          type: string
          nullable: true
        provider:
          enum:
            - cloudflare
          type: string
        scriptName:
          type: string
          nullable: true
        versionId:
          type: string
          nullable: true
      required:
        - accountId
        - deploymentUrl
        - destinationReleaseId
        - environment
        - environmentName
        - environmentTarget
        - provider
        - scriptName
        - versionId
      description: Release destination metadata for a Cloudflare Workers deployment.
      type: object
    CliReleaseDestination:
      properties:
        deploymentUrl:
          type: string
          nullable: true
        destinationReleaseId:
          type: string
          nullable: true
        environment:
          type: string
          nullable: true
        provider:
          enum:
            - cli
          type: string
      required:
        - deploymentUrl
        - destinationReleaseId
        - environment
        - provider
      description: Release destination metadata from the Interfere CLI.
      type: object
    GithubReleaseSource:
      properties:
        branch:
          type: string
        commitMessage:
          type: string
        commitSha:
          type: string
          nullable: true
        provider:
          enum:
            - github
          type: string
        runId:
          type: string
          nullable: true
        runUrl:
          type: string
          nullable: true
        runnerName:
          type: string
          nullable: true
      required:
        - branch
        - commitMessage
        - commitSha
        - provider
      description: Release source metadata coming from GitHub.
      type: object
    CliReleaseSource:
      properties:
        commitMessage:
          type: string
          nullable: true
        commitRef:
          type: string
          nullable: true
        commitSha:
          type: string
          nullable: true
        commitUrl:
          type: string
          nullable: true
        deploymentUrl:
          type: string
          nullable: true
        environment:
          type: string
          nullable: true
        provider:
          enum:
            - cli
          type: string
        runId:
          type: string
          nullable: true
        runUrl:
          type: string
          nullable: true
        runnerName:
          type: string
          nullable: true
      required:
        - commitMessage
        - commitRef
        - commitSha
        - commitUrl
        - provider
        - runId
        - runUrl
        - runnerName
      description: Release source metadata from the Interfere CLI.
      type: object
  securitySchemes:
    apiKey:
      description: >-
        Build-time secret key of the surface, as issued in the Interfere
        dashboard
      scheme: bearer
      type: http
    apiKeyHeader:
      description: >-
        Build-time secret key of the surface, unwrapped; for clients that cannot
        set an Authorization header
      in: header
      name: x-api-key
      type: apiKey

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.