Airwallex logo

VendorsBeta

Copy for LLMView as Markdown

Manages vendor records for accounts payable and purchase order workflows. Supports vendor creation, retrieval, listing with filters, and sync status updates for integration with external accounting systems.

Endpoints
GET /api/v1/spend/vendors
GET /api/v1/spend/vendors/{id}
POST /api/v1/spend/vendors/{id}/sync
POST /api/v1/spend/vendors/create

List vendors

GET /api/v1/spend/vendors

Returns a list of vendors filtered by the specified query parameters.

Parameters
external_idstring

Filter by vendor external unique identifier.

from_created_atstring

Filter by vendors created after this timestamp (inclusive) in ISO8601 format. If not specified, defaults to last 30 days from to_created_at.

from_updated_atstring

Filter by vendors updated after this timestamp (inclusive) in ISO8601 format.

legal_entity_idstring

Filter by legal entity unique identifier.

pagestring

A bookmark for use in pagination to retrieve either the next page or the previous page of results. You can fetch the value for this identifier from the response of the previous API call.

statusstring

Filter by vendor status. Possible values are DRAFT, AWAITING_APPROVAL, ACTIVE, ARCHIVED.

sync_statusstring

Filter by sync status. Possible values are NOT_SYNCED, SYNCED, SYNC_FAILED.

to_created_atstring

Filter by vendors created before this timestamp (exclusive) in ISO8601 format. If not specified, defaults to now.

to_updated_atstring

Filter by vendors updated before this timestamp (exclusive) in ISO8601 format.

Response body - 200 OK
itemsarray

List of items returned.

items.approversarray

List of user emails who can approve the vendor.

items.attachmentsarray

List of file attachments associated with the vendor.

items.attachments.content_typestring

MIME type of the attached file. Common types include image/jpeg, image/png, and application/pdf.

items.attachments.created_atstring

Timestamp for when the resource was created in ISO8601 format.

items.attachments.file_namestring

Original filename of the uploaded attachment, including the file extension.

items.attachments.file_urlstring

URL to access and download the attachment file. Authentication is required.

items.attachments.idstring

Unique identifier of the attachment.

items.commentsarray

List of comments associated with the vendor.

items.comments.contentstring

Text body of the comment.

items.comments.created_atstring

Timestamp for when the resource was created in ISO8601 format.

items.comments.created_bystring

Email address of the user who created this comment. Used for attribution, notifications, and audit trail tracking.

items.contactsarray

Contacts associated with this vendor.

items.contacts.contact_namestring

Full name of the vendor contact.

items.contacts.emailstring

Email address of the vendor contact.

items.contacts.phone_numberstring

Phone number in E.164 format.

items.created_atstring

Timestamp for when the resource was created in ISO8601 format.

items.idstring

Unique identifier of the vendor.

items.legal_entity_idsarray

Unique identifiers of the legal entities associated with this vendor.

items.namestring

Display name of the vendor.

items.statusstring

Vendor status. Possible values are DRAFT, AWAITING_APPROVAL, ACTIVE, ARCHIVED.

items.sync_statusstring

Sync status for an accounting system. Possible values are NOT_SYNCED, SYNCED, SYNC_FAILED.

items.updated_atstring

Timestamp for when the resource was updated in ISO8601 format.

items.addressobject

Address.

items.address.citystring

City, district, suburb, or town.

items.address.country_codestring

Country code (ISO 3166-1 alpha-2).

UNDEFINED, AC, AD, AE, AF, AG, AI, AL, AM, AN, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BU, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CP, CR, CS, CU, CV, CW, CX, CY, CZ, DE, DG, DJ, DK, DM, DO, DZ, EA, EC, EE, EG, EH, ER, ES, ET, EU, EZ, FI, FJ, FK, FM, FO, FR, FX, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, IC, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NT, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SU, SV, SX, SY, SZ, TA, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TP, TR, TT, TV, TW, TZ, UA, UG, UK, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XI, XU, XK, YE, YT, YU, ZA, ZM, ZR, ZW

items.address.postcodestring

Postal/ZIP code.

items.address.statestring

State, province, or region.

items.address.street_addressstring

Street address line.

items.business_namestring

Business/legal name of the vendor.

items.business_registration_numberstring

Business registration number of the vendor.

items.country_codestring

Country of the vendor, as an ISO 3166-1 alpha-2 country code.

