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

# Read a correlated push test



## OpenAPI

````yaml /openapi.json get /api/v1/campaigns/{id}/push/tests/{requestId}
openapi: 3.1.0
info:
  title: Galinum API
  version: '2026-08-22'
  description: >-
    Galinum's HTTP API. SDK endpoints power the browser SDK. Management
    endpoints use a project secret. The scoped hosted-agent credential writes
    only through lease-fenced evaluation and GitHub source endpoints.
    Managed-only operations return 501 on the self-host server.
servers:
  - url: https://galinum.com
    description: Production
security:
  - publishableKey: []
paths:
  /api/v1/campaigns/{id}/push/tests/{requestId}:
    get:
      tags:
        - Push
      summary: Read a correlated push test
      operationId: getPushTest
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 128
        - name: requestId
          in: path
          required: true
          schema:
            type: string
            minLength: 1
            maxLength: 128
      responses:
        '200':
          description: Original test request and outcomes
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                required:
                  - requestId
                  - installationId
                  - targetIds
                  - attempts
                  - outcomes
                properties:
                  requestId:
                    type: string
                  installationId:
                    type: string
                  targetIds:
                    type: array
                    items:
                      type: string
                  attempts:
                    type: array
                    items:
                      $ref: '#/components/schemas/PushAttempt'
                  outcomes:
                    type: array
                    items:
                      $ref: '#/components/schemas/PushOutcome'
        '401':
          description: Unauthorized
        '404':
          description: Test not found
      security:
        - secretKey: []
components:
  schemas:
    PushAttempt:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 128
        campaignId:
          type: string
          minLength: 1
          maxLength: 128
        targetId:
          type: string
          minLength: 1
          maxLength: 128
        ordinal:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        startedAt:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        slotId:
          type: string
          minLength: 1
          maxLength: 256
        slotRevision:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        validUntil:
          type: integer
          minimum: 0
          maximum: 9007199254740991
      required:
        - id
        - campaignId
        - targetId
        - ordinal
        - startedAt
        - slotId
        - slotRevision
        - validUntil
      additionalProperties: false
    PushOutcome:
      type: object
      properties:
        id:
          type: string
          minLength: 1
          maxLength: 128
        campaignId:
          type: string
          minLength: 1
          maxLength: 128
        attemptId:
          type: string
          minLength: 1
          maxLength: 128
        targetId:
          type: string
          minLength: 1
          maxLength: 128
        observedAt:
          type: integer
          minimum: 0
          maximum: 9007199254740991
        result:
          $ref: '#/components/schemas/PushProviderOutcome'
        slotId:
          type: string
          minLength: 1
          maxLength: 256
        submission:
          type: string
          enum:
            - none
            - confirmed
            - possible
      required:
        - id
        - campaignId
        - attemptId
        - targetId
        - observedAt
        - result
        - slotId
        - submission
      additionalProperties: false
    PushProviderOutcome:
      type: object
      properties:
        kind:
          type: string
          enum:
            - accepted
            - rejected
            - unknown
            - blocked
        providerId:
          type: string
          minLength: 1
          maxLength: 128
        code:
          type: string
          minLength: 1
          maxLength: 128
        retryAfterMs:
          type: integer
          minimum: 0
          maximum: 9007199254740991
      required:
        - kind
      additionalProperties: false
  securitySchemes:
    publishableKey:
      type: http
      scheme: bearer
      description: >-
        Your project's publishable key (`pk_pub_…`). Safe to expose in the
        browser — it identifies the project and is rate-limited, not secret.
    secretKey:
      type: http
      scheme: bearer
      description: >-
        Your project's secret key (`pk_…`, without the `pub` segment).
        Server-side only — never ship it to a browser. Get it from Settings →
        Projects in the dashboard.

````

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