Goldmine
Contracts

List contracts in a workspace

POST
/contracts.v1.Contracts/ListContracts

Returns a paged list of full contracts in the workspace, ordered by the requested sort field and direction. Filtering by contract type and by status, and sorting, are all applied server side, so the client passes the active tab and sort here rather than filtering a fetched page. Each page carries hydrated entities, so no follow-up GetContracts is needed.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://loading/contracts.v1.Contracts/ListContracts" \  -H "Content-Type: application/json" \  -d '{    "limit": 50,    "cursor": "",    "type": "CONTRACT_TYPE_BUYING",    "status": [      "CONTRACT_STATUS_ACTIVE",      "CONTRACT_STATUS_BUILDING"    ],    "sortField": "CONTRACT_SORT_FIELD_NAME"  }'

{
  "contracts": [
    {
      "id": "EBESExQVFhcYGRobHB0eHw==",
      "workspaceId": "AAECAwQFBgcICQoLDA0ODw==",
      "name": "AK-47 under $50",
      "status": "CONTRACT_STATUS_ACTIVE",
      "type": "CONTRACT_TYPE_BUYING",
      "version": "3"
    }
  ],
  "nextCursor": ""
}

{
  "code": "invalid_argument",
  "message": "The request was malformed, such as a missing required field or an unparseable cursor."
}
{
  "code": "unauthenticated",
  "message": "The request lacks a valid API key in the Authorization header."
}
{
  "code": "permission_denied",
  "message": "The API key is not allowed to perform this action on this workspace."
}
{
  "code": "resource_exhausted",
  "message": "The request was rate limited. Slow down and retry later."
}
{
  "code": "internal",
  "message": "An internal server error occurred."
}