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

# Create an idempotent persisted partner claim action.



## OpenAPI

````yaml /mintlify/openapi/signalite.json post /api/v1/partner/actions/claim
openapi: 3.1.0
info:
  title: Signalite sHLP Partner API
  version: 1.0.0
  description: >-
    Read-only partner API for Signalite sHLP product state, history, positions,
    activity, and redemption lifecycle data.
servers:
  - url: https://portal.signalite.ai
security: []
tags:
  - name: Product
  - name: Account
  - name: Operations
  - name: Partner Actions
paths:
  /api/v1/partner/actions/claim:
    post:
      tags:
        - Partner Actions
      summary: Create an idempotent persisted partner claim action.
      operationId: createPartnerClaimAction
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClaimRedeemRequest'
            examples:
              default:
                value:
                  id: '1'
                  account: '0xB4a1168b8Ea05aF1536aC990F4940e50E0Be17f1'
                  receiver: '0xB4a1168b8Ea05aF1536aC990F4940e50E0Be17f1'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - data
                  - meta
                properties:
                  success:
                    type: boolean
                    const: true
                  data:
                    $ref: '#/components/schemas/PartnerAction'
                  meta:
                    type: object
                    required:
                      - updatedAt
                    properties:
                      updatedAt:
                        type: string
                        format: date-time
                    additionalProperties: true
        '400':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - error
                properties:
                  success:
                    type: boolean
                    const: false
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        $ref: '#/components/schemas/ApiErrorCode'
                      message:
                        type: string
        '401':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - error
                properties:
                  success:
                    type: boolean
                    const: false
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        $ref: '#/components/schemas/ApiErrorCode'
                      message:
                        type: string
        '404':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - error
                properties:
                  success:
                    type: boolean
                    const: false
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        $ref: '#/components/schemas/ApiErrorCode'
                      message:
                        type: string
        '409':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - error
                properties:
                  success:
                    type: boolean
                    const: false
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        $ref: '#/components/schemas/ApiErrorCode'
                      message:
                        type: string
        '503':
          description: OK
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - error
                properties:
                  success:
                    type: boolean
                    const: false
                  error:
                    type: object
                    required:
                      - code
                      - message
                    properties:
                      code:
                        $ref: '#/components/schemas/ApiErrorCode'
                      message:
                        type: string
      security:
        - PartnerApiKey: []
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: true
      schema:
        type: string
        minLength: 8
        maxLength: 160
  schemas:
    ClaimRedeemRequest:
      type: object
      required:
        - id
        - account
        - receiver
      properties:
        id:
          type: string
          example: '1'
        account:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
        receiver:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
        receiveChainId:
          type: integer
          example: 8453
          description: >-
            Desired final USDC receive chain. Defaults to 999. Non-999 chains
            use a Relay deposit address as the claim receiver.
    PartnerAction:
      type: object
      required:
        - id
        - action
        - status
        - wallet
        - receiver
        - redeemId
        - txHash
        - request
        - quote
        - steps
        - lastError
        - indexingPending
        - indexedAt
        - receiptBlockNumber
        - idempotentReplay
        - metadata
        - contractVersion
        - addresses
        - timestamps
      properties:
        id:
          type: string
          format: uuid
        action:
          type: string
          enum:
            - deposit
            - redeem_instant
            - redeem_async
            - claim_redeem
            - cancel_redeem
            - fulfill_redeem
        status:
          $ref: '#/components/schemas/PartnerActionStatus'
        wallet:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
        receiver:
          type:
            - string
            - 'null'
          pattern: ^0x[a-fA-F0-9]{40}$
        redeemId:
          type:
            - string
            - 'null'
        txHash:
          type:
            - string
            - 'null'
        request:
          type: object
          additionalProperties: true
        quote:
          $ref: '#/components/schemas/ActionQuote'
        steps:
          type: array
          items:
            $ref: '#/components/schemas/PartnerActionStep'
        lastError:
          oneOf:
            - type: object
              additionalProperties: true
            - type: 'null'
        indexingPending:
          type: boolean
          description: >-
            True when the final tx is confirmed but receipt-level event indexing
            has not completed yet.
        indexedAt:
          type:
            - string
            - 'null'
          format: date-time
          description: >-
            Set when Signalite decoded the final tx receipt into canonical
            activity/redeem state.
        receiptBlockNumber:
          type:
            - string
            - 'null'
          description: >-
            HyperEVM block number for the submitted final action transaction
            receipt.
        idempotentReplay:
          type: boolean
          description: >-
            True when the same partner and Idempotency-Key returned an existing
            action.
        metadata:
          type: object
          required:
            - contractVersion
            - chainId
            - addresses
          properties:
            contractVersion:
              type: string
              enum:
                - shlp-vault-v3
                - shlp-pipe-v2
              example: shlp-pipe-v2
            chainId:
              type: integer
              example: 999
            addresses:
              type: object
              required:
                - share
                - core
                - depositPipe
                - redemptionPipe
                - asset
              properties:
                share:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{40}$
                core:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{40}$
                depositPipe:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{40}$
                redemptionPipe:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{40}$
                asset:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{40}$
            funding:
              type: object
              required:
                - requiredBeforeAction
                - destination
                - submitRule
              properties:
                requiredBeforeAction:
                  type: boolean
                  description: >-
                    True for deposit actions. The partner must fund HyperEVM
                    USDC before creating/executing the Signalite action.
                destination:
                  $ref: '#/components/schemas/FundingNetwork'
                submitRule:
                  type: string
        contractVersion:
          type: string
          enum:
            - shlp-vault-v3
            - shlp-pipe-v2
          example: shlp-pipe-v2
        addresses:
          type: object
          required:
            - share
            - core
            - depositPipe
            - redemptionPipe
            - asset
          properties:
            share:
              type: string
              pattern: ^0x[a-fA-F0-9]{40}$
            core:
              type: string
              pattern: ^0x[a-fA-F0-9]{40}$
            depositPipe:
              type: string
              pattern: ^0x[a-fA-F0-9]{40}$
            redemptionPipe:
              type: string
              pattern: ^0x[a-fA-F0-9]{40}$
            asset:
              type: string
              pattern: ^0x[a-fA-F0-9]{40}$
        timestamps:
          type: object
          required:
            - createdAt
            - updatedAt
          properties:
            createdAt:
              type: string
              format: date-time
            updatedAt:
              type: string
              format: date-time
    ApiErrorCode:
      type: string
      enum:
        - ACTION_BUILD_FAILED
        - ACTION_QUOTE_FAILED
        - BAD_ACTION_REQUEST
        - BAD_REQUEST
        - BAD_WALLET
        - BUFFER_SHORT
        - CAP_EXCEEDED
        - DEPOSITS_NOT_READY
        - DEPOSITS_PAUSED
        - BAD_IDEMPOTENCY_KEY
        - HLP_UPSTREAM_FAILED
        - IDEMPOTENCY_CONFLICT
        - IDEMPOTENCY_KEY_REQUIRED
        - INDEXER_UNAVAILABLE
        - INSUFFICIENT_SHARES
        - INSTANT_REDEEM_NO_SLIPPAGE
        - OPERATIONS_NOT_READY
        - MIN_DEPOSIT_NOT_MET
        - PARTNER_ACTION_FAILED
        - PARTNER_ACTION_NOT_FOUND
        - PARTNER_UNAUTHORIZED
        - PARTNER_WEBHOOK_FAILED
        - PARTNER_WEBHOOK_RETRY_FAILED
        - POSITION_READ_FAILED
        - REDEEM_NOT_CANCELABLE
        - REDEEM_NOT_CLAIMABLE
        - REDEEM_NOT_FOUND
        - REDEEM_NOT_FULFILLABLE
        - REDEEM_NOT_OWNER
        - SLIPPAGE_EXCEEDED
        - VAULT_READ_FAILED
    PartnerActionStatus:
      type: string
      enum:
        - created
        - requires_signature
        - submitted
        - confirmed
        - indexed
        - waiting_for_keeper
        - claimable
        - claimed
        - cancelled
        - failed
    ActionQuote:
      type: object
      required:
        - action
        - tx
      properties:
        action:
          type: string
        account:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
        receiver:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
        metadata:
          type: object
          additionalProperties: true
          properties:
            withdrawal:
              $ref: '#/components/schemas/WithdrawalMetadata'
        quoteBlock:
          type: string
          description: Block number used for live quote reads.
        requirements:
          type: array
          items:
            $ref: '#/components/schemas/TxRequirement'
        expected:
          oneOf:
            - $ref: '#/components/schemas/DepositQuoteExpected'
            - $ref: '#/components/schemas/RedeemQuoteExpected'
            - $ref: '#/components/schemas/ClaimRedeemExpected'
            - $ref: '#/components/schemas/CancelRedeemExpected'
            - $ref: '#/components/schemas/FulfillRedeemExpected'
        slippageBps:
          type: integer
        tx:
          $ref: '#/components/schemas/TxRequest'
        expiresAt:
          type: string
          format: date-time
    PartnerActionStep:
      type: object
      required:
        - id
        - kind
        - status
        - title
        - refreshQuoteAfterConfirm
      properties:
        id:
          type: string
          example: approval-1
        kind:
          type: string
          enum:
            - approval
            - deposit
            - redeem_instant
            - redeem_async
            - claim_redeem
            - cancel_redeem
            - fulfill_redeem
        status:
          type: string
          enum:
            - requires_signature
            - submitted
            - confirmed
            - failed
        title:
          type: string
          example: Approve USDC
        tx:
          $ref: '#/components/schemas/TxRequest'
        refreshQuoteAfterConfirm:
          type: boolean
          description: >-
            True for approval steps. Partners should refresh quote/action after
            the approval receipt.
    FundingNetwork:
      type: object
      required:
        - vm
        - chainId
        - chainName
        - token
      properties:
        vm:
          type: string
          enum:
            - evm
            - svm
        chainId:
          type: integer
        chainName:
          type: string
        token:
          type: object
          required:
            - symbol
            - decimals
            - address
          properties:
            symbol:
              type: string
              example: USDC
            decimals:
              type: integer
              example: 6
            address:
              type: string
        relayWalletAdapter:
          type: string
          description: >-
            Recommended Relay wallet adapter family for executing funding from
            this source.
    WithdrawalMetadata:
      type: object
      required:
        - requestedDestination
        - settlement
        - postSettlementBridge
      properties:
        requestedDestination:
          type: object
          required:
            - chainId
            - chainName
            - usdcAddress
            - enabled
          properties:
            chainId:
              type: integer
              example: 8453
            chainName:
              type: string
              example: Base
            usdcAddress:
              type: string
              pattern: ^0x[a-fA-F0-9]{40}$
            enabled:
              type: boolean
        settlement:
          type: object
          required:
            - chainId
            - chainName
            - usdcAddress
            - receiver
          properties:
            chainId:
              type: integer
              example: 999
            chainName:
              type: string
              example: HyperEVM
            usdcAddress:
              type: string
              pattern: ^0x[a-fA-F0-9]{40}$
            receiver:
              type: string
              pattern: ^0x[a-fA-F0-9]{40}$
        postSettlementBridge:
          type: object
          required:
            - required
          properties:
            required:
              type: boolean
            provider:
              type: string
              example: relay
            from:
              type: object
              properties:
                chainId:
                  type: integer
                  example: 999
                chainName:
                  type: string
                  example: HyperEVM
                usdcAddress:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{40}$
            to:
              type: object
              properties:
                chainId:
                  type: integer
                  example: 8453
                chainName:
                  type: string
                  example: Base
                usdcAddress:
                  type: string
                  pattern: ^0x[a-fA-F0-9]{40}$
            recipient:
              type: string
              pattern: ^0x[a-fA-F0-9]{40}$
            amountSource:
              type: string
              enum:
                - quote.expected.assets
                - claim.expected.assets
                - fulfilledRedeem.assets
            mode:
              type: string
              enum:
                - deposit-address
                - post-claim-quote
            relay:
              oneOf:
                - type: 'null'
                - type: object
                  required:
                    - provider
                    - requestId
                    - depositAddress
                    - statusUrl
                    - originChainId
                    - destinationChainId
                    - amountRaw
                    - recipient
                    - refundTo
                  properties:
                    provider:
                      type: string
                      example: relay
                    requestId:
                      type: string
                      example: >-
                        0x17e6a5970c7ce45246e57e2cec28e65db34736c9850bdfd955147fb18a087fea
                    depositAddress:
                      type: string
                      pattern: ^0x[a-fA-F0-9]{40}$
                    statusUrl:
                      type: string
                      format: uri
                    originChainId:
                      type: integer
                      example: 999
                    destinationChainId:
                      type: integer
                      example: 8453
                    originCurrency:
                      type: string
                      pattern: ^0x[a-fA-F0-9]{40}$
                    destinationCurrency:
                      type: string
                      pattern: ^0x[a-fA-F0-9]{40}$
                    amountRaw:
                      type: string
                      example: '1000000'
                    recipient:
                      type: string
                      pattern: ^0x[a-fA-F0-9]{40}$
                    refundTo:
                      type: string
                      pattern: ^0x[a-fA-F0-9]{40}$
            submitRule:
              type: string
    TxRequirement:
      type: object
      required:
        - type
        - token
        - spender
        - amount
        - tx
      properties:
        type:
          type: string
          enum:
            - approval
        token:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
        spender:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
        amount:
          $ref: '#/components/schemas/Amount'
        tx:
          $ref: '#/components/schemas/TxRequest'
    DepositQuoteExpected:
      type: object
      required:
        - assets
        - shares
        - minShares
      properties:
        assets:
          $ref: '#/components/schemas/Amount'
        shares:
          $ref: '#/components/schemas/Amount'
        minShares:
          $ref: '#/components/schemas/Amount'
    RedeemQuoteExpected:
      type: object
      required:
        - shares
        - assets
      properties:
        shares:
          $ref: '#/components/schemas/Amount'
        assets:
          $ref: '#/components/schemas/Amount'
        minAssetsOut:
          $ref: '#/components/schemas/Amount'
    ClaimRedeemExpected:
      type: object
      required:
        - assets
      properties:
        assets:
          $ref: '#/components/schemas/Amount'
    CancelRedeemExpected:
      type: object
      required:
        - shares
      properties:
        shares:
          $ref: '#/components/schemas/Amount'
    FulfillRedeemExpected:
      type: object
      required:
        - shares
        - assets
        - minAssetsOut
      properties:
        shares:
          $ref: '#/components/schemas/Amount'
        assets:
          $ref: '#/components/schemas/Amount'
        minAssetsOut:
          $ref: '#/components/schemas/Amount'
    TxRequest:
      type: object
      required:
        - to
        - data
        - value
        - chainId
      properties:
        to:
          type: string
          pattern: ^0x[a-fA-F0-9]{40}$
        data:
          type: string
          pattern: ^0x[a-fA-F0-9]*$
        value:
          type: string
          example: '0'
        chainId:
          type: integer
          example: 999
    Amount:
      type: object
      required:
        - raw
        - decimals
        - formatted
      properties:
        raw:
          type: string
          description: Integer base units. Use for accounting.
          example: '1000000'
        decimals:
          type: integer
          example: 6
        formatted:
          type: string
          description: Display helper only.
          example: '1.000000'
  securitySchemes:
    PartnerApiKey:
      type: http
      scheme: bearer
      description: Partner API key. Keep server-side; do not expose in public clients.

````