UNDEFINED, AC, AD, AE, AF, AG, AI, AL, AM, AN, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BU, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CP, CR, CS, CU, CV, CW, CX, CY, CZ, DE, DG, DJ, DK, DM, DO, DZ, EA, EC, EE, EG, EH, ER, ES, ET, EU, EZ, FI, FJ, FK, FM, FO, FR, FX, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, IC, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NT, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SU, SV, SX, SY, SZ, TA, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TP, TR, TT, TV, TW, TZ, UA, UG, UK, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XI, XU, XK, YE, YT, YU, ZA, ZM, ZR, ZW

items.external_idstring

External identifier for this vendor in your system.

items.owner_emailstring

Email of the internal owner responsible for managing this vendor.

items.sync_error_messagestring

Error message describing the sync failure reason, populated when the sync status is updated via the API. Null when no sync error has occurred.

page_afterstring

A pointer to the end of the page list used in pagination to retrieve the next page of results.

page_beforestring

A pointer to the start of the page list use in pagination to retrieve the previous page of results.

Errors
Error statusDescription
400

Invalid Request.

404

Not found.

500

Internal server error.

GET /api/v1/spend/vendors
$curl --request GET \
> --url 'https://api.airwallex.com/api/v1/spend/vendors' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "items": [
3 {
4 "id": "985461d5-016f-4e1f-a387-5f1380b42d92",
5 "legal_entity_ids": [
6 "le_U3jlHqQRNHWn2zAKeeT8sg",
7 "le_V4kmIrRSOMXo3bBLffU9th"
8 ],
9 "name": "Airwallex",
10 "business_name": "Airwallex Pty Ltd",
11 "country_code": "US",
12 "address": {
13 "street_address": "123 Main Street",
14 "city": "San Francisco",
15 "state": "California",
16 "postcode": "94105",
17 "country_code": "US"
18 },
19 "status": "ACTIVE",
20 "sync_status": "SYNCED",
21 "sync_error_message": "Failed to sync vendor: a vendor with this name already exists.",
22 "approvers": [
25 ],
26 "owner_email": "[email protected]",
27 "business_registration_number": "123456789",
28 "external_id": "VENDOR-EXT-001",
29 "contacts": [
30 {
31 "contact_name": "Airwallex",
32 "email": "[email protected]",
33 "phone_number": "+61499999999"
34 }
35 ],
36 "attachments": [
37 {
38 "id": "985461d5-016f-4e1f-a387-5f1380b42d92",
39 "content_type": "image/jpeg",
40 "file_name": "flight_receipt.jpg",
41 "file_url": "https://www.airwallex.com/flight_receipt.jpg",
42 "created_at": "2025-02-02T00:00:00Z"
43 }
44 ],
45 "comments": [
46 {
47 "content": "Expense approved - valid business purpose confirmed",
48 "created_by": "[email protected]",
49 "created_at": "2025-01-01T00:00:00Z"
50 }
51 ],
52 "created_at": "2025-01-01T00:00:00Z",
53 "updated_at": "2025-02-02T00:00:00Z"
54 }
55 ],
56 "page_after": "eyJwYWdlX2JlZm9yZSI6IjIwMjUtMDctMDFUMDA6MDA6MDBaIn0=",
57 "page_before": "eyJwYWdlX2JlZm9yZSI6IjIwMjUtMDctMDFUMDA6MDA6MDBaIn0="
58}
Was this section helpful?

Get vendor

GET /api/v1/spend/vendors/{id}

Retrieves the details of an existing vendor.

Parameters
idrequiredstring

Unique identifier of the vendor.

Response body - 200 OK
addressobject

Address.

address.citystring

City, district, suburb, or town.

address.country_codestring

Country code (ISO 3166-1 alpha-2).

UNDEFINED, AC, AD, AE, AF, AG, AI, AL, AM, AN, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BU, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CP, CR, CS, CU, CV, CW, CX, CY, CZ, DE, DG, DJ, DK, DM, DO, DZ, EA, EC, EE, EG, EH, ER, ES, ET, EU, EZ, FI, FJ, FK, FM, FO, FR, FX, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, IC, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NT, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SU, SV, SX, SY, SZ, TA, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TP, TR, TT, TV, TW, TZ, UA, UG, UK, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XI, XU, XK, YE, YT, YU, ZA, ZM, ZR, ZW

