Resourcly supplier-portal API
The supplier-portal API from Resourcly — 5 operation(s) for supplier-portal.
The supplier-portal API from Resourcly — 5 operation(s) for supplier-portal.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/resourcly-supplier-portal-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
description: API for document processing, item similarity search, and analytics.
title: Resourcly analytics Supplier Portal API
termsOfService: https://resourcly.com/terms
contact:
name: API Support
email: support@resourcly.com
license:
name: Proprietary
version: 1.0.0
servers:
- url: https://api.resourcly.com/v1
tags:
- name: supplier-portal
paths:
/v1/supplier/request/{id}:
get:
description: Returns the full details of a supplier data request (what was requested)
tags:
- supplier-portal
summary: Get supplier request details
parameters:
- description: Supplier data request ID
name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/models.SupplierRequestDetailsResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
/v1/supplier/request/{id}/files/{fileId}:
delete:
description: Deletes a file from a supplier response
tags:
- supplier-portal
summary: Delete supplier response file
parameters:
- description: Supplier data request ID
name: id
in: path
required: true
schema:
type: string
- description: File ID to delete
name: fileId
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
additionalProperties:
type: string
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
/v1/supplier/request/{id}/respond:
post:
description: Saves or submits master data values for a supplier data request
tags:
- supplier-portal
summary: Save or submit supplier response
parameters:
- description: Supplier data request ID
name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/models.SupplierSubmitResponseResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/models.SupplierSubmitResponseRequest'
description: Response payload
required: true
/v1/supplier/request/{id}/upload:
post:
description: Uploads a file for a specific document type in a supplier response
tags:
- supplier-portal
summary: Upload supplier response file
parameters:
- description: Supplier data request ID
name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/models.SupplierUploadFileResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
document_type:
type: string
description: Document type key (e.g. CATALOGUE)
file:
type: string
description: File to upload
format: binary
required:
- document_type
- file
/v1/supplier/verify-passcode:
post:
description: Verifies the 6-digit passcode for a supplier data request and returns a JWT
tags:
- supplier-portal
summary: Verify supplier passcode
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/models.SupplierVerifyPasscodeResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
'429':
description: Too Many Requests
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/models.ErrorResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/models.SupplierVerifyPasscodeRequest'
description: Passcode verification payload
required: true
components:
schemas:
models.SupplierSubmitResponseResponse:
type: object
properties:
message:
type: string
response_id:
type: string
status:
type: string
models.SupplierUploadFileResponse:
type: object
properties:
document_type:
type: string
file_id:
type: string
filename:
type: string
message:
type: string
models.SupplierResponseFileInfo:
type: object
properties:
content_type:
type: string
created_at:
type: string
document_type:
type: string
file_size_bytes:
type: integer
filename:
type: string
id:
type: string
url:
type: string
models.SupplierGetResponseResponse:
type: object
properties:
files:
type: array
items:
$ref: '#/components/schemas/models.SupplierResponseFileInfo'
id:
type: string
master_data_values:
type: object
additionalProperties:
type: string
status:
description: '"draft" or "submitted"'
type: string
submitted_at:
type: string
updated_at:
type: string
models.ErrorResponse:
type: object
properties:
code:
type: string
details: {}
error:
type: string
models.SupplierRequestDetailsResponse:
type: object
properties:
article_numbers:
type: array
items:
type: string
company_name:
type: string
contact_email:
type: string
created_at:
type: string
documents:
type: array
items:
type: string
expires_at:
type: string
has_response:
type: boolean
id:
type: string
manufacturer:
type: string
master_data:
type: array
items:
type: string
order_number:
type: string
other_details:
type: string
rejection_reason:
type: string
response:
description: Current response data (populated when a response exists).
allOf:
- $ref: '#/components/schemas/models.SupplierGetResponseResponse'
status:
type: string
models.SupplierVerifyPasscodeResponse:
type: object
properties:
expires_at:
description: ISO 8601 expiry timestamp
type: string
token:
description: Short-lived JWT for accessing the request
type: string
models.SupplierVerifyPasscodeRequest:
type: object
properties:
passcode:
description: 6-digit passcode from the email
type: string
request_id:
description: UUID of the supplier data request
type: string
models.SupplierSubmitResponseRequest:
type: object
properties:
master_data_values:
description: field key -> value
type: object
additionalProperties:
type: string
status:
description: '"draft" or "submitted"'
type: string
securitySchemes:
BearerAuth:
description: 'Firebase JWT token. Format: "Bearer {token}"'
type: apiKey
name: Authorization
in: header