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

# Get query by dedup ID

> Retrieve an Atlantic STARK proof query using your custom deduplication identifier

## Query Deduplication

Atlantic supports query deduplication through the `dedupId` parameter. When submitting a query, you can provide a custom `dedupId` to:

* **Avoid duplicate processing** of identical queries
* **Track and retrieve queries** using your own identifier
* **Reference queries** across your application consistently

This endpoint allows you to retrieve a query using your custom `dedupId` and `projectId`, which is particularly useful when you want to:

* Ensure idempotent query submissions
* Retrieve query results using your own tracking identifiers
* Check if a query with a specific dedup ID already exists before submitting a new one

## Usage

Provide both the `dedupId` and `projectId` as query parameters to retrieve the Atlantic query details.


## OpenAPI

````yaml get /atlantic-query-by-dedup-id
openapi: 3.0.3
info:
  title: Atlantic API
  version: 0.1.0
servers:
  - url: https://atlantic.api.herodotus.cloud
    description: Production
  - url: https://stg.atlantic.api.herodotus.cloud
    description: Staging
security: []
paths:
  /atlantic-query-by-dedup-id:
    get:
      tags:
        - Atlantic Query
      summary: Get Atlantic Query by Dedup ID
      description: >-
        Get the details of an Atlantic Query by its dedup ID. Provide your API
        key for authorization.
      parameters:
        - schema:
            type: string
          in: query
          name: dedupId
          required: true
        - schema:
            type: string
          in: query
          name: apiKey
          required: false
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  atlanticQuery:
                    type: object
                    properties:
                      id:
                        type: string
                      externalId:
                        type: string
                        nullable: true
                      dedupId:
                        type: string
                        nullable: true
                      transactionId:
                        type: string
                        nullable: true
                      status:
                        type: string
                        enum:
                          - RECEIVED
                          - DONE
                          - FAILED
                          - IN_PROGRESS
                      step:
                        type: string
                        nullable: true
                      programHash:
                        type: string
                        nullable: true
                      integrityFactHash:
                        type: string
                        nullable: true
                      sharpFactHash:
                        type: string
                        nullable: true
                      layout:
                        type: string
                        nullable: true
                      isFactMocked:
                        type: boolean
                        nullable: true
                      isProofMocked:
                        type: boolean
                        nullable: true
                      chain:
                        type: string
                        enum:
                          - L1
                          - L2
                          - APE_CHAIN
                          - OFFCHAIN
                          - WORLD_CHAIN
                        nullable: true
                      jobSize:
                        type: string
                        enum:
                          - XS
                          - S
                          - M
                          - L
                        nullable: true
                      declaredJobSize:
                        type: string
                        enum:
                          - XS
                          - S
                          - M
                          - L
                        nullable: true
                      cairoVm:
                        type: string
                        enum:
                          - rust
                          - python
                      cairoVersion:
                        type: string
                        enum:
                          - cairo0
                          - cairo1
                      steps:
                        type: array
                        items:
                          type: string
                      result:
                        type: string
                        enum:
                          - TRACE_GENERATION
                          - PROOF_GENERATION
                          - PROOF_VERIFICATION_ON_L1
                          - PROOF_VERIFICATION_ON_L2
                          - PROOF_VERIFICATION_ON_APE_CHAIN
                          - PROOF_VERIFICATION_ON_WORLD_CHAIN
                        nullable: true
                      network:
                        type: string
                        enum:
                          - MAINNET
                          - TESTNET
                        nullable: true
                      hints:
                        type: string
                        enum:
                          - herodotus_evm_grower
                          - herodotus_sn_grower
                        nullable: true
                      sharpProver:
                        type: string
                        enum:
                          - stone
                          - stwo
                        nullable: true
                      errorReason:
                        type: string
                        nullable: true
                      submittedByClient:
                        type: string
                        nullable: true
                      projectId:
                        type: string
                        nullable: true
                      submittedByWallet:
                        type: string
                        maxLength: 64
                        nullable: true
                      bucketId:
                        type: string
                        nullable: true
                      bucketJobIndex:
                        type: integer
                        minimum: -2147483648
                        maximum: 2147483647
                        nullable: true
                      customerName:
                        type: string
                        nullable: true
                      isJobSizeValid:
                        type: boolean
                      retryCount:
                        type: integer
                        minimum: -2147483648
                        maximum: 2147483647
                      createdAt:
                        type: string
                        format: date-time
                      completedAt:
                        type: string
                        format: date-time
                        nullable: true
                    required:
                      - id
                      - externalId
                      - dedupId
                      - transactionId
                      - status
                      - step
                      - programHash
                      - integrityFactHash
                      - sharpFactHash
                      - layout
                      - isFactMocked
                      - isProofMocked
                      - chain
                      - jobSize
                      - declaredJobSize
                      - cairoVm
                      - cairoVersion
                      - steps
                      - result
                      - network
                      - hints
                      - sharpProver
                      - errorReason
                      - submittedByClient
                      - projectId
                      - submittedByWallet
                      - bucketId
                      - bucketJobIndex
                      - customerName
                      - isJobSizeValid
                      - retryCount
                      - createdAt
                      - completedAt
                    additionalProperties: false
                required:
                  - atlanticQuery
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - MISSING_API_KEY
                required:
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    enum:
                      - ATLANTIC_QUERY_NOT_FOUND
                required:
                  - message
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - INTERNAL_SERVER_ERROR
                      - ZOD_PARSING_ERROR
                required:
                  - error
                additionalProperties: false
      security:
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api-key

````