address.postcodestring

Postal/ZIP code.

address.statestring

State, province, or region.

address.street_addressstring

Street address line.

approversarray

List of user emails who can approve the vendor.

attachmentsarray

List of file attachments associated with the vendor.

attachments.content_typestring

MIME type of the attached file. Common types include image/jpeg, image/png, and application/pdf.

attachments.created_atstring

Timestamp for when the resource was created in ISO8601 format.

attachments.file_namestring

Original filename of the uploaded attachment, including the file extension.

attachments.file_urlstring

URL to access and download the attachment file. Authentication is required.

attachments.idstring

Unique identifier of the attachment.

business_namestring

Business/legal name of the vendor.

business_registration_numberstring

Business registration number of the vendor.

commentsarray

List of comments associated with the vendor.

comments.contentstring

Text body of the comment.

comments.created_atstring

Timestamp for when the resource was created in ISO8601 format.

comments.created_bystring

Email address of the user who created this comment. Used for attribution, notifications, and audit trail tracking.

contactsarray

Contacts associated with this vendor.

contacts.contact_namestring

Full name of the vendor contact.

contacts.emailstring

Email address of the vendor contact.

contacts.phone_numberstring

Phone number in E.164 format.

country_codestring

Country of the vendor, as an ISO 3166-1 alpha-2 country code.

UNDEFINED, AC, AD, AE, AF, AG, AI, AL, AM, AN, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BU, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CP, CR, CS, CU, CV, CW, CX, CY, CZ, DE, DG, DJ, DK, DM, DO, DZ, EA, EC, EE, EG, EH, ER, ES, ET, EU, EZ, FI, FJ, FK, FM, FO, FR, FX, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, IC, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NT, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SU, SV, SX, SY, SZ, TA, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TP, TR, TT, TV, TW, TZ, UA, UG, UK, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XI, XU, XK, YE, YT, YU, ZA, ZM, ZR, ZW

created_atstring

Timestamp for when the resource was created in ISO8601 format.

external_idstring

External identifier for this vendor in your system.

idstring

Unique identifier of the vendor.

legal_entity_idsarray

Unique identifiers of the legal entities associated with this vendor.

namestring

Display name of the vendor.

owner_emailstring

Email of the internal owner responsible for managing this vendor.

statusstring

Vendor status. Possible values are DRAFT, AWAITING_APPROVAL, ACTIVE, ARCHIVED.

sync_error_messagestring

Error message describing the sync failure reason, populated when the sync status is updated via the API. Null when no sync error has occurred.

sync_statusstring

Sync status for an accounting system. Possible values are NOT_SYNCED, SYNCED, SYNC_FAILED.

updated_atstring

Timestamp for when the resource was updated in ISO8601 format.

Errors
Error statusDescription
400

Invalid Request.

404

Not found.

500

Internal server error.

GET /api/v1/spend/vendors/{id}
$curl --request GET \
> --url 'https://api.airwallex.com/api/v1/spend/vendors/vendor_id' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json'
Response (200 OK)
1{
2 "id": "985461d5-016f-4e1f-a387-5f1380b42d92",
3 "legal_entity_ids": [
4 "le_U3jlHqQRNHWn2zAKeeT8sg",
5 "le_V4kmIrRSOMXo3bBLffU9th"
6 ],
7 "name": "Airwallex",
8 "business_name": "Airwallex Pty Ltd",
9 "country_code": "US",
10 "address": {
11 "street_address": "123 Main Street",
12 "city": "San Francisco",
13 "state": "California",
14 "postcode": "94105",
15 "country_code": "US"
16 },
17 "status": "ACTIVE",
18 "sync_status": "SYNCED",
19 "sync_error_message": "Failed to sync vendor: a vendor with this name already exists.",
20 "approvers": [
23 ],
24 "owner_email": "[email protected]",
25 "business_registration_number": "123456789",
26 "external_id": "VENDOR-EXT-001",
27 "contacts": [
28 {
29 "contact_name": "Airwallex",
30 "email": "[email protected]",
31 "phone_number": "+61499999999"
32 }
33 ],
34 "attachments": [
35 {
36 "id": "985461d5-016f-4e1f-a387-5f1380b42d92",
37 "content_type": "image/jpeg",
38 "file_name": "flight_receipt.jpg",
39 "file_url": "https://www.airwallex.com/flight_receipt.jpg",
40 "created_at": "2025-02-02T00:00:00Z"
41 }
42 ],
43 "comments": [
44 {
45 "content": "Expense approved - valid business purpose confirmed",
46 "created_by": "[email protected]",
47 "created_at": "2025-01-01T00:00:00Z"
48 }
49 ],
50 "created_at": "2025-01-01T00:00:00Z",
51 "updated_at": "2025-02-02T00:00:00Z"
52}
Was this section helpful?

