For the complete documentation index, see llms.txt. This page is also available as Markdown.

Exports

Get an export

get
Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Your Goodfit API key, sent as the bare header value

Path parameters
exportIdstringRequired

The id returned by POST /exports

Responses
200

Get an export

application/json
get/dataset/exports/{exportId}
GET /dataset/exports/{exportId} HTTP/1.1
Host: api.goodfit.io
Authorization: YOUR_API_KEY
Accept: */*
{
  "export": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "status": "WAITING",
    "type": "text",
    "exportName": "text",
    "requestedByUserEmail": "text",
    "exportConfig": {
      "filters": {
        "id": "root",
        "combinator": "and",
        "rules": [
          {
            "id": "r1",
            "field": "__match_sourcing_criteria",
            "operator": "booleanTrue"
          }
        ]
      },
      "columns": [
        "text"
      ]
    },
    "parts": [
      {
        "filename": "text"
      }
    ],
    "completedAt": "text",
    "createdAt": "text",
    "updatedAt": "text",
    "isExpired": true
  }
}

Get download URLs for an export

post

Each URL is valid for 5 minutes. Call again for a fresh set.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Your Goodfit API key, sent as the bare header value

Path parameters
exportIdstringRequired

The id returned by POST /exports

Responses
200

Get download URLs for an export

application/json
post/dataset/exports/{exportId}/download
POST /dataset/exports/{exportId}/download HTTP/1.1
Host: api.goodfit.io
Authorization: YOUR_API_KEY
Accept: */*
{
  "export": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "status": "WAITING",
    "type": "text",
    "exportName": "text",
    "requestedByUserEmail": "text",
    "exportConfig": {
      "filters": {
        "id": "root",
        "combinator": "and",
        "rules": [
          {
            "id": "r1",
            "field": "__match_sourcing_criteria",
            "operator": "booleanTrue"
          }
        ]
      },
      "columns": [
        "text"
      ]
    },
    "parts": [
      {
        "filename": "text"
      }
    ],
    "completedAt": "text",
    "createdAt": "text",
    "updatedAt": "text",
    "isExpired": true
  },
  "partDownloads": [
    {
      "filename": "text",
      "downloadUrl": "https://example.com"
    }
  ]
}

List recent exports

get

The 25 most recent exports, newest first. Exports older than 30 days are omitted.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Your Goodfit API key, sent as the bare header value

Responses
200

List recent exports

application/json
get/dataset/exports
GET /dataset/exports HTTP/1.1
Host: api.goodfit.io
Authorization: YOUR_API_KEY
Accept: */*
{
  "exports": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "status": "WAITING",
      "type": "text",
      "exportName": "text",
      "requestedByUserEmail": "text",
      "exportConfig": {
        "filters": {
          "id": "root",
          "combinator": "and",
          "rules": [
            {
              "id": "r1",
              "field": "__match_sourcing_criteria",
              "operator": "booleanTrue"
            }
          ]
        },
        "columns": [
          "text"
        ]
      },
      "parts": [
        {
          "filename": "text"
        }
      ],
      "completedAt": "text",
      "createdAt": "text",
      "updatedAt": "text",
      "isExpired": true
    }
  ]
}

Start an export

post

Exports run asynchronously. Poll GET /exports/{exportId} until the status is COMPLETE.

Required scopes
This endpoint requires the following scopes:
Authorizations
AuthorizationstringRequired

Your Goodfit API key, sent as the bare header value

Body
requestedByUserEmailstringOptional

Shown in the Goodfit web app against this export

exportNamestringOptional
Responses
200

Start an export

application/json
idstring · uuidRequiredPattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$
statusstring · enumRequiredPossible values:
typestringRequired
exportNamestring · nullableRequired
requestedByUserEmailstring · nullableRequired
completedAtstring · nullableRequired
createdAtstringRequired
updatedAtstringRequired
isExpiredbooleanOptional

Exports older than 30 days have had their files deleted

post/dataset/exports
POST /dataset/exports HTTP/1.1
Host: api.goodfit.io
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 213

{
  "requestedByUserEmail": "text",
  "exportConfig": {
    "filters": {
      "id": "root",
      "combinator": "and",
      "rules": [
        {
          "id": "r1",
          "field": "__match_sourcing_criteria",
          "operator": "booleanTrue"
        }
      ]
    },
    "columns": [
      "text"
    ]
  },
  "exportName": "text"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "status": "WAITING",
  "type": "text",
  "exportName": "text",
  "requestedByUserEmail": "text",
  "exportConfig": {
    "filters": {
      "id": "root",
      "combinator": "and",
      "rules": [
        {
          "id": "r1",
          "field": "__match_sourcing_criteria",
          "operator": "booleanTrue"
        }
      ]
    },
    "columns": [
      "text"
    ]
  },
  "parts": [
    {
      "filename": "text"
    }
  ],
  "completedAt": "text",
  "createdAt": "text",
  "updatedAt": "text",
  "isExpired": true
}

Last updated