Menu

DevelopersGet started

REST API introduction

Read projects, requirements and approved content from AutoRFP.ai over HTTPS with an API key. Base URLs by region, response format, and a first request.

The AutoRFP.ai REST API gives your own systems access to the data you work with in the app: projects and their requirements, your approved content library, tags, teams and organisation settings. It reads and, with the right scopes, updates that data from scripts, integrations and internal tools.

Every request is authenticated with an API key and acts as the user you choose when you create the key, so a key can only reach what that user can.

Download the OpenAPI spec to generate a client or import the API into your tools.

Base URLs

Use the base URL for the region your AutoRFP.ai workspace is hosted in. If you are not sure, ask your workspace admin. These are the same hosts as the MCP server.

RegionBase URL
AUhttps://api.autorfp.ai/v1
UShttps://api.us.autorfp.ai/v1
EUhttps://api.eu.autorfp.ai/v1

Make your first request

Create an API key in the app (see Authentication), then list your projects:

List projects

curl -g "https://api.autorfp.ai/v1/projects?page[size]=5" \
-H "Authorization: Bearer $AUTORFP_API_KEY"

The -g flag stops curl from treating the square brackets in page[size] as a glob pattern.

The response is a JSON document with a data array of projects, a meta.page object and links to the neighbouring pages. See List projects for every parameter and field.

Response format

Responses follow the JSON:API style and use the application/vnd.api+json content type.

  • data holds the resource, or an array of resources. Each has a type, an id and its attributes.
  • List endpoints add meta.page (the current page and its size, with totals) and links to move between pages.
  • Failures return an errors array. See Errors.

Request bodies for POST and PATCH are sent as plain application/json. Each endpoint in the reference shows its exact body.

{
  "data": [
    {
      "type": "projects",
      "id": "8f14e45f",
      "attributes": {
        "name": "Acme RFP 2026",
        "status": "inProgress"
      }
    }
  ],
  "meta": { "page": { "number": 1, "size": 1, "totalItems": 1, "totalPages": 1 } }
}

The values above are illustrative and the attributes are trimmed. The reference shows the full response for each endpoint.

Where to go next