Get AST for source code

Note: This endpoint is in preview and is subject to change. If you have any feedback, contact Datadog support.

POST https://api.ap1.datadoghq.com/api/v2/static-analysis/static-analysis-server/get-asthttps://api.ap2.datadoghq.com/api/v2/static-analysis/static-analysis-server/get-asthttps://api.datadoghq.eu/api/v2/static-analysis/static-analysis-server/get-asthttps://api.ddog-gov.com/api/v2/static-analysis/static-analysis-server/get-asthttps://api.us2.ddog-gov.com/api/v2/static-analysis/static-analysis-server/get-asthttps://api.datadoghq.com/api/v2/static-analysis/static-analysis-server/get-asthttps://api.us3.datadoghq.com/api/v2/static-analysis/static-analysis-server/get-asthttps://api.us5.datadoghq.com/api/v2/static-analysis/static-analysis-server/get-ast

Overview

Parse source code into an abstract syntax tree (AST) for the specified language.

OAuth apps require the code_analysis_read authorization scope to access this endpoint.

Request

Body Data (required)

Expand All

Field

Type

Description

data [required]

object

The primary data object in the get-AST request.

attributes [required]

object

The attributes of the get-AST request, containing the source code to parse.

code [required]

string

The base64-encoded source code to parse into an abstract syntax tree.

file_encoding [required]

string

The encoding of the source code file (must be utf-8).

language [required]

string

The programming language of the source code to parse.

id

string

An optional identifier for the get-AST request resource.

type [required]

enum

Get AST request resource type. Allowed enum values: get_ast_request

default: get_ast_request

{
  "data": {
    "attributes": {
      "code": "aW1wb3J0IHN5cw==",
      "file_encoding": "utf-8",
      "language": "python"
    },
    "id": "string",
    "type": "get_ast_request"
  }
}

Response

OK

The response payload containing the parsed abstract syntax tree.

Expand All

Field

Type

Description

data [required]

object

The primary data object in the get-AST response.

attributes [required]

object

The attributes of the get-AST response, containing the parsed abstract syntax tree.

ast [required]

object

The parsed abstract syntax tree as a JSON object.

id

string

The identifier of the get-AST response resource.

type [required]

enum

Get AST response resource type. Allowed enum values: get_ast_response

default: get_ast_response

{
  "data": {
    "attributes": {
      "ast": {}
    },
    "id": "string",
    "type": "get_ast_response"
  }
}

Bad Request

API error response.

Expand All

Field

Type

Description

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Unauthorized

API error response.

Expand All

Field

Type

Description

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}

Too many requests

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Code Example

                  ## default
# 

# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/static-analysis/static-analysis-server/get-ast" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "code": "aW1wb3J0IHN5cw==", "file_encoding": "utf-8", "language": "python" }, "type": "get_ast_request" } } EOF