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

# Get an Action Attempt

> Returns a specified [action attempt](/core-concepts/action-attempts).



## OpenAPI

````yaml /openapi.json get /action_attempts/get
openapi: 3.0.0
info:
  description: >-
    Programmable API to control locks, thermostats, noise sensors, cameras,
    access control systems, and other IoT devices.


    Prefer the official Seam SDKs over hand-written HTTP calls: they handle

    authentication, request serialization, pagination, and error handling for

    you. The official SDKs are listed in this document under

    `info.x-seam-sdks`.


    If you call the HTTP API directly, your query parameters must be

    serialized compatibly with the Seam API. There is no universal convention

    for serializing arrays, booleans, or nested objects in a query string, so

    use @seamapi/url-search-params-serializer, the language specific serializer
    module provided by each Seam SDK, or follow its specification:

    https://github.com/seamapi/url-search-params-serializer
  title: Seam Connect
  version: 1.0.0
  x-seam-query-serializer:
    description: >-
      Reference implementation and specification for query parameter
      serialization compatible with the Seam API.
    url: https://github.com/seamapi/url-search-params-serializer
  x-seam-sdks:
    - language: javascript
      url: https://github.com/seamapi/javascript
    - language: python
      url: https://github.com/seamapi/python
    - language: ruby
      url: https://github.com/seamapi/ruby
    - language: php
      url: https://github.com/seamapi/php
    - language: csharp
      url: https://github.com/seamapi/csharp
servers:
  - url: https://connect.getseam.com
security: []
tags:
  - description: access_codes
    name: /access_codes
  - description: acs
    name: /acs
  - description: action_attempts
    name: /action_attempts
  - description: client_sessions
    name: /client_sessions
  - description: connected_accounts
    name: /connected_accounts
  - description: connect_webviews
    name: /connect_webviews
  - description: devices
    name: /devices
  - description: events
    name: /events
  - description: health
    name: /health
  - description: locks
    name: /locks
  - description: networks
    name: /networks
  - description: noise_sensors
    name: /noise_sensors
  - description: phones
    name: /phones
  - description: thermostats
    name: /thermostats
  - description: user_identities
    name: /user_identities
  - description: webhooks
    name: /webhooks
  - description: workspaces
    name: /workspaces
paths:
  /action_attempts/get:
    get:
      tags:
        - /action_attempts
      summary: Get an Action Attempt
      description: Returns a specified [action attempt](/core-concepts/action-attempts).
      operationId: actionAttemptsGetGet
      parameters:
        - in: query
          name: action_attempt_id
          required: true
          schema:
            description: ID of the action attempt that you want to get.
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  action_attempt:
                    $ref: '#/components/schemas/action_attempt'
                required:
                  - action_attempt
                type: object
          description: OK
        '400':
          description: Bad Request
        '401':
          description: Unauthorized
      security:
        - client_session: []
        - pat_with_workspace: []
        - console_session_with_workspace: []
        - api_key: []
        - client_session_with_customer: []
        - client_session_with_customer_ro: []
        - support_read_only_token: []
      x-codeSamples:
        - lang: javascript
          label: Seam SDK
          source: |-
            await seam.actionAttempts.get({
              action_attempt_id: "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",
            });

            /*
            {
              "action_attempt_id": "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",
              "action_type": "UNLOCK_DOOR",
              "error": null,
              "result": {
                "was_confirmed_by_device": false
              },
              "status": "success"
            }
            */
        - lang: bash
          label: cURL
          source: >-
            curl --include --request POST
            "https://connect.getseam.com/action_attempts/get" \
              --header "Authorization: Bearer $SEAM_API_KEY" \
              --json @- <<EOF
            {
              "action_attempt_id": "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"
            }

            EOF


            # Response:

            # {

            #   "action_attempt": {

            #     "action_attempt_id": "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",

            #     "action_type": "UNLOCK_DOOR",

            #     "error": null,

            #     "result": {

            #       "was_confirmed_by_device": false

            #     },

            #     "status": "success"

            #   }

            # }
        - lang: python
          label: Seam SDK
          source: >-
            seam.action_attempts.get(action_attempt_id="5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f")


            # ActionAttempt(
                action_attempt_id="5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",
                action_type="UNLOCK_DOOR",
                error=None,
                result={"was_confirmed_by_device": false},
                status="success",
            )
        - lang: ruby
          label: Seam SDK
          source: >-
            seam.action_attempts.get(action_attempt_id:
            "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f")


            # => {
              "action_attempt_id" => "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",
              "action_type" => "UNLOCK_DOOR",
              "error" => nil,
              "result" => {
                was_confirmed_by_device: false,
              },
              "status" => "success",
            }
        - lang: php
          label: Seam SDK
          source: |-
            $seam->action_attempts->get(
                action_attempt_id: "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",
            );

            // [
                "action_attempt_id" => "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",
                "action_type" => "UNLOCK_DOOR",
                "error" => null,
                "result" => ["was_confirmed_by_device" => false],
                "status" => "success",
            ];
        - lang: bash
          label: Seam CLI
          source: >-
            seam action-attempts get --action_attempt_id
            "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f"


            # {

            #   "action_attempt_id": "5f4e3d2c-1b0a-9f8e-7d6c-5b4a3c2d1e0f",

            #   "action_type": "UNLOCK_DOOR",

            #   "error": null,

            #   "result": {

            #     "was_confirmed_by_device": false

            #   },

            #   "status": "success"

            # }
components:
  schemas:
    action_attempt:
      description: >-
        Represents an asynchronous action. Poll until status is success or
        error. See the [action_attempt object](/api/action_attempts/object).
      x-route-path: /action_attempts
      type: object
      properties:
        action_attempt_id:
          type: string
          format: uuid
          description: ID of the action attempt.
        action_type:
          type: string
          description: Type of action being tracked.
        status:
          type: string
          enum:
            - pending
            - success
            - error
          description: Current status of the action.
        result:
          type: object
          nullable: true
          description: Result payload on success.
        error:
          type: object
          nullable: true
          description: Error details on failure.
          properties:
            type:
              type: string
            message:
              type: string
      required:
        - action_attempt_id
        - action_type
        - status
  securitySchemes:
    client_session:
      bearerFormat: Client Session Token
      scheme: bearer
      type: http
    pat_with_workspace:
      bearerFormat: API Token
      scheme: bearer
      type: http
    console_session_with_workspace:
      bearerFormat: Console Session Token
      scheme: bearer
      type: http
    api_key:
      bearerFormat: API Key
      scheme: bearer
      type: http
    client_session_with_customer:
      bearerFormat: Customer Client Session Token
      scheme: bearer
      type: http
    client_session_with_customer_ro:
      bearerFormat: Customer Client Session Token (Read-Only)
      scheme: bearer
      type: http
    support_read_only_token:
      bearerFormat: Support Read-Only Token
      scheme: bearer
      type: http

````