Update vendor sync status

POST /api/v1/spend/vendors/{id}/sync

Updates the sync status of a vendor.

Parameters
idrequiredstring

Unique identifier of the vendor.

Request body
sync_statusrequiredstring

Sync status for an accounting system. Possible values are NOT_SYNCED, SYNCED, SYNC_FAILED.

sync_error_messagestring

Error message for sync failures. Only applicable when sync_status is SYNC_FAILED.

Response body - 200 OK
addressobject

Address.

address.citystring

City, district, suburb, or town.

address.country_codestring

Country code (ISO 3166-1 alpha-2).

UNDEFINED, AC, AD, AE, AF, AG, AI, AL, AM, AN, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BU, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CP, CR, CS, CU, CV, CW, CX, CY, CZ, DE, DG, DJ, DK, DM, DO, DZ, EA, EC, EE, EG, EH, ER, ES, ET, EU, EZ, FI, FJ, FK, FM, FO, FR, FX, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, IC, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NT, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SU, SV, SX, SY, SZ, TA, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TP, TR, TT, TV, TW, TZ, UA, UG, UK, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XI, XU, XK, YE, YT, YU, ZA, ZM, ZR, ZW

address.postcodestring

Postal/ZIP code.

address.statestring

State, province, or region.

address.street_addressstring

Street address line.

approversarray

List of user emails who can approve the vendor.

attachmentsarray

List of file attachments associated with the vendor.

attachments.content_typestring

MIME type of the attached file. Common types include image/jpeg, image/png, and application/pdf.

attachments.created_atstring

Timestamp for when the resource was created in ISO8601 format.

attachments.file_namestring

Original filename of the uploaded attachment, including the file extension.

attachments.file_urlstring

URL to access and download the attachment file. Authentication is required.

attachments.idstring

Unique identifier of the attachment.

business_namestring

Business/legal name of the vendor.

business_registration_numberstring

Business registration number of the vendor.

commentsarray

List of comments associated with the vendor.

comments.contentstring

Text body of the comment.

comments.created_atstring

Timestamp for when the resource was created in ISO8601 format.

comments.created_bystring

Email address of the user who created this comment. Used for attribution, notifications, and audit trail tracking.

contactsarray

Contacts associated with this vendor.

contacts.contact_namestring

Full name of the vendor contact.

contacts.emailstring

Email address of the vendor contact.

contacts.phone_numberstring

Phone number in E.164 format.

country_codestring

Country of the vendor, as an ISO 3166-1 alpha-2 country code.

UNDEFINED, AC, AD, AE, AF, AG, AI, AL, AM, AN, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BU, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CP, CR, CS, CU, CV, CW, CX, CY, CZ, DE, DG, DJ, DK, DM, DO, DZ, EA, EC, EE, EG, EH, ER, ES, ET, EU, EZ, FI, FJ, FK, FM, FO, FR, FX, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, IC, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NT, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SU, SV, SX, SY, SZ, TA, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TP, TR, TT, TV, TW, TZ, UA, UG, UK, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XI, XU, XK, YE, YT, YU, ZA, ZM, ZR, ZW

created_atstring

Timestamp for when the resource was created in ISO8601 format.

external_idstring

External identifier for this vendor in your system.

idstring

Unique identifier of the vendor.

legal_entity_idsarray

Unique identifiers of the legal entities associated with this vendor.

namestring

Display name of the vendor.

owner_emailstring

Email of the internal owner responsible for managing this vendor.

statusstring

Vendor status. Possible values are DRAFT, AWAITING_APPROVAL, ACTIVE, ARCHIVED.

sync_error_messagestring

Error message describing the sync failure reason, populated when the sync status is updated via the API. Null when no sync error has occurred.

sync_statusstring

Sync status for an accounting system. Possible values are NOT_SYNCED, SYNCED, SYNC_FAILED.

