Get Object

Use GetObject to retrieve one Object when you already know its ID. This is the direct lookup path; use Search when you need to discover Objects by filters.

package main

import (
	"connectrpc.com/connect"
	"context"
	"log"

	wdmsdk "github.com/raft-tech/raft-wdm-sdk-go"
	svc "github.com/raft-tech/raft-wdm-sdk-go/gen/raft/wdm/v1/service"
)

func main() {
	cfg, err := wdmsdk.LoadConfig()
	if err != nil {
		log.Fatal(err)
	}

	client, err := wdmsdk.NewFromConfig(cfg)
	if err != nil {
		log.Fatal(err)
	}

	resp, err := client.ObjectService().GetObject(context.Background(), connect.NewRequest(&svc.GetObjectRequest{
		ObjectId: "link16-track-47210",
	}))
	if err != nil {
		log.Fatal(err)
	}

	obj := resp.Msg.GetObject()
	log.Printf("object: %s %s", obj.GetId(), obj.GetName())
}
import com.raft.wdm.Wdm;
import com.raft.wdm.raft.wdm.v1.service.GetObjectRequest;
import com.raft.wdm.v1.WdmV1Client;

public final class GetObjectExample {
  public static void main(String[] args) {
    var options = Wdm.toOptions(Wdm.loadConfig(null, null));

    try (var client = WdmV1Client.create(options)) {
      var req = GetObjectRequest.newBuilder()
          .setObjectId("link16-track-47210")
          .build();

      client.getObjectServiceBlocking()
          .getObjectBlocking(req)
          .execute();
    }
  }
}
import asyncio

from raft.wdm.v1.service import object_service_pb2

import raft_wdm_sdk


async def main() -> None:
    async with raft_wdm_sdk.Client.from_config(raft_wdm_sdk.load_config()) as client:
        response = await client.object_service.get_object(
            object_service_pb2.GetObjectRequest(
                object_id="link16-track-47210",
            ),
        )

        print(f"object: {response.object.id} {response.object.name}")


asyncio.run(main())
import { create } from "@bufbuild/protobuf";
import { createClient, fromNodeConfig, loadConfig } from "@raft-tech/raft-wdm-sdk-typescript";
import { GetObjectRequestSchema } from "@raft-tech/raft-wdm-sdk-typescript/gen/raft/wdm/v1/service/object_service_pb.js";

const client = createClient(...fromNodeConfig(loadConfig()));

const response = await client.objectService.getObject(
  create(GetObjectRequestSchema, {
    objectId: "link16-track-47210",
  }),
);

console.log(`object: ${response.object?.id} ${response.object?.name}`);
curl -X GET "${RDP_SERVER_URL}/api/v1/wdm/objects/link16-track-47210" \
  -H "X-API-KEY: ${RDP_API_KEY}"

Request

Provide objectId, the ID of the Object to retrieve. The response returns the matching Object. If you need to find an ID first, use Search with the fields you know.

The full contract is defined in the WDM protobuf spec. In the WDM distribution, see raft/wdm/v1/service/object_service.proto for GetObjectRequest and GetObjectResponse.