Procurify
Procurify is an intelligent spend management and procure-to-pay platform that provides organizations with unprecedented visibility and control over business spend. The platform offers a RESTful API that enables developers to integrate procurement workflows — including purchase requests, approvals, purchase orders, vendor management, and budget tracking — into their own systems and processes. Authentication is handled via OAuth 2.0 client credentials flow, with tokens scoped to the requesting domain and user. The API supports core spend management resources such as requisitions, purchase orders, accounts payable, receipts, account codes, vendors, and catalog items, all returning and consuming JSON. Procurify does not support webhooks; all integrations are pull-based through the REST endpoints documented at developer.procurify.com.
Real signal across most facets with visible, nameable gaps — the contract exists but is thin, or the portal is good while governance and commercial terms are absent.
API Evangelist profiles Procurify the way a machine reads it — 367 machine-readable artifacts across 17 APIs, pulled from the provider's own public surface and indexed so a developer, an analyst, or an AI agent can evaluate it against every other provider on the network.
Every provider in the network is reduced to the same set of machine-readable artifacts — OpenAPI contracts, event specifications, GraphQL schemas, runnable collections, pricing and rate-limit signals, security posture, OAuth scopes, and the agent surfaces (MCP servers and skills) that let software drive the API on its own. We profile them because the interface is the part of a company you can actually inspect: it is a truer signal of what a provider does than any marketing page. From those artifacts we compute the Kin Score — Procurify scores 55.4/100 (developing), with a separate agent-readiness read of 48/100 (agent ready). The full breakdown is below, followed by every artifact we hold — each card links through to its machine-readable definition on apis.io.
Kin Score
This is the API Evangelist rating — a single, repeatable read computed from the artifacts on this page. Green fill is points earned; the red track is points possible, so every bar shows earned-versus-possible at a glance.
How we profile Procurify
Each block below is one kind of artifact we hold for Procurify. For each we say what it is and why it earns a place in the profile, then list every one we've indexed — capped at two rows, scroll within the panel for the rest.
APIs 17
Each API is captured as its own OpenAPI definition — every operation, parameter, and response. This is the single most useful machine-readable description of what an API does, and it's what lets us score, lint, mock, and generate against it without asking the provider for anything.
Individual APIs this provider publishes, each with its own machine-readable definition.
Procurify account-codes API
The account-codes API from Procurify — 2 operation(s) for account-codes.
Procurify accounts API
The accounts API from Procurify — 1 operation(s) for accounts.
Procurify ap API
The ap API from Procurify — 8 operation(s) for ap.
Procurify catalog API
The catalog API from Procurify — 3 operation(s) for catalog.
Procurify currencies API
The currencies API from Procurify — 1 operation(s) for currencies.
Procurify custom-fields API
The custom-fields API from Procurify — 2 operation(s) for custom-fields.
Procurify departments API
The departments API from Procurify — 2 operation(s) for departments.
Procurify locations API
The locations API from Procurify — 2 operation(s) for locations.
Procurify oauth API
The oauth API from Procurify — 1 operation(s) for oauth.
Procurify order-items API
The order-items API from Procurify — 1 operation(s) for order-items.
Procurify permissions API
The permissions API from Procurify — 2 operation(s) for permissions.
Procurify public API
The public API from Procurify — 2 operation(s) for public.
Procurify purchase-orders API
The purchase-orders API from Procurify — 7 operation(s) for purchase-orders.
Procurify receipt API
The receipt API from Procurify — 1 operation(s) for receipt.
Procurify requisitions API
The requisitions API from Procurify — 3 operation(s) for requisitions.
Procurify users API
The users API from Procurify — 3 operation(s) for users.
Procurify vendors API
The vendors API from Procurify — 2 operation(s) for vendors.
Scroll within the panel for all 17 ·
Pricing Plans 1
Pricing is part of the interface. Machine-readable plans tell you what a tier costs and includes before you commit — one of the six things the Kin Score reads for commercial clarity.
Published pricing tiers and plan structures.
Rate Limits 1
Rate limits are the difference between a demo that works and a production integration that doesn't fall over. Publishing them is an operational-transparency signal — and a hard requirement for any agent that plans its own throughput.
Documented rate limits and quota policies.
Procurify Rate Limits
RATE LIMITSFinOps 1
Cost, billing, and metering signals let a buyer model the financial operations of an API before it's live. We profile them for the same reason we profile pricing: the money is part of the contract.
Cost, billing, and metering signals for API financial operations.
Procurify Finops
FINOPSSemantic Vocabularies 1
JSON-LD contexts give the data shared meaning across APIs. We profile them because semantics are what let a machine reconcile 'customer' here with 'customer' somewhere else.
JSON-LD contexts and semantic vocabularies used across these APIs.
Procurify Context
JSON-LDSpectral Rules 1
Governance rulesets we run against this provider's specs — the automated checks behind parts of the score. Profiling them makes the quality bar explicit and re-runnable, not a matter of opinion.
Procurify API Rules
SPECTRALJSON Schema 286
Standalone JSON Schema definitions describe the data models behind the API. We profile them so the shapes are validatable on their own — useful long after a single request is forgotten.
Standalone JSON Schema definitions for this provider's data models.
Account
JSON SCHEMAAccountCodeCreateRequest
JSON SCHEMAAccountCodeRead
JSON SCHEMAAccountCodeReadSerializerSingleCreate
JSON SCHEMAAccountCodeReadSerializerSingleUpdate
JSON SCHEMAAccountCodeUpdateRequest
JSON SCHEMAAccountRead
JSON SCHEMAAccountTypeEnum
JSON SCHEMAActionEnum
JSON SCHEMAAddress
JSON SCHEMAAddressAssociationEnum
JSON SCHEMAAddressDocs
JSON SCHEMAAddressRequest
JSON SCHEMAAddressSummary
JSON SCHEMAAdjustment
JSON SCHEMAAdjustmentTypeEnum
JSON SCHEMAAllocationRead
JSON SCHEMAAPBillPaymentDocs
JSON SCHEMAAPCreditCard
JSON SCHEMAApiNestedEditDeletePurchaseOrderDetail
JSON SCHEMAApprovalDelegatee
JSON SCHEMAApprovalDelegateeDocs
JSON SCHEMAApprovalDelegateeSlimDocs
JSON SCHEMAApprovalDelegationRead
JSON SCHEMAApprovalWorkflow
JSON SCHEMAApprovalWorkflowApprover
JSON SCHEMAApprovalWorkflowApproverGroup
JSON SCHEMAApprovalWorkflowCurrentStep
JSON SCHEMAApprovalWorkflowNextStep
JSON SCHEMAApproverChoicesMetadataApproverReadDocs
JSON SCHEMAApproverChoicesMetadataDocs
JSON SCHEMAApproverRead
JSON SCHEMAApproverReadDocs
JSON SCHEMAAttachment
JSON SCHEMAAuthorizationStatusEnum
JSON SCHEMABillCostRead
JSON SCHEMABillDocs
JSON SCHEMABillItemsMetadataDocs
JSON SCHEMABillItemsSummaryDocs
JSON SCHEMABillListViewApproverUserDocs
JSON SCHEMABillMetadataBillRead
JSON SCHEMABillMetadataListSimpleBill
JSON SCHEMABillPaymentDocs
JSON SCHEMABillPaymentVendorPaymentMethodRead
JSON SCHEMABillPurchaseOrderDocs
JSON SCHEMABillRead
JSON SCHEMABillStatusEnum
JSON SCHEMABillStatusRead
JSON SCHEMABillSummaryDocs
JSON SCHEMABillTypeEnum
JSON SCHEMABlankEnum
JSON SCHEMABlanketOrderItemRead
JSON SCHEMABranch
JSON SCHEMABranchSummary
JSON SCHEMABreakdownDocs
JSON SCHEMACatalogItemBundleRead
JSON SCHEMACatalogItemRead
JSON SCHEMACatalogItemReadSerializerSingleCreate
JSON SCHEMACatalogItemReadSerializerSingleUpdate
JSON SCHEMACatalogItemReadSerializerWithQuantity
JSON SCHEMACatalogItemUpsertRequest
JSON SCHEMACategoryEnum
JSON SCHEMAChartOfAccountsAccount
JSON SCHEMAComment
JSON SCHEMACompanyPaymentMethod
JSON SCHEMACompanyPaymentMethodRead
JSON SCHEMACompanyPaymentMethodRequest
JSON SCHEMACostAllocationRead
JSON SCHEMACostDetails
JSON SCHEMACreditCard
JSON SCHEMACreditCardAssignee
JSON SCHEMACreditCardAssigneeRequest
JSON SCHEMACreditCardItemRead
JSON SCHEMACreditCardRead
JSON SCHEMACreditCardRequest
JSON SCHEMACreditCardStatusEnum
JSON SCHEMACreditCardTypeEnum
JSON SCHEMACurrency
JSON SCHEMACurrencyRequest
JSON SCHEMACurrencySummary
JSON SCHEMACustomFieldRead
JSON SCHEMACustomFieldReadSerializerSingle
JSON SCHEMACustomFieldUpdateRequest
JSON SCHEMACustomFieldValueRead
JSON SCHEMADenialReasonEnum
JSON SCHEMADepartmentIdValidationRequest
JSON SCHEMADepartmentLocationRead
JSON SCHEMADepartmentRead
JSON SCHEMADepartmentReadSerializerSingleCreate
JSON SCHEMADepartmentReadSerializerSingleUpdate
JSON SCHEMADepartmentSummary
JSON SCHEMADepartmentUpsertRequest
JSON SCHEMADomainSwitching
JSON SCHEMADurationEnum
JSON SCHEMAEmailConfiguration
JSON SCHEMAEmailConfigurationRequest
JSON SCHEMAExpenseDocs
JSON SCHEMAExpenseLineCreditCard
JSON SCHEMAExpenseRead
JSON SCHEMAExpenseReportDocs
JSON SCHEMAExpenseReportUserSummaryDocs
JSON SCHEMAExpenseReportWithUserDocs
JSON SCHEMAExpenseTypeEnum
JSON SCHEMAFieldTypeEnum
JSON SCHEMAFlagRead
JSON SCHEMAFrequencyEnum
JSON SCHEMAFulfilmentStatusEnum
JSON SCHEMAInviteFunctionalUserRequest
JSON SCHEMAItemMetadataItemRead
JSON SCHEMAItemReadSerializer_v2
JSON SCHEMAItemWriteRequest
JSON SCHEMALanguageEnum
JSON SCHEMALegalEntitySummary
JSON SCHEMALineItemCustomFieldRequest
JSON SCHEMAListBillsMetadataDocs
JSON SCHEMALocationCreateUpsertRequest
JSON SCHEMALocationIdValidationSerializersRequest
JSON SCHEMALocationSimple
JSON SCHEMALocationTimezoneEnum
JSON SCHEMALocationView
JSON SCHEMALocationViewSerializerSingleCreate
JSON SCHEMALocationViewSerializerSingleRetrieve
JSON SCHEMAMarkBillsAsPaid
JSON SCHEMAMarkBillsAsPaidRequest
JSON SCHEMAMasterLogger
JSON SCHEMAMinimalRoleRead
JSON SCHEMANested
JSON SCHEMANestedVendorRequest
JSON SCHEMANestedVendorRequestRequest
JSON SCHEMANullEnum
JSON SCHEMAOptimizedVendor
JSON SCHEMAOptimizedVendorRequest
JSON SCHEMAOptimizedVendorSerializerSingle
JSON SCHEMAOrderItem
JSON SCHEMAOrderItemAttachment
JSON SCHEMAOrderItemAttachmentTypeEnum
JSON SCHEMAOrderItemPurchaseEdit
JSON SCHEMAOrderItemPurchaseEditRequest
JSON SCHEMAOrderItemRead
JSON SCHEMAOrderItemStatusEnum
JSON SCHEMAOrderItemTypeEnum
JSON SCHEMAOrderRead
JSON SCHEMAOrderStatusEnum
JSON SCHEMAPaginatedAccountCodeReadList
JSON SCHEMAPaginatedCatalogItemBundleReadList
JSON SCHEMAPaginatedCatalogItemReadList
JSON SCHEMAPaginatedChartOfAccountsAccountList
JSON SCHEMAPaginatedCompanyPaymentMethodReadList
JSON SCHEMAPaginatedCurrencyList
JSON SCHEMAPaginatedCustomFieldReadList
JSON SCHEMAPaginatedDepartmentReadList
JSON SCHEMAPaginatedLocationViewList
JSON SCHEMAPaginatedOptimizedVendorList
JSON SCHEMAPaginatedOrderItemList
JSON SCHEMAPaginatedOrderReadList
JSON SCHEMAPaginatedPaymentResponseList
JSON SCHEMAPaginatedPermissionGroupReadList
JSON SCHEMAPaginatedPermissionReadList
JSON SCHEMAPaginatedReceiptItemReadList
JSON SCHEMAPaginatedTransactionList
JSON SCHEMAPaginatedUserProfileUnoptimizedList
JSON SCHEMAPaginatedVendorPaymentMethodReadList
JSON SCHEMAPaginationDocs
JSON SCHEMAPatchedOptimizedVendorRequest
JSON SCHEMAPaymentCreator
JSON SCHEMAPaymentCurrencyResponse
JSON SCHEMAPaymentListRead
JSON SCHEMAPaymentMetadataDocs
JSON SCHEMAPaymentMetadataPaymentListRead
JSON SCHEMAPaymentMethod
JSON SCHEMAPaymentMethodDocs
JSON SCHEMAPaymentMethodRead
JSON SCHEMAPaymentMethodReadRequest
JSON SCHEMAPaymentMethodRequest
JSON SCHEMAPaymentMethodTypeEnum
JSON SCHEMAPaymentResponse
JSON SCHEMAPaymentResponseStatusEnum
JSON SCHEMAPaymentSimpleDocs
JSON SCHEMAPaymentSourceTypeEnum
JSON SCHEMAPaymentStatusEnum
JSON SCHEMAPaymentSummaryDocs
JSON SCHEMAPaymentTerm
JSON SCHEMAPaymentTermRequest
JSON SCHEMAPaymentTypeEnum
JSON SCHEMAPendingApprovalsCountDocs
JSON SCHEMAPermissionGroupRead
JSON SCHEMAPermissionRead
JSON SCHEMAPermissionsApprove
JSON SCHEMAPermissionsEditDelete
JSON SCHEMAPermissionsEditDeleteApprove
JSON SCHEMAPODocs
JSON SCHEMAPOWithListPurchaseOrderDocs
JSON SCHEMAPriceModifierDocs
JSON SCHEMAPriceModifierDocsTypeEnum
JSON SCHEMAProcurifyDomain
JSON SCHEMAPunchOutReadDocs
JSON SCHEMAPurchaseAgreementStatusEnum
JSON SCHEMAPurchaseOrderBillingHistory
JSON SCHEMAPurchaseOrderBillingHistoryItem
JSON SCHEMAPurchaseOrderBillingHistorySerializerList
JSON SCHEMAPurchaseOrderContract
JSON SCHEMAPurchaseOrderCountsBreakdown
JSON SCHEMAPurchaseOrderCountsMeta
JSON SCHEMAPurchaseOrderDetail
JSON SCHEMAPurchaseOrderDetailSerializerSingle
JSON SCHEMAPurchaseOrderDocs
JSON SCHEMAPurchaseOrderLineItemRead
JSON SCHEMAPurchaseOrderListMeta
JSON SCHEMAPurchaseOrderRead
JSON SCHEMAPurchaseOrderReadDocs
JSON SCHEMAPurchaseOrderReadDocsSerializerSingle
JSON SCHEMAPurchaseOrderStateEnum
JSON SCHEMAPurchaseOrderUpdate
JSON SCHEMAPurchaseOrderUpdateRequest
JSON SCHEMAPurchaseOrderUpdateSerializerSingle
JSON SCHEMAReceiptItemRead
JSON SCHEMAReceiveMethodEnum
JSON SCHEMAReconciliationStatusEnum
JSON SCHEMARecurringOrderItem
JSON SCHEMARequisitionCreateRequest
JSON SCHEMARequisitionLineCreateRequest
JSON SCHEMARequisitionRead
JSON SCHEMARequisitionReadSerializerSingle
JSON SCHEMARoleEnum
JSON SCHEMASessionCreate
JSON SCHEMASetupStageEnum
JSON SCHEMAShippingMethod
JSON SCHEMAShippingMethodRequest
JSON SCHEMAShippingTerm
JSON SCHEMAShippingTermRequest
JSON SCHEMASimpleAPVendor
JSON SCHEMASimpleBill
JSON SCHEMASimpleCurrency
JSON SCHEMASimpleDepartment
JSON SCHEMASimpleExpenseReport
JSON SCHEMASimpleLocation
JSON SCHEMASimpleRoleRead
JSON SCHEMASimpleUser
JSON SCHEMASimpleUserProfile
JSON SCHEMASimpleUserSummary
JSON SCHEMASimpleVendor
JSON SCHEMASingleBillMetadataDocs
JSON SCHEMASpendAccountRead
JSON SCHEMAStatementItem
JSON SCHEMATimezoneEnum
JSON SCHEMATransaction
JSON SCHEMATransactionAccount
JSON SCHEMATransactionCardholder
JSON SCHEMATransactionCardholderStatusEnum
JSON SCHEMATransactionCustomField
JSON SCHEMATransactionCustomFieldTypeEnum
JSON SCHEMATransactionFund
JSON SCHEMATransactionFundStatusEnum
JSON SCHEMATransactionStatusEnum
JSON SCHEMATransactionTypeEnum
JSON SCHEMATransactionVendor
JSON SCHEMATransationCard
JSON SCHEMATransationCardStatusEnum
JSON SCHEMAUnitCostDiffLogDocs
JSON SCHEMAUnoptimizedAccountCodeserializer
JSON SCHEMAUnoptimizedBranchRead
JSON SCHEMAUnoptimizedDepartmentRead
JSON SCHEMAUserDocs
JSON SCHEMAUserProfileMe
JSON SCHEMAUserProfileMeSerializerSingle
JSON SCHEMAUserProfileRead
JSON SCHEMAUserProfileUnoptimized
JSON SCHEMAUserProfileUnoptimizedSerializerList
JSON SCHEMAUserProfileUnoptimizedSerializerSingle
JSON SCHEMAUserProfileUpsertRequest
JSON SCHEMAUserSummary
JSON SCHEMAVendor
JSON SCHEMAVendorBreakdownDocs
JSON SCHEMAVendorDetail
JSON SCHEMAVendorDetailSerializerSingleCreate
JSON SCHEMAVendorDetailSerializerSingleRetrieve
JSON SCHEMAVendorDocs
JSON SCHEMAVendorPaymentMethodFlightTime
JSON SCHEMAVendorPaymentMethodRead
JSON SCHEMAVendorPaymentMethodRequest
JSON SCHEMAVendorPaymentMethodTransactionFee
JSON SCHEMAVendorPerformance
JSON SCHEMAVendorRead
JSON SCHEMAVendorSerializerSingle
JSON SCHEMAVendorTypeEnum
JSON SCHEMAVersionChoicesDocs
JSON SCHEMAScroll within the panel for all 286 ·
Examples 55
Real request and response payloads are what turn a spec from abstract into obvious — and they're one of the twelve things an agent needs to call an API correctly on the first try.
Example request and response payloads for these APIs.
Delete Api V3 Users Id
EXAMPLEGet Api Public V1 Payments
EXAMPLEGet Api V2 Ap Bills Id
EXAMPLEGet Api V2 Ap Items
EXAMPLEGet Api V2 Ap Payments
EXAMPLEGet Api V2 Currencies
EXAMPLEGet Api V2 Global Orders
EXAMPLEGet Api V2 Locations Id
EXAMPLEGet Api V2 Locations
EXAMPLEGet Api V3 Account Codes
EXAMPLEGet Api V3 Accounts
EXAMPLEGet Api V3 Ap Bills
EXAMPLEGet Api V3 Catalog Bundles
EXAMPLEGet Api V3 Catalog Items
EXAMPLEGet Api V3 Departments
EXAMPLEGet Api V3 Order Items
EXAMPLEGet Api V3 Permissions
EXAMPLEGet Api V3 Receipt Items
EXAMPLEGet Api V3 Users Me
EXAMPLEGet Api V3 Users
EXAMPLEGet Api V3 Vendors Id
EXAMPLEGet Api V3 Vendors
EXAMPLEPatch Api V3 Vendors Id
EXAMPLEPost Api V2 Locations
EXAMPLEPost Api V3 Account Codes
EXAMPLEPost Api V3 Catalog Items
EXAMPLEPost Api V3 Departments
EXAMPLEPost Api V3 Receipt Items
EXAMPLEPost Api V3 Requisitions
EXAMPLEPost Api V3 Users
EXAMPLEPost Api V3 Vendors
EXAMPLEPost Oauth Token
EXAMPLEPut Api V3 Account Codes Id
EXAMPLEPut Api V3 Catalog Items Id
EXAMPLEPut Api V3 Custom Fields Id
EXAMPLEPut Api V3 Departments Id
EXAMPLEPut Api V3 Users Id
EXAMPLEPut Api V3 Vendors Id
EXAMPLEScroll within the panel for all 55 ·
Security Posture 2
Authentication, domain security, vulnerability disclosure, and trust-center signals — the evidence that a provider takes security seriously enough to document it. We profile it because you can't govern what you can't see.
Authentication, domain security, vulnerability disclosure, and trust-center signals.
Scopes 1
OAuth scopes are the vocabulary of least-privilege access. Profiling them shows exactly what an integration — or an agent acting on a user's behalf — is allowed to do.
OAuth scopes governing access to this provider's APIs.
Agentic Access 1
An x-agentic-access contract marks which operations are safe for an agent to run on its own and which need a human in the loop. It is the difference between an API an agent can use and one it can use safely.
Recommended x-agentic-access execution contracts for AI agents.
Resources
Every other property we hold for Procurify — documentation, portals, status pages, policies, and corporate surface — grouped by the job it does, following the integrator's arc from getting started to running in production.
Documentation 1
Reference material describing how the API behaves
Agent Surfaces 1
MCP servers, agent skills, and machine-readable catalogs
Design & Contract 2
Pagination, idempotency, versioning, errors, and events
Build 1
SDKs, sample code, and the tooling you integrate with
Access & Security 3
Authentication, authorization, and security posture
Operate 2
Status, limits, changes, and where to get help
Commercial 3
Pricing, plans, and the legal terms of use
Company 3
The organization behind the API
Other 2
Properties that don't map to a standard resource type
← All providers · Data indexed from github.com/api-evangelist/procurify · machine-readable index on apis.io