Skip to main content
POST
/
context
/
diagram
/
detect
Python SDK
from cognite.client.data_classes.contextualization import FileReference
detect_job = client.diagrams.detect(
    entities=[
        {"userDefinedField": "21PT1017","ignoredField": "AA11"},
        {"userDefinedField": "21PT1018"}],
    search_field="userDefinedField",
    partial_match=True,
    min_tokens=2,
    file_ids=[101],
    file_external_ids=["Test1"],
    file_references=[
        FileReference(id=20, first_page=1, last_page=10),
        FileReference(external_id="ext_20", first_page=11, last_page=20)
    ])
result = detect_job.result
print(result)

from cognite.client.data_classes.contextualization import ConnectionFlags, DiagramDetectConfig
config = DiagramDetectConfig(
    remove_leading_zeros=True,
    connection_flags=ConnectionFlags(
        no_text_inbetween=True,
        natural_reading_order=True,
    )
)
job = client.diagrams.detect(entities=[{"name": "A1"}], file_id=123, config=config)
{
  "items": [
    {
      "fileId": 1234,
      "pageRange": {
        "begin": 51,
        "end": 100
      }
    }
  ],
  "jobId": 123,
  "status": "Queued",
  "createdTime": 1730204346000,
  "startTime": 1730204346000,
  "statusTime": 1730204346000,
  "errorMessage": null,
  "searchField": "userDefinedField",
  "partialMatch": false,
  "minTokens": 2
}

Authorizations

Authorization
string
header
required

Access token issued by the CDF project's configured identity provider. Access token must be an OpenID Connect token, and the project must be configured to accept OpenID Connect tokens. Use a header key of 'Authorization' with a value of 'Bearer $accesstoken'. The token can be obtained through any flow supported by the identity provider.

Body

application/json
items
object[]
required

Files to run entity detection on.

Required array length: 1 - 50 elements

Either file id, external id or instance id, and optionally a page range. At most 50 pages can be queried.

entities
object[]
required

A list of entities to look for. For example, all the assets under a root node. The searchField determines the strings that identify the entities.

Required array length: 1 - 500000 elements
Example:
[
  {
    "userDefinedField": "21PT1017",
    "ignoredField": "AA11"
  },
  {
    "userDefinedField": ["21PT1017-A", "21PT1017-B"]
  }
]
searchField
string
default:name

This field determines the string to search for and to identify object entities.

Example:

"userDefinedField"

partialMatch
boolean
default:false

Allow partial (fuzzy) matching of entities in the engineering diagrams. Creates a match only when it is possible to do so unambiguously.

minTokens
integer
default:2

Each detected item must match the detected entity on at least this number of tokens. A token is a substring of consecutive letters or digits.

Response

Success

items
object[]
required

Either file id, external id or instance id, and optionally a page range. At most 50 pages can be queried.

jobId
integer<int64>
required

Contextualization job ID.

Example:

123

status
enum<string>
required

The status of the job.

Available options:
Queued,
Running,
Completed,
Failed
createdTime
integer<int64>
required

The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

Required range: x >= 0
Example:

1730204346000

startTime
integer<int64>
required

The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

Required range: x >= 0
Example:

1730204346000

statusTime
integer<int64>
required

The number of milliseconds since 00:00:00 Thursday, 1 January 1970, Coordinated Universal Time (UTC), minus leap seconds.

Required range: x >= 0
Example:

1730204346000

errorMessage
string

If the job failed, some more information about the error cause.

Example:

null

searchField
string
default:name

This field determines the string to search for and to identify object entities.

Example:

"userDefinedField"

partialMatch
boolean
default:false

Allow partial (fuzzy) matching of entities in the engineering diagrams. Creates a match only when it is possible to do so unambiguously.

minTokens
integer
default:2

Each detected item must match the detected entity on at least this number of tokens. A token is a substring of consecutive letters or digits.

Last modified on April 23, 2026