updated_atstring

Timestamp for when the resource was updated in ISO8601 format.

Errors
Error statusDescription
400

Invalid Request.

404

Not found.

500

Internal server error.

POST /api/v1/spend/vendors/{id}/sync
$curl --request POST \
> --url 'https://api.airwallex.com/api/v1/spend/vendors/vendor_id/sync' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "sync_status": "SYNC_FAILED",
> "sync_error_message": "Failed to sync vendor: a vendor with this name already exists."
>}'
Response (200 OK)
1{
2 "id": "985461d5-016f-4e1f-a387-5f1380b42d92",
3 "legal_entity_ids": [
4 "le_U3jlHqQRNHWn2zAKeeT8sg",
5 "le_V4kmIrRSOMXo3bBLffU9th"
6 ],
7 "name": "Airwallex",
8 "business_name": "Airwallex Pty Ltd",
9 "country_code": "US",
10 "address": {
11 "street_address": "123 Main Street",
12 "city": "San Francisco",
13 "state": "California",
14 "postcode": "94105",
15 "country_code": "US"
16 },
17 "status": "ACTIVE",
18 "sync_status": "SYNCED",
19 "sync_error_message": "Failed to sync vendor: a vendor with this name already exists.",
20 "approvers": [
23 ],
24 "owner_email": "[email protected]",
25 "business_registration_number": "123456789",
26 "external_id": "VENDOR-EXT-001",
27 "contacts": [
28 {
29 "contact_name": "Airwallex",
30 "email": "[email protected]",
31 "phone_number": "+61499999999"
32 }
33 ],
34 "attachments": [
35 {
36 "id": "985461d5-016f-4e1f-a387-5f1380b42d92",
37 "content_type": "image/jpeg",
38 "file_name": "flight_receipt.jpg",
39 "file_url": "https://www.airwallex.com/flight_receipt.jpg",
40 "created_at": "2025-02-02T00:00:00Z"
41 }
42 ],
43 "comments": [
44 {
45 "content": "Expense approved - valid business purpose confirmed",
46 "created_by": "[email protected]",
47 "created_at": "2025-01-01T00:00:00Z"
48 }
49 ],
50 "created_at": "2025-01-01T00:00:00Z",
51 "updated_at": "2025-02-02T00:00:00Z"
52}
Was this section helpful?

Create vendor

POST /api/v1/spend/vendors/create

Creates a new vendor.

Request body
external_idrequiredstring

External identifier for this vendor in your system.

legal_entity_idsrequiredarray

List of unique identifiers of the legal entities associated with the vendor.

namerequiredstring

Name of the vendor.

request_idrequiredstring

Unique identifier for this request to ensure idempotency. To prevent accidental duplication, clients should generate a random UUID.

statusrequiredstring

Vendor status. Possible values are DRAFT, AWAITING_APPROVAL, ACTIVE, ARCHIVED.

sync_statusrequiredstring

Sync status for an accounting system. Possible values are NOT_SYNCED, SYNCED, SYNC_FAILED.

addressobject

Address.

address.citystring

City, district, suburb, or town.

address.country_codestring

Country code (ISO 3166-1 alpha-2).

UNDEFINED, AC, AD, AE, AF, AG, AI, AL, AM, AN, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BU, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CP, CR, CS, CU, CV, CW, CX, CY, CZ, DE, DG, DJ, DK, DM, DO, DZ, EA, EC, EE, EG, EH, ER, ES, ET, EU, EZ, FI, FJ, FK, FM, FO, FR, FX, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, IC, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NT, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SU, SV, SX, SY, SZ, TA, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TP, TR, TT, TV, TW, TZ, UA, UG, UK, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XI, XU, XK, YE, YT, YU, ZA, ZM, ZR, ZW

address.postcodestring

Postal/ZIP code.

address.statestring

State, province, or region.

address.street_addressstring

Street address line.

business_namestring

Business/legal name of the vendor.

business_registration_numberstring

Business registration number of the vendor.

contactsarray

List of vendor contacts associated with the vendor.

contacts.contact_namestring

Full name of the vendor contact.

contacts.emailstring

Email address of the vendor contact.

contacts.phone_numberstring

Phone number in E.164 format.

country_codestring

Country code of the vendor (ISO 3166-1 alpha-2).

