Affinda website screenshot

Affinda

Affinda is an Intelligent Document Processing (IDP) platform that uses AI to extract structured data from documents — resumes, invoices, receipts, contracts, passports, IDs, and custom document types. The v3 REST API exposes document upload and parsing, document type configuration, workspaces, collections, data sources for master-data matching, validation results, annotations for human-in-the-loop review, webhooks via resthook subscriptions, daily usage reporting, and resume / job-description search and match for recruitment workflows. The platform is deployed across AUS/Global, US, and EU regions for data residency, holds SOC 2 Type II and ISO 27001:2022 certification, and ships official Python, TypeScript, .NET, and Java SDKs alongside a skill.md file for AI coding agents.

14 APIs 27 Features
AIArtificial IntelligenceDocument ProcessingIntelligent Document ProcessingIDPOCRResume ParsingInvoice ParsingReceipt ParsingDocument ExtractionDocument ClassificationDocument SplittingRecruitmentBankingInsuranceLogisticsHealthcareGovernment

APIs

Affinda Documents API

Upload documents (PDF, images, DOCX, XLSX, TXT, HTML) and Affinda returns structured JSON extraction with confidence scores, bounding boxes, and OCR text. Supports invoices, res...

Affinda Document Types API

Manage document type definitions — the model configuration governing how a specific document category (invoice, resume, custom contract) is parsed. Each document type exposes a ...

Affinda Extractors API

List and inspect the underlying extractor models that power document parsing. Extractors are Affinda's named ML pipelines (resume extractor, invoice extractor, receipt extractor...

Affinda Document Splitters API

Configure and run document splitting and classification across multi-document PDFs. Splitters identify document boundaries inside a single uploaded file, classify each segment b...

Affinda Workspaces API

Workspaces group together related collections, documents, members, and webhook subscriptions. Workspace identifiers scope every document upload, listing, and webhook delivery. I...

Affinda Organizations API

Manage the top-level organization account — read and update organization details. Organizations contain users, billing, document types, and workspaces. Per-user limit of 3 API k...

Affinda Invitations API

Create, list, and respond to invitations adding users to the organization. Supports invitation token lookup for join flows and revocation of pending invitations.

Affinda Data Sources API

Manage custom mapping data sources — master-data lists used to match raw extracted values (vendor names, SKUs, categories) to known canonical entities. Upload values via the API...

Affinda Annotations API

Manually create, update, and delete annotations on uploaded documents. Annotations are the field-level extraction objects (value, confidence, bounding box, parent field) and pro...

Affinda Validation Results API

Track the status and findings of validation rules attached to parsed documents. Validation results record passes, failures, and remediation context for field-level rules and inf...

Affinda Tags API

Tag management for parsed documents. Tags can be arbitrarily attached to documents to support routing, segmentation, search filters, and downstream workflow triggers. Supports b...

Affinda Usage API

Retrieve daily credits consumption for the organization across all workspaces and document types. Used for billing reconciliation, budget tracking, and FinOps reporting.

Affinda Webhooks API

Resthook-style webhook subscriptions for document parsing events. Create a subscription, receive a probe payload, and call the activation endpoint to confirm the receiver. Affin...

Affinda Search and Match API

Resume search, job description search, and matching across parsed-document indexes. Score candidates against a job description (or vice versa), retrieve match details, configure...

Collections

Arazzo Workflows

Affinda Add a Data Field to a Collection

Create a workspace and collection, then add a custom data field plus data point to the collection.

ARAZZO

Affinda Add a Member to a Workspace

Create a workspace in an organization and add a user to it as a member.

ARAZZO

Affinda Bootstrap Organization and Workspace

Create an organization, create a workspace inside it, then read the organization detail back.

ARAZZO

Affinda Configure and Embed Resume Search

Read the resume search config, update its weights, then mint a signed embeddable search URL.

ARAZZO

Affinda Create Enum Data Point and Populate Choices

Create an enum-style data point on an extractor and replace its full set of choices.

ARAZZO

Affinda Create Mapping Data Source and Add a Value

Create a mapping data source, add a value to it, then list its values.

ARAZZO

Affinda Create Document from Data and Index It

Create a resume document directly from structured data, wait for it, then add it to a search index.

ARAZZO

Affinda Create Extractor with a Data Point

Create a custom extractor in an organization and add a custom data point to it.

