Resend an invite email
Resend the invite email and extend its expiration to 7 days from now; limited to 100 emails per hour per organization.
/admin/invites/{invite_id}/resendResend an invite email
2 parameters
- X-Pinecone-Api-Versionstringheaderrequired
Required date-based version header
- invite_idstringpathrequired
Invite ID
curl --request POST \
--url https://api.pinecone.io/admin/invites/{invite_id}/resend \
--header 'Authorization: Bearer <token>' \
--header 'X-Pinecone-Api-Version: <x-pinecone-api-version>'import requests
url = "https://api.pinecone.io/admin/invites/{invite_id}/resend"
headers = {
"Authorization": "Bearer <token>",
"X-Pinecone-Api-Version": "<x-pinecone-api-version>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: "POST", headers: {"Authorization": "Bearer <token>", "X-Pinecone-Api-Version": "<x-pinecone-api-version>"}};
fetch("https://api.pinecone.io/admin/invites/{invite_id}/resend", options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.pinecone.io/admin/invites/{invite_id}/resend",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"X-Pinecone-Api-Version: <x-pinecone-api-version>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.pinecone.io/admin/invites/{invite_id}/resend"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("X-Pinecone-Api-Version", "<x-pinecone-api-version>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.pinecone.io/admin/invites/{invite_id}/resend")
.header("Authorization", "Bearer <token>")
.header("X-Pinecone-Api-Version", "<x-pinecone-api-version>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.pinecone.io/admin/invites/{invite_id}/resend")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["X-Pinecone-Api-Version"] = '<x-pinecone-api-version>'
response = http.request(request)
puts response.read_body{
"created_at": "2026-05-14T20:14:00.000Z",
"email": "newhire@acme.com",
"expires_at": "2026-05-28T20:14:00.000Z",
"id": "9c8e3528-b9c0-4358-84ce-84c28e91b566",
"processed_at": null,
"status": "pending"
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "Invalid API key."
},
"status": 401
}{
"error": {
"code": "QUOTA_EXCEEDED",
"message": "The index exceeds the project quota of 5 pods by 2 pods. Upgrade your account or change the project settings to increase the quota."
},
"status": 429
}{
"error": {
"code": "QUOTA_EXCEEDED",
"message": "The index exceeds the project quota of 5 pods by 2 pods. Upgrade your account or change the project settings to increase the quota."
},
"status": 429
}{
"error": {
"code": "ABORTED",
"message": "Cannot delete the last OrgOwner role binding for this organization."
},
"status": 409
}{
"error": {
"code": "QUOTA_EXCEEDED",
"message": "The index exceeds the project quota of 5 pods by 2 pods. Upgrade your account or change the project settings to increase the quota."
},
"status": 429
}{
"error": {
"code": "UNKNOWN",
"message": "Internal server error"
},
"status": 500
}{
"error": {
"code": "QUOTA_EXCEEDED",
"message": "The index exceeds the project quota of 5 pods by 2 pods. Upgrade your account or change the project settings to increase the quota."
},
"status": 429
}Authorizations
Section titled “Authorizations”AuthorizationstringrequiredAn access token must be provided in the Authorization header using the Bearer scheme.
Headers
Section titled “Headers”X-Pinecone-Api-VersionstringrequiredRequired date-based version header
Path Parameters
Section titled “Path Parameters”invite_idstringrequiredInvite ID
Response
Section titled “Response”200 — Invite resent successfully. The invite returns to a pending status and its expiration is extended to 7 days from now.
An invitation to join the organization.
idstringrequiredThe unique ID of the invite.
emailstringrequiredThe email address the invite was sent to.
statusstringrequiredThe lifecycle status of an invite. Possible values: pending, expired, processed. List endpoints return only pending and expired invites; processed is returned only when fetching a single invite by ID.
Example: pending
expires_at?string | nullWhen the invite expires if not accepted. Default TTL is 7 days. Resending the invite extends this to now plus 7 days. null if the invite does not expire.
processed_at?string | nullThe date and time the invite was accepted. null or omitted while the invite is still pending or expired.
created_atstringrequiredThe date and time the invite was created.