UNDEFINED, AC, AD, AE, AF, AG, AI, AL, AM, AN, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BU, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CP, CR, CS, CU, CV, CW, CX, CY, CZ, DE, DG, DJ, DK, DM, DO, DZ, EA, EC, EE, EG, EH, ER, ES, ET, EU, EZ, FI, FJ, FK, FM, FO, FR, FX, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, IC, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NT, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SU, SV, SX, SY, SZ, TA, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TP, TR, TT, TV, TW, TZ, UA, UG, UK, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XI, XU, XK, YE, YT, YU, ZA, ZM, ZR, ZW

owner_emailstring

Email of the vendor owner.

Response body - 201 Created
addressobject

Address.

address.citystring

City, district, suburb, or town.

address.country_codestring

Country code (ISO 3166-1 alpha-2).

UNDEFINED, AC, AD, AE, AF, AG, AI, AL, AM, AN, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BU, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CP, CR, CS, CU, CV, CW, CX, CY, CZ, DE, DG, DJ, DK, DM, DO, DZ, EA, EC, EE, EG, EH, ER, ES, ET, EU, EZ, FI, FJ, FK, FM, FO, FR, FX, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, IC, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NT, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SU, SV, SX, SY, SZ, TA, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TP, TR, TT, TV, TW, TZ, UA, UG, UK, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XI, XU, XK, YE, YT, YU, ZA, ZM, ZR, ZW

address.postcodestring

Postal/ZIP code.

address.statestring

State, province, or region.

address.street_addressstring

Street address line.

approversarray

List of user emails who can approve the vendor.

attachmentsarray

List of file attachments associated with the vendor.

attachments.content_typestring

MIME type of the attached file. Common types include image/jpeg, image/png, and application/pdf.

attachments.created_atstring

Timestamp for when the resource was created in ISO8601 format.

attachments.file_namestring

Original filename of the uploaded attachment, including the file extension.

attachments.file_urlstring

URL to access and download the attachment file. Authentication is required.

attachments.idstring

Unique identifier of the attachment.

business_namestring

Business/legal name of the vendor.

business_registration_numberstring

Business registration number of the vendor.

commentsarray

List of comments associated with the vendor.

comments.contentstring

Text body of the comment.

comments.created_atstring

Timestamp for when the resource was created in ISO8601 format.

comments.created_bystring

Email address of the user who created this comment. Used for attribution, notifications, and audit trail tracking.

contactsarray

Contacts associated with this vendor.

contacts.contact_namestring

Full name of the vendor contact.

contacts.emailstring

Email address of the vendor contact.

contacts.phone_numberstring

Phone number in E.164 format.

country_codestring

Country of the vendor, as an ISO 3166-1 alpha-2 country code.

UNDEFINED, AC, AD, AE, AF, AG, AI, AL, AM, AN, AO, AQ, AR, AS, AT, AU, AW, AX, AZ, BA, BB, BD, BE, BF, BG, BH, BI, BJ, BL, BM, BN, BO, BQ, BR, BS, BT, BU, BV, BW, BY, BZ, CA, CC, CD, CF, CG, CH, CI, CK, CL, CM, CN, CO, CP, CR, CS, CU, CV, CW, CX, CY, CZ, DE, DG, DJ, DK, DM, DO, DZ, EA, EC, EE, EG, EH, ER, ES, ET, EU, EZ, FI, FJ, FK, FM, FO, FR, FX, GA, GB, GD, GE, GF, GG, GH, GI, GL, GM, GN, GP, GQ, GR, GS, GT, GU, GW, GY, HK, HM, HN, HR, HT, HU, IC, ID, IE, IL, IM, IN, IO, IQ, IR, IS, IT, JE, JM, JO, JP, KE, KG, KH, KI, KM, KN, KP, KR, KW, KY, KZ, LA, LB, LC, LI, LK, LR, LS, LT, LU, LV, LY, MA, MC, MD, ME, MF, MG, MH, MK, ML, MM, MN, MO, MP, MQ, MR, MS, MT, MU, MV, MW, MX, MY, MZ, NA, NC, NE, NF, NG, NI, NL, NO, NP, NR, NT, NU, NZ, OM, PA, PE, PF, PG, PH, PK, PL, PM, PN, PR, PS, PT, PW, PY, QA, RE, RO, RS, RU, RW, SA, SB, SC, SD, SE, SF, SG, SH, SI, SJ, SK, SL, SM, SN, SO, SR, SS, ST, SU, SV, SX, SY, SZ, TA, TC, TD, TF, TG, TH, TJ, TK, TL, TM, TN, TO, TP, TR, TT, TV, TW, TZ, UA, UG, UK, UM, US, UY, UZ, VA, VC, VE, VG, VI, VN, VU, WF, WS, XI, XU, XK, YE, YT, YU, ZA, ZM, ZR, ZW

