AppZen Documents API
The Documents API from AppZen — 1 operation(s) for documents.
The Documents API from AppZen — 1 operation(s) for documents.
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/appzen-documents-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:
title: Autonomous AP Documents API
description: Public APIs for integrating with Autonomous AP
version: 2.0.3
servers:
- url: https://<env>.appzen.com/dictionary-data-services
security:
- API Key Header: []
Customer Id Header: []
Customer Key Header: []
tags:
- name: Documents
paths:
/generate-upload-url:
get:
tags:
- Documents
summary: Generates a url to upload a document into AppZen repository
description: 'This is first part of a two part process for uploading a document into AppZen repository.
1) Generate URL
```
curl --location \
--request GET ''https:///dictionary-data-services/generate-upload-url'' \
--header ''x-api-key: '' \
--header ''customer-id: '' \
--header ''customer-key: ''
```
2) The JSON reponse contains three elements.
A `uuid` field contains the identifier of the document to be uploaded.
An `url` field is a one-time unique URL.
An `expires` field is the expiration timestamp of the url field. Example JSON response:
```
{
"url": "https://",
"uuid": "5fc03087-d265-11e7-b8c6-83e29cd24f4c",
"expires": "2021-02-23T22:20:47.636Z"
}
```
3) Using the URL generated above, upload a document/attachment via an additional PUT API call, such as in the following example.
A document attachment is limited to max size of 25MB.
```
curl --location \
--request PUT ''https://'' \
--data-binary ''@//Attachment_012.pdf''
```
4) The uuid returned in 2), such as `5fc03087-d265-11e7-b8c6-83e29cd24f4c` in the example, can be used to link the attachment, to an invoice.'
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/signed-url-response'
400:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/http-400-error-response'
401:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/http-401-error-response'
403:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/http-403-error-response'
404:
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/http-404-error-response'
500:
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/http-500-error-response'
operationId: getGenerateUploadUrl
x-operation-id-source: derived
components:
schemas:
http-401-error-response:
type: object
properties:
timestamp:
type: string
example: 2019-01-17T16:12:45.977+0000
status:
type: string
example: 401
error:
type: string
example: Unauthorized
message:
type: string
example: 'Error code : 17e3338d - Unable to authenticate credentials'
http-500-error-response:
type: object
properties:
timestamp:
type: string
example: 2019-01-17T16:12:45.977+0000
status:
type: string
example: 500
error:
type: string
example: Internal Server Error
message:
type: string
example: 'Error code : 17e3338d - Unable to process your request at this moment, please try again later'
signed-url-response:
type: object
properties:
url:
type: string
example: http://download-link.appzen.com/Staged_Documents/0102/5fc03087-d265-11e7-b8c6-83e29cd24f4c/AEMB7W..<very-long-url>
uuid:
type: string
example: 5fc03087-d265-11e7-b8c6-83e29cd24f4c
expires:
type: string
example: '2021-02-23T22:20:47.636Z'
http-400-error-response:
type: object
properties:
timestamp:
type: string
example: 2019-01-17T16:12:45.977+0000
status:
type: string
example: 400
error:
type: string
example: Bad Request
message:
type: string
example: 'Error code : 17e3338d - Invalid request, please fix and resend'
http-403-error-response:
type: object
properties:
timestamp:
type: string
example: 2019-01-17T16:12:45.977+0000
status:
type: string
example: 403
error:
type: string
example: Forbidden
message:
type: string
example: 'Error code : 17e3338d - You do not have permission to access this resource'
http-404-error-response:
type: object
properties:
timestamp:
type: string
example: 2019-01-17T16:12:45.977+0000
status:
type: string
example: 404
error:
type: string
example: Not Found
message:
type: string
example: 'Error code : 17e3338d - The resource you specified cannot be not found'
securitySchemes:
API_Key_Header:
type: apiKey
in: header
name: x-api-key
Customer_Id_Header:
type: apiKey
in: header
name: customer-id
Customer_Key_Header:
type: apiKey
in: header
name: customer-key