ARAZZO

Affinda Create Search Index and Add a Document

Create a Search & Match index, add a document to it, then list the index's documents.

ARAZZO

Affinda Create a Tag and Apply It to Documents

Create a tag in a workspace and batch-apply it to a set of documents.

ARAZZO

Affinda Create Document Type and Generate JSON Schema

Create a document type in an organization, then generate a JSON schema and Pydantic models from it.

ARAZZO

Affinda Find a Document and Move It to Another Collection

Locate a document by its custom identifier, then move it into a different collection.

ARAZZO

Affinda Invite Organization Member and Respond

Create an organization invitation, look it up by token, and accept it on the invitee's behalf.

ARAZZO

Affinda Job Description Search and Detail

Run a job description search using a resume and fetch the detail for the top matching role.

ARAZZO

Affinda Parse and Correct Annotations

Upload a document, wait for parsing, list its annotations, then batch-correct them.

ARAZZO

Affinda Parse and Reject a Document

Upload a document, wait for parsing, inspect the result, then branch to reject or confirm it.

ARAZZO

Affinda Parse and Record a Validation Result

Upload a document, wait for parsing, read its annotations, and record a validation result against it.

ARAZZO

Affinda Provision Collection and Ingest a Document

Create a workspace, create a collection bound to an extractor, then upload a document into it and parse it.

ARAZZO

Affinda Provision Workspace and Collection

Create a workspace inside an organization and a collection bound to an extractor within it.

ARAZZO

Affinda Rename Document Type and Refresh Its Schema

Look up a document type, rename it, then regenerate its JSON schema.

ARAZZO

Affinda Resume Search and Detail

Run a resume search against an index and fetch the detailed match breakdown for the top result.

ARAZZO

Affinda Split a Document and Re-parse

Upload a multi-page document, wait for parsing, then split it into separate documents that re-parse.

ARAZZO

Affinda Update Resume Data and Re-index

Update the parsed data of a resume document and refresh it in a search index.

ARAZZO

Affinda Upload and Parse a Document

Upload a document for parsing, poll until processing completes, then retrieve the parsed data.

ARAZZO

Affinda Upload from URL, Parse, and Confirm

Upload a document by URL, wait for parsing, then confirm it in the validation tool.

ARAZZO

Affinda Subscribe and Activate a Webhook

Create a resthook subscription for an event and activate it with the received secret.

ARAZZO

Affinda Workspace Usage Report

List an organization's workspaces, then pull a daily credit-consumption report scoped to the first workspace.

ARAZZO

Pricing Plans

Affinda Plans Pricing

3 plans

PLANS

Rate Limits

Affinda Rate Limits

2 limits

RATE LIMITS

FinOps

Features

Intelligent Document Processing platform with natural-language workflow configuration
Resume parsing with skills, work experience, education, and language extraction
Invoice parsing with line items, tax breakdown, supplier matching, and currency normalization
Receipt parsing for expense automation
Passport and ID document extraction
Contract data extraction and clause identification
Custom document types configured via dashboard or natural language
Document splitting and classification across multi-document PDFs
Handwriting / OCR recognition
Table extraction across complex multi-page tables
Confidence scoring with bounding box coordinates on every field
Master-data matching against custom mapping data sources
Validation rules and embeddable validation UI (Business and Enterprise tiers)
Resume search and matching against job descriptions with score breakdown
Job description search against indexed resumes
Workspace + collection scoping for multi-tenant document orgs
Resthook-style webhook subscriptions with activation handshake
Webhook events for document parsed, failed, and validated states
Daily credits usage reporting at organization and workspace level
High-priority queue (20 documents/minute) and unlimited low-priority queue
Multi-region deployment (AUS/Global, US, EU) with data residency
SOC 2 Type II, ISO 27001:2022, GDPR, and HIPAA (Enterprise) compliance
On-premise / private-cloud deployment available on Enterprise
SSO and dedicated environment options on Enterprise
Free 14-day pay-as-you-go trial with prepaid credits
Official Python, TypeScript, .NET, and Java client libraries
skill.md file for AI agents (Claude Code, Cursor) describing the full API surface

Semantic Vocabularies

Affinda Context

0 classes · 10 properties

JSON-LD

API Governance Rules

Affinda API Rules

8 rules · 2 errors 5 warnings 1 info

SPECTRAL