created_atstring

Timestamp for when the resource was created in ISO8601 format.

external_idstring

External identifier for this vendor in your system.

idstring

Unique identifier of the vendor.

legal_entity_idsarray

Unique identifiers of the legal entities associated with this vendor.

namestring

Display name of the vendor.

owner_emailstring

Email of the internal owner responsible for managing this vendor.

statusstring

Vendor status. Possible values are DRAFT, AWAITING_APPROVAL, ACTIVE, ARCHIVED.

sync_error_messagestring

Error message describing the sync failure reason, populated when the sync status is updated via the API. Null when no sync error has occurred.

sync_statusstring

Sync status for an accounting system. Possible values are NOT_SYNCED, SYNCED, SYNC_FAILED.

updated_atstring

Timestamp for when the resource was updated in ISO8601 format.

Errors
Error statusDescription
400

Invalid Request.

404

Not found.

500

Internal server error.

POST /api/v1/spend/vendors/create
$curl --request POST \
> --url 'https://api.airwallex.com/api/v1/spend/vendors/create' \
> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \
> --header 'Content-Type: application/json' \
> --data '{
> "request_id": "985461d5-016f-4e1f-a387-5f1380b42d92",
> "external_id": "VENDOR-EXT-001",
> "name": "Airwallex",
> "legal_entity_ids": [
> "le_U3jlHqQRNHWn2zAKeeT8sg",
> "le_V4kmIrRSOMXo3bBLffU9th"
> ],
> "status": "ACTIVE",
> "sync_status": "SYNCED",
> "owner_email": "[email protected]",
> "business_registration_number": "123456789",
> "business_name": "Airwallex Pty Ltd",
> "country_code": "US",
> "address": {
> "street_address": "123 Main Street",
> "city": "San Francisco",
> "state": "California",
> "postcode": "94105",
> "country_code": "US"
> },
> "contacts": [
> {
> "contact_name": "Airwallex",
> "email": "[email protected]",
> "phone_number": "+61499999999"
> }
> ]
>}'
Response (201 Created)
1{
2 "id": "985461d5-016f-4e1f-a387-5f1380b42d92",
3 "legal_entity_ids": [
4 "le_U3jlHqQRNHWn2zAKeeT8sg",
5 "le_V4kmIrRSOMXo3bBLffU9th"
6 ],
7 "name": "Airwallex",
8 "business_name": "Airwallex Pty Ltd",
9 "country_code": "US",
10 "address": {
11 "street_address": "123 Main Street",
12 "city": "San Francisco",
13 "state": "California",
14 "postcode": "94105",
15 "country_code": "US"
16 },
17 "status": "ACTIVE",
18 "sync_status": "SYNCED",
19 "sync_error_message": "Failed to sync vendor: a vendor with this name already exists.",
20 "approvers": [
23 ],
24 "owner_email": "[email protected]",
25 "business_registration_number": "123456789",
26 "external_id": "VENDOR-EXT-001",
27 "contacts": [
28 {
29 "contact_name": "Airwallex",
30 "email": "[email protected]",
31 "phone_number": "+61499999999"
32 }
33 ],
34 "attachments": [
35 {
36 "id": "985461d5-016f-4e1f-a387-5f1380b42d92",
37 "content_type": "image/jpeg",
38 "file_name": "flight_receipt.jpg",
39 "file_url": "https://www.airwallex.com/flight_receipt.jpg",
40 "created_at": "2025-02-02T00:00:00Z"
41 }
42 ],
43 "comments": [
44 {
45 "content": "Expense approved - valid business purpose confirmed",
46 "created_by": "[email protected]",
47 "created_at": "2025-01-01T00:00:00Z"
48 }
49 ],
50 "created_at": "2025-01-01T00:00:00Z",
51 "updated_at": "2025-02-02T00:00:00Z"
52}
Was this section helpful?