Κλειδιά API
MarkdownΜέθοδοι, πεδία αιτημάτων και απαντήσεις.
Πλήρης οδηγός
Η ενότητα περιλαμβάνει 5 μεθόδους. Ανοίξτε τη μέθοδο για να δείτε τους όρους πρόσβασης, τα πεδία αιτήματος και την απάντηση.
| Μέθοδος και διαδρομή | Περιγραφή | Πρόσβαση |
|---|---|---|
GET /api/v1/keys | Λίστα — κλειδιά API | Token πίνακα ελέγχου |
POST /api/v1/keys | Δημιουργία κλειδιού API | Token πίνακα ελέγχου |
DELETE /api/v1/keys/:id | Διαγραφή — κλειδιά API | Token πίνακα ελέγχου |
GET /api/v1/keys/:id | Ανάκτηση με αναγνωριστικό — κλειδιά API | Token πίνακα ελέγχου |
PUT /api/v1/keys/:id | Τροποποίηση κλειδιού API | Token πίνακα ελέγχου |
GET /api/v1/keys — Λίστα — κλειδιά API
Πρόσβαση: Token πίνακα ελέγχου
/api/v1/keyscurl --fail-with-body "https://ailoot.ai/api/v1/keys" \
-H "Authorization: Bearer $TOKEN"Παράμετροι ερωτήματος
| Το πεδίο | Τύπος | Υποχρεωτικό | Έλεγχος / περιγραφή |
|---|---|---|---|
sort_by | string | όχι | ; από προεπιλογή: created_at |
sort_order | string | όχι | ; από προεπιλογή: desc |
search | string | όχι | |
status | string | όχι | |
page | integer | όχι | ; από προεπιλογή: 1; θετικό; page_size/limit <=1000 |
page_size | integer | όχι | ; από προεπιλογή: 20; θετικό; page_size/limit <=1000 |
limit | integer | όχι | ; από προεπιλογή: 20; θετικό; page_size/limit <=1000 |
Δεν απαιτείται σώμα αιτήματος. Στείλτε τις παραπάνω παραμέτρους στο URL.
Απάντηση
Η απάντηση JSON περιέχει code, message και data. Το περιεχόμενο του data περιγράφεται στα σχήματα παρακάτω.
Σχήματα δεδομένων απάντησης: APIKey. Τα πεδία και οι τύποι βρίσκονται στις σελίδες «Σχήματα δεδομένων».
{
"code": 0,
"message": "success",
"data": {
"items": [
{
"id": "PLACEHOLDER_ID (integer)",
"user_id": "PLACEHOLDER_USER_ID (integer)",
"key": "PLACEHOLDER_KEY (string)",
"name": "PLACEHOLDER_NAME (string)",
"status": "PLACEHOLDER_STATUS (string)",
"ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
"ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
"last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
"last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
"quota": "PLACEHOLDER_QUOTA (number)",
"quota_used": "PLACEHOLDER_QUOTA_USED (number)",
"expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
"created_at": "PLACEHOLDER_CREATED_AT (string)",
"updated_at": "PLACEHOLDER_UPDATED_AT (string)",
"current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
"rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
"rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
"rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
"usage_5h": "PLACEHOLDER_USAGE_5H (number)",
"usage_1d": "PLACEHOLDER_USAGE_1D (number)",
"usage_7d": "PLACEHOLDER_USAGE_7D (number)",
"window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
"window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
"window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
"reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
"reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
"reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
"user": "PLACEHOLDER_USER (object)"
}
],
"total": "PLACEHOLDER_TOTAL (integer)",
"page": "PLACEHOLDER_PAGE (integer)",
"page_size": "PLACEHOLDER_PAGE_SIZE (integer)",
"pages": "PLACEHOLDER_PAGES (integer)"
}
}Ιδιαιτερότητες: Όλα τα προσωπικά δεδομένα και αντικείμενα περιορίζονται στο υποκείμενο του JWT.
Ιδιαιτερότητες: Η απάντηση περιέχει το μυστικό key· μη δημοσιεύετε πραγματικές τιμές.
POST /api/v1/keys — Δημιουργία κλειδιού API
Πρόσβαση: Token πίνακα ελέγχου
/api/v1/keysΠεδία JSON / φόρμας
| Το πεδίο | Τύπος | Υποχρεωτικό | Έλεγχος / περιγραφή |
|---|---|---|---|
name | string | ναι | required |
custom_key | string | όχι | ; Προαιρετική προσαρμοσμένη τιμή κλειδιού· μπορεί να είναι null |
ip_whitelist | array | όχι | ; Λίστα επιτρεπόμενων IP |
ip_blacklist | array | όχι | ; Λίστα αποκλεισμένων IP |
quota | number | όχι | ; Όριο δαπανών κλειδιού σε USD· μπορεί να είναι null |
expires_in_days | integer | όχι | ; Διάρκεια ισχύος σε ημέρες· μπορεί να είναι null |
rate_limit_5h | number | όχι | ; μπορεί να είναι null |
rate_limit_1d | number | όχι | ; μπορεί να είναι null |
rate_limit_7d | number | όχι | ; μπορεί να είναι null |
{
"name": "PLACEHOLDER_NAME (string)",
"custom_key": "PLACEHOLDER_CUSTOM_KEY (string)",
"ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
"ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
"quota": "PLACEHOLDER_QUOTA (number)",
"expires_in_days": "PLACEHOLDER_EXPIRES_IN_DAYS (integer)",
"rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
"rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
"rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)"
}Το PLACEHOLDER υποδηλώνει τη δική σας είσοδο και τον τύπο της. Αντικαταστήστε τις τιμές και κρατήστε μόνο τα προαιρετικά πεδία που χρειάζονται· οι συμβολοσειρές-δείκτες δεν αποστέλλονται αντί για αριθμούς, boolean, αντικείμενα ή πίνακες.
Σχήμα αιτήματος: CreateAPIKeyRequest
Απάντηση
Η απάντηση JSON περιέχει code, message και data. Το περιεχόμενο του data περιγράφεται στα σχήματα παρακάτω.
Σχήματα δεδομένων απάντησης: APIKey. Τα πεδία και οι τύποι βρίσκονται στις σελίδες «Σχήματα δεδομένων».
{
"code": 0,
"message": "success",
"data": {
"id": "PLACEHOLDER_ID (integer)",
"user_id": "PLACEHOLDER_USER_ID (integer)",
"key": "PLACEHOLDER_KEY (string)",
"name": "PLACEHOLDER_NAME (string)",
"status": "PLACEHOLDER_STATUS (string)",
"ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
"ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
"last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
"last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
"quota": "PLACEHOLDER_QUOTA (number)",
"quota_used": "PLACEHOLDER_QUOTA_USED (number)",
"expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
"created_at": "PLACEHOLDER_CREATED_AT (string)",
"updated_at": "PLACEHOLDER_UPDATED_AT (string)",
"current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
"rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
"rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
"rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
"usage_5h": "PLACEHOLDER_USAGE_5H (number)",
"usage_1d": "PLACEHOLDER_USAGE_1D (number)",
"usage_7d": "PLACEHOLDER_USAGE_7D (number)",
"window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
"window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
"window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
"reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
"reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
"reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
"user": "PLACEHOLDER_USER (object)"
}
}Ιδιαιτερότητες: Όλα τα προσωπικά δεδομένα και αντικείμενα περιορίζονται στο υποκείμενο του JWT.
Ιδιαιτερότητες: Η λειτουργία αλλάζει την κατάσταση ή συνεχίζει διαδικασία εξουσιοδότησης μίας χρήσης· το παράδειγμα περιγράφει τη σύμβαση και δεν εκτελείται.
Ιδιαιτερότητες: Υποστηρίζεται το Idempotency-Key· η επανάληψη επιστρέφει την αποθηκευμένη απάντηση με X-Idempotency-Replayed.
Ιδιαιτερότητες: Η απάντηση περιέχει το μυστικό key· μη δημοσιεύετε πραγματικές τιμές.
DELETE /api/v1/keys/:id — Διαγραφή — κλειδιά API
Πρόσβαση: Token πίνακα ελέγχου
/api/v1/keys/:idΠαράμετροι διαδρομής
| Το πεδίο | Τύπος | Υποχρεωτικό | Έλεγχος / περιγραφή |
|---|---|---|---|
id | integer | ναι |
Δεν απαιτείται σώμα αιτήματος.
Απάντηση
Η απάντηση JSON περιέχει code, message και data. Το περιεχόμενο του data περιγράφεται στα σχήματα παρακάτω.
{
"code": 0,
"message": "success",
"data": {
"message": "VALUE_FROM_RESPONSE"
}
}Ιδιαιτερότητες: Όλα τα προσωπικά δεδομένα και αντικείμενα περιορίζονται στο υποκείμενο του JWT.
Ιδιαιτερότητες: Η λειτουργία αλλάζει την κατάσταση ή συνεχίζει διαδικασία εξουσιοδότησης μίας χρήσης· το παράδειγμα περιγράφει τη σύμβαση και δεν εκτελείται.
Ιδιαιτερότητες: Η απάντηση περιέχει το μυστικό key· μη δημοσιεύετε πραγματικές τιμές.
GET /api/v1/keys/:id — Ανάκτηση με αναγνωριστικό — κλειδιά API
Πρόσβαση: Token πίνακα ελέγχου
/api/v1/keys/:idcurl --fail-with-body "https://ailoot.ai/api/v1/keys/$ID" \
-H "Authorization: Bearer $TOKEN"Παράμετροι διαδρομής
| Το πεδίο | Τύπος | Υποχρεωτικό | Έλεγχος / περιγραφή |
|---|---|---|---|
id | integer | ναι |
Δεν απαιτείται σώμα αιτήματος. Στείλτε τις παραπάνω παραμέτρους στο URL.
Απάντηση
Η απάντηση JSON περιέχει code, message και data. Το περιεχόμενο του data περιγράφεται στα σχήματα παρακάτω.
Σχήματα δεδομένων απάντησης: APIKey. Τα πεδία και οι τύποι βρίσκονται στις σελίδες «Σχήματα δεδομένων».
{
"code": 0,
"message": "success",
"data": {
"id": "PLACEHOLDER_ID (integer)",
"user_id": "PLACEHOLDER_USER_ID (integer)",
"key": "PLACEHOLDER_KEY (string)",
"name": "PLACEHOLDER_NAME (string)",
"status": "PLACEHOLDER_STATUS (string)",
"ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
"ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
"last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
"last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
"quota": "PLACEHOLDER_QUOTA (number)",
"quota_used": "PLACEHOLDER_QUOTA_USED (number)",
"expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
"created_at": "PLACEHOLDER_CREATED_AT (string)",
"updated_at": "PLACEHOLDER_UPDATED_AT (string)",
"current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
"rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
"rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
"rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
"usage_5h": "PLACEHOLDER_USAGE_5H (number)",
"usage_1d": "PLACEHOLDER_USAGE_1D (number)",
"usage_7d": "PLACEHOLDER_USAGE_7D (number)",
"window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
"window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
"window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
"reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
"reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
"reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
"user": "PLACEHOLDER_USER (object)"
}
}Ιδιαιτερότητες: Όλα τα προσωπικά δεδομένα και αντικείμενα περιορίζονται στο υποκείμενο του JWT.
Ιδιαιτερότητες: Η απάντηση περιέχει το μυστικό key· μη δημοσιεύετε πραγματικές τιμές.
PUT /api/v1/keys/:id — Τροποποίηση κλειδιού API
Πρόσβαση: Token πίνακα ελέγχου
/api/v1/keys/:idΠαράμετροι διαδρομής
| Το πεδίο | Τύπος | Υποχρεωτικό | Έλεγχος / περιγραφή |
|---|---|---|---|
id | integer | ναι |
Πεδία JSON / φόρμας
| Το πεδίο | Τύπος | Υποχρεωτικό | Έλεγχος / περιγραφή |
|---|---|---|---|
name | string | όχι | |
status | string | όχι | omitempty,oneof=active inactive |
ip_whitelist | array | όχι | ; Επιτρεπόμενες IP: το null δεν αλλάζει τη λίστα, ο κενός πίνακας την καθαρίζει· μπορεί να είναι null |
ip_blacklist | array | όχι | ; Αποκλεισμένες IP: το null δεν αλλάζει τη λίστα, ο κενός πίνακας την καθαρίζει· μπορεί να είναι null |
quota | number | όχι | ; Όριο δαπανών κλειδιού σε USD· 0 — χωρίς όριο· μπορεί να είναι null |
expires_at | string | όχι | ; Χρόνος λήξης σε μορφή ISO 8601· μπορεί να είναι null |
reset_quota | boolean | όχι | ; Μηδενισμός του χρησιμοποιημένου ποσού του ορίου δαπανών· μπορεί να είναι null |
rate_limit_5h | number | όχι | ; μπορεί να είναι null |
rate_limit_1d | number | όχι | ; μπορεί να είναι null |
rate_limit_7d | number | όχι | ; μπορεί να είναι null |
reset_rate_limit_usage | boolean | όχι | ; Μηδενισμός της χρήσης των ορίων ανά χρονικό παράθυρο· μπορεί να είναι null |
{
"name": "PLACEHOLDER_NAME (string)",
"status": "PLACEHOLDER_STATUS (string)",
"ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
"ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
"quota": "PLACEHOLDER_QUOTA (number)",
"expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
"reset_quota": "PLACEHOLDER_RESET_QUOTA (boolean)",
"rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
"rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
"rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
"reset_rate_limit_usage": "PLACEHOLDER_RESET_RATE_LIMIT_USAGE (boolean)"
}Το PLACEHOLDER υποδηλώνει τη δική σας είσοδο και τον τύπο της. Αντικαταστήστε τις τιμές και κρατήστε μόνο τα προαιρετικά πεδία που χρειάζονται· οι συμβολοσειρές-δείκτες δεν αποστέλλονται αντί για αριθμούς, boolean, αντικείμενα ή πίνακες.
Σχήμα αιτήματος: UpdateAPIKeyRequest
Απάντηση
Η απάντηση JSON περιέχει code, message και data. Το περιεχόμενο του data περιγράφεται στα σχήματα παρακάτω.
Σχήματα δεδομένων απάντησης: APIKey. Τα πεδία και οι τύποι βρίσκονται στις σελίδες «Σχήματα δεδομένων».
{
"code": 0,
"message": "success",
"data": {
"id": "PLACEHOLDER_ID (integer)",
"user_id": "PLACEHOLDER_USER_ID (integer)",
"key": "PLACEHOLDER_KEY (string)",
"name": "PLACEHOLDER_NAME (string)",
"status": "PLACEHOLDER_STATUS (string)",
"ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
"ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
"last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
"last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
"quota": "PLACEHOLDER_QUOTA (number)",
"quota_used": "PLACEHOLDER_QUOTA_USED (number)",
"expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
"created_at": "PLACEHOLDER_CREATED_AT (string)",
"updated_at": "PLACEHOLDER_UPDATED_AT (string)",
"current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
"rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
"rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
"rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
"usage_5h": "PLACEHOLDER_USAGE_5H (number)",
"usage_1d": "PLACEHOLDER_USAGE_1D (number)",
"usage_7d": "PLACEHOLDER_USAGE_7D (number)",
"window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
"window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
"window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
"reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
"reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
"reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
"user": "PLACEHOLDER_USER (object)"
}
}Ιδιαιτερότητες: Όλα τα προσωπικά δεδομένα και αντικείμενα περιορίζονται στο υποκείμενο του JWT.
Ιδιαιτερότητες: Η λειτουργία αλλάζει την κατάσταση ή συνεχίζει διαδικασία εξουσιοδότησης μίας χρήσης· το παράδειγμα περιγράφει τη σύμβαση και δεν εκτελείται.
Ιδιαιτερότητες: Η απάντηση περιέχει το μυστικό key· μη δημοσιεύετε πραγματικές τιμές.
Ιδιαιτερότητες: Όσο υπάρχουν μη ολοκληρωμένα αιτήματα με δέσμευση για το κλειδί, το όριο δαπανών του δεν μπορεί να μειωθεί ή να μηδενιστεί. Στείλτε μόνο τα πεδία που αλλάζετε.