Arize AI
Search…
Rest API
Arize AI for Model Monitoring, Troubleshooting, and Explainability

Overview

Arize's APIs are the main ingresses for data which powers our platform. Most applications will use an existing SDK in the language of your choice, but it's important to know what the underlying API looks like first in case you want to work in a language without a current SDK implementation.

Authentication

Arize uses API keys in conjunction with a Space key in order to authenticate request. You will receive your keys once you sign up for our product. Your API and Space keys are the keys to your data castle so be sure to keep them secure. Do not share your keys in public forums including Github, StackOverflow, logs, etc. The API key is authenticated via auth header, use -H 'Authorization: API_KEY_VALUE' while the Space key is included on the body of the request

Response Codes

Arize uses conventional HTTP response codes to convey resulting success or failure of a given request. Codes in the 2XX range indicate success, 4XX range indicate content failure, 5XX indicate errors with Arize's edge servers.
Status Code
Message
Reason
200
OK
Success
403
cannot access request headers
Failure when accessing incoming request's headers
403
must provide authorization header
Missing Authorization header
403
unable to validate authorization header
Space key is not valid
403
invalid api-key
API Key is not valid
400
log must include prediction or actual
Prediction or Actual is a required field and it's not present
400
invalid feature type
Feature data type is not supported
400
timestamp must range from now back to T-90 days
Record timestamp can only be backdated up to 90 days
500
Internal service error, contact Arize
Internal error processing messages - Contact Arize

Single Prediction

To send an individual prediction record, you should hit Arize's log API https://api.arize.com/v1/log

Supported label types

Label
data type
"numeric"
double
"categorical"
string
"binary"
boolean

Request Example (numeric label)

1
curl --request POST 'https://api.arize.com/v1/log' \
2
--header 'Authorization: API_KEY' \
3
--data-raw '{
4
"space_key":"your_space_key", //Required
5
"model_id":"your_model_id", //Required
6
"model_version":"your_model_version" //Optional
7
"prediction_id":"unique_prediction_id", //Required
8
"prediction":{
9
"timestamp":"2020-10-02T00:37:30.208687Z", //Optional, defaults to now()
10
"label":{ //Required
11
"numeric":20.2
12
},
13
"features":{ //Optional
14
"A":{
15
"int":"12345"
16
},
17
"B":{
18
"string":"string"
19
},
20
"C":{
21
"double":"NaN"
22
},
23
"D":{
24
"double":20.20
25
},
26
"E":{
27
"multi_value":{
28
"value":[
29
"string",
30
"string2"
31
]
32
}
33
}
34
}
35
}
36
}'
Copied!

Single Actual

To send an individual actual record, you should hit Arize's log API https://api.arize.com/v1/log

Supported label types

Label
data type
"numeric"
double
"categorical"
string
"binary"
boolean

Request Example (categorical label)

1
curl --request POST 'https://api.arize.com/v1/log' \
2
--header 'Authorization: API_KEY' \
3
--data-raw '{
4
"space_key":"your_space_key", //Required
5
"model_id":"your_model_id", //Required
6
"prediction_id":"unique_prediction_id", //Required
7
"actual":{ //Required
8
"timestamp":"2020-10-02T00:37:30.208687Z", //Optional, defaults to now()
9
"label":{ //Required
10
"categorical":"Apple"
11
}
12
}
13
}'
Copied!

Bulk Predictions

To send a collection of predictions in a single call, you should hit Arize's bulk API https://api.arize.com/v1/bulk

Supported label types

Label
data type
"numeric"
double
"categorical"
string
"binary"
boolean

Request Example (two records with binary labels)

1
curl --request POST 'https://api.arize.com/v1/bulk' \
2
--header 'Authorization: API_KEY' \
3
--data-raw '{
4
"space_key":"your_space_key", //Required
5
"model_id":"your_model_id", //Required
6
"model_version":"your_model_version", //Optional
7
"timestamp":"2020-10-02T00:37:30.208687Z", //Optional defaults to now()
8
"records":[
9
{
10
"prediction_id":"unique_prediction_id", //Required
11
"prediction":{ //Required
12
"label":{ //Required
13
"binary":True
14
},
15
"features":{ //Optional
16
"f":{
17
"int":"93688095"
18
},
19
"g":{
20
"int":"68618760"
21
},
22
"h":{
23
"int":"80080992"
24
},
25
"i":{
26
"int":"87024800"
27
}
28
}
29
}
30
},
31
{
32
"prediction_id":"another_unique_prediction_id",
33
"prediction":{
34
"label":{
35
"binary":True
36
},
37
"features":{
38
"a":{
39
"int":"977742"
40
},
41
"b":{
42
"int":"70053652"
43
},
44
"c":{
45
"int":"88547759"
46
},
47
"d":{
48
"int":"5723734"
49
}
50
}
51
}
52
}
53
]
54
}'
Copied!

Bulk Actuals

To send a collection of actuals in a single call, you should hit Arize's bulk API https://api.arize.com/v1/bulk

Supported label types

Label
data type
"numeric"
double
"categorical"
string
"binary"
boolean

Request Example (two records with numeric labels)

1
curl --request POST 'https://api.arize.com/v1/bulk' \
2
--header 'Authorization: API_KEY' \
3
--data-raw '{
4
"space_key":"your_space_key", //Required
5
"model_id":"your_model_id", //Required
6
"timestamp":"2020-10-02T00:37:30.209461Z", //Optional, defaults to now()
7
"records":[
8
{
9
"prediction_id":"unique_prediction_id", //Required
10
"actual":{ //Required
11
"label":{
12
"numeric":63675143.0
13
}
14
}
15
},
16
{
17
"prediction_id":"another_unique_prediction_id",
18
"actual":{
19
"label":{
20
"numeric":79841694.0
21
}
22
}
23
}
24
]
25
}'
Copied!
Questions? Email us at [email protected] or Slack us in the #arize-support channel