List contracts
GET
/contracts
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Get, RequestUri = new Uri("https://api.vendorica.com/v1/contracts?page=1&limit=100&sortOrder=asc&hasBusinessOwner=true&relationship=framework"), Headers = { { "Authorization", "Bearer <token>" }, },};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}package main
import ( "fmt" "net/http" "io")
func main() {
url := "https://api.vendorica.com/v1/contracts?page=1&limit=100&sortOrder=asc&hasBusinessOwner=true&relationship=framework"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder() .url("https://api.vendorica.com/v1/contracts?page=1&limit=100&sortOrder=asc&hasBusinessOwner=true&relationship=framework") .get() .addHeader("Authorization", "Bearer <token>") .build();
Response response = client.newCall(request).execute();const url = 'https://api.vendorica.com/v1/contracts?page=1&limit=100&sortOrder=asc&hasBusinessOwner=true&relationship=framework';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}use reqwest;
#[tokio::main]pub async fn main() { let url = "https://api.vendorica.com/v1/contracts";
let querystring = [ ("page", "1"), ("limit", "100"), ("sortOrder", "asc"), ("hasBusinessOwner", "true"), ("relationship", "framework"), ];
let mut headers = reqwest::header::HeaderMap::new(); headers.insert("Authorization", "Bearer <token>".parse().unwrap());
let client = reqwest::Client::new(); let response = client.get(url) .query(&querystring) .headers(headers) .send() .await;
let results = response.unwrap() .json::<serde_json::Value>() .await .unwrap();
dbg!(results);}curl --request GET \ --url 'https://api.vendorica.com/v1/contracts?page=1&limit=100&sortOrder=asc&hasBusinessOwner=true&relationship=framework' \ --header 'Authorization: Bearer <token>'Contract records with their metadata, paginated. The documents attached to a contract are a separate call. type (by name), dateFrom and dateTo are deprecated aliases kept for backward compatibility — prefer typeId, createdFrom and createdTo.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”page
integer
limit
integer
sortBy
string
sortOrder
string
vendorId
string format: uuid
typeId
string format: uuid
type
string
functionIds
Array<string> | null
statusIds
Array<string> | null
phases
Array<string> | null
businessOwnerId
string format: uuid
hasBusinessOwner
string | null
businessUnitId
string format: uuid
relationship
string
createdFrom
string
createdTo
string
dateFrom
string
dateTo
string
Responses
Section titled “Responses”Success
Media typeapplication/json
object
success
required
boolean
data
required
Array<object>
object
id
required
string format: uuid
vendorId
required
string format: uuid
title
required
string
contractType
required
string | null
contractTypeId
required
string | null format: uuid
startDate
required
string | null
endDate
required
string | null
value
required
string | null
currency
required
string | null
status
required
string | null
contractStatusId
required
string | null format: uuid
riskNotes
required
string | null
arrangementReference
required
string | null
isIntragroup
required
boolean
clientNoticePeriodDays
required
integer | null
vendorNoticePeriodDays
required
integer | null
terminationDate
required
string | null
signingDate
required
string | null
governingLaw
required
string | null
storesData
required
boolean | null
dataSensitivity
required
string | null
relianceLevel
required
string | null
dataLocationAtRest
required
Array<string> | null
dataProcessingLocation
required
Array<string> | null
outsourcingClassification
required
string | null
outsourcingClassificationRationale
required
string | null
involvesPersonalData
required
boolean | null
nextRenewalDate
required
string | null
cloudServiceModel
required
string | null
cloudDeploymentModel
required
string | null
lastAuditDate
required
string | null
nextAuditDate
required
string | null
alternativeProvidersIdentified
required
boolean | null
alternativeProvidersNotes
required
string | null
ebaArrangementType
required
string | null
ebaIctServiceType
required
string | null
businessOwnerId
required
string | null format: uuid
approvalStatus
required
string
approvalInstanceId
required
string | null format: uuid
businessUnitIds
required
Array<string>
createdAt
required
string | null format: date-time
updatedAt
required
string | null format: date-time
statusPhase
required
string | null
vendor
required
object
id
required
string format: uuid
name
required
string
businessOwner
required
object
id
required
string format: uuid
firstName
required
string | null
lastName
required
string | null
email
required
string
timestamp
required
string format: date-time
requestId
string
message
string
pagination
object
page
required
integer
limit
required
integer
total
required
integer
totalPages
required
integer
Example
{ "success": true, "data": [ { "id": "52323f18-7f19-45ee-81e2-44170a3129e9", "vendorId": "1348a75a-b35f-4f88-8a3c-97d19263044f", "title": "string", "contractType": "string", "contractTypeId": "7c98560e-2fcf-44e4-8a95-07a5a99b0273", "startDate": "string", "endDate": "string", "value": "string", "currency": "string", "status": "string", "contractStatusId": "732311ac-ee34-44ea-862b-2acb24f463dd", "riskNotes": "string", "arrangementReference": "string", "isIntragroup": true, "clientNoticePeriodDays": 1, "vendorNoticePeriodDays": 1, "terminationDate": "string", "signingDate": "string", "governingLaw": "string", "storesData": true, "dataSensitivity": "low", "relianceLevel": "none", "dataLocationAtRest": [ "string" ], "dataProcessingLocation": [ "string" ], "outsourcingClassification": "outsourcing", "outsourcingClassificationRationale": "string", "involvesPersonalData": true, "nextRenewalDate": "string", "cloudServiceModel": "iaas", "cloudDeploymentModel": "public", "lastAuditDate": "string", "nextAuditDate": "string", "alternativeProvidersIdentified": true, "alternativeProvidersNotes": "string", "ebaArrangementType": "eba_CO:x1", "ebaIctServiceType": "eba_TA:S01", "businessOwnerId": "e6d96007-6d32-47df-81f4-bf54a4492af0", "approvalStatus": "string", "approvalInstanceId": "37eed670-7efb-4576-8b0c-472f7f5408b1", "businessUnitIds": [ "fed72751-7fb2-47a9-80a2-b09eaa1c026e" ], "createdAt": "2026-08-19T09:41:12.004Z", "updatedAt": "2026-08-19T09:41:12.004Z", "statusPhase": "draft", "vendor": { "id": "e302ada8-0737-429e-8930-3d2769f03e19", "name": "string" }, "businessOwner": { "id": "b60c8823-b6ba-4bf3-8745-8ad0f6798bbc", "firstName": "string", "lastName": "string", "email": "string" } } ], "timestamp": "2026-08-19T09:41:12.004Z", "requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H", "message": "string", "pagination": { "page": 1, "limit": 1, "total": 1, "totalPages": 1 }}Validation error
Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{ "success": false, "error": "Bad request", "code": "BAD_REQUEST", "timestamp": "2026-08-19T09:41:12.004Z", "requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"}Unauthorized
Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{ "success": false, "error": "Unauthorized", "code": "UNAUTHORIZED", "timestamp": "2026-08-19T09:41:12.004Z", "requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"}Forbidden — missing scope
Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{ "success": false, "error": "Forbidden", "code": "FORBIDDEN", "timestamp": "2026-08-19T09:41:12.004Z", "requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"}Not found
Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{ "success": false, "error": "Resource not found", "code": "NOT_FOUND", "timestamp": "2026-08-19T09:41:12.004Z", "requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"}Rate limit exceeded
Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{ "success": false, "error": "Too many requests", "code": "TOO_MANY_REQUESTS", "timestamp": "2026-08-19T09:41:12.004Z", "requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"}