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

# Read order status

> Returns the lifecycle state of a previously placed order. Consumers `POST /v4/account/orders/create`, then poll this endpoint every 1–2 seconds with the returned `order_id` until `status === "processed"`. At that point `data.subaccount` is populated with the same shape `/v4/account/subaccounts` emits, so the caller can drop it straight into per-product endpoints like `/v4/account/{AccountID}/datacenter_shared/proxy-list`.

Gated on `account:api_ordering:read`. The order's email must match the authenticated identity — mismatches return 404 (not 403) so existence isn't leaked.



## OpenAPI

````yaml /openapi-account.json get /v4/account/orders/{orderId}/status
openapi: 3.0.3
info:
  title: ProxyScrape Account API
  description: Account API — authenticate with the api-token header.
  version: 1.0.0
servers:
  - url: https://api.proxyscrape.com
    description: ProxyScrape API
security:
  - apiToken: []
tags:
  - name: API key management
    description: Create, list, update, regenerate, and revoke API keys
  - name: Subaccounts
    description: List subaccounts and manage preferences
  - name: Datacenter
    description: 'Datacenter shared and dedicated: overview, proxy list, usage, whitelist'
  - name: Residential
    description: 'Residential (bandwidth): overview, subusers, usage'
  - name: Residential unlimited
    description: 'Residential unlimited: overview, statistics, password'
  - name: SERP API
    description: 'SERP API: overview, subusers, search'
  - name: API ordering
    description: >-
      Place wallet-paid orders and read the wallet balance via the headless API
      ordering surface.
paths:
  /v4/account/orders/{orderId}/status:
    get:
      tags:
        - API ordering
      summary: Read order status
      description: >-
        Returns the lifecycle state of a previously placed order. Consumers
        `POST /v4/account/orders/create`, then poll this endpoint every 1–2
        seconds with the returned `order_id` until `status === "processed"`. At
        that point `data.subaccount` is populated with the same shape
        `/v4/account/subaccounts` emits, so the caller can drop it straight into
        per-product endpoints like
        `/v4/account/{AccountID}/datacenter_shared/proxy-list`.


        Gated on `account:api_ordering:read`. The order's email must match the
        authenticated identity — mismatches return 404 (not 403) so existence
        isn't leaked.
      operationId: getApiOrderStatus
      parameters:
        - name: orderId
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Order ID returned by `POST /v4/account/orders/create`.
      responses:
        '200':
          description: >-
            Order status. `subaccount` is `null` while the order is still being
            processed; once `status === 'processed'` the field is populated with
            the new subaccount's `AccountID`, `AccountType`, `label`, and
            `time_added`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    properties:
                      order_id:
                        type: string
                        format: uuid
                        example: e905531c-a2cb-42a4-8df1-182040f369ae
                      status:
                        type: string
                        enum:
                          - paid
                          - processed
                          - blocked
                          - failed
                          - refunded
                        example: processed
                        description: >-
                          Lifecycle state. `paid` = wallet debited, awaiting
                          processor. `processed` = subaccount created. `blocked`
                          / `failed` = rejected by the fraud / pricing guards
                          (see `block_reason`).
                      type:
                        type: string
                        example: new_datacenter_shared
                      created_at:
                        type: integer
                        nullable: true
                        example: 1781256420
                        description: Unix timestamp.
                      updated_at:
                        type: integer
                        nullable: true
                        example: 1781256827
                        description: Unix timestamp.
                      price:
                        type: string
                        nullable: true
                        example: '26.10'
                      currency:
                        type: string
                        example: USD
                      paid_with_credit:
                        type: boolean
                        example: true
                      block_reason:
                        type: string
                        nullable: true
                        example: null
                        description: Only set when `status` is `blocked` or `failed`.
                      subaccount:
                        nullable: true
                        type: object
                        description: >-
                          Populated once the order processor finishes. Same
                          shape as `/v4/account/subaccounts` entries.
                        properties:
                          AccountID:
                            type: string
                            format: uuid
                            example: 711d0eff-db25-439e-83dd-e8b81c38cb70
                          AccountType:
                            type: string
                            example: datacenter_shared
                          label:
                            type: string
                            example: Account 8 (Premium)
                          time_added:
                            type: integer
                            nullable: true
                            example: 1781256827
                example:
                  success: true
                  data:
                    order_id: e905531c-a2cb-42a4-8df1-182040f369ae
                    status: processed
                    type: new_datacenter_shared
                    created_at: 1781256420
                    updated_at: 1781256827
                    price: '26.10'
                    currency: USD
                    paid_with_credit: true
                    subaccount:
                      AccountID: 711d0eff-db25-439e-83dd-e8b81c38cb70
                      AccountType: datacenter_shared
                      label: Account 8 (Premium)
                      time_added: 1781256827
        '401':
          description: Missing or invalid credentials.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: >-
                      Could not determine account email from authenticated
                      identity.
        '403':
          description: >-
            Status read is not enabled for this account. Contact support to
            request the `account:api_ordering:read` grant.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: >-
                      Reading order status via the API-ordering endpoint is not
                      enabled for this account. Contact support to request
                      access.
        '404':
          description: Order not found, or it belongs to a different account.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Order not found.
      security:
        - apiToken: []
components:
  securitySchemes:
    apiToken:
      type: apiKey
      in: header
      name: api-token
      description: >-
        API key. Create and manage keys at /v4/account/api-keys or in the
        dashboard.

````