Example Payloads

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🌐
Portal
Portal
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔗
OpenAPI
OpenAPI
🔗
AgentSkills
AgentSkills
🔗
APIReference
APIReference
💰
Pricing
Pricing
📝
Signup
Signup
🔗
Login
Login
🔗
Login
Login
🔗
Login
Login
🔑
Authentication
Authentication
🔗
Webhooks
Webhooks
📄
ChangeLog
ChangeLog
📰
Blog
Blog
🎓
Academy
Academy
💬
Support
Support
🔗
ContactUs
ContactUs
🔗
Security
Security
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Twitter
Twitter
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Affinda Workspaces API
  version: 3.0.0
request:
  auth:
    type: bearer
    token: '{{bearerToken}}'
items:
- info:
    name: Workspaces
    type: folder
  items:
  - info:
      name: Get list of all workspaces
      type: http
    http:
      method: GET
      url: https://{region}.affinda.com/v3/workspaces
      params:
      - name: organization
        value: ''
        type: query
        description: Filter by organization.
      - name: name
        value: ''
        type: query
        description: Filter by name.
    docs: Returns your workspaces.
  - info:
      name: Create a workspace
      type: http
    http:
      method: POST
      url: https://{region}.affinda.com/v3/workspaces
      body:
        type: json
        data: '{}'
    docs: Create a workspace
  - info:
      name: Get specific workspace
      type: http
    http:
      method: GET
      url: https://{region}.affinda.com/v3/workspaces/:identifier
      params:
      - name: identifier
        value: ''
        type: path
        description: Workspace's identifier
    docs: Return a specific workspace.
  - info:
      name: Update a workspace
      type: http
    http:
      method: PATCH
      url: https://{region}.affinda.com/v3/workspaces/:identifier
      params:
      - name: identifier
        value: ''
        type: path
        description: Workspace's identifier
      body:
        type: json
        data: '{}'
    docs: Update a workspace.
  - info:
      name: Delete a workspace
      type: http
    http:
      method: DELETE
      url: https://{region}.affinda.com/v3/workspaces/:identifier
      params:
      - name: identifier
        value: ''
        type: path
        description: Workspace's identifier
    docs: Deletes the specified workspace from the database.
  - info:
      name: Get usage by workspace
      type: http
    http:
      method: GET
      url: https://{region}.affinda.com/v3/workspaces/:identifier/usage
      params:
      - name: identifier
        value: ''
        type: path
        description: Workspace's identifier
      - name: start
        value: ''
        type: query
        description: 'Start date of the period to retrieve. Format: YYYY-MM'
      - name: end
        value: ''
        type: query
        description: 'End date of the period to retrieve. Format: YYYY-MM'
    docs: 'Return monthly credits consumption of a workspace.

      Deprecated: use `GET /v3/usage?organization={id}&workspace={id}` instead. The new endpoint returns a unified daily series
      and supports the same workspace scoping along with organization- and document-type-level reporting.'
  - info:
      name: Get list of all workspace memberships
      type: http
    http:
      method: GET
      url: https://{region}.affinda.com/v3/workspace_memberships
      params:
      - name: offset
        value: ''
        type: query
        description: The number of documents to skip before starting to collect the result set.
      - name: limit
        value: ''
        type: query
        description: The numbers of results to return.
      - name: workspace
        value: ''
        type: query
        description: Filter by workspace.
      - name: user
        value: ''
        type: query
        description: Partial text match on user's email, case-insensitive.
    docs: Returns the memberships of your workspaces.
  - info:
      name: Create a workspace membership
      type: http
    http:
      method: POST
      url: https://{region}.affinda.com/v3/workspace_memberships
      body:
        type: json
        data: '{}'
    docs: Create a workspace membership.
  - info:
      name: Get specific workspace membership
      type: http
    http:
      method: GET
      url: https://{region}.affinda.com/v3/workspace_memberships/:identifier
      params:
      - name: identifier
        value: ''
        type: path
        description: Workspace membership's identifier.
    docs: Return a specific workspace membership.
  - info:
      name: Delete a workspace membership
      type: http
    http:
      method: DELETE
      url: https://{region}.affinda.com/v3/workspace_memberships/:identifier
      params:
      - name: identifier
        value: ''
        type: path
        description: Workspace membership's identifier.
    docs: Remove an user from a workspace.
bundled: true